GNU bug report logs - #69337
[PATCH 0/2] guile-build-system: Install .scm before .go.

Previous Next

Package: guix-patches;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Fri, 23 Feb 2024 18:14:01 UTC

Severity: normal

Tags: patch

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69337 in the body.
You can then email your comments to 69337 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#69337; Package guix-patches. (Fri, 23 Feb 2024 18:14:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 23 Feb 2024 18:14:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: guix-patches <at> gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH 0/2] guile-build-system: Install .scm before .go.
Date: Fri, 23 Feb 2024 18:32:47 +0100
Currently the .go files are generated before installing the accompanying .scm
files, which leads to noise in the build log (source file ... newer than).
Swapping the order of the actions fixes that.

The indentation was also wrong, so I took liberty to fix that first in a
separate commit, so that the second diff is clean.

Tomas Volf (2):
  build-system/guile: Fix indentation.
  build-system/guile: Install .scm files first.

 guix/build/guile-build-system.scm | 41 +++++++++++++++----------------
 1 file changed, 20 insertions(+), 21 deletions(-)


base-commit: aefc7428203203ae88c64cc4769113453c01a185
--
2.41.0




Information forwarded to guix-patches <at> gnu.org:
bug#69337; Package guix-patches. (Fri, 23 Feb 2024 18:25:02 GMT) Full text and rfc822 format available.

Message #8 received at 69337 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 69337 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH 2/2] build-system/guile: Install .scm files first.
Date: Fri, 23 Feb 2024 19:18:14 +0100
Until now the .go files were generated first, and only after that the .scm
files were installed into the target location.  That led to a lot of messages
about `source file ... newer than compiled' if the custom 'check phase tried
to load the compiled files.

Swapping the order of the actions resolves the issue allowing the tests to be
written without lot of noise in the build log.

For final artifacts it was not a problem, since daemon resets the timestamps.

* guix/build/guile-build-system.scm (build): Install .scm before producing
.go.

Change-Id: I3428d144fcbaa6c904ee662193c3bca82589e344
---
 guix/build/guile-build-system.scm | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm
index 90a9ee182b..ceda4c1f4c 100644
--- a/guix/build/guile-build-system.scm
+++ b/guix/build/guile-build-system.scm
@@ -187,6 +187,12 @@ (define* (build #:key outputs inputs native-inputs
     (let ((source-files
            (with-directory-excursion source-directory
              (find-files "." scheme-file-regexp))))
+      (for-each
+       (lambda (file)
+         (install-file (string-append source-directory "/" file)
+                       (string-append module-dir
+                                      "/" (dirname file))))
+       source-files)
       (invoke-each
        (filter-map (lambda (file)
                      (and (or (not not-compiled-file-regexp)
@@ -202,14 +208,7 @@ (define* (build #:key outputs inputs native-inputs
                                  flags)))
                    source-files)
        #:max-processes (parallel-job-count)
-       #:report-progress report-build-progress)
-
-      (for-each
-       (lambda (file)
-         (install-file (string-append source-directory "/" file)
-                       (string-append module-dir
-                                      "/" (dirname file))))
-       source-files))
+       #:report-progress report-build-progress))
     #t))
 
 (define* (install-documentation #:key outputs
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#69337; Package guix-patches. (Fri, 23 Feb 2024 18:26:03 GMT) Full text and rfc822 format available.

Message #11 received at 69337 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 69337 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH 1/2] build-system/guile: Fix indentation.
Date: Fri, 23 Feb 2024 19:18:13 +0100
The inner (let) was on the same level as the outer one, which was confusing.

* guix/build/guile-build-system.scm (build): Fix indentation.

Change-Id: I701b61747c270b185eac9377b066748baa2b3d20
---
 guix/build/guile-build-system.scm | 40 +++++++++++++++----------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm
index e7e7f2d0be..90a9ee182b 100644
--- a/guix/build/guile-build-system.scm
+++ b/guix/build/guile-build-system.scm
@@ -184,32 +184,32 @@ (define* (build #:key outputs inputs native-inputs
                              (#f "")
                              (path (string-append ":" path)))))
 
-  (let ((source-files
+    (let ((source-files
            (with-directory-excursion source-directory
              (find-files "." scheme-file-regexp))))
-    (invoke-each
-     (filter-map (lambda (file)
-                   (and (or (not not-compiled-file-regexp)
-                            (not (string-match not-compiled-file-regexp
-                                               file)))
-                        (cons* guild
-                               "guild" "compile"
-                               "-L" source-directory
-                               "-o" (string-append go-dir
-                                                   (file-sans-extension file)
-                                                   ".go")
-                               (string-append source-directory "/" file)
-                               flags)))
-                 source-files)
-     #:max-processes (parallel-job-count)
-     #:report-progress report-build-progress)
+      (invoke-each
+       (filter-map (lambda (file)
+                     (and (or (not not-compiled-file-regexp)
+                              (not (string-match not-compiled-file-regexp
+                                                 file)))
+                          (cons* guild
+                                 "guild" "compile"
+                                 "-L" source-directory
+                                 "-o" (string-append go-dir
+                                                     (file-sans-extension file)
+                                                     ".go")
+                                 (string-append source-directory "/" file)
+                                 flags)))
+                   source-files)
+       #:max-processes (parallel-job-count)
+       #:report-progress report-build-progress)
 
-    (for-each
-     (lambda (file)
+      (for-each
+       (lambda (file)
          (install-file (string-append source-directory "/" file)
                        (string-append module-dir
                                       "/" (dirname file))))
-     source-files))
+       source-files))
     #t))
 
 (define* (install-documentation #:key outputs
-- 
2.41.0





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sat, 02 Mar 2024 15:29:02 GMT) Full text and rfc822 format available.

Notification sent to Tomas Volf <~@wolfsden.cz>:
bug acknowledged by developer. (Sat, 02 Mar 2024 15:29:02 GMT) Full text and rfc822 format available.

Message #16 received at 69337-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Tomas Volf <~@wolfsden.cz>
Cc: 69337-done <at> debbugs.gnu.org
Subject: Re: [bug#69337] [PATCH 0/2] guile-build-system: Install .scm before
 .go.
Date: Sat, 02 Mar 2024 16:28:13 +0100
Hi,

Tomas Volf <~@wolfsden.cz> skribis:

> Currently the .go files are generated before installing the accompanying .scm
> files, which leads to noise in the build log (source file ... newer than).
> Swapping the order of the actions fixes that.
>
> The indentation was also wrong, so I took liberty to fix that first in a
> separate commit, so that the second diff is clean.
>
> Tomas Volf (2):
>   build-system/guile: Fix indentation.
>   build-system/guile: Install .scm files first.

Applied, thanks!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 31 Mar 2024 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 112 days ago.

Previous Next


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