mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00: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:
parent
779acb0ba1
commit
2ae2a15b07
1 changed files with 12 additions and 6 deletions
|
@ -182,19 +182,20 @@ when jobs finish.")
|
||||||
;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00534.html>
|
;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00534.html>
|
||||||
;; there are non-free bits under contribs/, though it's not
|
;; there are non-free bits under contribs/, though it's not
|
||||||
;; clear which ones. libpmi is clearly free (it used to be
|
;; clear which ones. libpmi is clearly free (it used to be
|
||||||
;; under src/api/), so remove all of contribs/ except
|
;; under src/api/) and so is pmi2 (lax non-copyleft
|
||||||
;; contribs/pmi/.
|
;; license), so remove all of contribs/ except pmi and pmi2.
|
||||||
(substitute* "configure.ac"
|
(substitute* "configure.ac"
|
||||||
(("^[[:space:]]+contribs/(.*)$" all directory)
|
(("^[[:space:]]+contribs/(.*)$" all directory)
|
||||||
(if (and (string-prefix? "pmi" directory)
|
(if (string-prefix? "pmi" directory)
|
||||||
(not (string-prefix? "pmi2" directory)))
|
|
||||||
all
|
all
|
||||||
"")))
|
"")))
|
||||||
|
|
||||||
(rename-file "contribs/pmi" "tmp-pmi")
|
(rename-file "contribs/pmi" "tmp-pmi")
|
||||||
|
(rename-file "contribs/pmi2" "tmp-pmi2")
|
||||||
(delete-file-recursively "contribs")
|
(delete-file-recursively "contribs")
|
||||||
(mkdir "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,
|
;; FIXME: More optional inputs could be added,
|
||||||
;; in particular mysql and gtk+.
|
;; in particular mysql and gtk+.
|
||||||
(inputs (list freeipmi
|
(inputs (list freeipmi
|
||||||
|
@ -231,7 +232,10 @@ when jobs finish.")
|
||||||
(add-after 'install 'install-libpmi
|
(add-after 'install 'install-libpmi
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Open MPI expects libpmi to be provided by Slurm so install it.
|
;; 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/")
|
(home-page "https://slurm.schedmd.com/")
|
||||||
(synopsis "Workload manager for cluster computing")
|
(synopsis "Workload manager for cluster computing")
|
||||||
(description
|
(description
|
||||||
|
@ -246,6 +250,8 @@ by managing a queue of pending work.")
|
||||||
license:isc ; src/common/strlcpy.c
|
license:isc ; src/common/strlcpy.c
|
||||||
license:lgpl2.1+ ; hilbert.[ch], src/common/slurm_time.h
|
license:lgpl2.1+ ; hilbert.[ch], src/common/slurm_time.h
|
||||||
license:zlib ; src/common/strnatcmp.c
|
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
|
license:gpl2+)))) ; the rest, often with OpenSSL exception
|
||||||
|
|
||||||
;; The SLURM client/daemon protocol and file format changes from time to time
|
;; The SLURM client/daemon protocol and file format changes from time to time
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue