summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/petsc/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/petsc/package.py')
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 88332caec9..577f53a163 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -24,6 +24,7 @@ class Petsc(Package):
version('develop', branch='master')
version('xsdk-0.2.0', tag='xsdk-0.2.0')
+ version('3.12.4', sha256='56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3')
version('3.12.3', sha256='91f77d7b0f54056f085b9e27938922db3d9bb1734a2e2a6d26f43d3e6c0cf631')
version('3.12.2', sha256='d874b2e198c4cb73551c2eca1d2c5d27da710be4d00517adb8f9eb3d6d0375e8')
version('3.12.1', sha256='b72d895d0f4a79acb13ebc782b47b26d10d4e5706d399f533afcd5b3dba13737')
@@ -99,6 +100,8 @@ class Petsc(Package):
description='Activate X support')
variant('batch', default=False,
description='Enable when mpiexec is not available to run binaries')
+ variant('valgrind', default=False,
+ description='Enable Valgrind Client Request mechanism')
# 3.8.0 has a build issue with MKL - so list this conflict explicitly
conflicts('^intel-mkl', when='@3.8.0')
@@ -143,9 +146,10 @@ class Petsc(Package):
depends_on('metis@5:~int64', when='@3.8:+metis~int64')
depends_on('metis@5:+int64', when='@3.8:+metis+int64')
- depends_on('hdf5+mpi+hl+fortran', when='+hdf5+mpi')
+ depends_on('hdf5@:1.10.99+mpi+hl+fortran', when='+hdf5+mpi')
depends_on('zlib', when='+hdf5')
depends_on('parmetis', when='+metis+mpi')
+ depends_on('valgrind', when='+valgrind')
# Hypre does not support complex numbers.
# Also PETSc prefer to build it without internal superlu, likely due to
# conflict in headers see
@@ -160,8 +164,8 @@ class Petsc(Package):
depends_on('hypre@develop~internal-superlu~int64', when='@develop+hypre+mpi~complex~int64')
depends_on('superlu-dist@:4.3~int64', when='@3.4.4:3.6.4+superlu-dist+mpi~int64')
depends_on('superlu-dist@:4.3+int64', when='@3.4.4:3.6.4+superlu-dist+mpi+int64')
- depends_on('superlu-dist@5.0.0:~int64', when='@3.7:3.7.99+superlu-dist+mpi~int64')
- depends_on('superlu-dist@5.0.0:+int64', when='@3.7:3.7.99+superlu-dist+mpi+int64')
+ depends_on('superlu-dist@5.0.0:5.1.3~int64', when='@3.7:3.7.99+superlu-dist+mpi~int64')
+ depends_on('superlu-dist@5.0.0:5.1.3+int64', when='@3.7:3.7.99+superlu-dist+mpi+int64')
depends_on('superlu-dist@5.2:5.2.99~int64', when='@3.8:3.9.99+superlu-dist+mpi~int64')
depends_on('superlu-dist@5.2:5.2.99+int64', when='@3.8:3.9.99+superlu-dist+mpi+int64')
depends_on('superlu-dist@5.4:5.4.99~int64', when='@3.10:3.10.2+superlu-dist+mpi~int64')
@@ -280,7 +284,7 @@ class Petsc(Package):
# Activates library support if needed
for library in ('metis', 'hdf5', 'hypre', 'parmetis',
- 'mumps', 'trilinos', 'fftw'):
+ 'mumps', 'trilinos', 'fftw', 'valgrind'):
options.append(
'--with-{library}={value}'.format(
library=library, value=('1' if library in spec else '0'))