~ruther/guix-local

ec28ce00fd14528a9ad4baca05128c76b1bab995 — Bruno Victal 2 years ago ed4e9ee
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>
3 files changed, 6 insertions(+), 3 deletions(-)

M gnu/packages/perl.scm
M gnu/packages/xml.scm
M guix/search-paths.scm
M gnu/packages/perl.scm => gnu/packages/perl.scm +1 -3
@@ 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

M gnu/packages/xml.scm => gnu/packages/xml.scm +1 -0
@@ 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.")

M guix/search-paths.scm => guix/search-paths.scm +4 -0
@@ 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'."