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

Reply via email to