summary refs log tree commit diff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-05-06 15:19:40 +0100
committerLudovic Courtès <ludo@gnu.org>2023-05-06 18:07:37 +0200
commit8ffe52df47353a3ae31375c0666aa6122bf4cf0b (patch)
treee0001e02c08cbf22b5a34c5f0723c753ba3275c0 /doc/guix.texi
parentaaa0e7b3f8339463b9168d1953aa0da35612d444 (diff)
downloadguix-8ffe52df47353a3ae31375c0666aa6122bf4cf0b.tar.gz
doc: Use G-Expressions for package definition example.
* doc/guix.texi (Build Phases): Use G-Expressions for example.

Co-authored-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi36
1 files changed, 22 insertions, 14 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 55221a10c3..e4b664aba9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10140,23 +10140,31 @@ phase before the @code{build} phase, called
     ;; other fields omitted
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (delete 'configure)
-                  (add-before 'build 'set-prefix-in-makefile
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      ;; Modify the makefile so that its
-                      ;; 'PREFIX' variable points to "out".
-                      (let ((out (assoc-ref outputs "out")))
-                        (substitute* "Makefile"
-                          (("PREFIX =.*")
-                           (string-append "PREFIX = "
-                                          out "\n")))))))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (add-before 'build 'set-prefix-in-makefile
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; Modify the makefile so that its
+              ;; 'PREFIX' variable points to #$output and
+              ;; 'XMLLINT' points to the correct path.
+              (substitute* "Makefile"
+                (("PREFIX =.*")
+                 (string-append "PREFIX = " #$output "\n"))
+                (("XMLLINT =.*")
+                 (string-append "XMLLINT = "
+                                (search-input-file inputs "/bin/xmllint")
+                                "\n"))))))))))
 @end lisp
 
 The new phase that is inserted is written as an anonymous procedure,
-introduced with @code{lambda*}; it honors the @code{outputs} parameter
-we have seen before.  @xref{Build Utilities}, for more about the helpers
-used by this phase, and for more examples of @code{modify-phases}.
+introduced with @code{lambda*}; it looks for the @file{xmllint}
+executable under a @file{/bin} directory among the package's inputs
+(@pxref{package Reference}).  It also honors the @code{outputs} parameter
+we have seen before.  @xref{Build Utilities}, for more about
+the helpers used by this phase, and for more examples of
+@code{modify-phases}.
 
 @cindex code staging
 @cindex staging, of code