summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2016-02-04 18:08:07 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2016-02-04 18:08:07 -0700
commit15324c276fdf233746141a5d03cf27b0a937057e (patch)
treef3631bb00e510c7c3951fc37ff1ec336264975e2 /var
parentb98c120fb8e64a78566d49261df15e75885975e0 (diff)
parente2a95d4b5025a9965ab231e0c43fe9bebd88ca92 (diff)
downloadspack-15324c276fdf233746141a5d03cf27b0a937057e.tar.gz
spack-15324c276fdf233746141a5d03cf27b0a937057e.tar.bz2
spack-15324c276fdf233746141a5d03cf27b0a937057e.tar.xz
spack-15324c276fdf233746141a5d03cf27b0a937057e.zip
Merge pull request #426 from epfl-scitas/packages/suitesparse
Added package : SuiteSparse
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/SuiteSparse/package.py27
-rw-r--r--var/spack/repos/builtin/packages/eigen/package.py5
2 files changed, 30 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/SuiteSparse/package.py b/var/spack/repos/builtin/packages/SuiteSparse/package.py
new file mode 100644
index 0000000000..6e130d118f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/SuiteSparse/package.py
@@ -0,0 +1,27 @@
+from spack import *
+
+
+class Suitesparse(Package):
+ """
+ SuiteSparse is a suite of sparse matrix algorithms
+ """
+ homepage = 'http://faculty.cse.tamu.edu/davis/suitesparse.html'
+ url = 'http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.5.1.tar.gz'
+
+ version('4.5.1', 'f0ea9aad8d2d1ffec66a5b6bfeff5319')
+
+ depends_on('blas')
+ depends_on('lapack')
+
+ depends_on('metis@5.1.0', when='@4.5.1')
+
+ def install(self, spec, prefix):
+ # The build system of SuiteSparse is quite old-fashioned
+ # It's basically a plain Makefile which include an header (SuiteSparse_config/SuiteSparse_config.mk)
+ # with a lot of convoluted logic in it.
+ # Any kind of customization will need to go through filtering of that file
+
+ # FIXME : this actually uses the current workaround
+ # FIXME : (blas / lapack always provide libblas and liblapack as aliases)
+ make('install', 'INSTALL=%s' % prefix, 'BLAS=-lblas', 'LAPACK=-llapack')
+
diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py
index 44ee6819f5..e40046b452 100644
--- a/var/spack/repos/builtin/packages/eigen/package.py
+++ b/var/spack/repos/builtin/packages/eigen/package.py
@@ -41,13 +41,14 @@ class Eigen(Package):
variant('metis', default=True, description='Enables metis backend')
variant('scotch', default=True, description='Enables scotch backend')
variant('fftw', default=True, description='Enables FFTW backend')
+ variant('suitesparse', default=True, description='Enables SuiteSparse support')
- # TODO : dependency on SuiteSparse, googlehash, superlu, adolc missing
+ # TODO : dependency on googlehash, superlu, adolc missing
depends_on('metis', when='+metis')
depends_on('scotch', when='+scotch')
depends_on('fftw', when='+fftw')
-
+ depends_on('SuiteSparse', when='+suitesparse')
depends_on('mpfr@2.3.0:') # Eigen 3.2.7 requires at least 2.3.0
depends_on('gmp')