gnu: Add metis-5.2.

* gnu/packages/maths.scm (metis-5.2): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
David Elsing 2023-10-05 21:34:52 +00:00 committed by Ludovic Courtès
parent 998a79355c
commit 9b5dbc46e6
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -4381,6 +4381,7 @@ (define-public gklib
software from KarypisLab, such as METIS.")
(license license:asl2.0))))
;; XXX: Remove once the full SuiteSparse package is replaced.
(define-public metis
(package
(name "metis")
@ -4414,6 +4415,53 @@ (define-public metis
schemes.")
(license license:asl2.0))) ;As of version 5.0.3
(define-public metis-5.2
(package
(name "metis")
(version "5.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KarypisLab/METIS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19vi1wsi2gp2m5vb715yfnzd2g7brm4r40qxg65ysrzgl13lpmvr"))
(snippet
#~(delete-file "manual/manual.pdf"))))
(build-system cmake-build-system)
(inputs (list gklib openblas))
(arguments
(list
#:tests? #f ; Tests are not automatic
#:configure-flags
#~(list "-DSHARED=ON"
(string-append "-DGKLIB_PATH=" #$gklib))
#:phases
#~(modify-phases %standard-phases
;; The original Makefile copies some files and invokes CMake.
(add-before 'configure 'prepare-cmake
(lambda _
(substitute* "Makefile"
(("config: distclean") "config:")
(("BUILDDIR =.*")
"BUILDDIR = .\n")
((".*cmake.*") ""))
(substitute* "CMakeLists.txt"
(("build/") "../source/"))
(invoke "make" "config"))))))
(home-page "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview")
(synopsis "Graph partitioning and fill-reducing matrix ordering library")
(description
"METIS is a set of serial programs for partitioning graphs, partitioning
finite element meshes, and producing fill-reducing orderings for sparse
matrices. The algorithms implemented in METIS are based on the multilevel
recursive-bisection, multilevel k-way, and multi-constraint partitioning
schemes.")
(license license:asl2.0)))
(define-public p4est
(package
(name "p4est")