From ff0d039a1fea0b713455c38ab4df6a5cbe0d4783 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 15 Oct 2015 08:48:39 +0200 Subject: trilinos : prototype for the whole package --- var/spack/packages/trilinos/package.py | 51 +++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/var/spack/packages/trilinos/package.py b/var/spack/packages/trilinos/package.py index 2fa4f3cc84..6f7cc253dd 100644 --- a/var/spack/packages/trilinos/package.py +++ b/var/spack/packages/trilinos/package.py @@ -16,25 +16,50 @@ # from spack import * + class Trilinos(Package): - """FIXME: put a proper description of your package here.""" - # FIXME: add a proper url for your package's homepage here. - homepage = "http://www.example.com" - url = "http://trilinos.csbsju.edu/download/files/trilinos-12.2.1-Source.tar.gz" + """ + The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented + software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. + A unique design feature of Trilinos is its focus on packages. + """ + homepage = "https://trilinos.org/" + url = "http://trilinos.csbsju.edu/download/files/trilinos-12.2.1-Source.tar.gz" - version('12.2.1' , '6161926ea247863c690e927687f83be9') - version('12.0.1' , 'bd99741d047471e127b8296b2ec08017') + version('12.2.1', '6161926ea247863c690e927687f83be9') + version('12.0.1', 'bd99741d047471e127b8296b2ec08017') version('11.14.3', '2f4f83f8333e4233c57d0f01c4b57426') version('11.14.2', 'a43590cf896c677890d75bfe75bc6254') version('11.14.1', '40febc57f76668be8b6a77b7607bb67f') - # FIXME: Add dependencies if this package requires them. - # depends_on("foo") + variant('mpi', default=True, description='Add a dependency on MPI and enables MPI dependent packages') + + # Everything should be compiled with -fpic + depends_on('blas') + depends_on('lapack') + depends_on('boost') + depends_on('netcdf') + depends_on('matio') + depends_on('glm') + depends_on('swig') + depends_on('mpi', when='+mpi') def install(self, spec, prefix): - # FIXME: Modify the configure line to suit your build system here. - cmake('.', *std_cmake_args) - # FIXME: Add logic to build and install here - make() - make("install") + options = [ + '-DTrilinos_ENABLE_ALL_PACKAGES:BOOL=ON', + '-DTrilinos_ENABLE_TESTS:BOOL=ON', + '-DBUILD_SHARED_LIBS:BOOL=ON', + '-DBLAS_LIBRARY_DIRS:PATH=%s' % spec['blas'].prefix, + '-DLAPACK_LIBRARY_DIRS:PATH=%s' % spec['lapack'].prefix + ] + if '+mpi' in spec: + mpi_options = ['-DTPL_ENABLE_MPI:BOOL=ON'] + options.extend(mpi_options) + + # -DCMAKE_INSTALL_PREFIX and all the likes... + options.extend(std_cmake_args) + with working_dir('spack-build', create=True): + cmake('..', *options) + make() + make('install') -- cgit v1.2.3-60-g2f50