GNU bug report logs -
#39839
[PATCH] gnu: suitesparse: Update to 5.7.1
Previous Next
Reported by: Felix Gruber <felgru <at> posteo.net>
Date: Sat, 29 Feb 2020 16:31:02 UTC
Severity: normal
Tags: patch
Done: Leo Famulari <leo <at> famulari.name>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* gnu/packages/math.scm (suitesparse): Update to 5.7.1
[source]: The latest releases of SuiteSparse have only been published on
GitHub. Fetch from git tag as GitHub releases page only contains
autogenerated tarballs that guix lint complains about.
[patches]: add patch for Mongoose's CMakeList.txt to find
SuiteSparse_config.
[arguments]: Add cmake flags used by new components GraphBLAS and
Mongoose.
[native-inputs]: add cmake and m4 needed to build GraphBLAS and Mongoose.
---
gnu/packages/maths.scm | 26 ++++++++++++++-----
.../patches/suitesparse-mongoose-cmake.patch | 18 +++++++++++++
2 files changed, 38 insertions(+), 6 deletions(-)
create mode 100644 gnu/packages/patches/suitesparse-mongoose-cmake.patch
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index cab84a520b..cee626f179 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2019 Steve Sprang <scs <at> stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith <at> posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
+;;; Copyright © 2020 Felix Gruber <felgru <at> posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3405,16 +3406,18 @@ Fresnel integrals, and similar related functions as well.")
(define-public suitesparse
(package
(name "suitesparse")
- (version "4.5.5")
+ (version "5.7.1")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DrTimothyAldenDavis/SuiteSparse.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1dnr6pmjzc2qmbkmb4shigx1l74ilf6abn7svyd6brxgvph8vadr"))
+ "174p3l78kv9gaa0i5hflyai2ydwnjzh34k9938sl4aa3li0543s8"))
+ (patches (search-patches "suitesparse-mongoose-cmake.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled metis source
@@ -3429,6 +3432,14 @@ Fresnel integrals, and similar related functions as well.")
"BLAS=-lblas"
"TBB=-ltbb"
"MY_METIS_LIB=-lmetis"
+ ;; Flags for cmake (only GraphBLAS and Mongoose)
+ (string-append "CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")
+ " -DCMAKE_VERBOSE_MAKEFILE=ON"
+ " -DCMAKE_C_FLAGS_RELEASE=\"$(CFLAGS) $(CPPFLAGS)\""
+ " -DCMAKE_CXX_FLAGS_RELEASE=\"$(CXXFLAGS) $(CPPFLAGS)\""
+ " -DCMAKE_SKIP_RPATH=TRUE"
+ " -DCMAKE_BUILD_TYPE=Release")
(string-append "INSTALL_LIB="
(assoc-ref %outputs "out") "/lib")
(string-append "INSTALL_INCLUDE="
@@ -3441,6 +3452,9 @@ Fresnel integrals, and similar related functions as well.")
`(("tbb" ,tbb)
("lapack" ,lapack)
("metis" ,metis)))
+ (native-inputs
+ `(("cmake" ,cmake)
+ ("m4" ,m4)))
(home-page "http://faculty.cse.tamu.edu/davis/suitesparse.html")
(synopsis "Suite of sparse matrix software")
(description
diff --git a/gnu/packages/patches/suitesparse-mongoose-cmake.patch b/gnu/packages/patches/suitesparse-mongoose-cmake.patch
new file mode 100644
index 0000000000..e224d73a30
--- /dev/null
+++ b/gnu/packages/patches/suitesparse-mongoose-cmake.patch
@@ -0,0 +1,18 @@
+diff --git a/Mongoose/CMakeLists.txt b/Mongoose/CMakeLists.txt
+index 7e134ab..76fa9e2 100644
+--- a/Mongoose/CMakeLists.txt
++++ b/Mongoose/CMakeLists.txt
+@@ -148,10 +148,10 @@ set(CMAKE_CXX_STANDARD 11)
+ #set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+ # determine which SuiteSparse_config to use
+-if (EXISTS ${PROJECT_SOURCE_DIR}/../SuiteSparse_config)
+- message(STATUS "External ../SuiteSparse_config" ${BoldBlue} " found" ${ColourReset} ".")
++if (EXISTS ${CMAKE_INSTALL_PREFIX})
++ message(STATUS "External SuiteSparse_config" ${BoldBlue} " found" ${ColourReset} ".")
+ set ( SUITESPARSE_CONFIG_DIR ${PROJECT_SOURCE_DIR}/../SuiteSparse_config )
+- link_directories ( ${PROJECT_SOURCE_DIR}/../lib )
++ link_directories ( ${CMAKE_INSTALL_PREFIX}/lib )
+ message ( STATUS "Note: ../SuiteSparse_config must be compiled before compiling Mongoose" )
+ set ( SUITESPARSE_CONFIG_LIBRARY suitesparseconfig )
+ else ()
--
2.25.1
This bug report was last modified 5 years and 134 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.