[PATCH] add parmetis

  • Done
  • quality assurance status badge
Details
3 participants
  • Franck Pérignon
  • Leo Famulari
  • Ludovic Courtès
Owner
unassigned
Submitted by
Franck Pérignon
Severity
normal
F
L
L
Leo Famulari wrote on 6 Apr 2021 19:43
Re: [bug#47613] [PATCH]  add parmetis
(name . Franck Pérignon)(address . Franck.Perignon@univ-grenoble-alpes.fr)(address . 47613@debbugs.gnu.org)
YGyd353ZxjBzLw29@jasmine.lan
Subject: [PATCH] [PATCH] Add parmetis

Thanks!


+ (build-system cmake-build-system)
+ (native-inputs `(("gcc" ,gcc)
+ ("openmpi" ,openmpi)))

GCC is made available via the cmake-build-system, so I think we could
leave it out of native-inputs. Or am I missing something?

+ (arguments
+ `(#:tests? #f ;no tests
+ #:configure-flags `("-DSHARED=ON"
+ ,"-DCMAKE_C_COMPILER=mpicc"
+ ,"-DCMAKE_CXX_COMPILER=mpic++"
+ ,"-DCMAKE_VERBOSE_MAKEFILE=1"
+ ,(string-append "-DGKLIB_PATH=../parmetis-4.0.3/metis/GKlib")
+ ,(string-append "-DMETIS_PATH=../parmetis-4.0.3/metis" ))))

We can avoid hard-coding the version string here, like this:

------
Toggle diff (51 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index bdfa051db1..f0ebdd6009 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3348,8 +3348,10 @@ schemes.")
,"-DCMAKE_C_COMPILER=mpicc"
,"-DCMAKE_CXX_COMPILER=mpic++"
,"-DCMAKE_VERBOSE_MAKEFILE=1"
- ,(string-append "-DGKLIB_PATH=../parmetis-4.0.3/metis/GKlib")
- ,(string-append "-DMETIS_PATH=../parmetis-4.0.3/metis" ))))
+ ,(string-append "-DGKLIB_PATH=../parmetis-"
+ ,(package-version this-version) "/metis/GKlib"))
+ ,(string-append "-DMETIS_PATH=../parmetis-"
+ ,(package-version this-version) "/metis"))))
(home-page "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview")
(synopsis "Parallel Graph Partitioning and Fill-reducing Matrix Ordering")
(description
------

+ (license license:asl2.0)))

There is a problem with the licensing, however. In the source code,
LICENSE.txt contains this:

------
Copyright & License Notice
--------------------------

The ParMETIS package is copyrighted by the Regents of the
University of Minnesota. It can be freely used for educational and
research purposes by non-profit institutions and US government
agencies only. Other organizations are allowed to use ParMETIS
only for evaluation purposes, and any further uses will require prior
approval. The software may not be sold or redistributed without prior
approval. One may make copies of the software for their use provided
that the copies, are not sold or distributed, are used under the same
terms and conditions.

As unestablished research software, this code is provided on an
``as is'' basis without warranty of any kind, either expressed or
implied. The downloading, or executing any part of this software
constitutes an implicit agreement to these terms. These terms and
conditions are subject to change at any time without prior notice.
------

I saw in 'metis/Changelog' that a relicensing to Apache 2 was done for
the "metis" program in version 5.0.3. But, this is "parmetis", version
4.0.3.

If the copyright owners intend to release this as free software, they
need to change the 'LICENSE.txt' file.
F
F
Franck Pérignon wrote on 7 Apr 2021 16:02
Re: [bug#47613] [PATCH] add parmetis
(name . Leo Famulari)(address . leo@famulari.name)(address . 47613@debbugs.gnu.org)
345E7B86-C347-4EC5-83AB-7D0C6D800489@univ-grenoble-alpes.fr
Thanks for the review (of this and of scotch-shared)

Yes, you’re right, gcc native-inputs can be removed and yes, it’s probably better to avoid hard-coding version string
A new patch is attached that works for me.

Regarding the license, I missed this. Is it possible to directly attached the LICENSE.txt in the guix recipe ? If so, what’s the proper syntax ?

Thanks
Toggle quote (78 lines)
> Le 6 avr. 2021 à 19:43, Leo Famulari <leo@famulari.name> a écrit :
>
> Subject: [PATCH] [PATCH] Add parmetis
>
> Thanks!
>
>
> + (build-system cmake-build-system)
> + (native-inputs `(("gcc" ,gcc)
> + ("openmpi" ,openmpi)))
>
> GCC is made available via the cmake-build-system, so I think we could
> leave it out of native-inputs. Or am I missing something?
>

> + (arguments
> + `(#:tests? #f ;no tests
> + #:configure-flags `("-DSHARED=ON"
> + ,"-DCMAKE_C_COMPILER=mpicc"
> + ,"-DCMAKE_CXX_COMPILER=mpic++"
> + ,"-DCMAKE_VERBOSE_MAKEFILE=1"
> + ,(string-append "-DGKLIB_PATH=../parmetis-4.0.3/metis/GKlib")
> + ,(string-append "-DMETIS_PATH=../parmetis-4.0.3/metis" ))))
>
> We can avoid hard-coding the version string here, like this:
>
> ------
> diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
> index bdfa051db1..f0ebdd6009 100644
> --- a/gnu/packages/maths.scm
> +++ b/gnu/packages/maths.scm
> @@ -3348,8 +3348,10 @@ schemes.")
> ,"-DCMAKE_C_COMPILER=mpicc"
> ,"-DCMAKE_CXX_COMPILER=mpic++"
> ,"-DCMAKE_VERBOSE_MAKEFILE=1"
> - ,(string-append "-DGKLIB_PATH=../parmetis-4.0.3/metis/GKlib")
> - ,(string-append "-DMETIS_PATH=../parmetis-4.0.3/metis" ))))
> + ,(string-append "-DGKLIB_PATH=../parmetis-"
> + ,(package-version this-version) "/metis/GKlib"))
> + ,(string-append "-DMETIS_PATH=../parmetis-"
> + ,(package-version this-version) "/metis"))))
> (home-page "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview")
> (synopsis "Parallel Graph Partitioning and Fill-reducing Matrix Ordering")
> (description
> ------
>
> + (license license:asl2.0)))
>
> There is a problem with the licensing, however. In the source code,
> LICENSE.txt contains this:
>
> ------
> Copyright & License Notice
> --------------------------
>
> The ParMETIS package is copyrighted by the Regents of the
> University of Minnesota. It can be freely used for educational and
> research purposes by non-profit institutions and US government
> agencies only. Other organizations are allowed to use ParMETIS
> only for evaluation purposes, and any further uses will require prior
> approval. The software may not be sold or redistributed without prior
> approval. One may make copies of the software for their use provided
> that the copies, are not sold or distributed, are used under the same
> terms and conditions.
>
> As unestablished research software, this code is provided on an
> ``as is'' basis without warranty of any kind, either expressed or
> implied. The downloading, or executing any part of this software
> constitutes an implicit agreement to these terms. These terms and
> conditions are subject to change at any time without prior notice.
> ------
>
> I saw in 'metis/Changelog' that a relicensing to Apache 2 was done for
> the "metis" program in version 5.0.3. But, this is "parmetis", version
> 4.0.3.
>
> If the copyright owners intend to release this as free software, they
> need to change the 'LICENSE.txt' file.
L
L
Ludovic Courtès wrote on 8 Apr 2021 09:16
Re: bug#47613: [PATCH] add parmetis
(name . Franck Pérignon)(address . Franck.Perignon@univ-grenoble-alpes.fr)
87blapfdpn.fsf_-_@gnu.org
Hi Franck,

Franck Pérignon <Franck.Perignon@univ-grenoble-alpes.fr> skribis:

Toggle quote (2 lines)
> Regarding the license, I missed this. Is it possible to directly attached the LICENSE.txt in the guix recipe ? If so, what’s the proper syntax ?

Guix proper only includes free software:


So I’m afraid we cannot get Parmetis in Guix until it’s free (it would
be interesting to discuss this with the authors). :-/

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 9 Apr 2021 17:58
control message for bug #47613
(address . control@debbugs.gnu.org)
87o8en4fhk.fsf@gnu.org
tags 47613 fixed
close 47613
quit
?