summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-02-27 09:34:09 +0000
committerChristopher Baines <mail@cbaines.net>2023-02-27 09:34:09 +0000
commit9ae4846c502b75867b83180bb65d422ff838e4e6 (patch)
tree02b5a0152cbb1f3eabb251e80a0de658c278611b
parent17bd0243310754045cdc6cc362c804db4a8f9317 (diff)
gnu: Fix openmpi related packages.
This makes these package definitions compatible with the openmpi package which uses gexps as of f45fc72c282bc14da7212b4acb8fe9707e53aad0. * gnu/packages/mpi.scm (openmpi-c++, java-openmpi, openmpi-thread-multiple)[arguments]: Use gexps.
-rw-r--r--gnu/packages/mpi.scm55
1 files changed, 28 insertions, 27 deletions
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index e8c20919d7..7918941a79 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -311,7 +311,7 @@ software vendors, application developers and computer science researchers.")
(arguments
(substitute-keyword-arguments (package-arguments openmpi)
((#:configure-flags flags)
- `(cons "--enable-mpi-cxx" ,flags))))
+ #~(cons "--enable-mpi-cxx" #$flags))))
(synopsis "C++ bindings for MPI")))
;; TODO: javadoc files contain timestamps.
@@ -327,34 +327,35 @@ software vendors, application developers and computer science researchers.")
,@(package-native-inputs openmpi)))
(outputs '("out"))
(arguments
- `(#:modules ((guix build gnu-build-system)
+ (cons*
+ #:modules '((guix build gnu-build-system)
((guix build ant-build-system) #:prefix ant:)
(guix build utils))
- #:imported-modules ((guix build ant-build-system)
+ #:imported-modules `((guix build ant-build-system)
,@%gnu-build-system-modules)
- ,@(substitute-keyword-arguments (package-arguments openmpi)
- ((#:configure-flags flags)
- `(cons "--enable-mpi-java" ,flags))
- ((#:make-flags flags ''())
- `(append '("-C" "ompi/mpi/java")
- ,flags))
- ((#:phases phases)
- `(modify-phases ,phases
- ;; We could provide the location of the JDK in the configure
- ;; flags, but since the configure flags are embedded in the
- ;; info binaries that would leave a reference to the JDK in
- ;; the "out" output. To avoid this we set JAVA_HOME.
- (add-after 'unpack 'set-JAVA_HOME
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
- #t))
- (add-after 'unpack 'link-with-existing-mpi-libraries
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "ompi/mpi/java/c/Makefile.in"
- (("\\$\\(top_builddir\\)/ompi/lib@OMPI_LIBMPI_NAME@.la")
- (search-input-file inputs "/lib/libmpi.la")))))
- (add-after 'install 'strip-jar-timestamps
- (assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))))
+ (substitute-keyword-arguments (package-arguments openmpi)
+ ((#:configure-flags flags)
+ #~(cons "--enable-mpi-java" #$flags))
+ ((#:make-flags flags ''())
+ #~(append '("-C" "ompi/mpi/java")
+ #$flags))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ ;; We could provide the location of the JDK in the configure
+ ;; flags, but since the configure flags are embedded in the
+ ;; info binaries that would leave a reference to the JDK in
+ ;; the "out" output. To avoid this we set JAVA_HOME.
+ (add-after 'unpack 'set-JAVA_HOME
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
+ #t))
+ (add-after 'unpack 'link-with-existing-mpi-libraries
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "ompi/mpi/java/c/Makefile.in"
+ (("\\$\\(top_builddir\\)/ompi/lib@OMPI_LIBMPI_NAME@.la")
+ (search-input-file inputs "/lib/libmpi.la")))))
+ (add-after 'install 'strip-jar-timestamps
+ (assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))))
(synopsis "Java bindings for MPI")))
(define-public openmpi-thread-multiple
@@ -363,7 +364,7 @@ software vendors, application developers and computer science researchers.")
(arguments
(substitute-keyword-arguments (package-arguments openmpi)
((#:configure-flags flags)
- `(cons "--enable-mpi-thread-multiple" ,flags))))
+ #~(cons "--enable-mpi-thread-multiple" #$flags))))
(description "This version of Open@tie{}MPI has an implementation of
@code{MPI_Init_thread} that provides @code{MPI_THREAD_MULTIPLE}. This won't
work correctly with all transports (such as @code{openib}), and the