GNU bug report logs - #69530
[PATCH] doc: cookbook: Update "Build system arguments" section.

Previous Next

Package: guix-patches;

Reported by: rimarko <at> libero.it

Date: Sun, 3 Mar 2024 18:40:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#69530: closed ([PATCH] doc: cookbook: Update "Build system
 arguments" section.)
Date: Sat, 11 Jan 2025 18:38:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 11 Jan 2025 19:37:34 +0100
with message-id <871px9nqmp.fsf <at> gnu.org>
and subject line Re: [bug#69530] [PATCH] doc: cookbook: Update "Build system arguments" section.
has caused the debbugs.gnu.org bug report #69530,
regarding [PATCH] doc: cookbook: Update "Build system arguments" section.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
69530: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69530
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: rimarko <at> libero.it
To: guix-patches <at> gnu.org
Cc: Marco Rimoldi <rimarko <at> libero.it>
Subject: [PATCH] doc: cookbook: Update "Build system arguments" section.
Date: Sun,  3 Mar 2024 19:38:52 +0100
From: Marco Rimoldi <rimarko <at> 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(-)

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



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: rimarko <at> libero.it
Cc: 69530-done <at> debbugs.gnu.org
Subject: Re: [bug#69530] [PATCH] doc: cookbook: Update "Build system
 arguments" section.
Date: Sat, 11 Jan 2025 19:37:34 +0100
Hi,

rimarko <at> libero.it skribis:

> From: Marco Rimoldi <rimarko <at> 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

This patch had fallen through the cracks.  Finally applied, thanks!

Ludo’.


This bug report was last modified 222 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.