Author: ken Date: Fri Jun 24 20:48:05 2016 New Revision: 3410 Log: Updates for this year's texlive, and bring xindy up to date.
Added: trunk/texlive/texlive-20160523-source-upstream_fixes-1.patch trunk/texlive/texlive-20160523-texmf-upstream_fixes-1.patch trunk/xindy/ trunk/xindy/xindy-2.5.1-upstream_fixes-1.patch Added: trunk/texlive/texlive-20160523-source-upstream_fixes-1.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/texlive/texlive-20160523-source-upstream_fixes-1.patch Fri Jun 24 20:48:05 2016 (r3410) @@ -0,0 +1,143 @@ +Submitted By: Ken Moffat <ken at linuxfromscratch dot org> +Date: 2016-06-25 +Initial Package Version: 20160523 +Upstream Status: Applied +Origin: Upstream, svn revisions 41497, 41498 +Description: Fixes segfault in upmendex. + +diff -Naur texlive-20160523-source/texk/README texlive-20160523-source-b/texk/README +--- texlive-20160523-source/texk/README 2016-04-20 00:51:42.000000000 +0100 ++++ texlive-20160523-source-b/texk/README 2016-06-24 05:02:26.519423562 +0100 +@@ -98,7 +98,7 @@ + + ttfdump - ? + +-upmendex 0.50 - ++upmendex 0.51 - by Takuji Tanaka + http://www.ctan.org/pkg/upmendex + http://www.t-lab.opal.ne.jp/tex/uptex_en.html + +diff -Naur texlive-20160523-source/texk/upmendex/ChangeLog texlive-20160523-source-b/texk/upmendex/ChangeLog +--- texlive-20160523-source/texk/upmendex/ChangeLog 2016-02-12 16:05:18.000000000 +0000 ++++ texlive-20160523-source-b/texk/upmendex/ChangeLog 2016-06-24 05:02:26.519423562 +0100 +@@ -1,3 +1,9 @@ ++2016-06-19 TANAKA Takuji <t...@t-lab.opal.ne.jp> ++ ++ * version 0.51 Beta version. ++ * fwrite.c: Fix bug of option "hanzi_head" in style file. ++ Thanks to Dr. Werner Fink. ++ + 2016-02-12 Karl Berry <k...@tug.org> + + * configure.ac (KPSE_CXX_HACK): add to avoid usual libstdc++.so +diff -Naur texlive-20160523-source/texk/upmendex/fwrite.c texlive-20160523-source-b/texk/upmendex/fwrite.c +--- texlive-20160523-source/texk/upmendex/fwrite.c 2016-02-09 11:02:48.000000000 +0000 ++++ texlive-20160523-source-b/texk/upmendex/fwrite.c 2016-06-24 05:02:26.519423562 +0100 +@@ -67,33 +67,38 @@ + + static void fprint_uchar(FILE *fp, const UChar *a, const int mode, const int len) + { +- int k; +- char str[15], *ret; +- UChar istr[5]; ++ char str[3*INITIALLENGTH+1]; ++ UChar istr[INITIALLENGTH]; + int olen, wclen; + UErrorCode perr; + + if (len<0) { +- for (k=0; a[k] || k<4; k++) istr[k]=a[k]; +- wclen=k; ++ u_strcpy(istr,a); ++ wclen=u_strlen(istr); + } else { +- wclen = is_surrogate_pair(a) ? 2 : 1; ++ wclen=is_surrogate_pair(a) ? 2 : 1; + istr[0]=a[0]; + if (wclen==2) istr[1]=a[1]; ++ istr[wclen]=L'\0'; + } +- istr[wclen]=L'\0'; + if (mode==M_TO_UPPER) { +- perr = U_ZERO_ERROR; +- u_strToUpper(istr,5,istr,wclen,"",&perr); ++ perr=U_ZERO_ERROR; ++ olen=u_strToUpper(istr,INITIALLENGTH,istr,wclen,"",&perr); + } else if (mode==M_TO_LOWER) { +- perr = U_ZERO_ERROR; +- u_strToLower(istr,5,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr); ++ perr=U_ZERO_ERROR; ++ olen=u_strToLower(istr,INITIALLENGTH,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr); + } else if (mode==M_TO_TITLE) { +- perr = U_ZERO_ERROR; +- u_strToTitle(istr,5,istr,wclen,NULL,"",&perr); +- } +- perr = U_ZERO_ERROR; +- ret = u_strToUTF8(str, 15, &olen, istr, wclen, &perr); ++ perr=U_ZERO_ERROR; ++ olen=u_strToTitle(istr,INITIALLENGTH,istr,wclen,NULL,"",&perr); ++ } else ++ olen=wclen; ++ if (olen>INITIALLENGTH) { ++ warn_printf(efp, "\nWarning, Too long (%d) header.\n", olen); ++ wclen=INITIALLENGTH; ++ } else ++ wclen=olen; ++ perr=U_ZERO_ERROR; ++ u_strToUTF8(str, 3*INITIALLENGTH+1, &olen, istr, wclen, &perr); + fprintf(fp,"%s",str); + } + +@@ -844,7 +849,7 @@ + static int init_hanzi_header(void) + { + UChar strX[2],*pch0,*pch1; +- int k, hzmode; ++ int k, hzmode, len; + struct hanzi_index *hz_idx_init; + + strX[0]=0x5B57; strX[1]=L'\0'; +@@ -878,21 +883,18 @@ + for (k=0;k<hz_index_len;k++) { + if (u_strlen(pch0)==0) break; + if ((pch1=u_strchr(pch0,L';'))>0) { +- if (pch1-pch0>=INITIALLENGTH) { +- warn_printf(efp, "\nWarning, Too long hanzi header.\n"); +- break; +- } +- u_strncpy(hz_index[k].idx,pch0,pch1-pch0); +- hz_index[k].idx[pch1-pch0]=L'\0'; +- pch0=pch1+1; ++ len=pch1-pch0; + } else { +- if (u_strlen(pch0)>=INITIALLENGTH) { +- warn_printf(efp, "\nWarning, Too long hanzi header.\n"); +- break; +- } +- u_strcpy(hz_index[k].idx,pch0); +- break; ++ len=u_strlen(pch0); + } ++ if (len>=INITIALLENGTH) { ++ warn_printf(efp, "\nWarning, Too long (%d) hanzi header.\n", len); ++ len=INITIALLENGTH-1; ++ } ++ u_strncpy(hz_index[k].idx,pch0,len); ++ hz_index[k].idx[len]=L'\0'; ++ if (pch1>0) pch0=pch1+1; ++ else break; + } + + return hzmode; +diff -Naur texlive-20160523-source/texk/upmendex/main.c texlive-20160523-source-b/texk/upmendex/main.c +--- texlive-20160523-source/texk/upmendex/main.c 2016-02-09 23:44:45.000000000 +0000 ++++ texlive-20160523-source-b/texk/upmendex/main.c 2016-06-24 05:02:26.519423562 +0100 +@@ -19,7 +19,7 @@ + #endif + KpathseaSupportInfo kp_ist,kp_dict; + +-#define VERSION "version 0.50" ++#define VERSION "version 0.51" + + int main(int argc, char **argv) + { Added: trunk/texlive/texlive-20160523-texmf-upstream_fixes-1.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/texlive/texlive-20160523-texmf-upstream_fixes-1.patch Fri Jun 24 20:48:05 2016 (r3410) @@ -0,0 +1,209 @@ +Submitted By: Ken Moffat <ken at linuxfromscratch dot org> +Date: 2016-06-25 +Initial Package Version: 20160523 +Upstream Status: Applied +Origin: Upstream, svn revisions 41286-8, 41436, 41462. +Description: Various fixes for epstopdf.pl. + +--- texlive-20160523-texmf/texmf-dist/scripts/epstopdf/epstopdf.pl 2015-01-24 00:30:14.000000000 +0000 ++++ texlive-20160523-texmf-b/texmf-dist/scripts/epstopdf/epstopdf.pl 2016-06-24 05:13:26.360548171 +0100 +@@ -1,5 +1,5 @@ + #!/usr/bin/env perl +-# $Id: epstopdf.pl 36129 2015-01-24 00:30:11Z karl $ ++# $Id$ + # (Copyright lines below.) + # + # Redistribution and use in source and binary forms, with or without +@@ -34,9 +34,17 @@ + # "%%BoundingBox: (atend)" when input is not seekable (e.g., from a pipe), + # + # emacs-page +-my $ver = "2.23"; ++my $ver = "2.25"; + + # History ++# 2016/06/16 v2.25 (Norbert Preining) ++# * fix device handling ++# 2016/05/29 v2.24 (Karl Berry) ++# * new option --gray; patch from William Bader, ++# tex-k mail 9 Feb 2016 19:37:08. ++# * disallow --device completely in restricted mode, ++# to avoid maintenance of device list. ++# tex-live mail 10 Feb 2016 10:36:26. + # 2015/01/22 v2.23 (Karl Berry) + # * use # instead of = to placate msys; report from KUROKI Yusuke, + # tex-k mail 20 Jan 2015 12:40:16. +@@ -171,9 +179,9 @@ + ### emacs-page + ### program identification + my $program = "epstopdf"; +-my $ident = '($Id: epstopdf.pl 36129 2015-01-24 00:30:11Z karl $)' . " $ver"; ++my $ident = '($Id$)' . " $ver"; + my $copyright = <<END_COPYRIGHT ; +-Copyright 2009-2014 Karl Berry et al. ++Copyright 2009-2016 Karl Berry et al. + Copyright 2002-2009 Gerben Wierda et al. + Copyright 1998-2001 Sebastian Rahtz et al. + License RBSD: Revised BSD <http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5> +@@ -199,10 +207,11 @@ + $::opt_autorotate = "None"; + $::opt_compress = 1; + $::opt_debug = 0; +-$::opt_device= $default_device; ++$::opt_device = ""; + $::opt_embed = 1; + $::opt_exact = 0; + $::opt_filter = 0; ++$::opt_gray = 0; + $::opt_gs = 1; + $::opt_gscmd = ""; + @::opt_gsopt = (); +@@ -315,32 +324,11 @@ + # In any case not suitable for restricted: + # -dDOPS + +-### restricted devices +-# More or less copied from ghostscript's configure: +-# BMP_DEVS, JPEG_DEVS, PNG_DEVS, TIFF_DEVS, PCX_DEVS, PBM_DEVS +-# PS_DEVS (without text devices) +-my @restricted_devlist = ($default_device); +-my @restricted_devlist_ext = qw[ +- bmpmono bmpgray bmpsep1 bmpsep8 bmp16 bmp256 bmp16m bmp32b +- jpeg jpeggray jpegcmyk +- pbm pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw +- pkm pkmraw pksm pksmraw pam pamcmyk4 pamcmyk32 plan plang +- planm planc plank +- pcxmono pcxgray pcx16 pcx256 pcx24b pcxcmyk pcx2up +- png16 png16m png256 png48 pngalpha pnggray pngmono +- psdf psdcmyk psdrgb pdfwrite pswrite ps2write epswrite psgray psmono psrgb +- tiffs tiff12nc tiff24nc tiff48nc tiff32nc tiff64nc tiffcrle tifflzw +- tiffpack tiffgray tiffsep tiffsep1 tiffscaled tiffscaled8 tiffscaled24 +- svg svgwrite +-]; +-push (@restricted_devlist, @restricted_devlist_ext); +-my %restricted_devlist = ( map {$_, 1} @restricted_devlist ); +- + ### usage + my @bool = ("false", "true"); + my $resmsg = $::opt_res ? $::opt_res : "[use gs default]"; + my $rotmsg = $::opt_autorotate ? $::opt_autorotate : "[use gs default]"; +-my $defgsopts = "-q -dNOPAUSE -sDEVICE=pdfwrite"; ++ + my $usage = <<"END_OF_USAGE"; + ${title}Usage: $program [OPTION]... [EPSFILE] + +@@ -374,8 +362,9 @@ + recognized VAL choices: None, All, PageByPage; + for EPS files, PageByPage is equivalent to All. + --(no)compress use compression (default: $bool[$::opt_compress]) +- --device=DEV use -sDEVICE=DEV (default: $::opt_device) ++ --device=DEV use -sDEVICE=DEV (default: $default_device) + --(no)embed embed fonts (default: $bool[$::opt_embed]) ++ --(no)gray grayscale output (default: $bool[$::opt_gray]) + --pdfsettings=VAL use -dPDFSETTINGS=/VAL (default is prepress if --embed, + else empty); recognized VAL choices: + screen, ebook, printer, prepress, default. +@@ -401,21 +390,20 @@ + More about the options for Ghostscript: + Additional options to be used with gs can be specified + with either or both of the two cumulative options --gsopts and --gsopt. +- --gsopts takes a single string of options, which is split at whitespace, +- each resulting word then added to the gs command line individually. ++ --gsopts takes a single string of options, which is split at whitespace ++ and each resulting word then added to the gs command line individually. + --gsopt adds its argument as a single option to the gs command line. + It can be used multiple times to specify options separately, + and is necessary if an option or its value contains whitespace. + In restricted mode, options are limited to those with names and values +- known to be safe; some options taking booleans, integers or fixed ++ known to be safe. Some options taking booleans, integers or fixed + names are allowed, those taking general strings are not. + + All options to epstopdf may start with either - or --, and may be + unambiguously abbreviated. It is best to use the full option name in +-scripts, though, to avoid possible collisions with new options in the +-future. ++scripts to avoid possible collisions with new options in the future. + +-When reporting bugs, please include an input file and command line ++When reporting bugs, please include an input file and all command line + options so the problem can be reproduced. + + Report bugs to: tex-k\@tug.org +@@ -431,6 +419,7 @@ + "device=s", + "embed!", + "exact!", ++ "gray!", + "filter!", + "gs!", + "gscmd=s", # \ref{val_gscmd} +@@ -514,8 +503,7 @@ + } + + ### emacs-page +-### start building GS command line for the pipe +-### take --safer and --gsopts into account ++### building the gs invocation. + + ### option gscmd + if ($::opt_gscmd) { +@@ -534,12 +522,17 @@ + push @GS, '-dNOPAUSE'; + push @GS, '-dBATCH'; + +-if ($::opt_device and $restricted and +- not $restricted_devlist{$::opt_device}) { +- error "Option forbidden in restricted mode: --device=$::opt_device"; +- $::opt_device = ''; ++### option device ++if ($::opt_device) { ++ if ($restricted) { ++ error "Option forbidden in restricted mode: --device"; ++ } else { ++ debug "Switching from $default_device to $::opt_device"; ++ } ++} else { ++ $::opt_device = $default_device; + } +-$::opt_device = $default_device unless $::opt_device; ++ + push @GS, "-sDEVICE=$::opt_device"; + + ### option outfile +@@ -582,16 +575,18 @@ + -dEmbedAllFonts=true + ] if $::opt_embed; + +- + push @GS, '-dUseFlateCompression=false' unless $::opt_compress; + ++push @GS, qw(-sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray) ++ if $::opt_gray; ++ + if ($::opt_res and + not $::opt_res =~ /^(\d+(x\d+)?)$/) { + warnerr "Invalid resolution: $opt_res"; + $::opt_res = ''; + } + push @GS, "-r$::opt_res" if $::opt_res; +-$resmsg= $::opt_res ? $::opt_res : "[use gs default]"; ++$resmsg = $::opt_res ? $::opt_res : "[use gs default]"; + + # \label{val_autorotate} + if ($::opt_autorotate and +@@ -649,10 +644,12 @@ + ### option gs + if ($::opt_gs) { + debug "Ghostscript command:", $GS; +- debug "Compression:", ($::opt_compress) ? "on" : "off"; ++ debug "PDFSettings:", $::opt_pdfsettings; + debug "Embedding:", ($::opt_embed) ? "on" : "off"; +- debug "Rotation:", $rotmsg; ++ debug "Compression:", ($::opt_compress) ? "on" : "off"; ++ debug "Grayscale:", ($::opt_gray) ? "on" : "off"; + debug "Resolution:", $resmsg; ++ debug "Rotation:", $rotmsg; + } + + ### emacs-page Added: trunk/xindy/xindy-2.5.1-upstream_fixes-1.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/xindy/xindy-2.5.1-upstream_fixes-1.patch Fri Jun 24 20:48:05 2016 (r3410) @@ -0,0 +1,34 @@ +Submitted By: Ken Moffat <ken at linuxfromscratch dot org> +Date: 2016-06-25 +Initial Package Version: 2.5.1 +Upstream Status: Applied +Origin: Upstream +Description: Selected fixes up to svn r41315, omitting changes for spaces in +pathnames and other changes to align with miktex. + +diff -Naur xindy-2.5.1/user-commands/xindy.in xindy-2.5.1-b/user-commands/xindy.in +--- xindy-2.5.1/user-commands/xindy.in 2014-05-11 14:45:44.000000000 +0100 ++++ xindy-2.5.1-b/user-commands/xindy.in 2016-06-24 09:30:43.427098718 +0100 +@@ -353,6 +353,7 @@ + + use Cwd; + use File::Basename; ++use File::Glob qw(bsd_glob); + use File::Spec; + use File::Temp qw(tempfile tmpnam); + use Getopt::Long qw(:config bundling); +@@ -790,7 +791,13 @@ + push (@temp_files, $style_file); + $style_file=quotify($style_file); + foreach my $module ( @modules ) { +- print $sf "(require \"$module\")\n"; ++ my $fnmodule=`kpsewhich -progname=xindy -format=othertext $module`; ++ if ($fnmodule) { ++ chomp($fnmodule); ++ print $sf "(require \"$fnmodule\")\n"; ++ } else { ++ print $sf "(require \"$module\")\n"; ++ } + } + close ($sf); + } -- http://lists.linuxfromscratch.org/listinfo/patches FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page