From 36e0a60868a91490c3a5ab331cf1ce5fd93c8039 Mon Sep 17 00:00:00 2001 From: Siep Kroonenberg Date: Sat, 25 Dec 2010 21:28:43 +0000 Subject: Unix wrapper scripts eliminated git-svn-id: svn://tug.org/texlive/trunk@20860 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/support/epspdf/Changelog | 5 +++ Master/texmf-dist/doc/support/epspdf/README | 6 +-- Master/texmf-dist/doc/support/epspdf/README.tl | 5 --- .../texmf-dist/doc/support/epspdf/epspdf.install | 41 ++++++++++----------- Master/texmf-dist/doc/support/epspdf/epspdf.pdf | Bin 263095 -> 236094 bytes Master/texmf-dist/doc/support/epspdf/epspdf.texi | 25 +++++++------ .../doc/support/epspdf/images/main_w32.png | Bin 10094 -> 6158 bytes Master/texmf-dist/doc/support/epspdf/index.html | 41 ++++++++++----------- Master/texmf-dist/scripts/epspdf/epspdf | 3 -- Master/texmf-dist/scripts/epspdf/epspdf.help | 23 +++++++----- Master/texmf-dist/scripts/epspdf/epspdf.rb | 17 ++++++++- Master/texmf-dist/scripts/epspdf/epspdfrc.rb | 7 +--- Master/texmf-dist/scripts/epspdf/epspdftk | 7 ---- Master/texmf-dist/scripts/epspdf/epspdftk.tcl | 25 ++++++++++--- 14 files changed, 108 insertions(+), 97 deletions(-) delete mode 100644 Master/texmf-dist/doc/support/epspdf/README.tl delete mode 100755 Master/texmf-dist/scripts/epspdf/epspdf delete mode 100755 Master/texmf-dist/scripts/epspdf/epspdftk (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/support/epspdf/Changelog b/Master/texmf-dist/doc/support/epspdf/Changelog index 0a6a21f9685..5c4513737f5 100644 --- a/Master/texmf-dist/doc/support/epspdf/Changelog +++ b/Master/texmf-dist/doc/support/epspdf/Changelog @@ -1,3 +1,8 @@ +2010-12-25 0.5.2 + + Eliminate need for wrappers under Unix + Update manual + 2010-05-09 0.5.1 Bug fix: test for i_hrbb >= 0 instead of true diff --git a/Master/texmf-dist/doc/support/epspdf/README b/Master/texmf-dist/doc/support/epspdf/README index 07f17464f3e..2037d0a4bea 100644 --- a/Master/texmf-dist/doc/support/epspdf/README +++ b/Master/texmf-dist/doc/support/epspdf/README @@ -14,6 +14,6 @@ help of a bit of AppleScript. Available from http://tex.aanhet.net/epspdf/ or on CTAN as part of epspdf-extra. -The files in the texlive subdirectory are NOT useful for a -standalone installation. They are wrapper scripts for -embedding epspdf and epspdftk into TeX Live. +The former texlive subdirectory has been dropped. Under +Unix/Linux/Mac OS X, wrapper scripts are no longer needed; symlinks +to epspdf.rb and epspdftk.tcl suffice. diff --git a/Master/texmf-dist/doc/support/epspdf/README.tl b/Master/texmf-dist/doc/support/epspdf/README.tl deleted file mode 100644 index d2775417f74..00000000000 --- a/Master/texmf-dist/doc/support/epspdf/README.tl +++ /dev/null @@ -1,5 +0,0 @@ -The scripts in this directory are for use by TeX Live and are -useless for a standalone install. - -For TeX Live 2009 and later, epspdf and epspdftk use the generic -wrappers for running scripts under Windows. diff --git a/Master/texmf-dist/doc/support/epspdf/epspdf.install b/Master/texmf-dist/doc/support/epspdf/epspdf.install index d775cba250c..74eafa28fea 100644 --- a/Master/texmf-dist/doc/support/epspdf/epspdf.install +++ b/Master/texmf-dist/doc/support/epspdf/epspdf.install @@ -174,9 +174,7 @@ Installation by double-clicking. The setup program will create entries in your start menu for epspdftk and for the user manual. - The setup program has been created with [23]NSIS - - . + The setup program has been created with [23]NSIS. Windows zipfile @@ -199,13 +197,8 @@ Installation Unix/Linux Download the [25]tar.gz archive and unpack it in some directory. If you - plan to use epspdf.rb from the command-line, create a shell script epspdf - such as - - #!/bin/sh - /epspdf.rb "$@" - - and put it somewhere on your path. + plan to use epspdf.rb from the command-line, create a symlink to epspdf.rb + somewhere on your searchpath. You can do the same for epspdftk. The first command-line parameter will be interpreted as startup directory for the file browser. @@ -240,13 +233,13 @@ Preview programs Files - * [27]epspdf.0.5.1.tgz preferred for Unix and Mac OS X - * [28]epspdf.0.5.1.zip preferred for Windows if you don't want to use + * [27]epspdf.0.5.2.tgz preferred for Unix and Mac OS X + * [28]epspdf.0.5.2.zip preferred for Windows if you don't want to use the installer below - * [29]epspdf.0.5.1.exe Windows setup program, including Ruby subset. The + * [29]epspdf.0.5.2.exe Windows setup program, including Ruby subset. The epspdftk script has been packaged with a basic Tcl/Tk into a single exe file (starpack). - * [30]epspdftk.0.5.1.dmg.gz compressed disk image with epspdftk wrapped + * [30]epspdftk.0.5.2.dmg.gz compressed disk image with epspdftk wrapped into a Mac OS X "app" Older releases @@ -269,8 +262,12 @@ Files Releases + 0.5.2 + Current version. Under Unix, wrapper scripts can now be replaced + with simple symlinks. + 0.5.1 - Current version. Bug fix for boundingbox atend. + Bug fix for boundingbox atend. 0.5 Ruby/Tk GUI replaced with Tcl/Tk GUI. Starpack wrapper for Windows @@ -362,15 +359,15 @@ References 19. http://www.ruby-lang.org/en/downloads/ 20. http://www.tcl.tk/ 21. http://activestate.com/Products/ActiveTcl/ - 22. http://tex.aanhet.net/epspdf/epspdf.0.5.1.exe + 22. http://tex.aanhet.net/epspdf/epspdf.0.5.2.exe 23. http://nsis.sourceforge.net/ - 24. http://tex.aanhet.net/epspdf/epspdf.0.5.1.zip - 25. http://tex.aanhet.net/epspdf/epspdf.0.5.1.tgz + 24. http://tex.aanhet.net/epspdf/epspdf.0.5.2.zip + 25. http://tex.aanhet.net/epspdf/epspdf.0.5.2.tgz 26. http://tex.aanhet.net/epspdf/epspdf.pdf - 27. http://tex.aanhet.net/epspdf/epspdf.0.5.1.tgz - 28. http://tex.aanhet.net/epspdf/epspdf.0.5.1.zip - 29. http://tex.aanhet.net/epspdf/epspdf.0.5.1.exe - 30. http://tex.aanhet.net/epspdf/epspdftk.0.5.1.dmg.gz + 27. http://tex.aanhet.net/epspdf/epspdf.0.5.2.tgz + 28. http://tex.aanhet.net/epspdf/epspdf.0.5.2.zip + 29. http://tex.aanhet.net/epspdf/epspdf.0.5.2.exe + 30. http://tex.aanhet.net/epspdf/epspdftk.0.5.2.dmg.gz 31. http://tex.aanhet.net/epspdf/epspdftk.0.4.3.dmg.gz 32. http://tex.aanhet.net/epspdf/epspdf.0.4.3.tgz 33. http://tex.aanhet.net/epspdf/epspdf.0.4.3.zip diff --git a/Master/texmf-dist/doc/support/epspdf/epspdf.pdf b/Master/texmf-dist/doc/support/epspdf/epspdf.pdf index aab0333468e..617de2c14e6 100644 Binary files a/Master/texmf-dist/doc/support/epspdf/epspdf.pdf and b/Master/texmf-dist/doc/support/epspdf/epspdf.pdf differ diff --git a/Master/texmf-dist/doc/support/epspdf/epspdf.texi b/Master/texmf-dist/doc/support/epspdf/epspdf.texi index 25514b8f1ab..02ea8dfaf70 100644 --- a/Master/texmf-dist/doc/support/epspdf/epspdf.texi +++ b/Master/texmf-dist/doc/support/epspdf/epspdf.texi @@ -22,7 +22,7 @@ @hyphenation{epspdf-tk epspdf} @end iftex -@set version 0.5.1 +@set version 0.5.2 @set homepage http://tex.aanhet.net/epspdf/ @setchapternewpage off @@ -254,20 +254,21 @@ coordinate negative. epspdf.rb is the backend of epspdftk, but it can also be used standalone. It shares configuration settings with epspdftk.tcl. -It is strongly recommended to invoke epspdf.rb via a wrapper script -epspdf or epspdf.bat on the search path, e.g. -@example -#!/bin/sh -@var{path_to_epspdf}/epspdf.rb "$@@" -@end example -for Unix/Linux/OS X, or +Under Windows, is strongly recommended to invoke epspdf.rb via a wrapper script +epspdf.bat on the search path, e.g. @example "@var{path_to_ruby.exe}" "@var{path_to_epspdf.rb}" %* @end example -for Windows. It is the responsibility of the caller to provide double -quotes. -The TeX Live package for epspdf already includes a wrapper. +The TeX Live package for epspdf already includes wrappers for Windows, +both for epspdf and for epspdftk. + +The first parameter of epspdftk is interpreted as startup directory for +the file browser. + +From version 0.5.2 on, there is no longer need for a wrapper script under +Unix/Linux/Mac OS X; a symlink on the searchpath to the actual script +suffices. Basic usage: @@ -285,7 +286,7 @@ epspdf [@var{options}] @var{infile} @var{outfile} Typing @kbd{epspdf --help} gives you the following summary: @example $ epspdf --help -Epspdf version 0.5.1 +Epspdf version 0.5.2 Copyright (C) 2006, 2008, 2009, 2010 Siep Kroonenberg Convert between [e]ps and pdf formats Usage: epspdf.rb [options] infile [outfile] diff --git a/Master/texmf-dist/doc/support/epspdf/images/main_w32.png b/Master/texmf-dist/doc/support/epspdf/images/main_w32.png index 7bea79fbf07..946a80e477f 100644 Binary files a/Master/texmf-dist/doc/support/epspdf/images/main_w32.png and b/Master/texmf-dist/doc/support/epspdf/images/main_w32.png differ diff --git a/Master/texmf-dist/doc/support/epspdf/index.html b/Master/texmf-dist/doc/support/epspdf/index.html index 779b59f0f25..6d77fc90025 100644 --- a/Master/texmf-dist/doc/support/epspdf/index.html +++ b/Master/texmf-dist/doc/support/epspdf/index.html @@ -1,6 +1,8 @@ - + + + @@ -233,17 +235,17 @@ and Tcl/Tk requirements. See the table below:

Windows setup program

-

Download the epspdftk setup +

Download the epspdftk setup program. You can run it in the usual way, by double-clicking. The setup program will create entries in your start menu for epspdftk and for the user manual.

The setup program has been created -with NSIS

. +with NSIS.

Windows zipfile

-

Download the epspdf zip file, +

Download the epspdf zip file, unpack it somewhere and create a batchfile epspdf.bat such as

@@ -267,17 +269,10 @@ Windows 7.

Unix/Linux

-

Download the tar.gz archive and +

Download the tar.gz archive and unpack it in some directory. If you plan to use epspdf.rb from the -command-line, create a shell script -epspdf such as

- -
-#!/bin/sh
-<path_to_epspdf>/epspdf.rb "$@"
-
- -

and put it somewhere on your path.

+command-line, create a symlink to epspdf.rb somewhere on +your searchpath.

You can do the same for epspdftk. The first command-line parameter will be interpreted as startup directory for the file @@ -317,17 +312,17 @@ or Adobe Reader.

Files

@@ -368,8 +363,10 @@ Mac OS X applet for starting epspdftk.rb

Releases

-
0.5.1
Current version. Bug fix for boundingbox -atend.
+
0.5.2
Current version. Under Unix, wrapper scripts + can now be replaced with simple symlinks.
+ +
0.5.1
Bug fix for boundingbox atend.
0.5
Ruby/Tk GUI replaced with Tcl/Tk GUI. Starpack wrapper for Windows setup version.
diff --git a/Master/texmf-dist/scripts/epspdf/epspdf b/Master/texmf-dist/scripts/epspdf/epspdf deleted file mode 100755 index f973474b312..00000000000 --- a/Master/texmf-dist/scripts/epspdf/epspdf +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -script=`kpsewhich -format=texmfscripts epspdf.rb` -"$script" "$@" diff --git a/Master/texmf-dist/scripts/epspdf/epspdf.help b/Master/texmf-dist/scripts/epspdf/epspdf.help index 23c7efe5381..dbd1cd3b93f 100644 --- a/Master/texmf-dist/scripts/epspdf/epspdf.help +++ b/Master/texmf-dist/scripts/epspdf/epspdf.help @@ -1,7 +1,7 @@ Epspdf and epsdftk ****************** -This manual is for epspdf, version 0.5.1. +This manual is for epspdf, version 0.5.2. Copyright (C) 2006, 2008, 2009, 2010 Siep Kroonenberg. @@ -131,16 +131,19 @@ conversions come out slightly clipped. It has two effects: epspdf.rb is the backend of epspdftk, but it can also be used standalone. It shares configuration settings with epspdftk.tcl. -It is strongly recommended to invoke epspdf.rb via a wrapper script -epspdf or epspdf.bat on the search path, e.g. - #!/bin/sh - PATH_TO_EPSPDF/epspdf.rb "$@" -for Unix/Linux/OS X, or +Under Windows, is strongly recommended to invoke epspdf.rb via a +wrapper script epspdf.bat on the search path, e.g. "PATH_TO_RUBY.EXE" "PATH_TO_EPSPDF.RB" %* -for Windows. It is the responsibility of the caller to provide double -quotes. -The TeX Live package for epspdf already includes a wrapper. +The TeX Live package for epspdf already includes wrappers for Windows, +both for epspdf and for epspdftk. + +The first parameter of epspdftk is interpreted as startup directory for +the file browser. + +From version 0.5.2 on, there is no longer need for a wrapper script +under Unix/Linux/Mac OS X; a symlink on the searchpath to the actual +script suffices. Basic usage: @@ -151,7 +154,7 @@ Basic usage: Typing `epspdf --help' gives you the following summary: $ epspdf --help - Epspdf version 0.5.1 + Epspdf version 0.5.2 Copyright (C) 2006, 2008, 2009, 2010 Siep Kroonenberg Convert between [e]ps and pdf formats Usage: epspdf.rb [options] infile [outfile] diff --git a/Master/texmf-dist/scripts/epspdf/epspdf.rb b/Master/texmf-dist/scripts/epspdf/epspdf.rb index d10e55fb5e0..94da56c4c99 100755 --- a/Master/texmf-dist/scripts/epspdf/epspdf.rb +++ b/Master/texmf-dist/scripts/epspdf/epspdf.rb @@ -30,7 +30,19 @@ # some initialization # add directory of this source to loadpath -$:.unshift( File.dirname( __FILE__ ) ) +# WARNING +# readlink apparently only works right from the directory of the symlink + +$SCRIPTDIR = File.dirname( File.expand_path( __FILE__ )) +if RUBY_PLATFORM !~ /win32|mingw/ and File.symlink?( __FILE__ ) + savedir = Dir.pwd + Dir.chdir( $SCRIPTDIR ) + # puts File.readlink( __FILE__ ) + $SCRIPTDIR = File.dirname( File.expand_path( File.readlink( __FILE__ ))) + Dir.chdir( savedir ) +end +$:.unshift( $SCRIPTDIR ) +# puts $: # turn on warnings #$VERBOSE = 1 @@ -59,12 +71,13 @@ class EPSystemError < StandardError; end # PostScript header file for grayscaling -$GRAYHEAD = File.join( File.dirname( __FILE__ ), "makegray.pro" ) +$GRAYHEAD = File.join( $SCRIPTDIR, "makegray.pro" ) ########################################### # handle auto-detected and saved settings +#require 'epspdfrc' require 'epspdfrc' ########################################### diff --git a/Master/texmf-dist/scripts/epspdf/epspdfrc.rb b/Master/texmf-dist/scripts/epspdf/epspdfrc.rb index 6ee8ba6fccb..66ecdb8c1d6 100755 --- a/Master/texmf-dist/scripts/epspdf/epspdfrc.rb +++ b/Master/texmf-dist/scripts/epspdf/epspdfrc.rb @@ -1,4 +1,4 @@ -EPVERSION = '0.5.1' +EPVERSION = '0.5.2' COPYRIGHT = '2006, 2008, 2009, 2010' # epspdf conversion utility, configuration module @@ -25,12 +25,9 @@ COPYRIGHT = '2006, 2008, 2009, 2010' # a stand-alone program, and # 2. a configuration screen in epspdftk.rb. -require 'rbconfig' -include Config - # for notational convenience, we keep ARCH separate -ARCH = case CONFIG['arch'] +ARCH = case RUBY_PLATFORM when /win32|mingw/ 'w32' when /darwin/ diff --git a/Master/texmf-dist/scripts/epspdf/epspdftk b/Master/texmf-dist/scripts/epspdf/epspdftk deleted file mode 100755 index e1e1fb36064..00000000000 --- a/Master/texmf-dist/scripts/epspdf/epspdftk +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -script=`kpsewhich -format=texmfscripts epspdftk.tcl` -if test "x$1" = "x"; then - "$script" $HOME -else - "$script" "$@" -fi \ No newline at end of file diff --git a/Master/texmf-dist/scripts/epspdf/epspdftk.tcl b/Master/texmf-dist/scripts/epspdf/epspdftk.tcl index ac96d844be7..ff29eff893d 100755 --- a/Master/texmf-dist/scripts/epspdf/epspdftk.tcl +++ b/Master/texmf-dist/scripts/epspdf/epspdftk.tcl @@ -25,10 +25,12 @@ set classic_unix [expr {$::tcl_platform(platform) eq "unix" && \ # Get full path of epspdf.rb. It should be in the same directory as # either this script or of the starpack containing this script. +# For non-windows versions, epspdftk might be called via a symlink. # For the windows-only starpack, a ruby subset is included. # Otherwise, ruby should be on the searchpath. proc set_progs {} { + set scriptfile [file normalize [info script]] # starpack edition? set starred 0 if {$::tcl_platform(platform) eq "windows"} { @@ -39,13 +41,24 @@ proc set_progs {} { } } } + set syml 0 + if {$::tcl_platform(platform) eq "unix" && \ + ! [catch {file readlink [$scriptfile]}]} { + set syml 1 + } if {$starred} { - set eproot [file normalize \ - [regsub {([\\/])([^\\/]+)$} [info nameofexecutable] {}]] + set eproot [file dirname [file normalize [info nameofexecutable]]] set ::ruby [file normalize "$eproot/../rubysub/bin/ruby.exe"] } else { - set eproot [file normalize \ - [regsub {([\\/])([^\\/]+)$} [info script] {}]] + set eproot [file dirname $scriptfile] + if {$::tcl_platform(platform) eq "unix" && \ + ! [catch {file readlink $scriptfile}]} { + # evaluate readlink from symlink directory + set savedir [pwd] + cd $eproot + set eproot [file dirname [file normalize [file readlink $scriptfile]]] + cd $savedir + } set ::ruby "ruby" } set ::epspdf_rb [file join $eproot "epspdf.rb"] @@ -661,7 +674,7 @@ proc page_valid {w} { # end conversion options -pack [label .status] -side bottom -anchor w -fill x +pack [label .status -justify left] -side bottom -anchor w -fill x -expand 1 # main buttons @@ -758,7 +771,7 @@ proc saveDialog {} { lappend cmd $::gfile(path) lappend cmd $try # $cmd/run_epspdf never bombs, but returns 1 (success) or 0 (fail) - .status configure -text "Working..." + .status configure -text "Working..." -justify "left" foreach b {view open convert done} { .bottomf.$b configure -state disabled } -- cgit v1.2.3