diff --git a/glicid/packages/parallel.scm b/glicid/packages/parallel.scm index e508a1b..4bd014e 100644 --- a/glicid/packages/parallel.scm +++ b/glicid/packages/parallel.scm @@ -121,7 +121,7 @@ (define-public openpmix openpmix-3) ; compat with nautilus… -(define-public slurm-22.05-upstream +(define-public slurm-upstream-22.05 (package (inherit gnu:slurm) (name "slurm-upstream") @@ -135,9 +135,9 @@ "19kqj06f39kad21wp9b9j82x3zm2w2h8mcjr2zvs1q1rzjmhr1nb")))))) (define slurm-22.05-latest - (latest-version gnu:slurm-22.05 slurm-22.05-upstream)) + (latest-version gnu:slurm-22.05 slurm-upstream-22.05)) -(define-public slurm-23.02-upstream +(define-public slurm-upstream-23.02 (package (inherit gnu:slurm) (name "slurm-upstream") @@ -151,7 +151,7 @@ "0vh0lbqp315cgcm2wpfg8j718d84lfqr474rfzk46ail5pk0d9vl")))))) -(define-public slurm-23.11-upstream +(define-public slurm-upstream-23.11 (package (inherit gnu:slurm) (name "slurm-upstream") @@ -164,7 +164,7 @@ (base32 "0gf7x85bzpkrx87mb16wyiyvkjxqq01sbajsjxwrspyi2v675hgr")))))) -(define-public slurm-24.05-upstream +(define-public slurm-upstream-24.05 (package (inherit gnu:slurm) (name "slurm-upstream") @@ -177,7 +177,7 @@ (base32 "0vxiymp40lgcb1z76cyqdpqpy7w14r483v54dk4aq84v0aw0mixl")))))) -(define-public slurm-24.11-upstream +(define-public slurm-upstream-24.11 (package (inherit gnu:slurm) (name "slurm-upstream") @@ -248,33 +248,8 @@ ) -(define-public slurm-23.02-upstream - (package - (inherit gnu:slurm) - (name "slurm-upstream") - (version "23.02.0") -; (source (origin - -; (method git-fetch) -; (uri (git-reference -; (url "https://github.com/SchedMD/slurm") -; (commit "slurm-23-02-0-1"))) -; (file-name (git-file-name name version)) -; (sha256 -; (base32 -; "1iwyvkfipizy46fi5plc3h8qvympx41l5bw58jw4kx01qi5fvj0z")))))) - - (source (origin - (method url-fetch) - (uri (string-append "https://download.schedmd.com/slurm/slurm-" - version ".tar.bz2")) - (sha256 - (base32 - "186fahlsl2500lrmb8ydzkli0i4bcyaf32y5fj87z9bi93905f91")))))) - - (define slurm-23.02-latest - (latest-version gnu:slurm slurm-23.02-upstream)) + (latest-version gnu:slurm slurm-upstream-23.02)) (define-public slurm-23.02-glicid (package @@ -288,12 +263,56 @@ lua lz4))))) -(define-public slurm-glicid - slurm-22.05-glicid) -(define-public slurm-ccipl - slurm-22.05-glicid) -(define-public slurm-glicid-preprod - slurm-22.05-glicid) -(define-public slurm-glicid-test - slurm-23.02-glicid) + +(define (make-slurm-glicid base-package) + (package + (inherit base-package) + (name "slurm-glicid") + (arguments + (list #:configure-flags + #~(list "--enable-pam" "--sysconfdir=/etc/slurm" + "--disable-static" + (string-append "--with-freeipmi=" #$(this-package-input "freeipmi")) + (string-append "--with-hwloc=" + (ungexp (this-package-input "hwloc") "lib")) + (string-append "--with-json=" #$(this-package-input "json-c")) + (string-append "--with-munge=" #$(this-package-input "munge")) +; (string-append "--with-pmix=" #$(this-package-input "openpmix-3") ":" #$(this-package-input "openpmix-4") ) + (string-append "--with-pmix=" #$(this-package-input "openpmix-3")) + (string-append "--with-yaml=" #$(this-package-input "libyaml")) + (string-append "--with-jwt=" #$(this-package-input "libjwt")) + (string-append "--with-http-parser=" #$(this-package-input "http-parser")) + (string-append "--with-ucx=" #$(this-package-input "ucx")) +; (string-append "--with-pmix=" #$(this-package-input "openpmix-4")) + ;; 32-bit support is marked as deprecated and needs to be + ;; explicitly enabled. + #$@(if (target-64bit?) '() '("--enable-deprecated"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-plugin-linker-flags + (lambda _ + (substitute* (find-files "src/plugins/" "Makefile.in") + (("_la_LDFLAGS = ") + "_la_LDFLAGS = ../../../api/libslurm.la ")))) + (add-after 'patch-plugin-linker-flags 'autoconf + (lambda _ (invoke "autoconf"))) ;configure.ac was patched + (add-after 'install 'install-libpmi + (lambda _ + ;; Open MPI expects libpmi to be provided by Slurm so install it. + (invoke "make" "install" "-C" "contribs/pmi") + + ;; Others expect pmi2. + (invoke "make" "install" "-C" "contribs/pmi2")))))) + ) +) + + +(define-public slurm-glicid slurm-22.05-glicid) +(define-public slurm-ccipl slurm-22.05-glicid) +(define-public slurm-glicid-preprod slurm-22.05-glicid) +(define-public slurm-glicid-test slurm-23.02-glicid) + + +(define-public slurm-glicid-23.11 (make-slurm-glicid slurm-upstream-23.11)) +(define-public slurm-glicid-24.11 (make-slurm-glicid slurm-upstream-24.11))