From 0aeb8a0fd26be4d444811cbfc4975960578c28ef Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 8 Mar 2008 19:05:09 +0000 Subject: symlink vpe script git-svn-id: svn://tug.org/texlive/trunk@6897 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/tetex/Makefile.in | 18 +- Build/source/texk/tetex/vpe.pl | 421 ------------------------------- Master/bin/i386-linux/vpe | 422 +------------------------------- Master/texmf-dist/scripts/vpe/vpe.pl | 421 +++++++++++++++++++++++++++++++ Master/texmf/scripts/vpe/vpe.pl | 421 ------------------------------- Master/tlpkg/bin/ctan2tds | 17 +- Master/tlpkg/tlpsrc/bin-thumbpdf.tlpsrc | 6 - Master/tlpkg/tlpsrc/bin-vpe.tlpsrc | 5 - Master/tlpkg/tlpsrc/vpe.tlpsrc | 3 +- 9 files changed, 435 insertions(+), 1299 deletions(-) delete mode 100644 Build/source/texk/tetex/vpe.pl mode change 100755 => 120000 Master/bin/i386-linux/vpe create mode 100644 Master/texmf-dist/scripts/vpe/vpe.pl delete mode 100644 Master/texmf/scripts/vpe/vpe.pl delete mode 100644 Master/tlpkg/tlpsrc/bin-thumbpdf.tlpsrc delete mode 100644 Master/tlpkg/tlpsrc/bin-vpe.tlpsrc diff --git a/Build/source/texk/tetex/Makefile.in b/Build/source/texk/tetex/Makefile.in index c65a41203b1..7f9995789a3 100644 --- a/Build/source/texk/tetex/Makefile.in +++ b/Build/source/texk/tetex/Makefile.in @@ -19,9 +19,9 @@ SCRIPTS = \ LINKEDPLSCRIPTS = a2ping e2pall epstopdf pdfcrop pkfix ps2eps texdoctk \ thumbpdf # -# no extension and in texmf-dist. -# (need to create a config file or something, ick.) -LINKEDNOEXTSCRIPTS = glossaries/makeglossaries +LINKEDSCRIPTS = \ + texmf-dist/scripts/glossaries/makeglossaries \ + texmf-dist/scripts/vpe/vpe.pl CONTEXTSCRIPTS = \ ctxtools exatools luatools makempy mpstools mptopdf mtxtools \ @@ -120,13 +120,11 @@ install-exec: install-linkedscripts # install-linkedscripts: -$(SHELL) $(srcdir)/../mkinstalldirs $(scriptdir) - for s in $(LINKEDPLSCRIPTS); do \ - rm -f $(scriptdir)/$$s; \ - ln -s ../../texmf/scripts/$$s/$$s.pl $(scriptdir)/$$s; \ - done - for s in $(LINKEDNOEXTSCRIPTS); do \ - target=$(scriptdir)/`basename $$s`; rm -f $$target; \ - ln -s ../../texmf-dist/scripts/$$s $$target`; \ + # link to the basename, removing any extension, of the source. + for s in $(LINKEDSCRIPTS); do \ + target=$(scriptdir)/`basename $$s | sed 's,\.[^/]*$$,,'`; \ + rm -f $$target; \ + ln -s ../../$$s $$target; \ done kpse_include ../make/clean.mk diff --git a/Build/source/texk/tetex/vpe.pl b/Build/source/texk/tetex/vpe.pl deleted file mode 100644 index 9eb52b69e3c..00000000000 --- a/Build/source/texk/tetex/vpe.pl +++ /dev/null @@ -1,421 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' - if 0; -use strict; -# -# vpe.pl -# -# Copyright (C) 2000 Heiko Oberdiek. -# -# This program may be distributed and/or modified under the -# conditions of the LaTeX Project Public License, either version 1.2 -# of this license or (at your option) any later version. -# The latest version of this license is in -# http://www.latex-project.org/lppl.txt -# and version 1.2 or later is part of all distributions of LaTeX -# version 1999/12/01 or later. -# -# See file "vpe.txt" for a list of files that belong to this project. -# -# This file "vpe.pl" may be renamed to "vpe" -# for installation purposes. -# -my $file = "vpe.pl"; -my $program = uc($&) if $file =~ /^\w+/; -my $version = "0.1"; -my $date = "2000/09/15"; -my $author = "Heiko Oberdiek"; -my $copyright = "Copyright (c) 2000 by $author."; -# -# History: -# 2000/09/15 v0.1: First release. -# - -### program identification -my $title = "$program $version, $date - $copyright\n"; - -### editor call -# %F: file name -# %L: line number -my $EditorCall = "xterm -e joe +%d %s"; -$EditorCall = $ENV{TEXEDIT} if $ENV{TEXEDIT}; -$EditorCall = $ENV{VPE} if $ENV{VPE}; - -### error strings -my $Error = "!!! Error:"; # error prefix - -my $usage = <<"END_OF_USAGE"; -${title} -Depending on the name of the script `vpe' works in four modes: - -* [vpe] Syntax: vpe [.pdf] - The pdf file is scanned for actions created by VTeX, - that start an editor with the source file at the - specified line under Windows. - A symbol link is made from the source file name - extended by the extension `.vpe' to this script. - The line number is encoded in the path and the - action is changed to start this script. - -* [sty] Internal for vpe.sty: - Syntax: vpe --sty [--progname=...] - -* [system] Internal for vpe.sty: - Syntax: vpe --system - -* [launch] Syntax: .vpe - The script decodes the line number in the path of - the source file name and starts an editor with - this file at that line number. - -Options: - --help: print usage. - --verbose: print additional informations during running. - --force: force symbol links - --delete: delete symbol links - --sty: internal for `vpe.sty' (get absolute file name and lines) - --system: internal for `vpe.sty' (get system info linux or win) - --progname: latex, pdflatex, elatex, pdfelatex -END_OF_USAGE - -### options -$::opt_verbose = 0; -$::opt_help = 0; -$::opt_force = 0; -$::opt_delete = 0; -$::opt_sty = 0; -$::opt_system = 0; -$::opt_progname = "latex"; -use Getopt::Long; -GetOptions( - "help!", - "verbose!", - "force!", - "delete!", - "sty!", - "system!", - "progname=s", -) or die $usage; -if ($::opt_help) { - die $usage; -} - -if ($::opt_sty and $::opt_system) { - die "$usage" . - "$Error Options --sty and --system cannot used together!\n"; -} - -################### -### launch mode ### -################### -if ($0 =~ /\.vpe/) { - - @ARGV == 0 or - die "$usage$Error Too many arguments [launch mode]!\n"; - - my $file = ""; - $0 =~ m|(^[\./]+\./)(.+)\.vpe$| or - die "$Error Cannot extract line number ($0)!\n"; - my $str = $1; - $file = "/$2"; - - my $line = ""; - while ($str ne "") { - $str =~ m|^(/*)(\.?)\./(.*)$| or - die "$Error Parse error!\n"; - $line .= length($1) + (($2 eq ".") ? 5 : 0); - $str = $3; - } - - my $callstr = $EditorCall; - $EditorCall =~ s/%s/$file/; - $EditorCall =~ s/%d/$line/; - print "File: $file, line: $line\n" if $::opt_verbose; - exec($EditorCall); - exit 1; -} - -### -### used by both sty and system mode: -### -my $system = "linux"; -$system = "" if $^O =~ /os2/i; -$system = "" if $^O =~ /mac/i; -$system = "win" if $^O =~ /dos/i; -$system = "win" if $^O =~ /win/i; - -################ -### sty mode ### -################ -if ($::opt_sty) { - - @ARGV == 2 or - die "$usage$Error Wrong arguments [sty mode]!\n"; - - my $vpefile = $ARGV[1]; - print "VPE file: $vpefile\n" if $::opt_verbose; - - my $file = `kpsewhich -progname=$::opt_progname $ARGV[0]`; - chomp $file; - if (!($file =~ m|^/| or $file =~ m|^\w:|)) { - use Cwd; - $file = cwd() . "/" . $file; - $file =~ s|/[^/]+/\.\./|/|g; - $file =~ s|/\./|/|g; - } - -f $file or - die "$Error Cannot find file `$file' [sty mode]!\n"; - print "File: $file\n" if $::opt_verbose; - - my $last = 0; - if (open(IN, $file)) { - while () { - $last++; - } - } - if ($last == 0) { - $last = 10000; - } - print "Last line: $last\n" if $::opt_verbose; - - open(OUT, ">>$vpefile") or - die "$Error Cannot open file `$vpefile`!\n"; - print OUT "\\vpeentry{$file}{$last}\n"; - - exit 1; -} - -################### -### system mode ### -################### -if ($::opt_system) { - - @ARGV == 1 or - die "$usage$Error Wrong arguments [system mode]!\n"; - - my $vpefile = $ARGV[0]; - print "VPE file: $vpefile\n" if $::opt_verbose; - - open(OUT, ">>$vpefile") or - die "$Error Cannot open file `$vpefile`!\n"; - print OUT "\\vpesystem{$system}\n"; - - exit 1; -} - -################ -### vpe mode ### -################ -if (@ARGV < 1) { - die "$usage$Error Missing pdf file [vpe mode]!\n"; -} -if (@ARGV > 2) { - die "$usage$Error Too many arguments [vpe mode]!\n"; -} - -my $pdffile = $ARGV[0]; -if (!-f $pdffile) { - my $name = $pdffile; - $pdffile .= ".pdf"; - -f $pdffile or - die "$Error File `$name' not found [vpe mode]!\n"; -} - -open(IN, "+<$pdffile") or - die "$Error Cannot open `$pdffile' [vpe mode]!\n"; -binmode(IN); -my %symlinks = (); -while () { - - if (m|/F\([\./]*(/.*)\.vpe\)|) { - $symlinks{$1} = 1; - next; - } - - my $do = 0; - my ($action, $file, $line, $type); - # my $color; # only for debugging - - if (m|^ - /A \s* << \s* - /Type \s* /Action \s* - /S \s* /Launch \s* - /Win \s* << \s* - /F \s* \(aftcomp.exe\) \s* - /P \s* \("(.*)\" \s+ \d+\-(\d+)\) \s* - >> \s* - >> \s* - $ - |x - ) { - $action = $_; - $file = $1; - $line = $2; - # $color = "/C[0 0 1]"; # only for debugging - $type = "aftcomp"; - $do = 1; - } - - if (m|^ - /A \s* << \s* - /Type \s* /Action \s* - /S \s* /Launch \s* - /Win \s* << \s* - /F \s* \(repos.exe\) \s* - /P \s* \( - "(.*)" \s* - "(\d+)" \s* - "(.*)" \s* - "(\d+)" - \) \s* - >> \s* - >> \s* - $ - |x - ) { - $action = $_; - if ($3 eq "") { - $file = $1; - $line = $2; - } - else { - # ??? - $file = $1; - $line = $2; - } - # $color = "/C[1 0 0]"; # only for debugging - $type = "repos"; - $do = 1; - } - - if ($do) { - my $length = length($action); - print "* File: $file, line: $line, type: $type\n" if $::opt_verbose; - - if (!($file =~ m|^/|)) { - print STDERR "$Error File `$file' lacks of absolute path!\n"; - next; - } - - if (!$::opt_delete) { - if ($line <= 0) { - $line = 1; - } - - my $newaction = ""; - { - my $digit = substr($line, 0, 1); - if ($digit <= 5) { - $newaction .= "/" x $digit; - } - else { - $newaction .= "/" x ($digit - 5) . "."; - } - $newaction .= "./"; - my $rest = $line; - while (($rest = substr($rest, 1)) ne "") { - $digit = substr($rest, 0, 1); - if ($digit < 5) { - $newaction .= "/" x $digit; - } - else { - $newaction .= "/" x ($digit - 5) . "."; - } - $newaction .= "./"; - } - } - $newaction .= substr($file, 1) . ".vpe"; - $newaction = # $color . # only for debugging - "/A<>"; - $newaction .= " " x ($length - length($newaction) - 1); - if (length($newaction) > $length) { - print STDERR "$Error Action too long!\n"; - next; - } - - seek(IN, -length($action), 1); - print IN $newaction; - } - - $symlinks{$file} = 1; - } -} - -if (keys(%symlinks)) { - - my $this = $0; - if (!$::opt_delete) { - if (!-f $0 or !-x $0) { - $this = `which $0`; - ($this ne "") or die "$Error Cannot find this script!\n"; - } - if (!($this =~ m|^/|)) { - use Cwd; - $this = cwd() . "/" . $this; - } - $this =~ s|/[^/]+/\.\./|/|g; - $this =~ s|/\./|/|g; - } - - if ($::opt_delete) { - print "Delete symlinks:\n"; - } - else { - if ($::opt_force) { - print "Forced symlinks to $this:\n"; - } - else { - print "Symlinks to $this:\n"; - } - } - - foreach (keys(%symlinks)) { - my $sym = $_ . ".vpe"; - print " $sym ["; - - if ($::opt_delete) { - if (!-l $sym) { - print "ok, not existing]\n"; - next; - } - unlink($sym); - if (!-l $sym) { - print "ok, deleted]\n"; - next; - } - print "failed]\n"; - next; - } - if ($::opt_force) { - if (-l $sym) { - unlink($sym); - if (-l $sym) { - print "deletion failed]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, deleted and created]\n"; - next; - } - print "deleted, creation failed]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, created]\n"; - next; - } - print "creation failed]\n"; - next; - } - if (-f $sym) { - print "exists]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, created]\n"; - next; - } - print "failed]\n"; - next; - } -} -__END__ diff --git a/Master/bin/i386-linux/vpe b/Master/bin/i386-linux/vpe deleted file mode 100755 index 9eb52b69e3c..00000000000 --- a/Master/bin/i386-linux/vpe +++ /dev/null @@ -1,421 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' - if 0; -use strict; -# -# vpe.pl -# -# Copyright (C) 2000 Heiko Oberdiek. -# -# This program may be distributed and/or modified under the -# conditions of the LaTeX Project Public License, either version 1.2 -# of this license or (at your option) any later version. -# The latest version of this license is in -# http://www.latex-project.org/lppl.txt -# and version 1.2 or later is part of all distributions of LaTeX -# version 1999/12/01 or later. -# -# See file "vpe.txt" for a list of files that belong to this project. -# -# This file "vpe.pl" may be renamed to "vpe" -# for installation purposes. -# -my $file = "vpe.pl"; -my $program = uc($&) if $file =~ /^\w+/; -my $version = "0.1"; -my $date = "2000/09/15"; -my $author = "Heiko Oberdiek"; -my $copyright = "Copyright (c) 2000 by $author."; -# -# History: -# 2000/09/15 v0.1: First release. -# - -### program identification -my $title = "$program $version, $date - $copyright\n"; - -### editor call -# %F: file name -# %L: line number -my $EditorCall = "xterm -e joe +%d %s"; -$EditorCall = $ENV{TEXEDIT} if $ENV{TEXEDIT}; -$EditorCall = $ENV{VPE} if $ENV{VPE}; - -### error strings -my $Error = "!!! Error:"; # error prefix - -my $usage = <<"END_OF_USAGE"; -${title} -Depending on the name of the script `vpe' works in four modes: - -* [vpe] Syntax: vpe [.pdf] - The pdf file is scanned for actions created by VTeX, - that start an editor with the source file at the - specified line under Windows. - A symbol link is made from the source file name - extended by the extension `.vpe' to this script. - The line number is encoded in the path and the - action is changed to start this script. - -* [sty] Internal for vpe.sty: - Syntax: vpe --sty [--progname=...] - -* [system] Internal for vpe.sty: - Syntax: vpe --system - -* [launch] Syntax: .vpe - The script decodes the line number in the path of - the source file name and starts an editor with - this file at that line number. - -Options: - --help: print usage. - --verbose: print additional informations during running. - --force: force symbol links - --delete: delete symbol links - --sty: internal for `vpe.sty' (get absolute file name and lines) - --system: internal for `vpe.sty' (get system info linux or win) - --progname: latex, pdflatex, elatex, pdfelatex -END_OF_USAGE - -### options -$::opt_verbose = 0; -$::opt_help = 0; -$::opt_force = 0; -$::opt_delete = 0; -$::opt_sty = 0; -$::opt_system = 0; -$::opt_progname = "latex"; -use Getopt::Long; -GetOptions( - "help!", - "verbose!", - "force!", - "delete!", - "sty!", - "system!", - "progname=s", -) or die $usage; -if ($::opt_help) { - die $usage; -} - -if ($::opt_sty and $::opt_system) { - die "$usage" . - "$Error Options --sty and --system cannot used together!\n"; -} - -################### -### launch mode ### -################### -if ($0 =~ /\.vpe/) { - - @ARGV == 0 or - die "$usage$Error Too many arguments [launch mode]!\n"; - - my $file = ""; - $0 =~ m|(^[\./]+\./)(.+)\.vpe$| or - die "$Error Cannot extract line number ($0)!\n"; - my $str = $1; - $file = "/$2"; - - my $line = ""; - while ($str ne "") { - $str =~ m|^(/*)(\.?)\./(.*)$| or - die "$Error Parse error!\n"; - $line .= length($1) + (($2 eq ".") ? 5 : 0); - $str = $3; - } - - my $callstr = $EditorCall; - $EditorCall =~ s/%s/$file/; - $EditorCall =~ s/%d/$line/; - print "File: $file, line: $line\n" if $::opt_verbose; - exec($EditorCall); - exit 1; -} - -### -### used by both sty and system mode: -### -my $system = "linux"; -$system = "" if $^O =~ /os2/i; -$system = "" if $^O =~ /mac/i; -$system = "win" if $^O =~ /dos/i; -$system = "win" if $^O =~ /win/i; - -################ -### sty mode ### -################ -if ($::opt_sty) { - - @ARGV == 2 or - die "$usage$Error Wrong arguments [sty mode]!\n"; - - my $vpefile = $ARGV[1]; - print "VPE file: $vpefile\n" if $::opt_verbose; - - my $file = `kpsewhich -progname=$::opt_progname $ARGV[0]`; - chomp $file; - if (!($file =~ m|^/| or $file =~ m|^\w:|)) { - use Cwd; - $file = cwd() . "/" . $file; - $file =~ s|/[^/]+/\.\./|/|g; - $file =~ s|/\./|/|g; - } - -f $file or - die "$Error Cannot find file `$file' [sty mode]!\n"; - print "File: $file\n" if $::opt_verbose; - - my $last = 0; - if (open(IN, $file)) { - while () { - $last++; - } - } - if ($last == 0) { - $last = 10000; - } - print "Last line: $last\n" if $::opt_verbose; - - open(OUT, ">>$vpefile") or - die "$Error Cannot open file `$vpefile`!\n"; - print OUT "\\vpeentry{$file}{$last}\n"; - - exit 1; -} - -################### -### system mode ### -################### -if ($::opt_system) { - - @ARGV == 1 or - die "$usage$Error Wrong arguments [system mode]!\n"; - - my $vpefile = $ARGV[0]; - print "VPE file: $vpefile\n" if $::opt_verbose; - - open(OUT, ">>$vpefile") or - die "$Error Cannot open file `$vpefile`!\n"; - print OUT "\\vpesystem{$system}\n"; - - exit 1; -} - -################ -### vpe mode ### -################ -if (@ARGV < 1) { - die "$usage$Error Missing pdf file [vpe mode]!\n"; -} -if (@ARGV > 2) { - die "$usage$Error Too many arguments [vpe mode]!\n"; -} - -my $pdffile = $ARGV[0]; -if (!-f $pdffile) { - my $name = $pdffile; - $pdffile .= ".pdf"; - -f $pdffile or - die "$Error File `$name' not found [vpe mode]!\n"; -} - -open(IN, "+<$pdffile") or - die "$Error Cannot open `$pdffile' [vpe mode]!\n"; -binmode(IN); -my %symlinks = (); -while () { - - if (m|/F\([\./]*(/.*)\.vpe\)|) { - $symlinks{$1} = 1; - next; - } - - my $do = 0; - my ($action, $file, $line, $type); - # my $color; # only for debugging - - if (m|^ - /A \s* << \s* - /Type \s* /Action \s* - /S \s* /Launch \s* - /Win \s* << \s* - /F \s* \(aftcomp.exe\) \s* - /P \s* \("(.*)\" \s+ \d+\-(\d+)\) \s* - >> \s* - >> \s* - $ - |x - ) { - $action = $_; - $file = $1; - $line = $2; - # $color = "/C[0 0 1]"; # only for debugging - $type = "aftcomp"; - $do = 1; - } - - if (m|^ - /A \s* << \s* - /Type \s* /Action \s* - /S \s* /Launch \s* - /Win \s* << \s* - /F \s* \(repos.exe\) \s* - /P \s* \( - "(.*)" \s* - "(\d+)" \s* - "(.*)" \s* - "(\d+)" - \) \s* - >> \s* - >> \s* - $ - |x - ) { - $action = $_; - if ($3 eq "") { - $file = $1; - $line = $2; - } - else { - # ??? - $file = $1; - $line = $2; - } - # $color = "/C[1 0 0]"; # only for debugging - $type = "repos"; - $do = 1; - } - - if ($do) { - my $length = length($action); - print "* File: $file, line: $line, type: $type\n" if $::opt_verbose; - - if (!($file =~ m|^/|)) { - print STDERR "$Error File `$file' lacks of absolute path!\n"; - next; - } - - if (!$::opt_delete) { - if ($line <= 0) { - $line = 1; - } - - my $newaction = ""; - { - my $digit = substr($line, 0, 1); - if ($digit <= 5) { - $newaction .= "/" x $digit; - } - else { - $newaction .= "/" x ($digit - 5) . "."; - } - $newaction .= "./"; - my $rest = $line; - while (($rest = substr($rest, 1)) ne "") { - $digit = substr($rest, 0, 1); - if ($digit < 5) { - $newaction .= "/" x $digit; - } - else { - $newaction .= "/" x ($digit - 5) . "."; - } - $newaction .= "./"; - } - } - $newaction .= substr($file, 1) . ".vpe"; - $newaction = # $color . # only for debugging - "/A<>"; - $newaction .= " " x ($length - length($newaction) - 1); - if (length($newaction) > $length) { - print STDERR "$Error Action too long!\n"; - next; - } - - seek(IN, -length($action), 1); - print IN $newaction; - } - - $symlinks{$file} = 1; - } -} - -if (keys(%symlinks)) { - - my $this = $0; - if (!$::opt_delete) { - if (!-f $0 or !-x $0) { - $this = `which $0`; - ($this ne "") or die "$Error Cannot find this script!\n"; - } - if (!($this =~ m|^/|)) { - use Cwd; - $this = cwd() . "/" . $this; - } - $this =~ s|/[^/]+/\.\./|/|g; - $this =~ s|/\./|/|g; - } - - if ($::opt_delete) { - print "Delete symlinks:\n"; - } - else { - if ($::opt_force) { - print "Forced symlinks to $this:\n"; - } - else { - print "Symlinks to $this:\n"; - } - } - - foreach (keys(%symlinks)) { - my $sym = $_ . ".vpe"; - print " $sym ["; - - if ($::opt_delete) { - if (!-l $sym) { - print "ok, not existing]\n"; - next; - } - unlink($sym); - if (!-l $sym) { - print "ok, deleted]\n"; - next; - } - print "failed]\n"; - next; - } - if ($::opt_force) { - if (-l $sym) { - unlink($sym); - if (-l $sym) { - print "deletion failed]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, deleted and created]\n"; - next; - } - print "deleted, creation failed]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, created]\n"; - next; - } - print "creation failed]\n"; - next; - } - if (-f $sym) { - print "exists]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, created]\n"; - next; - } - print "failed]\n"; - next; - } -} -__END__ diff --git a/Master/bin/i386-linux/vpe b/Master/bin/i386-linux/vpe new file mode 120000 index 00000000000..ed1727b6ff8 --- /dev/null +++ b/Master/bin/i386-linux/vpe @@ -0,0 +1 @@ +../../texmf-dist/scripts/vpe/vpe.pl \ No newline at end of file diff --git a/Master/texmf-dist/scripts/vpe/vpe.pl b/Master/texmf-dist/scripts/vpe/vpe.pl new file mode 100644 index 00000000000..9eb52b69e3c --- /dev/null +++ b/Master/texmf-dist/scripts/vpe/vpe.pl @@ -0,0 +1,421 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' + if 0; +use strict; +# +# vpe.pl +# +# Copyright (C) 2000 Heiko Oberdiek. +# +# This program may be distributed and/or modified under the +# conditions of the LaTeX Project Public License, either version 1.2 +# of this license or (at your option) any later version. +# The latest version of this license is in +# http://www.latex-project.org/lppl.txt +# and version 1.2 or later is part of all distributions of LaTeX +# version 1999/12/01 or later. +# +# See file "vpe.txt" for a list of files that belong to this project. +# +# This file "vpe.pl" may be renamed to "vpe" +# for installation purposes. +# +my $file = "vpe.pl"; +my $program = uc($&) if $file =~ /^\w+/; +my $version = "0.1"; +my $date = "2000/09/15"; +my $author = "Heiko Oberdiek"; +my $copyright = "Copyright (c) 2000 by $author."; +# +# History: +# 2000/09/15 v0.1: First release. +# + +### program identification +my $title = "$program $version, $date - $copyright\n"; + +### editor call +# %F: file name +# %L: line number +my $EditorCall = "xterm -e joe +%d %s"; +$EditorCall = $ENV{TEXEDIT} if $ENV{TEXEDIT}; +$EditorCall = $ENV{VPE} if $ENV{VPE}; + +### error strings +my $Error = "!!! Error:"; # error prefix + +my $usage = <<"END_OF_USAGE"; +${title} +Depending on the name of the script `vpe' works in four modes: + +* [vpe] Syntax: vpe [.pdf] + The pdf file is scanned for actions created by VTeX, + that start an editor with the source file at the + specified line under Windows. + A symbol link is made from the source file name + extended by the extension `.vpe' to this script. + The line number is encoded in the path and the + action is changed to start this script. + +* [sty] Internal for vpe.sty: + Syntax: vpe --sty [--progname=...] + +* [system] Internal for vpe.sty: + Syntax: vpe --system + +* [launch] Syntax: .vpe + The script decodes the line number in the path of + the source file name and starts an editor with + this file at that line number. + +Options: + --help: print usage. + --verbose: print additional informations during running. + --force: force symbol links + --delete: delete symbol links + --sty: internal for `vpe.sty' (get absolute file name and lines) + --system: internal for `vpe.sty' (get system info linux or win) + --progname: latex, pdflatex, elatex, pdfelatex +END_OF_USAGE + +### options +$::opt_verbose = 0; +$::opt_help = 0; +$::opt_force = 0; +$::opt_delete = 0; +$::opt_sty = 0; +$::opt_system = 0; +$::opt_progname = "latex"; +use Getopt::Long; +GetOptions( + "help!", + "verbose!", + "force!", + "delete!", + "sty!", + "system!", + "progname=s", +) or die $usage; +if ($::opt_help) { + die $usage; +} + +if ($::opt_sty and $::opt_system) { + die "$usage" . + "$Error Options --sty and --system cannot used together!\n"; +} + +################### +### launch mode ### +################### +if ($0 =~ /\.vpe/) { + + @ARGV == 0 or + die "$usage$Error Too many arguments [launch mode]!\n"; + + my $file = ""; + $0 =~ m|(^[\./]+\./)(.+)\.vpe$| or + die "$Error Cannot extract line number ($0)!\n"; + my $str = $1; + $file = "/$2"; + + my $line = ""; + while ($str ne "") { + $str =~ m|^(/*)(\.?)\./(.*)$| or + die "$Error Parse error!\n"; + $line .= length($1) + (($2 eq ".") ? 5 : 0); + $str = $3; + } + + my $callstr = $EditorCall; + $EditorCall =~ s/%s/$file/; + $EditorCall =~ s/%d/$line/; + print "File: $file, line: $line\n" if $::opt_verbose; + exec($EditorCall); + exit 1; +} + +### +### used by both sty and system mode: +### +my $system = "linux"; +$system = "" if $^O =~ /os2/i; +$system = "" if $^O =~ /mac/i; +$system = "win" if $^O =~ /dos/i; +$system = "win" if $^O =~ /win/i; + +################ +### sty mode ### +################ +if ($::opt_sty) { + + @ARGV == 2 or + die "$usage$Error Wrong arguments [sty mode]!\n"; + + my $vpefile = $ARGV[1]; + print "VPE file: $vpefile\n" if $::opt_verbose; + + my $file = `kpsewhich -progname=$::opt_progname $ARGV[0]`; + chomp $file; + if (!($file =~ m|^/| or $file =~ m|^\w:|)) { + use Cwd; + $file = cwd() . "/" . $file; + $file =~ s|/[^/]+/\.\./|/|g; + $file =~ s|/\./|/|g; + } + -f $file or + die "$Error Cannot find file `$file' [sty mode]!\n"; + print "File: $file\n" if $::opt_verbose; + + my $last = 0; + if (open(IN, $file)) { + while () { + $last++; + } + } + if ($last == 0) { + $last = 10000; + } + print "Last line: $last\n" if $::opt_verbose; + + open(OUT, ">>$vpefile") or + die "$Error Cannot open file `$vpefile`!\n"; + print OUT "\\vpeentry{$file}{$last}\n"; + + exit 1; +} + +################### +### system mode ### +################### +if ($::opt_system) { + + @ARGV == 1 or + die "$usage$Error Wrong arguments [system mode]!\n"; + + my $vpefile = $ARGV[0]; + print "VPE file: $vpefile\n" if $::opt_verbose; + + open(OUT, ">>$vpefile") or + die "$Error Cannot open file `$vpefile`!\n"; + print OUT "\\vpesystem{$system}\n"; + + exit 1; +} + +################ +### vpe mode ### +################ +if (@ARGV < 1) { + die "$usage$Error Missing pdf file [vpe mode]!\n"; +} +if (@ARGV > 2) { + die "$usage$Error Too many arguments [vpe mode]!\n"; +} + +my $pdffile = $ARGV[0]; +if (!-f $pdffile) { + my $name = $pdffile; + $pdffile .= ".pdf"; + -f $pdffile or + die "$Error File `$name' not found [vpe mode]!\n"; +} + +open(IN, "+<$pdffile") or + die "$Error Cannot open `$pdffile' [vpe mode]!\n"; +binmode(IN); +my %symlinks = (); +while () { + + if (m|/F\([\./]*(/.*)\.vpe\)|) { + $symlinks{$1} = 1; + next; + } + + my $do = 0; + my ($action, $file, $line, $type); + # my $color; # only for debugging + + if (m|^ + /A \s* << \s* + /Type \s* /Action \s* + /S \s* /Launch \s* + /Win \s* << \s* + /F \s* \(aftcomp.exe\) \s* + /P \s* \("(.*)\" \s+ \d+\-(\d+)\) \s* + >> \s* + >> \s* + $ + |x + ) { + $action = $_; + $file = $1; + $line = $2; + # $color = "/C[0 0 1]"; # only for debugging + $type = "aftcomp"; + $do = 1; + } + + if (m|^ + /A \s* << \s* + /Type \s* /Action \s* + /S \s* /Launch \s* + /Win \s* << \s* + /F \s* \(repos.exe\) \s* + /P \s* \( + "(.*)" \s* + "(\d+)" \s* + "(.*)" \s* + "(\d+)" + \) \s* + >> \s* + >> \s* + $ + |x + ) { + $action = $_; + if ($3 eq "") { + $file = $1; + $line = $2; + } + else { + # ??? + $file = $1; + $line = $2; + } + # $color = "/C[1 0 0]"; # only for debugging + $type = "repos"; + $do = 1; + } + + if ($do) { + my $length = length($action); + print "* File: $file, line: $line, type: $type\n" if $::opt_verbose; + + if (!($file =~ m|^/|)) { + print STDERR "$Error File `$file' lacks of absolute path!\n"; + next; + } + + if (!$::opt_delete) { + if ($line <= 0) { + $line = 1; + } + + my $newaction = ""; + { + my $digit = substr($line, 0, 1); + if ($digit <= 5) { + $newaction .= "/" x $digit; + } + else { + $newaction .= "/" x ($digit - 5) . "."; + } + $newaction .= "./"; + my $rest = $line; + while (($rest = substr($rest, 1)) ne "") { + $digit = substr($rest, 0, 1); + if ($digit < 5) { + $newaction .= "/" x $digit; + } + else { + $newaction .= "/" x ($digit - 5) . "."; + } + $newaction .= "./"; + } + } + $newaction .= substr($file, 1) . ".vpe"; + $newaction = # $color . # only for debugging + "/A<>"; + $newaction .= " " x ($length - length($newaction) - 1); + if (length($newaction) > $length) { + print STDERR "$Error Action too long!\n"; + next; + } + + seek(IN, -length($action), 1); + print IN $newaction; + } + + $symlinks{$file} = 1; + } +} + +if (keys(%symlinks)) { + + my $this = $0; + if (!$::opt_delete) { + if (!-f $0 or !-x $0) { + $this = `which $0`; + ($this ne "") or die "$Error Cannot find this script!\n"; + } + if (!($this =~ m|^/|)) { + use Cwd; + $this = cwd() . "/" . $this; + } + $this =~ s|/[^/]+/\.\./|/|g; + $this =~ s|/\./|/|g; + } + + if ($::opt_delete) { + print "Delete symlinks:\n"; + } + else { + if ($::opt_force) { + print "Forced symlinks to $this:\n"; + } + else { + print "Symlinks to $this:\n"; + } + } + + foreach (keys(%symlinks)) { + my $sym = $_ . ".vpe"; + print " $sym ["; + + if ($::opt_delete) { + if (!-l $sym) { + print "ok, not existing]\n"; + next; + } + unlink($sym); + if (!-l $sym) { + print "ok, deleted]\n"; + next; + } + print "failed]\n"; + next; + } + if ($::opt_force) { + if (-l $sym) { + unlink($sym); + if (-l $sym) { + print "deletion failed]\n"; + next; + } + if (symlink($this, $sym)) { + print "ok, deleted and created]\n"; + next; + } + print "deleted, creation failed]\n"; + next; + } + if (symlink($this, $sym)) { + print "ok, created]\n"; + next; + } + print "creation failed]\n"; + next; + } + if (-f $sym) { + print "exists]\n"; + next; + } + if (symlink($this, $sym)) { + print "ok, created]\n"; + next; + } + print "failed]\n"; + next; + } +} +__END__ diff --git a/Master/texmf/scripts/vpe/vpe.pl b/Master/texmf/scripts/vpe/vpe.pl deleted file mode 100644 index 9eb52b69e3c..00000000000 --- a/Master/texmf/scripts/vpe/vpe.pl +++ /dev/null @@ -1,421 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' - if 0; -use strict; -# -# vpe.pl -# -# Copyright (C) 2000 Heiko Oberdiek. -# -# This program may be distributed and/or modified under the -# conditions of the LaTeX Project Public License, either version 1.2 -# of this license or (at your option) any later version. -# The latest version of this license is in -# http://www.latex-project.org/lppl.txt -# and version 1.2 or later is part of all distributions of LaTeX -# version 1999/12/01 or later. -# -# See file "vpe.txt" for a list of files that belong to this project. -# -# This file "vpe.pl" may be renamed to "vpe" -# for installation purposes. -# -my $file = "vpe.pl"; -my $program = uc($&) if $file =~ /^\w+/; -my $version = "0.1"; -my $date = "2000/09/15"; -my $author = "Heiko Oberdiek"; -my $copyright = "Copyright (c) 2000 by $author."; -# -# History: -# 2000/09/15 v0.1: First release. -# - -### program identification -my $title = "$program $version, $date - $copyright\n"; - -### editor call -# %F: file name -# %L: line number -my $EditorCall = "xterm -e joe +%d %s"; -$EditorCall = $ENV{TEXEDIT} if $ENV{TEXEDIT}; -$EditorCall = $ENV{VPE} if $ENV{VPE}; - -### error strings -my $Error = "!!! Error:"; # error prefix - -my $usage = <<"END_OF_USAGE"; -${title} -Depending on the name of the script `vpe' works in four modes: - -* [vpe] Syntax: vpe [.pdf] - The pdf file is scanned for actions created by VTeX, - that start an editor with the source file at the - specified line under Windows. - A symbol link is made from the source file name - extended by the extension `.vpe' to this script. - The line number is encoded in the path and the - action is changed to start this script. - -* [sty] Internal for vpe.sty: - Syntax: vpe --sty [--progname=...] - -* [system] Internal for vpe.sty: - Syntax: vpe --system - -* [launch] Syntax: .vpe - The script decodes the line number in the path of - the source file name and starts an editor with - this file at that line number. - -Options: - --help: print usage. - --verbose: print additional informations during running. - --force: force symbol links - --delete: delete symbol links - --sty: internal for `vpe.sty' (get absolute file name and lines) - --system: internal for `vpe.sty' (get system info linux or win) - --progname: latex, pdflatex, elatex, pdfelatex -END_OF_USAGE - -### options -$::opt_verbose = 0; -$::opt_help = 0; -$::opt_force = 0; -$::opt_delete = 0; -$::opt_sty = 0; -$::opt_system = 0; -$::opt_progname = "latex"; -use Getopt::Long; -GetOptions( - "help!", - "verbose!", - "force!", - "delete!", - "sty!", - "system!", - "progname=s", -) or die $usage; -if ($::opt_help) { - die $usage; -} - -if ($::opt_sty and $::opt_system) { - die "$usage" . - "$Error Options --sty and --system cannot used together!\n"; -} - -################### -### launch mode ### -################### -if ($0 =~ /\.vpe/) { - - @ARGV == 0 or - die "$usage$Error Too many arguments [launch mode]!\n"; - - my $file = ""; - $0 =~ m|(^[\./]+\./)(.+)\.vpe$| or - die "$Error Cannot extract line number ($0)!\n"; - my $str = $1; - $file = "/$2"; - - my $line = ""; - while ($str ne "") { - $str =~ m|^(/*)(\.?)\./(.*)$| or - die "$Error Parse error!\n"; - $line .= length($1) + (($2 eq ".") ? 5 : 0); - $str = $3; - } - - my $callstr = $EditorCall; - $EditorCall =~ s/%s/$file/; - $EditorCall =~ s/%d/$line/; - print "File: $file, line: $line\n" if $::opt_verbose; - exec($EditorCall); - exit 1; -} - -### -### used by both sty and system mode: -### -my $system = "linux"; -$system = "" if $^O =~ /os2/i; -$system = "" if $^O =~ /mac/i; -$system = "win" if $^O =~ /dos/i; -$system = "win" if $^O =~ /win/i; - -################ -### sty mode ### -################ -if ($::opt_sty) { - - @ARGV == 2 or - die "$usage$Error Wrong arguments [sty mode]!\n"; - - my $vpefile = $ARGV[1]; - print "VPE file: $vpefile\n" if $::opt_verbose; - - my $file = `kpsewhich -progname=$::opt_progname $ARGV[0]`; - chomp $file; - if (!($file =~ m|^/| or $file =~ m|^\w:|)) { - use Cwd; - $file = cwd() . "/" . $file; - $file =~ s|/[^/]+/\.\./|/|g; - $file =~ s|/\./|/|g; - } - -f $file or - die "$Error Cannot find file `$file' [sty mode]!\n"; - print "File: $file\n" if $::opt_verbose; - - my $last = 0; - if (open(IN, $file)) { - while () { - $last++; - } - } - if ($last == 0) { - $last = 10000; - } - print "Last line: $last\n" if $::opt_verbose; - - open(OUT, ">>$vpefile") or - die "$Error Cannot open file `$vpefile`!\n"; - print OUT "\\vpeentry{$file}{$last}\n"; - - exit 1; -} - -################### -### system mode ### -################### -if ($::opt_system) { - - @ARGV == 1 or - die "$usage$Error Wrong arguments [system mode]!\n"; - - my $vpefile = $ARGV[0]; - print "VPE file: $vpefile\n" if $::opt_verbose; - - open(OUT, ">>$vpefile") or - die "$Error Cannot open file `$vpefile`!\n"; - print OUT "\\vpesystem{$system}\n"; - - exit 1; -} - -################ -### vpe mode ### -################ -if (@ARGV < 1) { - die "$usage$Error Missing pdf file [vpe mode]!\n"; -} -if (@ARGV > 2) { - die "$usage$Error Too many arguments [vpe mode]!\n"; -} - -my $pdffile = $ARGV[0]; -if (!-f $pdffile) { - my $name = $pdffile; - $pdffile .= ".pdf"; - -f $pdffile or - die "$Error File `$name' not found [vpe mode]!\n"; -} - -open(IN, "+<$pdffile") or - die "$Error Cannot open `$pdffile' [vpe mode]!\n"; -binmode(IN); -my %symlinks = (); -while () { - - if (m|/F\([\./]*(/.*)\.vpe\)|) { - $symlinks{$1} = 1; - next; - } - - my $do = 0; - my ($action, $file, $line, $type); - # my $color; # only for debugging - - if (m|^ - /A \s* << \s* - /Type \s* /Action \s* - /S \s* /Launch \s* - /Win \s* << \s* - /F \s* \(aftcomp.exe\) \s* - /P \s* \("(.*)\" \s+ \d+\-(\d+)\) \s* - >> \s* - >> \s* - $ - |x - ) { - $action = $_; - $file = $1; - $line = $2; - # $color = "/C[0 0 1]"; # only for debugging - $type = "aftcomp"; - $do = 1; - } - - if (m|^ - /A \s* << \s* - /Type \s* /Action \s* - /S \s* /Launch \s* - /Win \s* << \s* - /F \s* \(repos.exe\) \s* - /P \s* \( - "(.*)" \s* - "(\d+)" \s* - "(.*)" \s* - "(\d+)" - \) \s* - >> \s* - >> \s* - $ - |x - ) { - $action = $_; - if ($3 eq "") { - $file = $1; - $line = $2; - } - else { - # ??? - $file = $1; - $line = $2; - } - # $color = "/C[1 0 0]"; # only for debugging - $type = "repos"; - $do = 1; - } - - if ($do) { - my $length = length($action); - print "* File: $file, line: $line, type: $type\n" if $::opt_verbose; - - if (!($file =~ m|^/|)) { - print STDERR "$Error File `$file' lacks of absolute path!\n"; - next; - } - - if (!$::opt_delete) { - if ($line <= 0) { - $line = 1; - } - - my $newaction = ""; - { - my $digit = substr($line, 0, 1); - if ($digit <= 5) { - $newaction .= "/" x $digit; - } - else { - $newaction .= "/" x ($digit - 5) . "."; - } - $newaction .= "./"; - my $rest = $line; - while (($rest = substr($rest, 1)) ne "") { - $digit = substr($rest, 0, 1); - if ($digit < 5) { - $newaction .= "/" x $digit; - } - else { - $newaction .= "/" x ($digit - 5) . "."; - } - $newaction .= "./"; - } - } - $newaction .= substr($file, 1) . ".vpe"; - $newaction = # $color . # only for debugging - "/A<>"; - $newaction .= " " x ($length - length($newaction) - 1); - if (length($newaction) > $length) { - print STDERR "$Error Action too long!\n"; - next; - } - - seek(IN, -length($action), 1); - print IN $newaction; - } - - $symlinks{$file} = 1; - } -} - -if (keys(%symlinks)) { - - my $this = $0; - if (!$::opt_delete) { - if (!-f $0 or !-x $0) { - $this = `which $0`; - ($this ne "") or die "$Error Cannot find this script!\n"; - } - if (!($this =~ m|^/|)) { - use Cwd; - $this = cwd() . "/" . $this; - } - $this =~ s|/[^/]+/\.\./|/|g; - $this =~ s|/\./|/|g; - } - - if ($::opt_delete) { - print "Delete symlinks:\n"; - } - else { - if ($::opt_force) { - print "Forced symlinks to $this:\n"; - } - else { - print "Symlinks to $this:\n"; - } - } - - foreach (keys(%symlinks)) { - my $sym = $_ . ".vpe"; - print " $sym ["; - - if ($::opt_delete) { - if (!-l $sym) { - print "ok, not existing]\n"; - next; - } - unlink($sym); - if (!-l $sym) { - print "ok, deleted]\n"; - next; - } - print "failed]\n"; - next; - } - if ($::opt_force) { - if (-l $sym) { - unlink($sym); - if (-l $sym) { - print "deletion failed]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, deleted and created]\n"; - next; - } - print "deleted, creation failed]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, created]\n"; - next; - } - print "creation failed]\n"; - next; - } - if (-f $sym) { - print "exists]\n"; - next; - } - if (symlink($this, $sym)) { - print "ok, created]\n"; - next; - } - print "failed]\n"; - next; - } -} -__END__ diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 8a21c637249..530b3d63ac1 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -146,6 +146,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'epiolmec', "&MAKEflatten", 'epix', "die 'skipping, needs C++'", 'eplain', "&MAKEcopy", + 'epstopdf', "die 'skipping, needs .pl vs. noext + man help, sorry'", 'eqnarray', "&MAKEeqnarray", 'eskdx', "&MAKEeskdx", 'esvect', "&MAKEflatten", @@ -399,7 +400,6 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'vicentino', "die 'skipping, nonfree license'", 'vntex', "&MAKEcopy", 'voss-de', "&MAKEvossde", - 'vpe', "&MAKEvpe", 'vrsion', "die 'skipping, nonfree license'", 'wasy2', "&MAKEflatten", 'wordcount', "&MAKEwordcount", @@ -1251,6 +1251,7 @@ $standardxmt='\.xmt'; %specialscripts = ( 'a2ping' => '\.pl$', 'epstopdf' => 'epstopdf', + 'vpe' => '\.pl$', ); # which suffixes to remove after building. Checked after runins and at @@ -2853,19 +2854,6 @@ sub MAKEvossde { } -# includes shell script. -sub MAKEvpe { - &xchdir ($packagedir); - # - print "\t SPECIAL $package: moving vpe.pl to /tmp\n"; - &SYSTEM('mv vpe.pl /tmp/vpe'); - # - &xchdir (".."); - &donormal (); - # - print "YOU-MUST-DO! update /tmp/vpe to source/texk/texlive\n"; -} - sub MAKEwordcount { &xchdir ($packagedir); # @@ -3013,6 +3001,7 @@ sub MAKEthumbpdf { &SYSTEM("mv thumbpdf.pl $myscriptdir/"); } + sub MAKEIEEEtran { print "\t SPECIAL renaming README files, then flatten\n"; chdir ($packagedir) || die "chdir($packagedir) failed: $!"; diff --git a/Master/tlpkg/tlpsrc/bin-thumbpdf.tlpsrc b/Master/tlpkg/tlpsrc/bin-thumbpdf.tlpsrc deleted file mode 100644 index 04653e0f8b8..00000000000 --- a/Master/tlpkg/tlpsrc/bin-thumbpdf.tlpsrc +++ /dev/null @@ -1,6 +0,0 @@ -name bin-thumbpdf -category TLCore -runpattern f texmf/scripts/thumbpdf/* -docpattern f texmf/doc/man/man1/thumbpdf.1 -docpattern f texmf/doc/man/man1/thumbpdf.1.html -binpattern f bin/${ARCH}/thumbpdf diff --git a/Master/tlpkg/tlpsrc/bin-vpe.tlpsrc b/Master/tlpkg/tlpsrc/bin-vpe.tlpsrc deleted file mode 100644 index 04aac61ad2f..00000000000 --- a/Master/tlpkg/tlpsrc/bin-vpe.tlpsrc +++ /dev/null @@ -1,5 +0,0 @@ -name bin-vpe -category TLCore -runpattern f texmf/scripts/vpe/* -binpattern f bin/${ARCH}/vpe -depend vpe diff --git a/Master/tlpkg/tlpsrc/vpe.tlpsrc b/Master/tlpkg/tlpsrc/vpe.tlpsrc index 19a5c215206..8fb8a6e3588 100644 --- a/Master/tlpkg/tlpsrc/vpe.tlpsrc +++ b/Master/tlpkg/tlpsrc/vpe.tlpsrc @@ -1,3 +1,4 @@ name vpe category Package -depend bin-vpe +binpattern f bin/${ARCH}/vpe +runpattern +f texmf-dist/scripts/vpe/* -- cgit v1.2.3