gnu: docbook-xml-4.1.2: Add missing catalog.xml.

* gnu/packages/aux-files/xml/docbook-xml/catalog-4.1.2.xml: New file.
* Makefile.am: Register it.
* gnu/packages/docbook.scm (docbook-xml-4.1.2)[arguments]: Use prebuilt catalog.xml.
[native-inputs]: Add libxml2.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
Bruno Victal 2023-03-11 17:54:13 +00:00 committed by Maxim Cournoyer
parent e9ba6d2c47
commit 9a03afbe17
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 68 additions and 2 deletions

View file

@ -39,6 +39,7 @@
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages xml)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -152,7 +153,40 @@ by no means limited to these applications.) This package provides XML DTDs.")
"/docbkx412.zip"))
(sha256
(base32
"0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h"))))))
"0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h"))))
(arguments
(substitute-keyword-arguments (package-arguments docbook-xml)
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'copy-catalog-file
;; docbook-xml-4.1.2 is unique in the fact that it doesn't come
;; with a catalog.xml file, requiring it to be generated by hand
;; from the docbook.cat SGML catalog. We could automatically
;; generate it here at the cost of enlarging the package
;; definition with a rudimentary (PEG) parser for the SGML
;; catalog but this is overkill since this file is unlikely to
;; change, therefore we ship a pre-generated catalog.xml.
(lambda _
(copy-file
#$(local-file
(search-auxiliary-file
"xml/docbook-xml/catalog-4.1.2.xml"))
"catalog.xml")))
(add-after 'patch-catalog-xml 'add-rewrite-entries
(lambda* (#:key inputs #:allow-other-keys)
(let ((xmlcatalog (search-input-file inputs "/bin/xmlcatalog"))
(dtd-path (string-append #$output "/xml/dtd/docbook")))
(for-each
(lambda (type)
(invoke xmlcatalog "--noout"
"--add" type
"http://www.oasis-open.org/docbook/xml/4.1.2/"
(string-append "file://" dtd-path "/")
"catalog.xml"))
(list "rewriteSystem" "rewriteURI")))))))))
(native-inputs
(modify-inputs (package-native-inputs docbook-xml)
(prepend libxml2)))))
;;; There's an issue in docbook-xsl 1.79.2 that causes manpages to be
;;; generated incorrectly and embed raw nroff syntax such as '.PP' when there