gnu: Add java-openmpi.
* gnu/packages/mpi.scm (java-openmpi): New variable.
This commit is contained in:
parent
4ddf067f21
commit
fa5a253866
|
@ -35,6 +35,7 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages fabric-management)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pciutils)
|
||||
|
@ -265,6 +266,51 @@ software vendors, application developers and computer science researchers.")
|
|||
;; See file://LICENSE
|
||||
(license bsd-2)))
|
||||
|
||||
;; TODO: javadoc files contain timestamps.
|
||||
(define-public java-openmpi
|
||||
(package (inherit openmpi)
|
||||
(name "java-openmpi")
|
||||
(inputs
|
||||
`(("openmpi" ,openmpi)
|
||||
,@(package-inputs openmpi)))
|
||||
(native-inputs
|
||||
`(("jdk" ,openjdk11 "jdk")
|
||||
("zip" ,(@ (gnu packages compression) zip))
|
||||
,@(package-native-inputs openmpi)))
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
((guix build ant-build-system) #:prefix ant:)
|
||||
(guix build utils))
|
||||
#:imported-modules ((guix build ant-build-system)
|
||||
(guix build syscalls)
|
||||
,@%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")
|
||||
(string-append (assoc-ref inputs "openmpi") "/lib/libmpi.la")))
|
||||
#t))
|
||||
(add-after 'install 'strip-jar-timestamps
|
||||
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))))
|
||||
(synopsis "Java bindings for MPI")))
|
||||
|
||||
(define-public openmpi-thread-multiple
|
||||
(package
|
||||
(inherit openmpi)
|
||||
|
|
Loading…
Reference in New Issue