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>
This commit is contained in:
parent
aaa0e7b3f8
commit
8ffe52df47
@ -10140,23 +10140,31 @@ phase before the @code{build} phase, called
|
|||||||
;; other fields omitted
|
;; other fields omitted
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases (modify-phases %standard-phases
|
(list
|
||||||
(delete 'configure)
|
#:phases
|
||||||
(add-before 'build 'set-prefix-in-makefile
|
#~(modify-phases %standard-phases
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(delete 'configure)
|
||||||
;; Modify the makefile so that its
|
(add-before 'build 'set-prefix-in-makefile
|
||||||
;; 'PREFIX' variable points to "out".
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out")))
|
;; Modify the makefile so that its
|
||||||
(substitute* "Makefile"
|
;; 'PREFIX' variable points to #$output and
|
||||||
(("PREFIX =.*")
|
;; 'XMLLINT' points to the correct path.
|
||||||
(string-append "PREFIX = "
|
(substitute* "Makefile"
|
||||||
out "\n")))))))))))
|
(("PREFIX =.*")
|
||||||
|
(string-append "PREFIX = " #$output "\n"))
|
||||||
|
(("XMLLINT =.*")
|
||||||
|
(string-append "XMLLINT = "
|
||||||
|
(search-input-file inputs "/bin/xmllint")
|
||||||
|
"\n"))))))))))
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
The new phase that is inserted is written as an anonymous procedure,
|
The new phase that is inserted is written as an anonymous procedure,
|
||||||
introduced with @code{lambda*}; it honors the @code{outputs} parameter
|
introduced with @code{lambda*}; it looks for the @file{xmllint}
|
||||||
we have seen before. @xref{Build Utilities}, for more about the helpers
|
executable under a @file{/bin} directory among the package's inputs
|
||||||
used by this phase, and for more examples of @code{modify-phases}.
|
(@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 code staging
|
||||||
@cindex staging, of code
|
@cindex staging, of code
|
||||||
|
Loading…
Reference in New Issue
Block a user