summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Turcksin <bruno.turcksin@gmail.com>2016-12-25 21:55:14 -0500
committerTodd Gamblin <tgamblin@llnl.gov>2016-12-25 18:55:14 -0800
commite16908b16bf8b9644ca177d9d5061c312bb580aa (patch)
tree1806e5230154bd9506191aff31e571b97feed602
parentb240fdb2b9524ea3152224ea2338cbdc3ec35df4 (diff)
downloadspack-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.py23
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):