From c5d837684359e3629c4ac96297a25d1165edcb39 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 25 Jul 2014 16:37:44 -0500 Subject: [PATCH] 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. --- gnu-system.am | 1 + .../patches/texi2html-document-encoding.patch | 31 ++++++++++++++++ gnu/packages/texinfo.scm | 35 +++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 gnu/packages/patches/texi2html-document-encoding.patch diff --git a/gnu-system.am b/gnu-system.am index 3471e20c1d..fd4af6122c 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/patches/texi2html-document-encoding.patch b/gnu/packages/patches/texi2html-document-encoding.patch new file mode 100644 index 0000000000..1469b67fa6 --- /dev/null +++ b/gnu/packages/patches/texi2html-document-encoding.patch @@ -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 diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 0f21ec3211..9388979a69 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2014 Eric Bavier ;;; ;;; 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+)))