summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy/TLPATCHES/patch-01-xindy-script
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/xindy/TLPATCHES/patch-01-xindy-script')
-rw-r--r--Build/source/utils/xindy/TLPATCHES/patch-01-xindy-script107
1 files changed, 107 insertions, 0 deletions
diff --git a/Build/source/utils/xindy/TLPATCHES/patch-01-xindy-script b/Build/source/utils/xindy/TLPATCHES/patch-01-xindy-script
new file mode 100644
index 00000000000..3a82b5269e8
--- /dev/null
+++ b/Build/source/utils/xindy/TLPATCHES/patch-01-xindy-script
@@ -0,0 +1,107 @@
+diff -ur xindy-2.5.1.orig/user-commands/xindy.1 xindy-src/user-commands/xindy.1
+--- xindy-2.5.1.orig/user-commands/xindy.1 Fri May 30 05:26:05 2014
++++ xindy-src/user-commands/xindy.1 Tue Feb 23 00:06:15 2016
+@@ -1,4 +1,4 @@
+-.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
++.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
+ .\"
+ .\" Standard preamble:
+ .\" ========================================================================
+@@ -133,7 +133,7 @@
+ .\" ========================================================================
+ .\"
+ .IX Title "xindy 1"
+-.TH xindy 1 "2014-05-29" "Release 2.5.1" "xindy"
++.TH xindy 1 "2015-08-15" "Release 2.5.1" "xindy"
+ .\" For nroff, turn off justification. Always turn off hyphenation; it makes
+ .\" way too many mistakes in technical documents.
+ .if n .ad l
+diff -ur xindy-2.5.1.orig/user-commands/xindy.in xindy-src/user-commands/xindy.in
+--- xindy-2.5.1.orig/user-commands/xindy.in Sun May 11 22:45:44 2014
++++ xindy-src/user-commands/xindy.in Wed Jun 08 09:30:20 2016
+@@ -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);
+@@ -394,7 +395,7 @@
+ # FIXME: In standalone installations, modules are still placed in lib
+ # directory. This is not conformant to FHS.
+
+-if ( $is_TL ) { # TeX Live and MikTeX
++if ( $is_TL ) { # TeX Live, MiKTeX, or W32TeX
+
+ $modules_dir = Cwd::realpath("$cmd_dir/../../xindy/modules");
+ die "$cmd: Cannot locate xindy modules directory" unless -d $modules_dir;
+@@ -402,8 +403,12 @@
+ if ( $is_w32 ) {
+ if ( -d "$cmd_dir/../../../bin/win32" ) { # TeX Live
+ $cmd_dir = "$cmd_dir/../../../bin/win32";
+- } elsif ( -d "$cmd_dir/../../miktex/bin" ) { # MikTeX
+- $cmd_dir = "$cmd_dir/../../miktex/bin";
++ } elsif ( -d "$cmd_dir/../../miktex/bin/x64/internal" ) { # MiKTeX 64-bit
++ $cmd_dir = "$cmd_dir/../../miktex/bin/x64/internal";
++ } elsif ( -d "$cmd_dir/../../miktex/bin/internal" ) { # MiKTeX 32-bit
++ $cmd_dir = "$cmd_dir/../../miktex/bin/internal";
++ } elsif ( -d "$cmd_dir/../../../../bin" ) { # W32TeX
++ $cmd_dir = "$cmd_dir/../../../../bin";
+ } else {
+ die "$cmd: Cannot locate bin directory";
+ }
+@@ -626,7 +631,11 @@
+ usage(1);
+ }
+ my ($name, $path, $suffix) = fileparse ($ARGV[0], '\.[^\.]+');
++ if ($path eq ".\\") {
++ $outfile = "$name.ind";
++ } else {
+ $outfile = "$path$name.ind";
++ }
+ }
+
+ # FIXME: xindy wants a log file. Really?
+@@ -706,6 +715,7 @@
+ my $output = tmpnam();
+ push (@temp_files, $output);
+ $output=quotify($output);
++ $filter=quotify($filter);
+ print "Running filter: $filter <$input >$output\n" if $verbose;
+ system "$filter <$input >$output";
+ print "filtered xindy input file: $output\n" if $debug{script};
+@@ -732,6 +742,9 @@
+ #
+ # FIXME: I didn't see all languages. What's on with gypsy and
+ # hausa?
++ if ( !$language ) {
++ $language = "general";
++ }
+ if ( $language ) {
+ # If there is no language directory, this might be a variant.
+ # Language names and variants are separated by hyphens. The
+@@ -762,7 +775,7 @@
+ @codepages = qw(latin cp iso8859 ascii utf8) unless @codepages;
+ my @styles;
+ foreach my $cp ( @codepages ) {
+- @styles = glob("$lang_dir/$variant$cp*-lang.xdy");
++ @styles = bsd_glob("$lang_dir/$variant$cp*-lang.xdy");
+ last if @styles;
+ }
+ unless ( @styles ) {
+@@ -790,7 +803,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);
+ }