[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: build: asdf-build-system: Improve reproducibility.
From: |
guix-commits |
Subject: |
01/02: build: asdf-build-system: Improve reproducibility. |
Date: |
Sun, 12 Jan 2020 09:20:52 -0500 (EST) |
glv pushed a commit to branch master
in repository guix.
commit 6b8f7c397aa9c8b3f078153b1b6a90db3bb0b79e
Author: Guillaume Le Vaillant <address@hidden>
AuthorDate: Sun Jan 12 14:29:41 2020 +0100
build: asdf-build-system: Improve reproducibility.
* guix/build/asdf-build-system.scm (copy-files-to-output): Reset timestamps
of
source files before compiling.
---
guix/build/asdf-build-system.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm
index 1be2b3c..f3f4b49 100644
--- a/guix/build/asdf-build-system.scm
+++ b/guix/build/asdf-build-system.scm
@@ -79,6 +79,15 @@ valid."
(let ((source (getcwd))
(target (source-directory out name))
(system-path (string-append out %system-install-prefix)))
+ ;; SBCL keeps the modification time of the source file in the compiled
+ ;; file, and the source files might just have been patched by a custom
+ ;; phase. Therefore we reset the modification time of all the source
+ ;; files before compiling.
+ (for-each (lambda (file)
+ (let ((s (lstat file)))
+ (unless (eq? (stat:type s) 'symlink)
+ (utime file 0 0 0 0))))
+ (find-files source #:directories? #t))
(copy-recursively source target #:keep-mtime? #t)
(mkdir-p system-path)
(for-each