From 963143d1e03ae51f90ff1ed092b50085ad439a3b Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Thu, 21 Dec 2006 20:35:51 +0000 Subject: mv getnonfreefonts getnonfreefonts.bat # sorry. git-svn-id: svn://tug.org/texlive/trunk@2839 c570f23f-e606-0410-a88d-b1316a301751 --- Master/bin/win32/getnonfreefonts | 298 ----------------------------------- Master/bin/win32/getnonfreefonts.bat | 298 +++++++++++++++++++++++++++++++++++ 2 files changed, 298 insertions(+), 298 deletions(-) delete mode 100644 Master/bin/win32/getnonfreefonts create mode 100644 Master/bin/win32/getnonfreefonts.bat diff --git a/Master/bin/win32/getnonfreefonts b/Master/bin/win32/getnonfreefonts deleted file mode 100644 index 4cbf4a88e85..00000000000 --- a/Master/bin/win32/getnonfreefonts +++ /dev/null @@ -1,298 +0,0 @@ -@rem = '--*-Perl-*-- -@echo off -perl -x -S %0 %* -goto endofperl -@rem '; -#!/usr/bin/env perl -#line 8 -$^W=1; - -## getnonfreefonts -## Copyright 2006 Reinhard Kotucha -# -# This work may be distributed and/or modified under the -# conditions of the LaTeX Project Public License, either version 1.3 -# 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 -# -# The current maintainer is Reinhard Kotucha. - -my $TL_version='2006'; - -my $getfont_url="ftp://tug.org/tex/getnonfreefonts/getfont$TL_version"; - -use File::Copy; -use Getopt::Long; -$Getopt::Long::autoabbrev=0; - -$opt_lsfonts=0; -$opt_force=0; - -sub usage { - print <<'EOF'; -Usage: - getnonfreefonts[-sys] [-a|--all] [-d|--debug] [-f|--force] - [-l|--lsfonts] [-v|--verbose] [--version] [font1] [font2] ... - - getnonfreefonts installs fonts in $TEXMFHOME. - getnonfreefonts-sys installs fonts in $TEXMFLOCAL. - - Options: - -a|--all Install all fonts. - - -d|--debug Provide additional messages for debugging. - - -f|--force Install fonts even if they are installed already. - - -h|--help Print this message. - - -l|--lsfonts List all fonts available. - - -v|--verbose Be more verbose. - - --version Print version number. - -EOF -; -} - -unless (@ARGV) { - usage; - exit 1; -} - -GetOptions - "all|a", - "debug|d", - "force|f", - "help|h", - "lsfonts|l", - "verbose|v", - "version", - "sys"; - -$^W=1 if $opt_debug; - -my $sys=($0=~/-sys$/)? 1:0; -$sys=1 if $opt_sys; - -@allpackages=@ARGV; - -sub message { - my $message=shift; - if ($message=~/^\[/) { - print "$message\n"; - } else { - printf "%-60s", $message; - } -} - - -sub debug_msg { - my $message=shift; - if ($opt_debug) { - print STDERR "DEBUG: $message.\n"; - } -} - - -sub expand_var { - my $var=shift; - - if (-d "/usr/bin") { - open KPSEWHICH, 'kpsewhich --expand-var=\$' . "$var |"; - } else { - open KPSEWHICH, 'kpsewhich --expand-var=$' . "$var |"; - } - while () { - chop; - return $_; - } - close KPSEWHICH; -} - - - -# get TMP|TEMP|TMPDIR environment variable - -if ($opt_debug) { - for my $var ("TMP","TEMP","TMPDIR") { - if (defined $ENV{$var}) { - debug_msg "Environment variable $var='$ENV{$var}'"; - } else { - debug_msg "Environment variable $var not set"; - } - } -} - -print "$TL_version\n" and exit 0 if $opt_version; - - -if (defined $ENV{'TMP'}) { - $SYSTMP="$ENV{'TMP'}"; -} elsif (defined $ENV{'TEMP'}) { - $SYSTMP="$ENV{'TEMP'}"; -} elsif (defined $ENV{'TMPDIR'}) { - $SYSTMP="$ENV{'TMPDIR'}"; -} else { - $SYSTMP="/tmp"; -} - -debug_msg "Internal variable SYSTMP set to '$SYSTMP'"; - -# Windows usually uses backslashes though forward slashes are probably -# allowed. Perl always needs forward slashes. - -# We convert backslashes to forward slashes if it looks like a Windows -# directory. -$SYSTMP=~s/\\/\//g if ($SYSTMP=~/^.:\\/); # c:\abc\def -$SYSTMP=~s/\\/\//g if ($SYSTMP=~/^\\\\/); # \\abc\def - -debug_msg "Internal variable SYSTMP converted to '$SYSTMP'"; - -die "! ERROR: The temporary directory '$SYSTMP' doesn't exist.\n" - unless (-d "$SYSTMP"); - -die "! ERROR: The temporary directory '$SYSTMP' is not writable.\n" - unless (-w "$SYSTMP"); - - -# Determine INSTALLROOT. - -if ($opt_debug) { - my @path=split ':', $ENV{PATH}; - for my $dir (@path) { - debug_msg "Search for kpsewhich in '$dir'"; - opendir DIR, "$dir"; - my @kpsewichs=grep /^kpsewhich/, readdir DIR; - closedir DIR; - for (@kpsewichs) { - debug_msg "Found $dir/$_" if /^kpsewhich/; - } - } -} - - -if ($sys) { - $INSTALLROOT=expand_var 'TEXMFLOCAL'; -} else { - $INSTALLROOT=expand_var 'TEXMFHOME'; -} - -($sys)? debug_msg "sys=true":debug_msg "sys=false"; - -debug_msg "INSTALLROOT='$INSTALLROOT'"; - -$INSTALLROOT=~s/\\/\//g if ($INSTALLROOT=~/^.:\\/); # c:\abc\def -$INSTALLROOT=~s/\\/\//g if ($INSTALLROOT=~/^\\\\/); # \\abc\def - -debug_msg "Internal variable INSTALLROOT converted to '$INSTALLROOT'"; - -die "! ERROR: The install directory '$INSTALLROOT' doesn't exist.\n" - unless (-d "$INSTALLROOT"); - -die "! ERROR: The install directory '$INSTALLROOT' is not writable.\n" - unless (-w "$INSTALLROOT"); - - -if ($opt_help) { - print "\nThis is getnonfreefonts"; - print '-sys' if ($sys); - print ", version $TL_version.\n\n"; - - usage; - print <<"ENDUSAGE"; - Directories: - temporary: '$SYSTMP/getfont-' - install: '$INSTALLROOT' - -ENDUSAGE -exit 0; -} - - -my $tmpdir="$SYSTMP/getfont-$$"; -debug_msg "Internal variable tmpdir set to '$tmpdir'"; - -mkdir "$tmpdir" or die "! ERROR: Can't mkdir '$tmpdir'."; -chdir "$tmpdir" or die "! ERROR: Can't cd '$tmpdir'."; - -sub remove_tmpdir { - chdir "$SYSTMP" or die "! ERROR: Can't cd '$SYSTMP'.\n"; - opendir TMPDIR, "$tmpdir" - or print "! ERROR: Can't read directory '$tmpdir'.\n"; - - @alltmps=readdir TMPDIR; - closedir TMPDIR; - - foreach $file (@alltmps) { - next if $file=~/^\./; - unlink "$tmpdir/$file"; - } - rmdir "$tmpdir" or die "! ERROR: Can't remove directory '$tmpdir'.\n"; -} - -# Signal handlers for UNIX, maybe ignored by Windows. - -$SIG{INT} =\&remove_tmpdir; -$SIG{QUIT}=\&remove_tmpdir; -$SIG{BUS} =\&remove_tmpdir; -$SIG{PIPE}=\&remove_tmpdir; -$SIG{TERM}=\&remove_tmpdir; -$SIG{ABRT}=\&remove_tmpdir; -$SIG{SEGV}=\&remove_tmpdir; - -# Download the script from tug.org. - -debug_msg "Running 'wget $getfont_url'"; - -system ('wget', "$getfont_url"); - -# Download the fonts. - -my @getfont=('perl', "./getfont$TL_version", '--getnonfreefonts'); -push @getfont, "--installroot=$INSTALLROOT"; -push @getfont, '--lsfonts' if $opt_lsfonts; -push @getfont, '--force' if $opt_force; -push @getfont, '--debug' if $opt_debug; -push @getfont, '--verbose' if $opt_verbose; -push @getfont, '--sys' if $sys; -push @getfont, '--all' if $opt_all; -push @getfont, @allpackages; - -debug_msg "Running '@getfont'"; - -system @getfont; - -# Evaluate the exit status. It will be 2 if something had been -# installed and in this case we need to run texhash/updmap. - -my $exit_code=$?; -my $exit_status=int($exit_code/256); - -if ($sys) { - debug_msg "Info: Execute updmap-sys if exit status is 2"; -} else { - debug_msg "Info: Execute updmap if exit status is 2"; -} - -debug_msg "Exit status of getfont$TL_version is $exit_status"; - -if ($exit_status==2) { - print "\n"; - system 'texhash', "$INSTALLROOT"; - $updmap_command=($sys)? 'updmap-sys':'updmap'; - @updmap=("$updmap_command"); - push @updmap, '--quiet' unless $opt_verbose; - print "\n"; - message "Updating map files ($updmap_command)..."; - system @updmap; - - message $?? '[failed]':'[done]'; -} - -remove_tmpdir; - -__END__ -:endofperl diff --git a/Master/bin/win32/getnonfreefonts.bat b/Master/bin/win32/getnonfreefonts.bat new file mode 100644 index 00000000000..4cbf4a88e85 --- /dev/null +++ b/Master/bin/win32/getnonfreefonts.bat @@ -0,0 +1,298 @@ +@rem = '--*-Perl-*-- +@echo off +perl -x -S %0 %* +goto endofperl +@rem '; +#!/usr/bin/env perl +#line 8 +$^W=1; + +## getnonfreefonts +## Copyright 2006 Reinhard Kotucha +# +# This work may be distributed and/or modified under the +# conditions of the LaTeX Project Public License, either version 1.3 +# 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 +# +# The current maintainer is Reinhard Kotucha. + +my $TL_version='2006'; + +my $getfont_url="ftp://tug.org/tex/getnonfreefonts/getfont$TL_version"; + +use File::Copy; +use Getopt::Long; +$Getopt::Long::autoabbrev=0; + +$opt_lsfonts=0; +$opt_force=0; + +sub usage { + print <<'EOF'; +Usage: + getnonfreefonts[-sys] [-a|--all] [-d|--debug] [-f|--force] + [-l|--lsfonts] [-v|--verbose] [--version] [font1] [font2] ... + + getnonfreefonts installs fonts in $TEXMFHOME. + getnonfreefonts-sys installs fonts in $TEXMFLOCAL. + + Options: + -a|--all Install all fonts. + + -d|--debug Provide additional messages for debugging. + + -f|--force Install fonts even if they are installed already. + + -h|--help Print this message. + + -l|--lsfonts List all fonts available. + + -v|--verbose Be more verbose. + + --version Print version number. + +EOF +; +} + +unless (@ARGV) { + usage; + exit 1; +} + +GetOptions + "all|a", + "debug|d", + "force|f", + "help|h", + "lsfonts|l", + "verbose|v", + "version", + "sys"; + +$^W=1 if $opt_debug; + +my $sys=($0=~/-sys$/)? 1:0; +$sys=1 if $opt_sys; + +@allpackages=@ARGV; + +sub message { + my $message=shift; + if ($message=~/^\[/) { + print "$message\n"; + } else { + printf "%-60s", $message; + } +} + + +sub debug_msg { + my $message=shift; + if ($opt_debug) { + print STDERR "DEBUG: $message.\n"; + } +} + + +sub expand_var { + my $var=shift; + + if (-d "/usr/bin") { + open KPSEWHICH, 'kpsewhich --expand-var=\$' . "$var |"; + } else { + open KPSEWHICH, 'kpsewhich --expand-var=$' . "$var |"; + } + while () { + chop; + return $_; + } + close KPSEWHICH; +} + + + +# get TMP|TEMP|TMPDIR environment variable + +if ($opt_debug) { + for my $var ("TMP","TEMP","TMPDIR") { + if (defined $ENV{$var}) { + debug_msg "Environment variable $var='$ENV{$var}'"; + } else { + debug_msg "Environment variable $var not set"; + } + } +} + +print "$TL_version\n" and exit 0 if $opt_version; + + +if (defined $ENV{'TMP'}) { + $SYSTMP="$ENV{'TMP'}"; +} elsif (defined $ENV{'TEMP'}) { + $SYSTMP="$ENV{'TEMP'}"; +} elsif (defined $ENV{'TMPDIR'}) { + $SYSTMP="$ENV{'TMPDIR'}"; +} else { + $SYSTMP="/tmp"; +} + +debug_msg "Internal variable SYSTMP set to '$SYSTMP'"; + +# Windows usually uses backslashes though forward slashes are probably +# allowed. Perl always needs forward slashes. + +# We convert backslashes to forward slashes if it looks like a Windows +# directory. +$SYSTMP=~s/\\/\//g if ($SYSTMP=~/^.:\\/); # c:\abc\def +$SYSTMP=~s/\\/\//g if ($SYSTMP=~/^\\\\/); # \\abc\def + +debug_msg "Internal variable SYSTMP converted to '$SYSTMP'"; + +die "! ERROR: The temporary directory '$SYSTMP' doesn't exist.\n" + unless (-d "$SYSTMP"); + +die "! ERROR: The temporary directory '$SYSTMP' is not writable.\n" + unless (-w "$SYSTMP"); + + +# Determine INSTALLROOT. + +if ($opt_debug) { + my @path=split ':', $ENV{PATH}; + for my $dir (@path) { + debug_msg "Search for kpsewhich in '$dir'"; + opendir DIR, "$dir"; + my @kpsewichs=grep /^kpsewhich/, readdir DIR; + closedir DIR; + for (@kpsewichs) { + debug_msg "Found $dir/$_" if /^kpsewhich/; + } + } +} + + +if ($sys) { + $INSTALLROOT=expand_var 'TEXMFLOCAL'; +} else { + $INSTALLROOT=expand_var 'TEXMFHOME'; +} + +($sys)? debug_msg "sys=true":debug_msg "sys=false"; + +debug_msg "INSTALLROOT='$INSTALLROOT'"; + +$INSTALLROOT=~s/\\/\//g if ($INSTALLROOT=~/^.:\\/); # c:\abc\def +$INSTALLROOT=~s/\\/\//g if ($INSTALLROOT=~/^\\\\/); # \\abc\def + +debug_msg "Internal variable INSTALLROOT converted to '$INSTALLROOT'"; + +die "! ERROR: The install directory '$INSTALLROOT' doesn't exist.\n" + unless (-d "$INSTALLROOT"); + +die "! ERROR: The install directory '$INSTALLROOT' is not writable.\n" + unless (-w "$INSTALLROOT"); + + +if ($opt_help) { + print "\nThis is getnonfreefonts"; + print '-sys' if ($sys); + print ", version $TL_version.\n\n"; + + usage; + print <<"ENDUSAGE"; + Directories: + temporary: '$SYSTMP/getfont-' + install: '$INSTALLROOT' + +ENDUSAGE +exit 0; +} + + +my $tmpdir="$SYSTMP/getfont-$$"; +debug_msg "Internal variable tmpdir set to '$tmpdir'"; + +mkdir "$tmpdir" or die "! ERROR: Can't mkdir '$tmpdir'."; +chdir "$tmpdir" or die "! ERROR: Can't cd '$tmpdir'."; + +sub remove_tmpdir { + chdir "$SYSTMP" or die "! ERROR: Can't cd '$SYSTMP'.\n"; + opendir TMPDIR, "$tmpdir" + or print "! ERROR: Can't read directory '$tmpdir'.\n"; + + @alltmps=readdir TMPDIR; + closedir TMPDIR; + + foreach $file (@alltmps) { + next if $file=~/^\./; + unlink "$tmpdir/$file"; + } + rmdir "$tmpdir" or die "! ERROR: Can't remove directory '$tmpdir'.\n"; +} + +# Signal handlers for UNIX, maybe ignored by Windows. + +$SIG{INT} =\&remove_tmpdir; +$SIG{QUIT}=\&remove_tmpdir; +$SIG{BUS} =\&remove_tmpdir; +$SIG{PIPE}=\&remove_tmpdir; +$SIG{TERM}=\&remove_tmpdir; +$SIG{ABRT}=\&remove_tmpdir; +$SIG{SEGV}=\&remove_tmpdir; + +# Download the script from tug.org. + +debug_msg "Running 'wget $getfont_url'"; + +system ('wget', "$getfont_url"); + +# Download the fonts. + +my @getfont=('perl', "./getfont$TL_version", '--getnonfreefonts'); +push @getfont, "--installroot=$INSTALLROOT"; +push @getfont, '--lsfonts' if $opt_lsfonts; +push @getfont, '--force' if $opt_force; +push @getfont, '--debug' if $opt_debug; +push @getfont, '--verbose' if $opt_verbose; +push @getfont, '--sys' if $sys; +push @getfont, '--all' if $opt_all; +push @getfont, @allpackages; + +debug_msg "Running '@getfont'"; + +system @getfont; + +# Evaluate the exit status. It will be 2 if something had been +# installed and in this case we need to run texhash/updmap. + +my $exit_code=$?; +my $exit_status=int($exit_code/256); + +if ($sys) { + debug_msg "Info: Execute updmap-sys if exit status is 2"; +} else { + debug_msg "Info: Execute updmap if exit status is 2"; +} + +debug_msg "Exit status of getfont$TL_version is $exit_status"; + +if ($exit_status==2) { + print "\n"; + system 'texhash', "$INSTALLROOT"; + $updmap_command=($sys)? 'updmap-sys':'updmap'; + @updmap=("$updmap_command"); + push @updmap, '--quiet' unless $opt_verbose; + print "\n"; + message "Updating map files ($updmap_command)..."; + system @updmap; + + message $?? '[failed]':'[done]'; +} + +remove_tmpdir; + +__END__ +:endofperl -- cgit v1.2.3