diff options
author | David Elsing <david.elsing@posteo.net> | 2023-10-05 21:34:54 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-10-06 12:26:46 +0200 |
commit | 7c5d3592e75cd413eed10949418046a96097ae34 (patch) | |
tree | c56dcc88f716126f1a11cfb5dc8305a79b7d894d /gnu/packages/maths.scm | |
parent | 95ecbdc9b162998c55eb7b355c59fa5205a4373c (diff) |
gnu: Add metis-suitesparse.
* gnu/packages/maths.scm (metis-suitesparse): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a096b24cfe..e2018d4540 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5422,6 +5422,32 @@ COLAMD which has the the option to apply constraints to the ordering.") (modify-inputs (package-inputs gklib) (prepend suitesparse-config))))) +(define-public metis-suitesparse + (package/inherit metis-5.2 + (name "metis-suitesparse") + (arguments + (substitute-keyword-arguments (package-arguments metis-5.2) + ((#:phases phases) + #~(modify-phases #$phases + (add-before 'prepare-cmake 'set-idxwidth + (lambda _ + (substitute* "Makefile" + (("IDXWIDTH.*=.*") + "IDXWIDTH = \"\\#define IDXTYPEWIDTH 64\"\n")))) + (add-before 'prepare-cmake 'link-suitesparse-config + (lambda _ + (substitute* "programs/CMakeLists.txt" + (("include_directories.*" all) + (string-append + all "find_package(SuiteSparse_config REQUIRED)\n")) + (("(target_link_libraries.*)GKlib(.*)" _ start end) + (string-append + start "GKlib ${SUITESPARSE_CONFIG_LIBRARIES}" end))))))) + ((#:configure-flags _) + #~(list "-DSHARED=ON" + (string-append "-DGKLIB_PATH=" #$gklib-suitesparse))))) + (inputs (list suitesparse-config gklib-suitesparse)))) + (define-public suitesparse (package (name "suitesparse") |