summaryrefslogtreecommitdiff
path: root/gnu/packages/docbook.scm
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-10-09 21:06:08 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-10 21:10:57 -0400
commitc9db398a3884202e0d94dee4ab850d5dd6f2860d (patch)
tree74ad75e4f4e48385478905594dd3467e29b7dcc5 /gnu/packages/docbook.scm
parentbd3f54eed1a3e127949fa0f3a812bb1e1bcc5eb6 (diff)
gnu: Add docbook-mathml-1.0.
* gnu/packages/docbook.scm (docbook-mathml-1.0): New variable. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu/packages/docbook.scm')
-rw-r--r--gnu/packages/docbook.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 3c00071625..d8336c4f84 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -279,6 +279,65 @@ downloading from @var{source}, where @var{version} is a string and
(modify-inputs (package-native-inputs template)
(prepend libxml2))))))
+(define-public docbook-mathml-1.0
+ (package
+ (name "docbook-mathml")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://www.oasis-open.org/docbook/xml/mathml/"
+ version "/dbmathml.dtd"))
+ (sha256
+ (base32
+ "10vmyl29j829w4xn928rznh163pf47gyzbbjjwqrbg2bidfnk7vp"))))
+ (build-system copy-build-system)
+ (arguments
+ (let ((target (format #f "xml/docbook/mathml/~a/" version)))
+ (list
+ #:modules '((guix build copy-build-system)
+ (guix build utils)
+ (sxml simple)
+ (srfi srfi-1))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'generate-catalog.xml
+ (lambda _
+ (let ((store-uri (string-append "file:"
+ #$output "/"
+ #$target "dbmathml.dtd")))
+ (call-with-output-file "catalog.xml"
+ (lambda (port)
+ (sxml->xml
+ `(*TOP*
+ (*PI* xml "version='1.0'")
+ (catalog (@ (xmlns "urn:oasis:names:tc:entity:xmlns:xml:catalog"))
+ (public (@ (publicId "-//OASIS//DTD DocBook MathML Module V1.0//EN")
+ (uri ,store-uri)))
+ ,@(map
+ (lambda (scheme)
+ `(system
+ (@ (systemId
+ ,(string-append scheme
+ "://www.oasis-open.org/docbook/xml/"
+ "mathml/1.0/dbmathml.dtd"))
+ (uri ,store-uri))))
+ '("http" "https"))))
+ port)))))))
+ #:install-plan
+ #~`(("catalog.xml" #$target)
+ ("dbmathml.dtd" #$target)))))
+ (propagated-inputs
+ ;; These must be propagated for the package to make sense.
+ ;; TODO: Package MathML2 DTD and propagate it as well.
+ (list docbook-xml-4.1.2))
+ (home-page
+ "https://www.oasis-open.org/docbook/xml/mathml/1.0/index.1.shtml")
+ (synopsis "MathML support for DocBook XML V4.1.2.")
+ (description "The DocBook MathML Module is an extension to DocBook XML
+V4.1.2 that adds support for MathML in equation markup.")
+ (license (license:non-copyleft "" "See file headers."))))
+
(define-public docbook-xml docbook-xml-5.1)
;;; There's an issue in docbook-xsl 1.79.2 that causes manpages to be