gnu: petsc: Build reproducibly.
* gnu/packages/maths.scm (petsc)[arguments]: In ‘configure’ phase, add
‘sorted’ call in ‘gmakegen.py’.
In ‘clean-local-references’, remove substitution of “Libraries compiled
on”, which is unnecessary since PETSc 3.9
(<a970bd7489
>).
Add substitution for “Machine characteristics” bit.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ibb846c1ae368af94b46d5ce789b1263e0bc78a13
master
parent
4c8997c123
commit
31fe177a97
|
@ -3545,6 +3545,11 @@ September 2004}")
|
|||
(let* ((prefix (assoc-ref outputs "out"))
|
||||
(flags `(,(string-append "--prefix=" prefix)
|
||||
,@configure-flags)))
|
||||
;; Sort source files in configure (for reproducibility).
|
||||
(substitute* "config/gmakegen.py"
|
||||
(("join\\(srcs\\[lang\\]\\)")
|
||||
"join(sorted(srcs[lang]))"))
|
||||
|
||||
(format #t "build directory: ~s~%" (getcwd))
|
||||
(format #t "configure flags: ~s~%" flags)
|
||||
(apply invoke "./configure" flags)
|
||||
|
@ -3559,8 +3564,8 @@ September 2004}")
|
|||
(substitute* (find-files "." "^petsc(conf|machineinfo).h$")
|
||||
;; Prevent build directory from leaking into compiled code
|
||||
(((getcwd)) out)
|
||||
;; Scrub timestamp for reproducibility
|
||||
((".*Libraries compiled on.*") ""))
|
||||
(("Machine characteristics: Linux-[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
"Machine characteristics: Linux-x.x.x"))
|
||||
(substitute* (find-files "." "petscvariables")
|
||||
;; Do not expose build machine characteristics, set to defaults.
|
||||
(("MAKE_NP = [:digit:]+") "MAKE_NP = 2")
|
||||
|
|
Reference in New Issue