diff mbox series

[bug#60824,core-updates,v4,1/2] gnu: perl-xml-xpath: Wrap xpath command.

Message ID 523126c228f088aa1fccf0ed28c47593f94b27bf.1692893331.git.mirai@makinata.eu
State New
Headers show
Series Wrap and upgrade perl-xml-xpath | expand

Commit Message

Bruno Victal Aug. 24, 2023, 4:08 p.m. UTC
* gnu/packages/xml.scm (perl-xml-xpath)[arguments]: Wrap xpath. Add test for
wrapped xpath.
[description]: Document xpath command presence.
---
 gnu/packages/xml.scm | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)


base-commit: c365cc69881f3aec633b88ba22c7fe8faec3597e
diff mbox series

Patch

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 555f0ab624..ca7aaf29ed 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -33,6 +33,7 @@ 
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
+;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1044,6 +1045,25 @@  (define-public perl-xml-xpath
                (base32
                 "03yxj7w5a43ibbpiqsvb3lswj2b71dydsx4rs2fw0p8n0l3i3j8w"))))
     (build-system perl-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'wrap 'wrap-xpath
+            (lambda _
+              (let ((xpath (string-append #$output "/bin/xpath"))
+                    (perl5lib
+                     (search-path-as-list
+                      '("/lib/perl5/site_perl")
+                      (list #$(this-package-input "perl-xml-parser")
+                            #$output))))
+                (wrap-program xpath
+                  `("PERL5LIB" ":" prefix ,perl5lib)))))
+          (add-after 'wrap-xpath 'check-wrap
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (unsetenv "PERL5LIB")
+                (invoke/quiet (string-append #$output "/bin/xpath"))))))))
     (native-inputs
      (list perl-path-tiny))
     (propagated-inputs
@@ -1053,7 +1073,7 @@  (define-public perl-xml-xpath
     (description
      "This module aims to comply exactly to the @url{XPath specification,
 https://www.w3.org/TR/xpath} and yet allow extensions to be added in
-the form of functions.")
+the form of functions.  It also provides the command @command{xpath}.")
     (license license:perl-license)))
 
 (define-public pugixml