diff --git a/glicid/packages/mpi.scm b/glicid/packages/mpi.scm index 9d6141e..4f95e29 100644 --- a/glicid/packages/mpi.scm +++ b/glicid/packages/mpi.scm @@ -20,10 +20,10 @@ ; ) ;) -(define-public openmpi-upstream-4.1.8 +(define openmpi-upstream-4.1.8 (package (inherit gnu:openmpi-4) - (name "openmpi-4-upstream") + (name "openmpi-upstream-4") (version "4.1.8") (source (origin @@ -35,10 +35,25 @@ (base32 "1a8jkxqxbkyx9np2vyjrhgckd0zdzkx1286c20kw079a2ginhvs6")) (patches (search-patches "openmpi-mtl-priorities.patch")))))) +(define openmpi-upstream-unpatched-4.1.8 + (package + (inherit gnu:openmpi-4) + (name "openmpi-upstream") + (version "4.1.8") + (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 "1a8jkxqxbkyx9np2vyjrhgckd0zdzkx1286c20kw079a2ginhvs6")))))) + + + (define openmpi-4-latest (latest-version openmpi-upstream-4.1.8 gnu:openmpi-4)) - (define-public openmpi-glicid (package/inherit openmpi-4-latest (name "openmpi-glicid") @@ -47,6 +62,16 @@ )) +(define-public openmpi-unpatched-glicid + (package/inherit openmpi-upstream-unpatched-4.1.8 + (name "openmpi-glicid-unpatched") + (inputs (modify-inputs (package-inputs openmpi-upstream-unpatched-4.1.8) + (replace "slurm" slurm-glicid))) + + )) + + + (define-public openmpi-glicid-pmixv4 @@ -70,3 +95,24 @@ )) +(define-public openmpi-glicid-unpatched-pmixv4 + (package/inherit openmpi-unpatched-glicid + (name "openmpi-glicid-unpatched-pmixv4") + (arguments (substitute-keyword-arguments (package-arguments + openmpi-unpatched-glicid) + ((#:configure-flags flags) + #~(append #$flags + (list ;original flags has --with-pmix=internal, we should remove it but last --with-pmix is the one taken into account. + (string-append "--with-pmix=" + #$(this-package-input + "openpmix")) + (string-append "--with-prrte=" + #$(this-package-input "prrte"))) ;#$flags + )))) + (inputs (modify-inputs (package-inputs openmpi-unpatched-glicid) + (append openpmix) ; because we use pmix4 now, openpmi-4 defaults to internal pmix3 + (append prrte) ;idem + )) + + )) +