~ruther/guix-local

c5d837684359e3629c4ac96297a25d1165edcb39 — Eric Bavier 11 years ago 3d6e65d
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.
M gnu-system.am => gnu-system.am +1 -0
@@ 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			\

A gnu/packages/patches/texi2html-document-encoding.patch => gnu/packages/patches/texi2html-document-encoding.patch +31 -0
@@ 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

M gnu/packages/texinfo.scm => gnu/packages/texinfo.scm +35 -0
@@ 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 @@
  #: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 @@ is on expressing the content semantically, avoiding physical markup commands.")
               (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+)))