summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2018-07-03 09:04:41 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-01-14 09:24:49 -0500
commit14ac034dab923103b301d493440448e19b14d4bc (patch)
treef4dc860165de6e6b2bd4b5dc41d0669e804a9a4a /gnu
parent273cf0378d6ddfcf8b882decd796ad8f9699f343 (diff)
downloadguix-14ac034dab923103b301d493440448e19b14d4bc.tar.gz
gnu: Add docbook-sgml.
* gnu/packages/docbook.scm (docbook-sgml): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/docbook.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index c5d8403f2a..ca9c0ec9aa 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -215,6 +215,48 @@ 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-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