From ef788ee2dc3d7de3bcf49ca1856ff06fc14b4541 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Fri, 23 Feb 2024 19:18:14 +0100 Subject: [PATCH] build-system/guile: Install .scm files first. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- 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 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