summary refs log tree commit diff
diff options
context:
space:
mode:
authorDave Love <dave.love@manchester.ac.uk>2017-07-31 17:15:19 +0100
committerLudovic Courtès <ludo@gnu.org>2017-08-21 17:04:54 +0200
commit0d97d3cbff3d81c8a95b2dc7e037deb04c770779 (patch)
tree9765f63804d749d95fb32d1bcc92f7050b69761a
parent84bf845abc4b25af84a91eef368e1ea2f3d794a5 (diff)
downloadguix-0d97d3cbff3d81c8a95b2dc7e037deb04c770779.tar.gz
gnu: openmpi: Remove references to compiler pathnames in "_info" programs.
This reduces the closure greatly, but note that the Fortran .mod files are
gfortran version-specific, so there should probably be development packages
for each incompatible version.  (The runtime is supposed to be more-or-less
version-independent unless the libgfortran soname changes.)  There may still
be a case for a separate runtime output.

* gnu/packages/mpi.scm (openmpi)[arguments]: Add "remove-absolute" phase.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/mpi.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index f24da7b661..3337054223 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -143,6 +143,18 @@ bind processes, and much more.")
                            ,(string-append "--with-hwloc="
                                            (assoc-ref %build-inputs "hwloc")))
        #:phases (modify-phases %standard-phases
+                  (add-before 'build 'remove-absolute
+                    ;; Remove compiler absolute file names (OPAL_FC_ABSOLUTE
+                    ;; etc.) to reduce the closure size.  See
+                    ;; <https://lists.gnu.org/archive/html/guix-devel/2017-07/msg00388.html>
+                    ;; and
+                    ;; <https://www.mail-archive.com/users@lists.open-mpi.org//msg31397.html>.
+                    (lambda _
+                      (substitute* '("orte/tools/orte-info/param.c"
+                                     "oshmem/tools/oshmem_info/param.c"
+                                     "ompi/tools/ompi_info/param.c")
+                        (("_ABSOLUTE") ""))
+                      #t))
                   (add-before 'build 'scrub-timestamps ;reproducibility
                     (lambda _
                       (substitute* '("ompi/tools/ompi_info/param.c"