summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog7
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/patch-65-win3262
-rw-r--r--Build/source/utils/xindy/xindy-2.4/user-commands/xindy.in17
3 files changed, 84 insertions, 2 deletions
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog b/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
index 4d0ec76c8ca..89c414a9932 100644
--- a/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
@@ -1,3 +1,10 @@
+2013-04-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-65-win32 (new): More Win32 changes (from Akira):
+ - r27491 2012-08-22: support spaces in TMPDIR.
+ - r27520 2012-08-25: use current directory for temporary files
+ on Windows.
+
2012-09-27 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-0[34]-win32 (new): Various Win32 changes (from Akira).
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-65-win32 b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-65-win32
new file mode 100644
index 00000000000..bada224a7b7
--- /dev/null
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-65-win32
@@ -0,0 +1,62 @@
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.4.orig/user-commands/xindy.in xindy-2.4/user-commands/xindy.in
+--- xindy-2.4.orig/user-commands/xindy.in 2010-06-21 10:22:40.000000000 +0200
++++ xindy-2.4/user-commands/xindy.in 2013-04-10 09:54:12.000000000 +0200
+@@ -348,6 +348,17 @@
+
+ our ($lib_dir, $modules_dir);
+
++# xindy-lisp.exe for Windows seems to be unable to interpret the short-name
++# format which is a default for the variables TEMP and TMP in Windows OS.
++# As a workaround, we create temporary files in the current directory
++# in xindy on Windows.
++
++if ( $is_w32 ) {
++use Env qw(TMPDIR);
++Env::import();
++$TMPDIR = ".";
++}
++
+ # We have different installation structures for TeX-Live and a
+ # standalone installation. In TeX-Live, the user command is a symlink
+ # in some bin directory, and the actual script is in the library
+@@ -643,6 +654,7 @@
+ sub create_raw_index () {
+ my ($output, $outfile) = tempfile();
+ push (@temp_files, $outfile);
++ $outfile=quotify($outfile);
+ while ( <> ) {
+ print $output $_;
+ }
+@@ -662,6 +674,7 @@
+ my ($filter, $input) = @_;
+ my $output = tmpnam();
+ push (@temp_files, $output);
++ $output=quotify($output);
+ print "Running filter: $filter <$input >$output\n" if $verbose;
+ system "$filter <$input >$output";
+ print "filtered xindy input file: $output\n" if $debug{script};
+@@ -737,15 +750,14 @@
+ my $sf;
+ ($sf, $style_file) = tempfile();
+ push (@temp_files, $style_file);
++ $style_file=quotify($style_file);
+ foreach my $module ( @modules ) {
+ print $sf "(require \"$module\")\n";
+ }
+ close ($sf);
+ }
+
+- $style_file = quotify($style_file);
+ $outfile = quotify($outfile);
+- $raw_index = quotify($raw_index);
+ $logging = ':logfile ' . quotify($logfile) if $logfile;
+ $tracing = ':markup-trace :on' if $debug{markup};
+ $trace_level = ":trace-level $debug{trace_level}" if $debug{trace_level};
+@@ -780,6 +792,7 @@
+ } elsif ($is_w32) {
+ my ($output, $outfile) = tempfile();
+ push (@temp_files, $outfile);
++ $outfile=quotify($outfile);
+ print $output $xindy_exp;
+ close ($output);
+ print "xindy startup file: $outfile\n" if $debug{script};
diff --git a/Build/source/utils/xindy/xindy-2.4/user-commands/xindy.in b/Build/source/utils/xindy/xindy-2.4/user-commands/xindy.in
index 3b099c4e53b..69aabd38aae 100644
--- a/Build/source/utils/xindy/xindy-2.4/user-commands/xindy.in
+++ b/Build/source/utils/xindy/xindy-2.4/user-commands/xindy.in
@@ -348,6 +348,17 @@ our $cmd = basename($0);
our ($lib_dir, $modules_dir);
+# xindy-lisp.exe for Windows seems to be unable to interpret the short-name
+# format which is a default for the variables TEMP and TMP in Windows OS.
+# As a workaround, we create temporary files in the current directory
+# in xindy on Windows.
+
+if ( $is_w32 ) {
+use Env qw(TMPDIR);
+Env::import();
+$TMPDIR = ".";
+}
+
# We have different installation structures for TeX-Live and a
# standalone installation. In TeX-Live, the user command is a symlink
# in some bin directory, and the actual script is in the library
@@ -643,6 +654,7 @@ sub handle_signals () {
sub create_raw_index () {
my ($output, $outfile) = tempfile();
push (@temp_files, $outfile);
+ $outfile=quotify($outfile);
while ( <> ) {
print $output $_;
}
@@ -662,6 +674,7 @@ sub filter_index ( $$ ) {
my ($filter, $input) = @_;
my $output = tmpnam();
push (@temp_files, $output);
+ $output=quotify($output);
print "Running filter: $filter <$input >$output\n" if $verbose;
system "$filter <$input >$output";
print "filtered xindy input file: $output\n" if $debug{script};
@@ -737,15 +750,14 @@ sub xindy_expression () {
my $sf;
($sf, $style_file) = tempfile();
push (@temp_files, $style_file);
+ $style_file=quotify($style_file);
foreach my $module ( @modules ) {
print $sf "(require \"$module\")\n";
}
close ($sf);
}
- $style_file = quotify($style_file);
$outfile = quotify($outfile);
- $raw_index = quotify($raw_index);
$logging = ':logfile ' . quotify($logfile) if $logfile;
$tracing = ':markup-trace :on' if $debug{markup};
$trace_level = ":trace-level $debug{trace_level}" if $debug{trace_level};
@@ -780,6 +792,7 @@ sub call_xindy ( $$ ) {
} elsif ($is_w32) {
my ($output, $outfile) = tempfile();
push (@temp_files, $outfile);
+ $outfile=quotify($outfile);
print $output $xindy_exp;
close ($output);
print "xindy startup file: $outfile\n" if $debug{script};