diff options
author | Bruno Turcksin <bruno.turcksin@gmail.com> | 2016-12-25 21:55:14 -0500 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2016-12-25 18:55:14 -0800 |
commit | e16908b16bf8b9644ca177d9d5061c312bb580aa (patch) | |
tree | 1806e5230154bd9506191aff31e571b97feed602 | |
parent | b240fdb2b9524ea3152224ea2338cbdc3ec35df4 (diff) | |
download | spack-e16908b16bf8b9644ca177d9d5061c312bb580aa.tar.gz spack-e16908b16bf8b9644ca177d9d5061c312bb580aa.tar.bz2 spack-e16908b16bf8b9644ca177d9d5061c312bb580aa.tar.xz spack-e16908b16bf8b9644ca177d9d5061c312bb580aa.zip |
Add 64 bit variant to dealii. (#2654)
-rw-r--r-- | var/spack/repos/builtin/packages/dealii/package.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index d126971a05..0207f755f7 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -30,7 +30,7 @@ class Dealii(CMakePackage): """C++ software library providing well-documented tools to build finite element codes for a broad variety of PDEs.""" homepage = "https://www.dealii.org" - url = "https://github.com/dealii/dealii/releases/download/v8.4.1/dealii-8.4.1.tar.gz" + url = "https://github.com/dealii/dealii/releases/download/v8.4.1/dealii-8.4.1.tar.gz" # Don't add RPATHs to this package for the full build DAG. # only add for immediate deps. @@ -66,6 +66,8 @@ class Dealii(CMakePackage): description='Compile with Trilinos (only with MPI)') variant('python', default=True, description='Compile with Python bindings') + variant('64bit', default=False, + description='Compile with 64 bit indices support') # required dependencies, light version depends_on("blas") @@ -107,11 +109,11 @@ class Dealii(CMakePackage): depends_on("netcdf-cxx", when='+netcdf+mpi') depends_on("oce", when='+oce') depends_on("p4est", when='+p4est+mpi') - depends_on("petsc+mpi", when='@8.4.2:+petsc+mpi') + depends_on("petsc+mpi", when='@8.4.2:+petsc+mpi~64bit') depends_on('python', when='@8.5.0:+python') - depends_on("slepc", when='@8.4.2:+slepc+petsc+mpi') - depends_on("petsc@:3.6.4+mpi", when='@:8.4.1+petsc+mpi') - depends_on("slepc@:3.6.3", when='@:8.4.1+slepc+petsc+mpi') + depends_on("slepc", when='@8.4.2:+slepc+petsc+mpi~64bit') + depends_on("petsc@:3.6.4+mpi", when='@:8.4.1+petsc+mpi~64bit') + depends_on("slepc@:3.6.3", when='@:8.4.1+slepc+petsc+mpi~64bit') depends_on("trilinos", when='+trilinos+mpi') def build_type(self): @@ -161,8 +163,8 @@ class Dealii(CMakePackage): if '+mpi' in spec: options.extend([ '-DDEAL_II_WITH_MPI:BOOL=ON', - '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc, - '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx, + '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc, + '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx, '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc, ]) else: @@ -170,7 +172,7 @@ class Dealii(CMakePackage): '-DDEAL_II_WITH_MPI:BOOL=OFF', ]) - # Optional dependencies for which librariy names are the same as CMake + # Optional dependencies for which library names are the same as CMake # variables: for library in ( 'gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis'): @@ -241,6 +243,11 @@ class Dealii(CMakePackage): '-DDEAL_II_WITH_OPENCASCADE=OFF' ]) + # 64 bit indices + options.extend([ + '-DDEAL_II_WITH_64BIT_INDICES=%s' % ('+64bit' in spec) + ]) + return options def setup_environment(self, spack_env, env): |