diff mbox series

[bug#65479,core-updates,v3,04/63] gnu: libxslt: Set search-paths for XML and SGML catalogs.

Message ID 085c08f80f64fa4ecc69f741152026061bd4826d.1696881354.git.mirai@makinata.eu
State New
Headers show
Series Docbook & XML/SGML improvements | expand

Commit Message

Bruno Victal Oct. 9, 2023, 8:05 p.m. UTC
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.
---
 gnu/packages/perl.scm | 4 +---
 gnu/packages/xml.scm  | 1 +
 guix/search-paths.scm | 4 ++++
 3 files changed, 6 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 267a35e560..f0b91e6b65 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -599,9 +599,7 @@  (define-public perl-app-xml-docbook-builder
      (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
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 16aabffca8..0b31bb5928 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -365,6 +365,7 @@  (define-public libxslt
            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.")
diff --git a/guix/search-paths.scm b/guix/search-paths.scm
index d325e57989..a935684952 100644
--- a/guix/search-paths.scm
+++ b/guix/search-paths.scm
@@ -46,6 +46,7 @@  (define-module (guix search-paths)
             $XML_CATALOG_FILES
 
             %gcc-search-paths
+            %libxslt-search-paths
 
             search-path-specification->sexp
             sexp->search-path-specification
@@ -179,6 +180,9 @@  (define $XML_CATALOG_FILES
    (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'."