[lfs-patches] r3410 - in trunk: texlive xindy

ken at higgs.linuxfromscratch.org ken at higgs.linuxfromscratch.org
Fri Jun 24 20:48:05 PDT 2016


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  <ttk at 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  <karl at 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);
+     }


More information about the patches mailing list