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.
This commit is contained in:
		
							parent
							
								
									08756c831c
								
							
						
					
					
						commit
						f0e9048e98
					
				
					 1 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
					@ -464,6 +464,18 @@ an interpreter, a compiler, a debugger, and much more.")
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'configure)
 | 
					         (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
 | 
					         (add-after 'unpack 'replace-asdf
 | 
				
			||||||
           ;; SBCL developers have not committed to keeping ASDF up to date
 | 
					           ;; SBCL developers have not committed to keeping ASDF up to date
 | 
				
			||||||
           ;; due to breaking changes [1]. Guix can handle this situation
 | 
					           ;; due to breaking changes [1]. Guix can handle this situation
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue