diff options
Diffstat (limited to 'gnu/packages/docbook.scm')
-rw-r--r-- | gnu/packages/docbook.scm | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 236c7e2819..889bb96010 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -214,6 +215,168 @@ by no means limited to these applications.) This package provides XML DTDs.") "This package provides XSL style sheets for DocBook.") (license (x11-style "" "See 'COPYING' file.")))) +(define-public docbook-dsssl + (package + (name "docbook-dsssl") + (version "1.79") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/docbook/" + name "/" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1g72y2yyc2k89kzs0lvrb9n7hjayw1hdskfpplpz97pf1c99wcig")))) + (build-system trivial-build-system) + (outputs '("out" "doc")) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (dtd (string-append (assoc-ref %outputs "out") + "/sgml/dtd/docbook")) + (docbook-dsssl-doc (assoc-ref %build-inputs "docbook-dsssl-doc")) + (doc (assoc-ref %outputs "doc")) + (tar (assoc-ref %build-inputs "tar")) + (bzip2 (assoc-ref %build-inputs "bzip2"))) + (setenv "PATH" (string-append tar "/bin" ":" bzip2 "/bin")) + (mkdir-p dtd) + (invoke "tar" "-xf" source "-C" dtd) + ;; The doc output contains 1.4 MiB of HTML documentation. + (symlink docbook-dsssl-doc doc))))) + (inputs + `(("docbook-dsssl-doc" ,docbook-dsssl-doc))) + (native-inputs + `(("bzip2", bzip2) + ("tar" ,tar))) + (home-page "https://docbook.org/") + (synopsis "DSSSL style sheets for DocBook") + (description "This package provides DSSSL style sheets for DocBook.") + (license (non-copyleft "file://README")))) + +;;; Private variable, used as the 'doc' output of the docbook-dsssl package. +(define docbook-dsssl-doc + (package + (name "docbook-dsssl-doc") + (version "1.79") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/docbook/" + name "/" version "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1plp5ngc96pbna4rwglp9glcadnirbm3hlcjb4gjvq1f8biic9lz")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (docdir (string-append (assoc-ref %outputs "out") + "/share/doc/" "docbook-dsssl-" ,version)) + (tar (assoc-ref %build-inputs "tar")) + (bzip2 (assoc-ref %build-inputs "bzip2"))) + (setenv "PATH" (string-append tar "/bin" ":" bzip2 "/bin")) + (mkdir-p docdir) + ;; Extract the "doc" subdirectory. + (invoke "tar" "-xf" source "--strip-components=2" + "--no-same-owner" "-C" docdir + (string-append "docbook-dsssl-" ,version "/doc")))))) + (native-inputs + `(("bzip2", bzip2) + ("tar" ,tar))) + (home-page "https://docbook.org/") + (synopsis "DocBook DSSSL style sheets documentation") + (description "Documentation for the DocBook DSSSL style sheets.") + (license (non-copyleft "file://doc/LEGALNOTICE.htm")))) + +(define-public docbook-sgml + (package + (name "docbook-sgml") + (version "4.1") + (source (origin + (method url-fetch) + (uri (string-append "https://www.oasis-open.org/docbook/sgml/" + version "/docbk41.zip")) + (sha256 + (base32 + "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany")))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (iso-entities-dir (string-append + (assoc-ref %build-inputs "iso-8879-entities"))) + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (dtd (string-append (assoc-ref %outputs "out") + "/sgml/dtd/docbook"))) + ;; Extract the sources. + (mkdir-p dtd) + (chdir dtd) + (invoke unzip source) + ;; Reference the ISO 8879 character entities. + ;; e.g. "iso-lat1.gml" --> "<iso-entities-dir>/ISOlat1" + (substitute* "docbook.cat" + (("(.*ISO 8879.*)\"iso-(.*)\\.gml\"" _ head name) + (string-append head "\"" iso-entities-dir "/ISO" name "\""))))))) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("iso-8879-entities" ,iso-8879-entities))) + (home-page "https://docbook.org") + (synopsis "DocBook SGML style sheets for document authoring") + (description "This package provides SGML style sheets for DocBook.") + (license (x11-style "" "See file headers.")))) + +(define-public docbook-sgml-3.1 + (package + (inherit docbook-sgml) + (version "3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://www.oasis-open.org/docbook/sgml/" + version "/docbk31.zip")) + (sha256 + (base32 + "0f25ch7bywwhdxb1qa0hl28mgq1blqdap3rxzamm585rf4kis9i0")))))) + +;;; Private package referenced by docbook-sgml. +(define iso-8879-entities + (package + (name "iso-8879-entities") + (version "0.0") ;no proper version + (source (origin + (method url-fetch) + (uri "http://www.oasis-open.org/cover/ISOEnts.zip") + (sha256 + (base32 + "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w")))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (assoc-ref %build-inputs "source")) + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (out (string-append (assoc-ref %outputs "out")))) + (invoke unzip source "-d" out))))) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://www.oasis-open.org/") + (synopsis "ISO 8879 character entities") + (description "ISO 8879 character entities that are typically used in +the in DocBook SGML DTDs.") + (license (x11-style "" "See file headers.")))) + (define-public dblatex (package (name "dblatex") |