me
/
guix
Archived
1
0
Fork 0

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
Guillaume Le Vaillant 2022-05-22 17:20:18 +02:00
parent 08756c831c
commit f0e9048e98
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
1 changed files with 12 additions and 0 deletions

View File

@ -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