guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/06: gnu: slurm: Install libpmi2.


From: guix-commits
Subject: 01/06: gnu: slurm: Install libpmi2.
Date: Tue, 29 Mar 2022 06:07:00 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 2ae2a15b075dd3c8d34f0c2e3af279e192931f45
Author: Ludovic Courtès <ludovic.courtes@inria.fr>
AuthorDate: Thu Mar 24 16:12:56 2022 +0100

    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'.
---
 gnu/packages/parallel.scm | 18 ++++++++++++------
 1 file 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]