summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
authorDavid Elsing <david.elsing@posteo.net>2023-10-05 21:34:52 +0000
committerLudovic Courtès <ludo@gnu.org>2023-10-06 12:26:45 +0200
commit9b5dbc46e6945fbb03cdf5918d93ba06de3deb2b (patch)
tree22eefc1faf91a078db61774eeb8f892be1638a8c /gnu/packages/maths.scm
parent998a79355c2ad5ce6251d0b29896c3fbcc4b4973 (diff)
gnu: Add metis-5.2.
* gnu/packages/maths.scm (metis-5.2): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index cef899fc8a..76d770466f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4381,6 +4381,7 @@ bio-chemistry.")
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 @@ recursive-bisection, multilevel k-way, and multi-constraint partitioning
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")