From 9474a4b3ec568164583a4ca7aa3c01d02ac014da Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 8 Jul 2016 16:00:07 -0500 Subject: [PATCH] gnu: openmpi: Make binaries reproducible. * gnu/packages/mpi.scm (openmpi)[arguments]: Remove timestamps from source files. Delete installed configure logs. --- gnu/packages/mpi.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 254f2a5ab5..68937a26f5 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -128,7 +128,20 @@ bind processes, and much more.") ,(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