[PATCH] doc: cookbook: Update "Build system arguments" section.

  • Open
  • quality assurance status badge
Details
One participant
  • rimarko
Owner
unassigned
Submitted by
rimarko
Severity
normal

Debbugs page

R
R
rimarko wrote on 3 Mar 10:38 -0800
(address . guix-patches@gnu.org)(name . Marco Rimoldi)(address . rimarko@libero.it)
40f63cec491071b498d4e9b59bc6bc29d80cee19.1709491132.git.rimarko@libero.it
From: Marco Rimoldi <rimarko@libero.it>

* doc/guix-cookbook.texi (Build system arguments)

Remove recommendation on phase return value.
Ensure code examples can run and are up-to-date.

Change-Id: I143babf79983751578d6d4e20b20195ea000656d
---
doc/guix-cookbook.texi | 37 +++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)

Toggle diff (76 lines)
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 2366c13caf..7835d64dcb 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -1246,6 +1246,7 @@ Extended example
validate-documentation-location
delete-info-dir-file
patch-dot-desktop-files
+ make-dynamic-linker-cache
install-license-files
reset-gzip-timestamps
compress-documentation)))
@@ -1256,8 +1257,8 @@ Extended example
@lisp
(add-to-load-path "/path/to/guix/checkout")
,use (guix build gnu-build-system)
-(map first %standard-phases)
-@result{} (set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)
+(map car %standard-phases)
+@result{} (set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files make-dynamic-linker-cache install-license-files reset-gzip-timestamps compress-documentation)
@end lisp
If you want to know more about what happens during those phases, consult the
@@ -1279,13 +1280,25 @@ Extended example
;; Preserve timestamps (set to the Epoch) on the copied tree so that
;; things work deterministically.
(copy-recursively source "."
- #:keep-mtime? #true))
+ #:keep-mtime? #t)
+ ;; Make the source checkout files writable, for convenience.
+ (for-each (lambda (f)
+ (false-if-exception (make-file-writable f)))
+ (find-files ".")))
(begin
- (if (string-suffix? ".zip" source)
- (invoke "unzip" source)
- (invoke "tar" "xvf" source))
- (chdir (first-subdirectory "."))))
- #true)
+ (cond
+ ((string-suffix? ".zip" source)
+ (invoke "unzip" source))
+ ((tarball? source)
+ (invoke "tar" "xvf" source))
+ (else
+ (let ((name (strip-store-file-name source))
+ (command (compressor source)))
+ (copy-file source name)
+ (when command
+ (invoke command "--decompress" name)))))
+ ;; Attempt to change into child directory.
+ (and=> (first-subdirectory ".") chdir))))
@end lisp
Note the @code{chdir} call: it changes the working directory to where the source was
@@ -1321,14 +1334,10 @@ Extended example
(let ((bash-directory (assoc-ref inputs "bash"))
(output-directory (assoc-ref outputs "out"))
(doc-directory (assoc-ref outputs "doc")))
- ;; ...
- #true))
+ ;; ... ))
@end lisp
-The procedure must return @code{#true} on success. It's brittle to rely on the return
-value of the last expression used to tweak the phase because there is no
-guarantee it would be a @code{#true}. Hence the trailing @code{#true} to ensure the right value
-is returned on success.
+Its return value is ignored.
@subsubsection Code staging

base-commit: f00f56514d90ebba5d9e08ec786c8118e437097c
--
2.41.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 69530@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 69530
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch