From 49c873e7ec2c47abb5e787cbf9f164a891fa43b8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 28 Dec 2020 22:15:26 -0500 Subject: gnu: Add docbook-utils. * gnu/packages/docbook.scm (docbook-utils): New variable. --- gnu/packages/docbook.scm | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'gnu/packages/docbook.scm') diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 157c31049c..21a4f7b45f 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -27,12 +27,15 @@ (define-module (gnu packages docbook) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) #:use-module (gnu packages tex) + #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages base) + #:use-module (gnu packages web-browsers) #:use-module (gnu packages xml) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix build-system python)) @@ -462,3 +465,88 @@ (define-public dblatex DB2LaTeX.") ;; lib/contrib/which is under an X11 license (license gpl2+))) + +(define-public docbook-utils + (package + (name "docbook-utils") + (version "0.6.14") + (source (origin + (method url-fetch) + ;; The original sources are not accessible anymore. + (uri (string-append "http://deb.debian.org/debian/pool/main/" + "d/docbook-utils/docbook-utils_" + version ".orig.tar.gz")) + (sha256 + (base32 + "1scj5vgw1xz872pq54a89blcxqqm11p90yzv8a9mqq57x27apyj8")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-build-system + (lambda _ + (substitute* (find-files "." "\\.in$") + ;; Do not hard-code SGML_CATALOG_FILES. + ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") "") + ;; Use OpenSP and OpenJade. + (("\\bjade\\b") + "openjade") + (("\\bnsgmls\\b") + "onsgmls")) + #t)) + (add-after 'unpack 'patch-jw.in + ;; Do not override the SGML_CATALOG_FILES environment + ;; variable. + (lambda _ + (substitute* "bin/jw.in" + ((".*SGML_CATALOG_FILES=`find.*") + "") + (("SGML_CATALOG_FILES=`echo.*") + ":\n") + (("SGML_CATALOG_FILES=\"\"") + ":") + (("\\bwhich\\b") + "command -v")) + #t)) + (add-after 'unpack 'patch-txt-backend + (lambda _ + ;; Locate lynx, links or w3m from the PATH, not from + ;; /usr/bin. + (substitute* "backends/txt" + (("CONVERT=/usr/bin/") + "CONVERT=") + (("\\[ -x /usr/bin/([^ ]+) \\]" dummy command) + (string-append "command -v " command " > /dev/null"))) + #t))))) + ;; Propagated for convenience. All these tools are used at run time to + ;; provide the complete functionality of the docbook-utils commands. + (propagated-inputs + `(("texlive-jadetex" ,texlive-jadetex) + ("docbook-sgml" ,docbook-sgml-3.1) + ("docbook-dsssl" ,docbook-dsssl) + ("openjade" ,openjade) + ("opensp" ,opensp) + ("lynx" ,lynx) + ("perl-sgmls" ,perl-sgmls))) + (home-page "https://packages.debian.org/sid/docbook-utils") + (synopsis "DocBook converter to other formats") + (description "The docbook-utils package is a collection of utilities +intended to ease the use of SGML and XML. +@table @command +@item jw +Convert a SGML DocBook file to other formats such as Hyper Text Markup +Language (HTML), Rich Text Format (RTF), PostScript (PS), man, Portable +Document Format (PDF), TeX, Texinfo or plain text (txt). It can be used +more conveniently via the following wrappers: +@itemx docbook2dvi Convert a SGML DocBook file to the DVI format. +@itemx docbook2html Convert a SGML DocBook file to an HTML document. +@itemx docbook2man Convert a SGML DocBook file a man page. +@itemx docbook2pdf Convert a SGML DocBook file to a PDF document. +@itemx docbook2ps Convert a SGML DocBook file to a PS document. +@itemx docbook2rtf Convert a SGML DocBook file to a RTF document. +@itemx docbook2tex Convert a SGML DocBook file to a TeX document. +@itemx docbook2texi Convert a SGML DocBook file to a Texinfo document. +@itemx docbook2txt Convert a SGML DocBook file to a plain text document. +@item sgmldiff +Detect the differences in markup between two SGML files. +@end table") + (license gpl2+))) -- cgit v1.2.3