SHA256
3
0
forked from pool/texinfo
texinfo/texinfo-zlib.patch
Dominique Leuenberger cb5a774ec5 - The package texinfo now requires makeinfo of the same version
to make sure that the correct Texinfo.pm is installed 
- libzio is able to handle lz(ma) and xz files as well

- Update to 6.0
  * Language:
    + new commands @sub and @sup, for textual subscripts and 
      superscripts.
    + new command @U to insert a Unicode character by code point.
  * texinfo.tex:
    + @url/@uref output in PDF now the same as in DVI, showing the 
      url even if the second argument is given, not just as a link 
      target. TeX option \urefurlonlylinktrue gives previous 
      behavior, of invisible urls.
    + PDF-only \linkcolor and \urlcolor specify colors (default 
      black).
  * texi2any:
    + customization variable TOP_NODE_UP_URL now replaces all (dir) 
      references; recommended setting for GNU packages is /manual/.
    + new customization variable INDEX_SPECIAL_CHARS_WARNING to 
      complain when index entries contain a colon.
    + Docbook output no longer uses <lineannotation> for @r.
    + -D'var val' on the command line works as intended again.
    + --plaintext output can be split.
    + a bit faster.
  * info:
    + invoking as `info foo bar' looks for bar as an index entry 
      in manual foo, if not found as a top-level menu item.
    + invoking info with an absolute or explicitly relative file 
      name (./foo.info, /tmp/foo.info, etc.) just visits that file.

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/texinfo?expand=0&rev=42
2015-08-21 05:34:14 +00:00

119 lines
3.8 KiB
Diff

Index: texinfo-6.0/install-info/Makefile.in
===================================================================
---
texinfo-6.0/install-info/Makefile.in | 2 -
texinfo-6.0/install-info/install-info.c | 54 +++++++++++++++++++++++++++-----
2 files changed, 48 insertions(+), 8 deletions(-)
--- texinfo-6.0/install-info/Makefile.in
+++ texinfo-6.0/install-info/Makefile.in 2015-07-15 00:00:00.000000000 +0000
@@ -241,7 +241,7 @@ am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
-ginstall_info_LDADD = $(LDADD)
+ginstall_info_LDADD = $(LDADD) -lzio
am__DEPENDENCIES_1 =
ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
$(am__DEPENDENCIES_1)
--- texinfo-6.0/install-info/install-info.c
+++ texinfo-6.0/install-info/install-info.c 2015-07-15 12:45:21.689530651 +0000
@@ -22,6 +22,7 @@
#include <getopt.h>
#include <regex.h>
#include <argz.h>
+#include <zio.h>
#define TAB_WIDTH 8
@@ -701,34 +702,59 @@ open_possibly_compressed_file (char *fil
*opened_filename = filename;
f = fopen (*opened_filename, FOPEN_RBIN);
+ if (!compression_program)
+ compression_program = &local_compression_program;
+ *compression_program = NULL;
+ if (f)
+ {
+ nread = fread (data, sizeof (data), 1, f);
+ if (nread == 1)
+ {
+ if (data[0] == '\x1f' && data[1] == '\x8b')
+ *compression_program = "g";
+ else if (data[0] == '\x1f' && data[1] == '\x9d')
+ *compression_program = "Z";
+ else if (data[0] == '\x1f' && data[1] == '\x9e')
+ *compression_program = "z";
+ else if (data[0] == 'B' && data[1] == 'Z' && data[2] == 'h')
+ *compression_program = "b";
+ }
+ fclose (f);
+ f = fzopen (*opened_filename, FOPEN_RBIN);
+ }
if (!f)
{
*opened_filename = concat (filename, ".gz", "");
- f = fopen (*opened_filename, FOPEN_RBIN);
+ f = fzopen (*opened_filename, FOPEN_RBIN);
+ *compression_program = "g";
}
if (!f)
{
free (*opened_filename);
*opened_filename = concat (filename, ".xz", "");
- f = fopen (*opened_filename, FOPEN_RBIN);
+ f = fzopen (*opened_filename, FOPEN_RBIN);
+ *compression_program = "x";
}
if (!f)
{
free (*opened_filename);
*opened_filename = concat (filename, ".bz2", "");
- f = fopen (*opened_filename, FOPEN_RBIN);
+ f = fzopen (*opened_filename, FOPEN_RBIN);
+ *compression_program = "b";
}
if (!f)
{
free (*opened_filename);
*opened_filename = concat (filename, ".lz", "");
- f = fopen (*opened_filename, FOPEN_RBIN);
+ f = fzopen (*opened_filename, FOPEN_RBIN);
+ *compression_program = "l";
}
if (!f)
{
free (*opened_filename);
*opened_filename = concat (filename, ".lzma", "");
- f = fopen (*opened_filename, FOPEN_RBIN);
+ f = fzopen (*opened_filename, FOPEN_RBIN);
+ *compression_program = "l";
}
#ifdef __MSDOS__
if (!f)
@@ -942,8 +968,22 @@ output_dirfile (char *dirfile, int dir_n
if (compression_program)
{
- char *command = concat (compression_program, ">", dirfile);
- output = popen (command, "w");
+ output = NULL;
+ if (*compression_program == 'g' || *compression_program == 'z')
+ output = fzopen (dirfile, "wg");
+ if (*compression_program == 'b')
+ output = fzopen (dirfile, "wb");
+ if (*compression_program == 'Z')
+ output = fzopen (dirfile, "wZ");
+ if (*compression_program == 'l')
+ output = fzopen (dirfile, "wl");
+ if (*compression_program == 'x')
+ output = fzopen (dirfile, "wx");
+ if (!output)
+ {
+ char *command = concat (compression_program, ">", dirfile);
+ output = popen (command, "w");
+ }
}
else
output = fopen (dirfile, "w");