diff options
author | Christopher Baines <mail@cbaines.net> | 2023-02-27 09:34:09 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-02-27 09:34:09 +0000 |
commit | 9ae4846c502b75867b83180bb65d422ff838e4e6 (patch) | |
tree | 02b5a0152cbb1f3eabb251e80a0de658c278611b | |
parent | 17bd0243310754045cdc6cc362c804db4a8f9317 (diff) | |
download | guix-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.scm | 55 |
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 |