(define-module (glicid packages parallel) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module ((gnu packages parallel) #:prefix gnu:) #:use-module (gnu packages gtk) #:use-module (gnu packages libevent) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages compression) #:use-module (gnu packages mpi) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages databases) #:use-module (glicid utils) #:use-module (gnu packages fabric-management) #:use-module (glicid packages containers) #:use-module (gnu packages compression) #:use-module (gnu packages lua) #:use-module (gnu packages web) #:use-module (gnu packages serialization) #:use-module ((guix utils) #:select (target-64bit?)) ) (define-public openpmix-3.2.5 (package (name "openpmix-3") (version "3.2.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2")) (sha256 (base32 "13cc11wxf00w485h6pxjcpwziihaix1pj9rrd20cis1i4bi2hrfv")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc"))))) (synopsis "MPIX lib") (description "MPIX. More to come. FIXIT") (home-page "https://www.gnu.org/software/hello/") (license license:gpl3+) (inputs (list libevent `(,hwloc-2 "lib") perl)))) (define-public openpmix-3 openpmix-3.2.5) (define-public slurm-upstream-22.05 (package (inherit gnu:slurm) (name "slurm-upstream") (version "22.05.11") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "19kqj06f39kad21wp9b9j82x3zm2w2h8mcjr2zvs1q1rzjmhr1nb")))))) (define slurm-22.05-latest (latest-version gnu:slurm-22.05 slurm-upstream-22.05)) (define-public slurm-upstream-23.02 (package (inherit gnu:slurm) (name "slurm-upstream") (version "23.02.8") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "0vh0lbqp315cgcm2wpfg8j718d84lfqr474rfzk46ail5pk0d9vl")))))) (define-public slurm-upstream-23.11 (package (inherit gnu:slurm) (name "slurm-upstream") (version "23.11.10") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "0gf7x85bzpkrx87mb16wyiyvkjxqq01sbajsjxwrspyi2v675hgr")))))) (define-public slurm-upstream-24.05 (package (inherit gnu:slurm) (name "slurm-upstream") (version "24.05.5") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "0vxiymp40lgcb1z76cyqdpqpy7w14r483v54dk4aq84v0aw0mixl")))))) (define-public slurm-upstream-24.11 (package (inherit gnu:slurm) (name "slurm-upstream") (version "24.11.0") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "0mlhqsyn3sc59wjg47wk20aw9rxz379rnqpjny8f0x6qnppfxsrr")))))) (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-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")) #$@(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"))) (add-after 'install 'install-libpmi (lambda _ (invoke "make" "install" "-C" "contribs/pmi") (invoke "make" "install" "-C" "contribs/pmi2")))))) (inputs (modify-inputs (package-inputs base-package) (prepend gtk+-2 ucx gnu:openpmix json-c libjwt libyaml http-parser `(,mariadb "dev")))))) (define-public slurm-glicid-22.05 (make-slurm-glicid slurm-upstream-22.05)) (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)) (define-public slurm-glicid slurm-glicid-24.11) (define-public slurm-ccipl slurm-glicid-22.05) (define-public slurm-glicid-preprod slurm-glicid-24.11) (define-public slurm-glicid-test slurm-glicid-24.11)