On Sun, Jun 22, 2014 at 09:40:32PM +0200, Ludovic Court??s wrote: John Darrington skribis: > * gnu/packages/gnome.scm (gnome-doc-utils): Added pre-check phase and do not > skip check phase [...] > + ;; This stuff is needed, because without it, xmlint etc tries > + ;; to download docbookx.dtd and docbook.xsl from the net > + (let ((build (assoc-ref %standard-phases 'build)) > + (docbook-xml (assoc-ref inputs "docbook-xml")) > + (docbook-xsl (assoc-ref inputs "docbook-xsl")) > + (our-catalog "/tmp/docbook-xml.xml")) > + (setenv "XML_CATALOG_FILES" our-catalog) > + (with-output-to-file our-catalog > + (lambda () > + (display (string-append > + " > + +\"file:///usr/share/xml/schema/xml-core/catalog.dtd\"> > + > + +uri=\"file://" docbook-xml "/xml/dtd/docbook/docbookx.dtd\"/> > + +uri=\"file://" docbook-xsl "/xml/xsl/docbook-xsl-1.72.0/manpages/docbook.xsl\"/> > +\n")))))) > + %standard-phases))) Seems about time to discuss factorization. :-) Docbook-{XML,XSL} both provide a catalog.xml file. Would it be enough to set XML_CATALOG_FILES=/first/one/catalog.xml:/second/one/catalog.xml rather than creating a new catalog.xml file that just points to them? The problem is, that some files refer to http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd others to http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd or http://www.oasis-open.org/docbook/xml/4.2.1/docbookx.dtd Similarly, I have seen urls like http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl http://docbook.sourceforge.net/release/xsl/1.72/manpages/docbook.xsl and other variations. The purpose of the catalog file as I understand it, is to provide a map from these urls to files on the local system. If a url does not have a mapping, then it will attempt to download from the wild. Now so far, we have got away with a n:1 mapping of ALL the dtd urls to a single target regardless of version, and likewise with the xsl. However this approach is likely to bite us sometime. So I suppose the "correct" thing to do is to maintain a local archive of all the files, including previous versions from oasis-open.org / sourceforge.net -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key.