summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2016-07-08 16:00:07 -0500
committerEric Bavier <bavier@member.fsf.org>2016-07-20 21:16:24 -0500
commit9474a4b3ec568164583a4ca7aa3c01d02ac014da (patch)
tree1e22139eddc20650c41ea60e1f2670d757f10766 /gnu/packages
parent6876590fd446d23595aa9a8818a37373fabd4ca0 (diff)
gnu: openmpi: Make binaries reproducible.
* gnu/packages/mpi.scm (openmpi)[arguments]: Remove timestamps from source files. Delete installed configure logs.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/mpi.scm15
1 files changed, 14 insertions, 1 deletions
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