mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-29 21:58:36 +02:00
242 lines
8.4 KiB
Scheme
242 lines
8.4 KiB
Scheme
(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-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 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-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)
|
|
|