gnu: libxslt: Set search-paths for XML and SGML catalogs.

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>
This commit is contained in:
Bruno Victal 2023-10-09 21:05:52 +01:00 committed by Ludovic Courtès
parent ed4e9eebb4
commit ec28ce00fd
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 6 additions and 3 deletions

View File

@ -600,9 +600,7 @@ requires only 10MB of RAM.")
(list libxslt))
(propagated-inputs
(list perl-class-xsaccessor perl-test-trap))
(native-search-paths
;; xsltproc's search paths, to avoid propagating libxslt.
(list $XML_CATALOG_FILES))
(native-search-paths %libxslt-search-paths)
(home-page "https://www.shlomifish.org/open-source/projects/docmake/")
(synopsis "Translate DocBook/XML documentation into other file formats")
(description

View File

@ -367,6 +367,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
xz))
(native-inputs
(list pkg-config))
(native-search-paths %libxslt-search-paths)
(description
"Libxslt is an XSLT C library developed for the GNOME project. It is
based on libxml for XML parsing, tree manipulation and XPath support.")

View File

@ -46,6 +46,7 @@
$XML_CATALOG_FILES
%gcc-search-paths
%libxslt-search-paths
search-path-specification->sexp
sexp->search-path-specification
@ -179,6 +180,9 @@
(file-pattern "^catalog\\.xml$")
(file-type 'regular)))
(define %libxslt-search-paths
(list $SGML_CATALOG_FILES $XML_CATALOG_FILES))
(define (search-path-specification->sexp spec)
"Return an sexp representing SPEC, a <search-path-specification>. The sexp
corresponds to the arguments expected by `set-path-environment-variable'."