[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
07/15: gnu: openmpi: Use gexps.
From: |
guix-commits |
Subject: |
07/15: gnu: openmpi: Use gexps. |
Date: |
Thu, 23 Feb 2023 10:33:52 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit f45fc72c282bc14da7212b4acb8fe9707e53aad0
Author: Ludovic Courtès <ludovic.courtes@inria.fr>
AuthorDate: Thu Feb 23 15:49:09 2023 +0100
gnu: openmpi: Use gexps.
* gnu/packages/mpi.scm (openmpi)[arguments]: Use gexps.
---
gnu/packages/mpi.scm | 130 ++++++++++++++++++++++++++-------------------------
1 file changed, 66 insertions(+), 64 deletions(-)
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 70b14c30b3..e8c20919d7 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -25,6 +25,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages mpi)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
@@ -191,13 +192,13 @@ bind processes, and much more.")
(version "4.1.4")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://www.open-mpi.org/software/ompi/v"
- (version-major+minor version)
- "/downloads/openmpi-" version ".tar.bz2"))
- (sha256
- (base32 "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj"))
- (patches (search-patches "openmpi-mtl-priorities.patch"))))
+ (method url-fetch)
+ (uri (string-append "https://www.open-mpi.org/software/ompi/v"
+ (version-major+minor version)
+ "/downloads/openmpi-" version ".tar.bz2"))
+ (sha256
+ (base32 "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj"))
+ (patches (search-patches "openmpi-mtl-priorities.patch"))))
(properties
;; Tell the 'generic-html' updater to monitor this URL for updates.
@@ -228,68 +229,69 @@ bind processes, and much more.")
(list pkg-config perl))
(outputs '("out" "debug"))
(arguments
- `(#:configure-flags `("--enable-mpi-ext=affinity" ;cr doesn't work
- "--with-sge"
+ (list
+ #:configure-flags #~`("--enable-mpi-ext=affinity" ;cr doesn't work
+ "--with-sge"
- ,@(if ,(package? (this-package-input "valgrind"))
- `("--enable-memchecker"
- "--with-valgrind")
- `("--without-valgrind"))
+ #$@(if (package? (this-package-input "valgrind"))
+ #~("--enable-memchecker"
+ "--with-valgrind")
+ #~("--without-valgrind"))
- "--with-hwloc=external"
- "--with-libevent"
+ "--with-hwloc=external"
+ "--with-libevent"
- ;; Help 'orterun' and 'mpirun' find their tools
- ;; under $prefix by default.
- "--enable-mpirun-prefix-by-default"
+ ;; Help 'orterun' and 'mpirun' find their tools
+ ;; under $prefix by default.
+ "--enable-mpirun-prefix-by-default"
- ;; InfiniBand support
- "--enable-openib-control-hdr-padding"
- "--enable-openib-dynamic-sl"
- "--enable-openib-udcm"
- "--enable-openib-rdmacm"
- "--enable-openib-rdmacm-ibaddr"
+ ;; InfiniBand support
+ "--enable-openib-control-hdr-padding"
+ "--enable-openib-dynamic-sl"
+ "--enable-openib-udcm"
+ "--enable-openib-rdmacm"
+ "--enable-openib-rdmacm-ibaddr"
- ;; Enable support for SLURM's Process Manager
- ;; Interface (PMI).
- ,(string-append "--with-pmi="
- (assoc-ref %build-inputs "slurm")))
- #:phases (modify-phases %standard-phases
- ;; opensm is needed for InfiniBand support.
- (add-after 'unpack 'find-opensm-headers
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "C_INCLUDE_PATH"
- (search-input-directory inputs
- "/include/infiniband"))
- (setenv "CPLUS_INCLUDE_PATH"
- (search-input-directory inputs
- "/include/infiniband"))))
- (add-before 'build 'remove-absolute
- (lambda _
- ;; 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>.
- (substitute* '("orte/tools/orte-info/param.c"
- "oshmem/tools/oshmem_info/param.c"
- "ompi/tools/ompi_info/param.c")
- (("_ABSOLUTE") ""))
- ;; Avoid valgrind (which pulls in gdb etc.).
- (substitute*
-
'("./ompi/mca/io/romio321/src/io_romio321_component.c")
- (("MCA_io_romio321_COMPLETE_CONFIGURE_FLAGS")
- "\"[elided to reduce closure]\""))))
- (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.*") ""))))
- (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"))))))))
+ ;; Enable support for SLURM's Process Manager
+ ;; Interface (PMI).
+ ,(string-append "--with-pmi="
+ #$(this-package-input "slurm")))
+ #:phases #~(modify-phases %standard-phases
+ ;; opensm is needed for InfiniBand support.
+ (add-after 'unpack 'find-opensm-headers
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "C_INCLUDE_PATH"
+ (search-input-directory inputs
+ "/include/infiniband"))
+ (setenv "CPLUS_INCLUDE_PATH"
+ (search-input-directory inputs
+
"/include/infiniband"))))
+ (add-before 'build 'remove-absolute
+ (lambda _
+ ;; 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>.
+ (substitute* '("orte/tools/orte-info/param.c"
+ "oshmem/tools/oshmem_info/param.c"
+ "ompi/tools/ompi_info/param.c")
+ (("_ABSOLUTE") ""))
+ ;; Avoid valgrind (which pulls in gdb etc.).
+ (substitute*
+
'("./ompi/mca/io/romio321/src/io_romio321_component.c")
+ (("MCA_io_romio321_COMPLETE_CONFIGURE_FLAGS")
+ "\"[elided to reduce closure]\""))))
+ (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.*") ""))))
+ (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"))))))))
(home-page "https://www.open-mpi.org")
(synopsis "MPI-3 implementation")
(description
- branch master updated (92984eb93f -> 3809aa01a1), guix-commits, 2023/02/23
- 02/15: gnu: ucx: Use gexps., guix-commits, 2023/02/23
- 01/15: gnu: ucx: Mark POWER9 as supported., guix-commits, 2023/02/23
- 03/15: gnu: infiniband-diags: Use gexps., guix-commits, 2023/02/23
- 04/15: gnu: ibutils: Use gexps., guix-commits, 2023/02/23
- 06/15: gnu: psm2: Use gexps., guix-commits, 2023/02/23
- 05/15: gnu: ibutils: Fix compilation., guix-commits, 2023/02/23
- 12/15: doc: Further clarify documentation of 'host' and 'hosts-service-type'., guix-commits, 2023/02/23
- 07/15: gnu: openmpi: Use gexps.,
guix-commits <=
- 08/15: doc: hosts-service-type: Relocate to Base Services., guix-commits, 2023/02/23
- 09/15: system: Do not export local-host-entries., guix-commits, 2023/02/23
- 10/15: doc: hosts-service-type: Improve documentation., guix-commits, 2023/02/23
- 11/15: services: hosts: Do not export '%host'., guix-commits, 2023/02/23
- 13/15: gnu: lightning: Update to 2.2.1, guix-commits, 2023/02/23
- 15/15: gnu: gnulib: Allow only one directory name in GNULIB_SRCDIR., guix-commits, 2023/02/23
- 14/15: gnu: Add aspell-dict-bg., guix-commits, 2023/02/23