summary refs log tree commit diff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2024-02-23 19:18:14 +0100
committerLudovic Courtès <ludo@gnu.org>2024-03-02 16:26:29 +0100
commitef788ee2dc3d7de3bcf49ca1856ff06fc14b4541 (patch)
tree88cb6e9c7526c4774e78ac3374f5c8b90841b885
parentc3cd24b29ad0b781afebec3fb3269bd04ad9adec (diff)
downloadguix-ef788ee2dc3d7de3bcf49ca1856ff06fc14b4541.tar.gz
build-system/guile: Install .scm files first.
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
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--guix/build/guile-build-system.scm15
1 files changed, 7 insertions, 8 deletions
diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm
index 421e358b20..8927da224a 100644
--- a/guix/build/guile-build-system.scm
+++ b/guix/build/guile-build-system.scm
@@ -187,6 +187,12 @@ installed; this is useful for files that are meant to be included."
     (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 @@ installed; this is useful for files that are meant to be included."
                                  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