[PATCH] gnu: slurm: Install libpmi2.

  • Done
  • quality assurance status badge
Details
4 participants
  • Ludovic Courtès
  • Ludovic Courtès
  • Philippe SWARTVAGHER
  • zimoun
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 24 Mar 2022 16:26
(address . guix-patches@gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
20220324152615.30374-1-ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* 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(-)

Hi!

Previously, we were erroneously excluding libpmi2. It’s actually free,
under a lax non-copyleft license (full text below):


That library is in Debian:


Tested with slurm 20.11, 20.02, 19, and 18 as currently available.

Objections?

Thanks,
Ludo’.

Full license text:

Toggle snippet (42 lines)
COPYRIGHT

The following is a notice of limited availability of the code, and disclaimer
which must be included in the prologue of the code and in all source listings
of the code.

Copyright Notice
+ 2002 University of Chicago

Permission is hereby granted to use, reproduce, prepare derivative works, and
to redistribute to others. This software was authored by:

Mathematics and Computer Science Division
Argonne National Laboratory, Argonne IL 60439

(and)

Department of Computer Science
University of Illinois at Urbana-Champaign


GOVERNMENT LICENSE

Portions of this material resulted from work developed under a U.S.
Government Contract and are subject to the following license: the Government
is granted for itself and others acting on its behalf a paid-up, nonexclusive,
irrevocable worldwide license in this computer software to reproduce, prepare
derivative works, and perform publicly and display publicly.

DISCLAIMER

This computer code material was prepared, in part, as an account of work
sponsored by an agency of the United States Government. Neither the United
States, nor the University of Chicago, nor any of their employees, makes any
warranty express or implied, or assumes any legal liability or responsibility
for the accuracy, completeness, or usefulness of any information, apparatus,
product, or process disclosed, or represents that its use would not infringe
privately owned rights.


Toggle diff (53 lines)
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 @@ (define-public slurm
;; <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 @@ (define-public slurm
(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 @@ (define-public slurm
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
--
2.34.0
P
P
Philippe SWARTVAGHER wrote on 28 Mar 2022 13:40
(address . 54547@debbugs.gnu.org)
1316110e-1d81-1352-6afa-9a9b976ed4a6@inria.fr
Hello,

Le 24/03/2022 à 16:26, Ludovic Courtès a écrit :
Toggle quote (125 lines)
> From: Ludovic Courtès <ludovic.courtes@inria.fr>
>
> * 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(-)
>
> Hi!
>
> Previously, we were erroneously excluding libpmi2. It’s actually free,
> under a lax non-copyleft license (full text below):
>
> https://github.com/SchedMD/slurm/blob/master/contribs/pmi2/COPYRIGHT
>
> That library is in Debian:
>
> https://packages.debian.org/sid/libpmi2-0-dev
>
> Tested with slurm 20.11, 20.02, 19, and 18 as currently available.
>
> Objections?
>
> Thanks,
> Ludo’.
>
> Full license text:
>
> --8<---------------cut here---------------start------------->8---
>
> COPYRIGHT
>
> The following is a notice of limited availability of the code, and disclaimer
> which must be included in the prologue of the code and in all source listings
> of the code.
>
> Copyright Notice
> + 2002 University of Chicago
>
> Permission is hereby granted to use, reproduce, prepare derivative works, and
> to redistribute to others. This software was authored by:
>
> Mathematics and Computer Science Division
> Argonne National Laboratory, Argonne IL 60439
>
> (and)
>
> Department of Computer Science
> University of Illinois at Urbana-Champaign
>
>
> GOVERNMENT LICENSE
>
> Portions of this material resulted from work developed under a U.S.
> Government Contract and are subject to the following license: the Government
> is granted for itself and others acting on its behalf a paid-up, nonexclusive,
> irrevocable worldwide license in this computer software to reproduce, prepare
> derivative works, and perform publicly and display publicly.
>
> DISCLAIMER
>
> This computer code material was prepared, in part, as an account of work
> sponsored by an agency of the United States Government. Neither the United
> States, nor the University of Chicago, nor any of their employees, makes any
> warranty express or implied, or assumes any legal liability or responsibility
> for the accuracy, completeness, or usefulness of any information, apparatus,
> product, or process disclosed, or represents that its use would not infringe
> privately owned rights.
> --8<---------------cut here---------------end--------------->8---
>
>
> 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 @@ (define-public slurm
> ;; <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 @@ (define-public slurm
> (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 @@ (define-public slurm
> 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


Tested, and works as expected: slurm/pmi2.h is detected by other
packages which require it.

--
Philippe
L
L
Ludovic Courtès wrote on 29 Mar 2022 12:07
Re: bug#54547: [PATCH] gnu: slurm: Install libpmi2.
(name . Philippe SWARTVAGHER)(address . philippe.swartvagher@inria.fr)(address . 54547-done@debbugs.gnu.org)
87v8vx137t.fsf_-_@gnu.org
Hi,

Philippe SWARTVAGHER <philippe.swartvagher@inria.fr> skribis:

Toggle quote (3 lines)
> Tested, and works as expected: slurm/pmi2.h is detected by other
> packages which require it.

Pushed as 2ae2a15b075dd3c8d34f0c2e3af279e192931f45, thanks for checking!

Ludo’.
Closed
Z
Z
zimoun wrote on 29 Mar 2022 13:33
Re: [bug#54547] [PATCH] gnu: slurm: Install libpmi2.
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAJ3okZ1yeEECtjeMRoQRH5sAteSqq5sQaff+wobDRBO8-YvBnw@mail.gmail.com
Hi,

On Thu, 24 Mar 2022 at 16:33, Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (2 lines)
> Objections?

No. :-)

LGTM.

Cheers,
simon
?