summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2022-05-22 17:20:18 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2022-05-22 17:39:23 +0200
commitf0e9048e98f0789aa98de88984f4ee0fc9687f52 (patch)
tree90b233518c6307c0f68132bc3ea43c3cb58eccd1
parentself: Ship platform files. (diff)
downloadguix-f0e9048e98f0789aa98de88984f4ee0fc9687f52.tar.gz
guix-f0e9048e98f0789aa98de88984f4ee0fc9687f52.tar.bz2
guix-f0e9048e98f0789aa98de88984f4ee0fc9687f52.tar.xz
gnu: sbcl: Improve reproducilbility.
This should fix the runtime error of the maxima package: fatal error encountered in SBCL pid 26911 tid 26911: core was built for runtime "localhost-nixbld-2022-03-03-15-45-58" but this is "localhost-nixbld-2022-03-03-08-51-27" * gnu/packages/lisp.scm (sbcl)[arguments]: Add 'fix-build-id' phase.
-rw-r--r--gnu/packages/lisp.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index d5f1e94269..ca85cab2b9 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -464,6 +464,18 @@ an interpreter, a compiler, a debugger, and much more.")
464 #:phases 464 #:phases
465 (modify-phases %standard-phases 465 (modify-phases %standard-phases
466 (delete 'configure) 466 (delete 'configure)
467 (add-after 'unpack 'fix-build-id
468 ;; One of the build scripts makes a build id using the current date.
469 ;; Replace it with a reproducible id using a part of the output hash.
470 (lambda* (#:key outputs #:allow-other-keys)
471 (let ((hash (substring (assoc-ref outputs "out")
472 (+ (string-length (%store-directory)) 1)
473 (+ (string-length (%store-directory)) 9))))
474 (substitute* "make-config.sh"
475 (("echo .* > output/build-id.inc")
476 (string-append "echo '\"'guix-sbcl-"
477 hash
478 "'\"' > output/build-id.inc"))))))
467 (add-after 'unpack 'replace-asdf 479 (add-after 'unpack 'replace-asdf
468 ;; SBCL developers have not committed to keeping ASDF up to date 480 ;; SBCL developers have not committed to keeping ASDF up to date
469 ;; due to breaking changes [1]. Guix can handle this situation 481 ;; due to breaking changes [1]. Guix can handle this situation