gnu: Add docbook-sgml.

* gnu/packages/docbook.scm (docbook-sgml): New variable.
This commit is contained in:
Maxim Cournoyer 2018-07-03 09:04:41 -04:00
parent 3f3b51417e
commit c66ab59688
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -217,6 +217,48 @@ (define-public docbook-xsl
"This package provides XSL style sheets for DocBook.")
(license (x11-style "" "See 'COPYING' file."))))
(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."))))
;;; Private package referenced by docbook-sgml.
(define iso-8879-entities
(package