According to the manpage, it has both XML and SGML catalog support through the
XML_CATALOG_FILES (resp. SGML_CATALOG_FILES) environment variables through
db2x_xsltproc.
* gnu/packages/docbook.scm (docbook2x)[arguments]<#:phases>: Don't hardcode
XML_CATALOG_FILES environmment variable.
[native-search-paths]: Add %libxslt-search-paths.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Refactored 'patch-catalog.xml to reduce code duplication.
The catalog for docbook-xsl hosted on the CDN [1] have entries for the 'http'
scheme yet when building from source only 'https' entries are generated.
Patch the XML catalog to provide them both.
[1]: <https://cdn.docbook.org/release/xsl/current/catalog.xml>
* gnu/packages/docbook.scm (docbook-xsl)[arguments]<#:phases>: Rename
'patch-catalog-xml to 'patch-catalog.xml. Refactor this phase for
deduplication and add 'https' entries.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Using xml/dtd/docbook as installation path had two problems:
* The paths would conflict in profile, which made it impossible
for two different docbook-xml packages to coexist within the XML_CATALOG_FILES
variable.
* It was technically incorrect since non-DTD schemas were also placed here.
This commit makes docbook-xml use versioned paths instead.
Additionally the store URI for docbook-xml-4.1.2 was adjusted to conform to
RFC8089 as according to RFC1738 the double slash "//" is intended for schemes
that involve the direct use of an IP-based protocol.
* gnu/packages/docbook.scm
(docbook-xml-package, docbook-xml-4.x-package): New procedure.
(docbook-xml): Make docbook-xml an alias for docbook-xml-5.1.
(docbook-xml-5.1): New variable.
(docbook-xml-4.5, docbook-xml-4.4, docbook-xml-4.3, docbook-xml-4.2)
(docbook-xml-4.1.2): Refactor to use docbook-xml-4.x-package procedure.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
According to xsltproc manpage it supports both XML_CATALOG_FILES and
SGML_CATALOG_FILES for catalog lookup.
Since the native-search-paths field is not thunked,
doing (package-native-search-paths libxslt) can lead to module import cycles
so we define a %libxslt-search-paths variable to avoid this kind of trouble.
* guix/search-paths.scm (%libxslt-search-paths): New variable.
* gnu/packages/xml.scm (libxslt)[native-search-paths]: Set to
%libxslt-search-paths.
* gnu/packages/perl.scm
(perl-app-xml-docbook-builder)[native-search-paths]: Ditto.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
According to the xmllint manpage it also makes use of the SGML_CATALOG_FILES
environment variable.
* gnu/packages/xml.scm (libxml2)[native-search-paths]: Add $SGML_CATALOG_FILES.
Co-authored-by: gemmaro <gemmaro.dev@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I7b4befe352ba10b7a4e134f0806331b63bb4f855
These variables are used by some packages for XML/SGML catalog lookups.
* guix/search-paths ($XML_CATALOG_FILES, $SGML_CATALOG_FILES): New variable,
extracted from …
* gnu/packages/xml.scm (libxml2, opensp)[native-search-paths]: … here. Refer
to the variables from (guix search-paths) respectively.
* gnu/packages/perl.scm
(perl-app-xml-docbook-builder)[native-search-paths]: Use $XML_CATALOG_FILES.
* doc/guix.texi (Search Paths): Update documentation to reflect changes.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* guix/build/utils.scm (alist-cons-before)
(alist-cons-after): Error with a match failure if the
reference is not found, instead of appending to the alist.
* tests/build-utils.scm: Update tests to match the new behavior.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I3044b101bd06231d5cd55a544ac1009e6ce6f9a0
It's simpler to add features on top of a minimal variant than to remove them,
and helps avoiding mistakenly changing git-minimal, which has many dependents.
* gnu/packages/version-control.scm (git-minimal): Move above git and severe
inheritance. Remove input label. Repatriate most fields from...
(git): ... here. Define as package/inherit to inherit from git-minimal.
Extend minimal values instead of overriding them whole.
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Change-Id: Ia0ef0e7e4f007c2fafad3550344638b6661a408b
* gnu/packages/version-control.scm (git)
[native-inputs, inputs]: Remove labels.
[arguments]: Use gexps. Use gexp variables input searching procedures where
it makes sense.
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Change-Id: I1c5d0bb5eb9639342c11af94dca2ae2174496459
* gnu/packages/docbook.scm
(docbook-dsssl)[build-system]: Switch to copy-build-system.
[arguments]: Add phase to install documentation as separate output.
(docbook-dsssl-doc)[build-system]: Switch to copy-build-system.
[arguments]: Adapt to new build-system.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/docbook.scm (docbook-xsl)[source]: Patch in snippet.
[arguments]: Use sxml representation for xmlc file.
Use xmlcatalog to manipulate catalog.xml instead of substitute*.
Use #:install-plan instead of replacing 'install phase.
[native-inputs]: Add docbook-xml-4.4 and libxml2, required for tests.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>