summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com>2022-02-11 02:35:30 -0600
committerGitHub <noreply@github.com>2022-02-11 09:35:30 +0100
commita45c7c185b81744faf141ff4683c47fe769830e2 (patch)
treecf53c24f2a8df1a6a36c6bc9d831aa273f7c9d69
parentc16ce9408e02d09baecf7d991e8e272c777c24f4 (diff)
downloadspack-a45c7c185b81744faf141ff4683c47fe769830e2.tar.gz
spack-a45c7c185b81744faf141ff4683c47fe769830e2.tar.bz2
spack-a45c7c185b81744faf141ff4683c47fe769830e2.tar.xz
spack-a45c7c185b81744faf141ff4683c47fe769830e2.zip
Ecp sdk update package contraints (#28693)
* ECP-SDK: Require HDF5 1.12 * ECP-SDK: Require SDK spec for SDK packages
-rw-r--r--var/spack/repos/builtin/packages/adios2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/conduit/package.py2
-rw-r--r--var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py26
3 files changed, 20 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py
index 593bd00990..fcc9edf3eb 100644
--- a/var/spack/repos/builtin/packages/adios2/package.py
+++ b/var/spack/repos/builtin/packages/adios2/package.py
@@ -95,7 +95,7 @@ class Adios2(CMakePackage):
depends_on('libzmq', when='+dataman')
depends_on('dataspaces@1.8.0:', when='+dataspaces')
- depends_on('hdf5', when='+hdf5')
+ depends_on('hdf5~mpi', when='+hdf5~mpi')
depends_on('hdf5+mpi', when='+hdf5+mpi')
depends_on('c-blosc', when='@2.4: +blosc')
diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py
index 300d67dc5e..320b03457e 100644
--- a/var/spack/repos/builtin/packages/conduit/package.py
+++ b/var/spack/repos/builtin/packages/conduit/package.py
@@ -77,7 +77,7 @@ class Conduit(CMakePackage):
# set to false for systems that implicitly link mpi
variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
variant("hdf5", default=True, description="Build Conduit HDF5 support")
- variant("hdf5_compat", default=True,
+ variant("hdf5_compat", default=True, when='+hdf5',
description="Build Conduit with HDF5 1.8.x (compatibility mode)")
variant("silo", default=False, description="Build Conduit Silo support")
variant("adios", default=False, description="Build Conduit ADIOS support")
diff --git a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
index fcaeb79b24..d1dfef13a2 100644
--- a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
+++ b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
@@ -30,7 +30,6 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
variant('veloc', default=False, description="Enable VeloC")
# Vis
- variant('sensei', default=False, description="Enable Sensei")
variant('ascent', default=False, description="Enable Ascent")
variant('paraview', default=False, description="Enable ParaView")
variant('sz', default=False, description="Enable SZ")
@@ -41,6 +40,8 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
variant('cinema', default=False, description="Enable Cinema")
# Outstanding build issues
+ variant('sensei', default=False, description="Enable Sensei")
+ conflicts('+sensei')
variant('visit', default=False, description="Enable VisIt")
conflicts('+visit')
@@ -49,6 +50,16 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
# Do the basic depends_on
depends_on(spec, when=when)
+ # Strip spec string to just the base spec name
+ # ie. A +c ~b -> A
+ spec = Spec(spec).name
+
+ if '+' in when and len(when.split()) == 1:
+ when_not = when.replace('+', '~')
+ # If the package is in the spec tree then it must
+ # be enabled in the SDK.
+ conflicts(when_not, '^' + spec)
+
# Skip if there is nothing to propagate
if not propagate:
return
@@ -57,10 +68,6 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
if not type(propagate) is dict:
propagate = dict([(v, v) for v in propagate])
- # Strip spec string to just the base spec name
- # ie. A +c ~b -> A
- spec = Spec(spec).name
-
# Determine the base variant
base_variant = ''
if when:
@@ -100,7 +107,7 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
when='+faodel',
propagate=['hdf5'])
- dav_sdk_depends_on('hdf5 +shared+mpi+fortran', when='+hdf5')
+ dav_sdk_depends_on('hdf5@1.12: +shared+mpi+fortran', when='+hdf5')
dav_sdk_depends_on('parallel-netcdf+shared+fortran', when='+pnetcdf')
@@ -114,8 +121,11 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
dav_sdk_depends_on('sensei@develop +vtkio +python ~miniapps', when='+sensei',
propagate=dict(propagate_to_sensei))
+ # Need to explicitly turn off conduit hdf5_compat in order to build
+ # hdf5@1.12 which is required for SDK
dav_sdk_depends_on('ascent+shared+mpi+fortran+openmp+python+vtkh+dray',
when='+ascent')
+ depends_on('ascent ^conduit ~hdf5_compat', when='+ascent +hdf5')
depends_on('py-cinemasci', when='+cinema')
@@ -123,8 +133,8 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
when='+paraview',
propagate=['hdf5', 'adios2'] + cuda_arch_variants)
# Want +shared when not using cuda
- dav_sdk_depends_on('paraview ~shared +cuda', when='+paraview +cuda')
- dav_sdk_depends_on('paraview +shared ~cuda', when='+paraview ~cuda')
+ depends_on('paraview ~shared +cuda', when='+paraview +cuda')
+ depends_on('paraview +shared ~cuda', when='+paraview ~cuda')
dav_sdk_depends_on('visit', when='+visit')