gnu: Add texi2html.

* gnu/packages/texinfo.scm (texi2html): New variable.
* gnu/packages/patches/texi2html-document-encoding.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
Eric Bavier 2014-07-25 16:37:44 -05:00
parent 3d6e65d529
commit c5d8376843
3 changed files with 67 additions and 0 deletions

View file

@ -376,6 +376,7 @@ dist_patch_DATA = \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
gnu/packages/patches/texi2html-document-encoding.patch \
gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/valgrind-glibc.patch \

View file

@ -0,0 +1,31 @@
Patch derived from discussion at https://savannah.nongnu.org/bugs/?37503
--- texi2html-5.0/texi2html.pl 2010-06-30 17:01:27.000000000 -0500
+++ texi2html-5.0/texi2html.pl 2014-07-09 01:17:57.062990582 -0500
@@ -2589,7 +2589,12 @@
my $state = shift;
# FIXME this should be done only once, for @documentencoding
- my $encoding = lc(Texi2HTML::Config::get_conf('DOCUMENT_ENCODING'));
+ my $encoding;
+ my $input_encoding = Texi2HTML::Config::get_conf('documentencoding');
+ if (defined($input_encoding))
+ {
+ $encoding = lc($input_encoding);
+ }
if (defined($encoding) and $encoding ne '' and exists($Texi2HTML::Config::t2h_encoding_aliases{$encoding}))
{
$encoding = $Texi2HTML::Config::t2h_encoding_aliases{$encoding};
Fix failures in test/encodings.
--- texi2html-5.0/texi2html.pl 2014-07-09 01:22:06.000000000 -0500
+++ texi2html-5.0/texi2html.pl 2014-07-10 23:23:47.182097602 -0500
@@ -53,6 +53,7 @@
# for translations
#use encoding 'utf8';
#use utf8;
+binmode STDERR, ':encoding(utf8)';
#
# According to

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,7 +22,9 @@ (define-module (gnu packages texinfo)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (gnu packages ncurses))
@ -64,3 +67,35 @@ (define-public texinfo-4
(base32
"1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d"))))
(inputs `(("ncurses" ,ncurses) ("xz" ,xz)))))
(define-public texi2html
(package
(name "texi2html")
(version "5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/" name "/" name "-"
version ".tar.bz2"))
(sha256
(base32
"1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8"))
(patches (list (search-patch "texi2html-document-encoding.patch")))))
(build-system gnu-build-system)
(native-inputs `(("gettext" ,gnu-gettext)))
(inputs `(("perl" ,perl)))
(home-page "http://www.nongnu.org/texi2html/")
(synopsis "Convert Texinfo to HTML")
(description
"Texi2HTML is a Perl script which converts Texinfo source files to HTML
output. It now supports many advanced features, such as internationalization
and extremely configurable output formats.
Development of Texi2HTML moved to the GNU Texinfo repository in 2010, since it
was meant to replace the makeinfo implementation in GNU Texinfo. The route
forward for authors is, in most cases, to alter manuals and build processes as
necessary to use the new features of the makeinfo/texi2any implementation of
GNU Texinfo. The Texi2HTML maintainers (one of whom is the principal author
of the GNU Texinfo implementation) do not intend to make further releases of
Texi2HTML.")
;; Files in /lib under lgpl2.1+ and x11
(license gpl2+)))