3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

gnu: slurm: Install libpmi2.

* gnu/packages/parallel.scm (slurm)[source](snippet): Let PMI2 through.
[arguments]: In phase 'install-libpmi', install "contribs/pmi2".
[license]: Add 'non-copyleft'.
This commit is contained in:
Ludovic Courtès 2022-03-24 16:12:56 +01:00 committed by Ludovic Courtès
parent 779acb0ba1
commit 2ae2a15b07
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -182,19 +182,20 @@ when jobs finish.")
;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00534.html>
;; there are non-free bits under contribs/, though it's not
;; clear which ones. libpmi is clearly free (it used to be
;; under src/api/), so remove all of contribs/ except
;; contribs/pmi/.
;; under src/api/) and so is pmi2 (lax non-copyleft
;; license), so remove all of contribs/ except pmi and pmi2.
(substitute* "configure.ac"
(("^[[:space:]]+contribs/(.*)$" all directory)
(if (and (string-prefix? "pmi" directory)
(not (string-prefix? "pmi2" directory)))
(if (string-prefix? "pmi" directory)
all
"")))
(rename-file "contribs/pmi" "tmp-pmi")
(rename-file "contribs/pmi2" "tmp-pmi2")
(delete-file-recursively "contribs")
(mkdir "contribs")
(rename-file "tmp-pmi" "contribs/pmi")))))
(rename-file "tmp-pmi" "contribs/pmi")
(rename-file "tmp-pmi2" "contribs/pmi2")))))
;; FIXME: More optional inputs could be added,
;; in particular mysql and gtk+.
(inputs (list freeipmi
@ -231,7 +232,10 @@ when jobs finish.")
(add-after 'install 'install-libpmi
(lambda _
;; Open MPI expects libpmi to be provided by Slurm so install it.
(invoke "make" "install" "-C" "contribs/pmi"))))))
(invoke "make" "install" "-C" "contribs/pmi")
;; Others expect pmi2.
(invoke "make" "install" "-C" "contribs/pmi2"))))))
(home-page "https://slurm.schedmd.com/")
(synopsis "Workload manager for cluster computing")
(description
@ -246,6 +250,8 @@ by managing a queue of pending work.")
license:isc ; src/common/strlcpy.c
license:lgpl2.1+ ; hilbert.[ch], src/common/slurm_time.h
license:zlib ; src/common/strnatcmp.c
(license:non-copyleft ;contribs/pmi2, Argonne Natl. Lab.
"https://github.com/SchedMD/slurm/blob/master/contribs/pmi2/COPYRIGHT")
license:gpl2+)))) ; the rest, often with OpenSSL exception
;; The SLURM client/daemon protocol and file format changes from time to time