aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/docbook.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/docbook.scm')
-rw-r--r--gnu/packages/docbook.scm163
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")