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 @@ (define-public gklib-suitesparse (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")