summary refs log tree commit diff
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
parent6876590fd446d23595aa9a8818a37373fabd4ca0 (diff)
downloadguix-9474a4b3ec568164583a4ca7aa3c01d02ac014da.tar.gz
gnu: openmpi: Make binaries reproducible.
* gnu/packages/mpi.scm (openmpi)[arguments]: Remove timestamps from
source files.  Delete installed configure logs.
-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