summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py')
-rw-r--r--var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py158
1 files changed, 78 insertions, 80 deletions
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 1ebbe4963f..68eab92d27 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
@@ -15,11 +15,11 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
# ie. A +c ~b -> A
spec = Spec(spec).name
- if '+' in when and len(when.split()) == 1:
- when_not = when.replace('+', '~')
+ 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)
+ conflicts(when_not, "^" + spec)
# Skip if there is nothing to propagate
if not propagate:
@@ -30,23 +30,24 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
propagate = dict([(v, v) for v in propagate])
# Determine the base variant
- base_variant = ''
+ base_variant = ""
if when:
base_variant = when
def is_boolean(variant):
- return '=' not in variant
+ return "=" not in variant
# Propagate variants to dependecy
for v_when, v_then in propagate.items():
if is_boolean(v_when):
- depends_on('{0} +{1}'.format(spec, v_then),
- when='{0} +{1}'.format(base_variant, v_when))
- depends_on('{0} ~{1}'.format(spec, v_then),
- when='{0} ~{1}'.format(base_variant, v_when))
+ depends_on(
+ "{0} +{1}".format(spec, v_then), when="{0} +{1}".format(base_variant, v_when)
+ )
+ depends_on(
+ "{0} ~{1}".format(spec, v_then), when="{0} ~{1}".format(base_variant, v_when)
+ )
else:
- depends_on('{0} {1}'.format(spec, v_then),
- when='{0} {1}'.format(base_variant, v_when))
+ depends_on("{0} {1}".format(spec, v_then), when="{0} {1}".format(base_variant, v_when))
def exclude_variants(variants, exclude):
@@ -58,115 +59,112 @@ class EcpDataVisSdk(BundlePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/chuckatkins/ecp-data-viz-sdk"
- tags = ['ecp']
- maintainers = ['chuckatkins', 'kwryankrattiger']
+ tags = ["ecp"]
+ maintainers = ["chuckatkins", "kwryankrattiger"]
- version('1.0')
+ version("1.0")
############################################################
# Variants
############################################################
# I/O
- variant('adios2', default=False, description="Enable ADIOS2")
- variant('darshan', default=False, description="Enable Darshan")
- variant('faodel', default=False, description="Enable FAODEL")
- variant('hdf5', default=False, description="Enable HDF5")
- variant('pnetcdf', default=False, description="Enable PNetCDF")
- variant('unifyfs', default=False, description="Enable UnifyFS")
- variant('veloc', default=False, description="Enable VeloC")
+ variant("adios2", default=False, description="Enable ADIOS2")
+ variant("darshan", default=False, description="Enable Darshan")
+ variant("faodel", default=False, description="Enable FAODEL")
+ variant("hdf5", default=False, description="Enable HDF5")
+ variant("pnetcdf", default=False, description="Enable PNetCDF")
+ variant("unifyfs", default=False, description="Enable UnifyFS")
+ variant("veloc", default=False, description="Enable VeloC")
# Vis
- variant('ascent', default=False, description="Enable Ascent")
- variant('cinema', default=False, description="Enable Cinema")
- variant('paraview', default=False, description="Enable ParaView")
- variant('sz', default=False, description="Enable SZ")
- variant('visit', default=False, description="Enable VisIt")
- variant('vtkm', default=False, description="Enable VTK-m")
- variant('zfp', default=False, description="Enable ZFP")
+ variant("ascent", default=False, description="Enable Ascent")
+ variant("cinema", default=False, description="Enable Cinema")
+ variant("paraview", default=False, description="Enable ParaView")
+ variant("sz", default=False, description="Enable SZ")
+ variant("visit", default=False, description="Enable VisIt")
+ variant("vtkm", default=False, description="Enable VTK-m")
+ variant("zfp", default=False, description="Enable ZFP")
# Outstanding build issues
- variant('sensei', default=False, description="Enable Sensei")
- conflicts('+sensei')
+ variant("sensei", default=False, description="Enable Sensei")
+ conflicts("+sensei")
############################################################
# Dependencies
############################################################
- cuda_arch_variants = ['cuda_arch={0}'.format(x)
- for x in CudaPackage.cuda_arch_values]
- amdgpu_target_variants = ['amdgpu_target={0}'.format(x)
- for x in ROCmPackage.amdgpu_targets]
+ cuda_arch_variants = ["cuda_arch={0}".format(x) for x in CudaPackage.cuda_arch_values]
+ amdgpu_target_variants = ["amdgpu_target={0}".format(x) for x in ROCmPackage.amdgpu_targets]
- dav_sdk_depends_on('adios2+shared+mpi+fortran+python+blosc+sst+ssc+dataman',
- when='+adios2',
- propagate=['hdf5', 'sz', 'zfp'])
+ dav_sdk_depends_on(
+ "adios2+shared+mpi+fortran+python+blosc+sst+ssc+dataman",
+ when="+adios2",
+ propagate=["hdf5", "sz", "zfp"],
+ )
- dav_sdk_depends_on('darshan-runtime+mpi',
- when='+darshan',
- propagate=['hdf5'])
- dav_sdk_depends_on('darshan-util', when='+darshan')
+ dav_sdk_depends_on("darshan-runtime+mpi", when="+darshan", propagate=["hdf5"])
+ dav_sdk_depends_on("darshan-util", when="+darshan")
- dav_sdk_depends_on('faodel+shared+mpi network=libfabric',
- when='+faodel',
- propagate=['hdf5'])
+ dav_sdk_depends_on("faodel+shared+mpi network=libfabric", when="+faodel", propagate=["hdf5"])
- dav_sdk_depends_on('hdf5@1.12: +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')
+ dav_sdk_depends_on("parallel-netcdf+shared+fortran", when="+pnetcdf")
- dav_sdk_depends_on('unifyfs', when='+unifyfs ')
+ dav_sdk_depends_on("unifyfs", when="+unifyfs ")
- dav_sdk_depends_on('veloc', when='+veloc')
+ dav_sdk_depends_on("veloc", when="+veloc")
# Currenly only develop has necessary patches. Update this after SC21 release
- propagate_to_sensei = [(v, v) for v in ['adios2', 'ascent', 'hdf5', 'vtkm']]
- propagate_to_sensei.extend([('paraview', 'catalyst'), ('visit', 'libsim')])
- dav_sdk_depends_on('sensei@develop +vtkio +python ~miniapps', when='+sensei',
- propagate=dict(propagate_to_sensei))
+ propagate_to_sensei = [(v, v) for v in ["adios2", "ascent", "hdf5", "vtkm"]]
+ propagate_to_sensei.extend([("paraview", "catalyst"), ("visit", "libsim")])
+ dav_sdk_depends_on(
+ "sensei@develop +vtkio +python ~miniapps",
+ when="+sensei",
+ propagate=dict(propagate_to_sensei),
+ )
# Fortran support with ascent is problematic on some Cray platforms so the
# SDK is explicitly disabling it until the issues are resolved.
- dav_sdk_depends_on('ascent+mpi~fortran+openmp+python+shared+vtkh+dray~test',
- when='+ascent',
- propagate=['adios2', 'cuda'] + cuda_arch_variants)
+ dav_sdk_depends_on(
+ "ascent+mpi~fortran+openmp+python+shared+vtkh+dray~test",
+ when="+ascent",
+ propagate=["adios2", "cuda"] + cuda_arch_variants,
+ )
# Need to explicitly turn off conduit hdf5_compat in order to build
# hdf5@1.12 which is required for SDK
- depends_on('ascent ^conduit ~hdf5_compat', when='+ascent +hdf5')
+ depends_on("ascent ^conduit ~hdf5_compat", when="+ascent +hdf5")
# Disable configuring with @develop. This should be removed after ascent
# releases 0.8 and ascent can build with conduit@0.8: and vtk-m@1.7:
- conflicts('ascent@develop', when='+ascent')
+ conflicts("ascent@develop", when="+ascent")
- depends_on('py-cinemasci', when='+cinema')
+ depends_on("py-cinemasci", when="+cinema")
- dav_sdk_depends_on('paraview@5.10:+mpi+python3+kits+shared',
- when='+paraview',
- propagate=['hdf5', 'adios2'])
+ dav_sdk_depends_on(
+ "paraview@5.10:+mpi+python3+kits+shared", when="+paraview", propagate=["hdf5", "adios2"]
+ )
# ParaView needs @5.11: in order to use cuda and be compatible with other
# SDK packages.
- depends_on('paraview +cuda', when='+paraview +cuda ^paraview@5.11:')
+ depends_on("paraview +cuda", when="+paraview +cuda ^paraview@5.11:")
for cuda_arch in cuda_arch_variants:
- depends_on('paraview {0}'.format(cuda_arch),
- when='+paraview {0} ^paraview@5.11:'.format(cuda_arch))
- depends_on('paraview ~cuda', when='+paraview ~cuda')
- conflicts('paraview@master', when='+paraview')
+ depends_on(
+ "paraview {0}".format(cuda_arch),
+ when="+paraview {0} ^paraview@5.11:".format(cuda_arch),
+ )
+ depends_on("paraview ~cuda", when="+paraview ~cuda")
+ conflicts("paraview@master", when="+paraview")
- dav_sdk_depends_on('visit+mpi+python+silo',
- when='+visit',
- propagate=['hdf5', 'adios2'])
+ dav_sdk_depends_on("visit+mpi+python+silo", when="+visit", propagate=["hdf5", "adios2"])
- dav_sdk_depends_on('vtk-m@1.7:+shared+mpi+openmp+rendering',
- when='+vtkm',
- propagate=['cuda', 'rocm']
- + cuda_arch_variants
- + amdgpu_target_variants)
+ dav_sdk_depends_on(
+ "vtk-m@1.7:+shared+mpi+openmp+rendering",
+ when="+vtkm",
+ propagate=["cuda", "rocm"] + cuda_arch_variants + amdgpu_target_variants,
+ )
# +python is currently broken in sz
# dav_sdk_depends_on('sz+shared+fortran+python+random_access',
- dav_sdk_depends_on('sz+shared+fortran+random_access',
- when='+sz',
- propagate=['hdf5'])
+ dav_sdk_depends_on("sz+shared+fortran+random_access", when="+sz", propagate=["hdf5"])
- dav_sdk_depends_on('zfp',
- when='+zfp',
- propagate=['cuda'] + cuda_arch_variants)
+ dav_sdk_depends_on("zfp", when="+zfp", propagate=["cuda"] + cuda_arch_variants)