Observations:
1. No longer required for XML_CATALOG_FILES.
These are already adequately set within the used dependencies
2. It's not required for gnome-session but by libxkbcommon.
libxkbcommon was fixed to convey this by use of a symlink.
2.1. Shouldn't count as a native-input but as a regular input.
… since this is a dependency for xkbregistry (from libxkbcommon).
* gnu/packages/gnome.scm (gnome-session)[native-inputs]: Remove libxml2.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Ie2300d1c24c03223a6adeba8bd7c415b5bc677b0
xkbregistry.pc lists libxml2 as a requirement.
Use a symlink for the libxml-2.0.pc to avoid setting libxml2 as a
propagated-input.
* gnu/packages/xdisorg.scm (libxkbcommon)[arguments]<#:phases>: Add
symlink-pc.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
XML_CATALOG_FILES is already set by xsltproc.
* gnu/packages/freedesktop.scm (udisks)[arguments]<#:make-flags>: Remove.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
The xmlto error[1] was due to libsepol using an unversioned PUBLIC identifier
for DocBook 4.2.
[1]: <https://pagure.io/xmlto/blob/6fa6a0e07644f20abf2596f78a60112713e11cbe/f/FAQ>
* gnu/packages/patches/libsepol-versioned-docbook.patch: New file.
* gnu/local.mk: Register it.
* gnu/packages/selinux.scm (libsepol)[source]: Apply it.
(secilc)[arguments]: Drop xmlto workaround.
[native-inputs]: Add docbook-xml-4.2.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I152dd7a30b2a310ed6589133bc98f5eef8a190a1
Grepping through the built package, gtk-doc invokes 'xsltproc' so we add
%libxslt-search-paths to native-search-paths in order for 'xsltproc' to find
the XML/SGML catalog files.
* gnu/packages/gtk.scm (gtk-doc)[native-search-paths]: Add %libxslt-search-paths.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Otherwise when xmlto invokes xsltproc it will fail to find the XML catalog
files.
* gnu/packages/xml.scm (xmlto)[native-search-paths]: Add libxslt
native-search-paths to its own.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
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