summary refs log tree commit diff
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)
downloadguix-9ae4846c502b75867b83180bb65d422ff838e4e6.tar.gz
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