(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 (glicid packages fabric-management) ;for latest ucx #:use-module (gnu packages fabric-management) #:use-module (glicid packages containers) ;for latest podman #:use-module (gnu packages compression) ;lz4 #:use-module (gnu packages lua) ;lua #:use-module (gnu packages web) ; json-c, http-parser for slurm REST API #:use-module (gnu packages serialization) ; libyaml for slurm REST API #:use-module ((guix utils) #:select (target-64bit?)) ) (define-public openpmix-3.1.5 (package (name "openpmix-3") (version "3.1.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2")) (sha256 (base32 "1xswdkfcrw123ghcr9gmrb852nzjbl4i6qwrid3xyma42yal34w8")))) (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.2.4 (package (inherit openpmix-3.1.5) (version "3.2.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version "-2.tar.bz2")) ;; note -2 !! (sha256 (base32 "0hnqx2f72g2n5fnib5dv1qwfp2vjp00lbj1k9zlylpq5bbb3ykp5")))) )) (define-public openpmix-3.2.5 (package (inherit openpmix-3.1.5) (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")))) )) (define-public openpmix-4.1.0 (package (inherit openpmix-3.1.5) (name "openpmix-4") (version "4.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2")) (sha256 (base32 "0bl4gkh87csm3yh418wvrih35mg6swavcxj78gyb7gr1qsk0apql")))) (inputs (modify-inputs (package-inputs openpmix-3.1.5) (prepend python zlib pandoc))))) (define-public openpmix-4.2.4 (package (inherit openpmix-4.1.0) (version "4.2.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2")) (sha256 (base32 "1j11n1j1g6dq49jxcy44s48jvncwvarb8wmcpmw3m397y91rasf4")))))) (define-public openpmix-3 openpmix-3.2.5) (define-public openpmix-4 openpmix-4.2.4) (define-public openpmix openpmix-3) ; compat with nautilus… (define-public slurm-22.05-upstream (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-22.05-upstream)) (define-public slurm-23.02-upstream (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-23.11-upstream (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-24.05-upstream (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-24.11-upstream (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-public slurm-22.05-glicid-std (package (inherit slurm-22.05-latest) (name "slurm-glicid-noucx-nopmix") (inputs (modify-inputs (package-inputs slurm-22.05-latest) (prepend gtk+-2 ; for sview ucx openpmix-3 ; for pmix support json-c libjwt libyaml http-parser ; for REST API `(,mariadb "dev")))))) ; for mariadb/mysql client support (define-public slurm-22.05-glicid (package (inherit slurm-22.05-glicid-std) (version "22.05.11") (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-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)) (define-public slurm-23.02-glicid (package (inherit slurm-23.02-latest) (name "slurm-upstream-glicid") (inputs (modify-inputs (package-inputs slurm-23.02-latest) (prepend gtk+-2 `(,mariadb "dev") ucx-latest-glicid ;not autotested by config podman 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)