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.master
parent
08756c831c
commit
f0e9048e98
|
@ -464,6 +464,18 @@ an interpreter, a compiler, a debugger, and much more.")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-build-id
|
||||
;; One of the build scripts makes a build id using the current date.
|
||||
;; Replace it with a reproducible id using a part of the output hash.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((hash (substring (assoc-ref outputs "out")
|
||||
(+ (string-length (%store-directory)) 1)
|
||||
(+ (string-length (%store-directory)) 9))))
|
||||
(substitute* "make-config.sh"
|
||||
(("echo .* > output/build-id.inc")
|
||||
(string-append "echo '\"'guix-sbcl-"
|
||||
hash
|
||||
"'\"' > output/build-id.inc"))))))
|
||||
(add-after 'unpack 'replace-asdf
|
||||
;; SBCL developers have not committed to keeping ASDF up to date
|
||||
;; due to breaking changes [1]. Guix can handle this situation
|
||||
|
|
Reference in New Issue