(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) #: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 ((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-20.02-upstream (package (inherit slurm-20.02) (name "slurm-upstream") (version "20.02.7") (source (origin (inherit (package-source slurm-20.02)) (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "1khlv69q41chgkcs1i7l651hvyx8sz3j9yhjbgky3gpqrgrmz1h6")))))) (define slurm-20.02-latest (latest-version slurm-20.02 slurm-20.02-upstream)) (define-public slurm-20.02-glicid (package (inherit slurm-20.02-latest) (name "slurm-glicid") (inputs (modify-inputs (package-inputs slurm-20.02-latest) (prepend gtk+-2 `(,mariadb "dev")))))) (define-public slurm-20.11-upstream (package (inherit slurm-20.11) (name "slurm-upstream") (version "20.11.9") (source (origin (inherit (package-source slurm-20.11)) (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "0xq2d6dm285y541dyg1h66z7svsisrq8c81ag0f601xz1cn3mq9m")) )))) (define slurm-20.11-latest (latest-version slurm-20.11 slurm-20.11-upstream)) (define-public slurm-20.11-glicid (package (inherit slurm-20.11-latest) (name "slurm-glicid") (inputs (modify-inputs (package-inputs slurm-20.11-latest) (prepend gtk+-2 `(,mariadb "dev")))))) (define-public slurm-21.08-upstream (package (inherit slurm) (name "slurm-upstream") (version "21.08.8-2") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "01lynxvfzjswq5zxfxzjqjalj1s596lh58f5g8xqb6as9gdcyzgg")))))) (define slurm-21.08-latest (latest-version slurm slurm-21.08-upstream)) (define-public slurm-21.08-glicid (package (inherit slurm-21.08-latest) (name "slurm-glicid") (inputs (modify-inputs (package-inputs slurm-21.08-latest) (prepend gtk+-2 `(,mariadb "dev")))))) (define-public slurm-22.05-upstream (package (inherit slurm) (name "slurm-upstream") (version "22.05.10") (source (origin (method url-fetch) (uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2")) (sha256 (base32 "0vjc2kc9blky6y222db21rm15yqqijyv28kwp734c5acc4mdmqac")))))) (define slurm-22.05-latest (latest-version slurm slurm-22.05-upstream)) (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 ucx openpmix-3 `(,mariadb "dev")))))) (define-public slurm-22.05-glicid (package (inherit slurm-22.05-glicid-std) (version "22.05.10") (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-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 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 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)