gnu: openmpi: Make binaries reproducible.

* gnu/packages/mpi.scm (openmpi)[arguments]: Remove timestamps from
source files.  Delete installed configure logs.
This commit is contained in:
Eric Bavier 2016-07-08 16:00:07 -05:00
parent 6876590fd4
commit 9474a4b3ec
No known key found for this signature in database
GPG key ID: 1EBBD204781F962C

View file

@ -128,7 +128,20 @@ (define-public openmpi
,(string-append "--with-valgrind="
(assoc-ref %build-inputs "valgrind"))
,(string-append "--with-hwloc="
(assoc-ref %build-inputs "hwloc")))))
(assoc-ref %build-inputs "hwloc")))
#:phases (modify-phases %standard-phases
(add-before 'build 'scrub-timestamps ;reproducibility
(lambda _
(substitute* '("ompi/tools/ompi_info/param.c"
"orte/tools/orte-info/param.c"
"oshmem/tools/oshmem_info/param.c")
((".*(Built|Configured) on.*") ""))
#t))
(add-after 'install 'remove-logs ;reproducibility
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each delete-file (find-files out "config.log"))
#t))))))
(home-page "http://www.open-mpi.org")
(synopsis "MPI-2 implementation")
(description