guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: gnu: SuiteSparse: Update to 5.7.1.


From: guix-commits
Subject: branch master updated: gnu: SuiteSparse: Update to 5.7.1.
Date: Wed, 04 Mar 2020 18:08:28 -0500

This is an automated email from the git hooks/post-receive script.

lfam pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new aac148a  gnu: SuiteSparse: Update to 5.7.1.
aac148a is described below

commit aac148a87b9a79b9992b8b1a9d76c217175d4a88
Author: Felix Gruber <address@hidden>
AuthorDate: Wed Mar 4 22:41:08 2020 +0100

    gnu: SuiteSparse: Update to 5.7.1.
    
    * gnu/packages/maths.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. Apply new 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/patches/suitesparse-mongoose-cmake.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    
    Signed-off-by: Leo Famulari <address@hidden>
---
 gnu/local.mk                                       |  1 +
 gnu/packages/maths.scm                             | 26 ++++++++++++++++-----
 .../patches/suitesparse-mongoose-cmake.patch       | 27 ++++++++++++++++++++++
 3 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 5ea9323..22c11af 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1408,6 +1408,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/soundconverter-remove-gconf-dependency.patch    \
   %D%/packages/patches/spice-fix-test-armhf.patch              \
   %D%/packages/patches/steghide-fixes.patch                    \
+  %D%/packages/patches/suitesparse-mongoose-cmake.patch                \
   %D%/packages/patches/superlu-dist-awpm-grid.patch            \
   %D%/packages/patches/superlu-dist-scotchmetis.patch          \
   %D%/packages/patches/supertux-unbundle-squirrel.patch                \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index cab84a5..a990ffc 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2019 Steve Sprang <address@hidden>
 ;;; Copyright © 2019 Robert Smith <address@hidden>
 ;;; Copyright © 2020 Jakub Kądziołka <address@hidden>
+;;; Copyright © 2020 Felix Gruber <address@hidden>
 ;;;
 ;;; 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 (required to build 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 0000000..e5062f9
--- /dev/null
+++ b/gnu/packages/patches/suitesparse-mongoose-cmake.patch
@@ -0,0 +1,27 @@
+Fix required by suitesparse to build Mongoose
+
+The CMakeLists.txt of Mongoose assumes that SuiteSparse_config has been
+installed into the suitesparse source directory, which is not the case
+for us, as we are building suitesparse out-of-tree.
+
+SuiteSparse_config can instead be found in the ${CMAKE_INSTALL_PREFIX}
+directory.
+
+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 ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]