aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/maths.scm
diff options
context:
space:
mode:
authorEfraim Flashner2019-07-08 04:43:29 -0500
committerEfraim Flashner2019-07-08 04:43:29 -0500
commit1ad9db9d7f51dc11421c9c79006436bf47418571 (patch)
treef2d06dd9db9d803371154bfa11a96297bc288973 /gn/packages/maths.scm
parent6c1ba9bd089737de1a1b78cb03bb2297b775b0b1 (diff)
downloadguix-bioinformatics-1ad9db9d7f51dc11421c9c79006436bf47418571.tar.gz
gn: Add suitesparse-3.5.0.
Diffstat (limited to 'gn/packages/maths.scm')
-rw-r--r--gn/packages/maths.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gn/packages/maths.scm b/gn/packages/maths.scm
index 52e2a28..097000b 100644
--- a/gn/packages/maths.scm
+++ b/gn/packages/maths.scm
@@ -79,3 +79,49 @@
(sha256
(base32
"1cddqsdcfwavdklg7hsfifppsry81dx3c17wzk6r22mjjpwcihmb"))))))
+
+(define-public suitesparse-3.5.0
+ (package
+ (inherit suitesparse)
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0npn7c1j5qag5m2r0cmh3bwc42c1jk8k2yg2cfyxlcrp0h7wn4rc"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments suitesparse)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'build-without-metis
+ (lambda _
+ (substitute* "UFconfig/UFconfig.mk"
+ (("CHOLMOD_CONFIG = ")
+ "CHOLMOD_CONFIG = -DNPARTITION")
+ (("SPQR_CONFIG = ")
+ "SPQR_CONFIG = -DNPARTITION")
+ (("METIS = ../../metis-4.0/libmetis.a")
+ "METIS =")
+ (("METIS_PATH = .*")
+ "METIS_PATH = \n"))
+ (substitute* "Makefile"
+ (("\\( .*CHOLMOD .*") "\n"))
+ #t))
+ (add-after 'unpack 'fix-source
+ (lambda _
+ (substitute* "UFconfig/Makefile"
+ (("Lib/") ""))
+ #t))
+ (add-before 'install 'prepare-directories
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/lib"))
+ (mkdir-p (string-append out "/include")))
+ #t))))))
+ (inputs
+ `(,@(fold alist-delete (package-inputs suitesparse)
+ '("metis"))))))