aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2022-03-24 16:12:56 +0100
committerLudovic Courtès <ludo@gnu.org>2022-03-29 11:26:58 +0200
commit2ae2a15b075dd3c8d34f0c2e3af279e192931f45 (patch)
tree54fdad055727c83395e42e70c8fe07da93bb773b /gnu
parent779acb0ba1067b27d9ae32d0e4f9ad525bcda213 (diff)
downloadguix-2ae2a15b075dd3c8d34f0c2e3af279e192931f45.tar
guix-2ae2a15b075dd3c8d34f0c2e3af279e192931f45.tar.gz
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'.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/parallel.scm18
1 files changed, 12 insertions, 6 deletions
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 5f84fb6777..d7c3586606 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -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