mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-19 14:07:01 +01:00
gnu: Add suitesparse-3.
* gnu/packages/maths.scm (suitesparse-3): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
f4d7b901db
commit
13b2d110ee
1 changed files with 89 additions and 0 deletions
|
@ -5202,6 +5202,95 @@ (define-public suitesparse
|
|||
;; GPUQREngine, RBio, SuiteSparse_GPURuntime, SuiteSparseQR, UMFPACK
|
||||
(license (list license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
|
||||
;; This outdated version is used to build the scilab package.
|
||||
(define-public suitesparse-3
|
||||
(package
|
||||
(inherit suitesparse)
|
||||
(name "suitesparse")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/DrTimothyAldenDavis/SuiteSparse")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wxk755nzps0c9la24zqknqkzjp6rcj5q9jhd973mff1pqja3clz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
#:make-flags
|
||||
,#~(list
|
||||
(string-append "CC=gcc")
|
||||
"AR=gcc -shared -o"
|
||||
"RANLIB=touch"
|
||||
"CFLAGS=-O3 -fPIC -I../Include"
|
||||
"TBB=-ltbb"
|
||||
|
||||
;; Disable metis@4 (nonfree) support.
|
||||
"CHOLMOD_CONFIG=-DNPARTITION"
|
||||
"METIS="
|
||||
"METIS_PATH="
|
||||
|
||||
;; The default is to link against netlib lapack. Use OpenBLAS
|
||||
;; instead.
|
||||
"BLAS=-lopenblas" "LAPACK=-lopenblas"
|
||||
|
||||
(string-append "INSTALL_LIB="
|
||||
(assoc-ref %outputs "out") "/lib")
|
||||
(string-append "INSTALL_INCLUDE="
|
||||
(assoc-ref %outputs "out") "/include")
|
||||
"library")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'correct-build-configuration
|
||||
(lambda _
|
||||
;; Invert build order: CHOLMOD before KLU.
|
||||
(substitute* "Makefile"
|
||||
(("\t\\( cd CHOLMOD ; \\$\\(MAKE\\) \\)\n$")
|
||||
"")
|
||||
(("\\( cd KLU ; \\$\\(MAKE\\) \\)")
|
||||
(string-append "( cd CHOLMOD ; $(MAKE) )\n\t"
|
||||
"( cd KLU ; $(MAKE) )")))
|
||||
;; Build shared libraries.
|
||||
(substitute* (find-files "." "akefile$")
|
||||
(("lib([a-z]+)\\.a" all libname)
|
||||
(string-append "lib" libname ".so")))
|
||||
;; Delete broken KLU Demo step.
|
||||
(substitute* "KLU/Makefile"
|
||||
(("\\( cd Demo ; \\$\\(MAKE\\) \\)")
|
||||
""))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
;; Install libraries.
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(install-file
|
||||
x
|
||||
(string-append (assoc-ref %outputs "out") "/lib")))
|
||||
(find-files "." "\\.so$"))
|
||||
;; Install header files.
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(install-file
|
||||
x
|
||||
(string-append (assoc-ref %outputs "out") "/include")))
|
||||
(find-files "." "\\.h$"))))
|
||||
,@(if (target-riscv64?)
|
||||
;; GraphBLAS FTBFS on riscv64-linux
|
||||
`((add-after 'unpack 'skip-graphblas
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
((".*cd GraphBLAS.*") "")
|
||||
(("metisinstall gbinstall moninstall")
|
||||
"moninstall")))))
|
||||
'())
|
||||
(delete 'configure)))) ;no configure script
|
||||
(inputs
|
||||
(list tbb openblas gmp mpfr))))
|
||||
|
||||
(define-public atlas
|
||||
(package
|
||||
(name "atlas")
|
||||
|
|
Loading…
Reference in a new issue