Merge pull request #426 from epfl-scitas/packages/suitesparse
Added package : SuiteSparse
This commit is contained in:
commit
15324c276f
2 changed files with 30 additions and 2 deletions
27
var/spack/repos/builtin/packages/SuiteSparse/package.py
Normal file
27
var/spack/repos/builtin/packages/SuiteSparse/package.py
Normal file
|
@ -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')
|
||||
|
|
@ -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')
|
||||
|
||||
|
|
Loading…
Reference in a new issue