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)) (list libxslt))
(propagated-inputs (propagated-inputs
(list perl-class-xsaccessor perl-test-trap)) (list perl-class-xsaccessor perl-test-trap))
(native-search-paths (native-search-paths %libxslt-search-paths)
;; xsltproc's search paths, to avoid propagating libxslt.
(list $XML_CATALOG_FILES))
(home-page "https://www.shlomifish.org/open-source/projects/docmake/") (home-page "https://www.shlomifish.org/open-source/projects/docmake/")
(synopsis "Translate DocBook/XML documentation into other file formats") (synopsis "Translate DocBook/XML documentation into other file formats")
(description (description

View File

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

View File

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