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>
This commit is contained in:
Dave Love 2017-07-31 17:15:19 +01:00 committed by Ludovic Courtès
parent 84bf845abc
commit 0d97d3cbff
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 12 additions and 0 deletions

View File

@ -143,6 +143,18 @@ bind processes, and much more.")
,(string-append "--with-hwloc=" ,(string-append "--with-hwloc="
(assoc-ref %build-inputs "hwloc"))) (assoc-ref %build-inputs "hwloc")))
#:phases (modify-phases %standard-phases #: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 (add-before 'build 'scrub-timestamps ;reproducibility
(lambda _ (lambda _
(substitute* '("ompi/tools/ompi_info/param.c" (substitute* '("ompi/tools/ompi_info/param.c"