summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAuriane R. <48684432+aurianer@users.noreply.github.com>2024-10-12 12:12:38 +0200
committerGitHub <noreply@github.com>2024-10-12 04:12:38 -0600
commitb8b02e0691be5eaff1c15d29a733ffd7ed495220 (patch)
tree8ff3a568621d778e751678cd8255c08f2f63c3e4 /var
parent8d986b8a99a7a451ca4c511050a8341d0e6480cd (diff)
downloadspack-b8b02e0691be5eaff1c15d29a733ffd7ed495220.tar.gz
spack-b8b02e0691be5eaff1c15d29a733ffd7ed495220.tar.bz2
spack-b8b02e0691be5eaff1c15d29a733ffd7ed495220.tar.xz
spack-b8b02e0691be5eaff1c15d29a733ffd7ed495220.zip
Replace if ... in spec with spec.satisfies in k* packages and l* packages (#46388)
* Replace if ... in spec with spec.satisfies in k* packages * Replace if ... in spec with spec.satisfies in l* packages
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/kaldi/package.py12
-rw-r--r--var/spack/repos/builtin/packages/kassiopeia/package.py2
-rw-r--r--var/spack/repos/builtin/packages/kokkos-kernels/package.py2
-rw-r--r--var/spack/repos/builtin/packages/kokkos-legacy/package.py36
-rw-r--r--var/spack/repos/builtin/packages/kokkos/package.py14
-rw-r--r--var/spack/repos/builtin/packages/krakenuniq/package.py2
-rw-r--r--var/spack/repos/builtin/packages/krims/package.py4
-rw-r--r--var/spack/repos/builtin/packages/kripke/package.py8
-rw-r--r--var/spack/repos/builtin/packages/kvtree/package.py2
-rw-r--r--var/spack/repos/builtin/packages/laghos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lammps/package.py28
-rw-r--r--var/spack/repos/builtin/packages/lapackpp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/latex2html/package.py2
-rw-r--r--var/spack/repos/builtin/packages/latte/package.py6
-rw-r--r--var/spack/repos/builtin/packages/lazyten/package.py6
-rw-r--r--var/spack/repos/builtin/packages/lbann/package.py14
-rw-r--r--var/spack/repos/builtin/packages/lc-framework/package.py2
-rw-r--r--var/spack/repos/builtin/packages/ldc/package.py4
-rw-r--r--var/spack/repos/builtin/packages/legion/package.py4
-rw-r--r--var/spack/repos/builtin/packages/lesstif/package.py4
-rw-r--r--var/spack/repos/builtin/packages/leveldb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lhapdf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libarchive/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libbeagle/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libcanberra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libceed/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libcint/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libcroco/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libdrm/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libepoxy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libevent/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libfabric/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libflame/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libfms/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libfuse/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libgain/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libgeotiff/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libgit2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libhio/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libiberty/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libiconv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libint/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libjpeg-turbo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libkml/package.py4
-rw-r--r--var/spack/repos/builtin/packages/liblas/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libmesh/package.py36
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libmypaint/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libpng/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libpressio/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libproxy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libpsm3/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libquo/package.py2
-rw-r--r--var/spack/repos/builtin/packages/librsb/package.py14
-rw-r--r--var/spack/repos/builtin/packages/librsvg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libseccomp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libsharp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libsolv/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libstdcompat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libtraceevent/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libunwind/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libvpx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libxc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libxslt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libxsmm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/liggghts/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ligra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/likwid/package.py14
-rw-r--r--var/spack/repos/builtin/packages/linux-perf/package.py28
-rw-r--r--var/spack/repos/builtin/packages/llvm-amdgpu/package.py6
-rw-r--r--var/spack/repos/builtin/packages/llvm-doe/package.py50
-rw-r--r--var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py64
-rw-r--r--var/spack/repos/builtin/packages/loki/package.py4
-rw-r--r--var/spack/repos/builtin/packages/lorene/package.py10
-rw-r--r--var/spack/repos/builtin/packages/lua/package.py6
-rw-r--r--var/spack/repos/builtin/packages/lulesh/package.py6
-rw-r--r--var/spack/repos/builtin/packages/lvarray/package.py30
-rw-r--r--var/spack/repos/builtin/packages/lz4/package.py10
80 files changed, 344 insertions, 333 deletions
diff --git a/var/spack/repos/builtin/packages/kaldi/package.py b/var/spack/repos/builtin/packages/kaldi/package.py
index 0f115e244f..7411a8e257 100644
--- a/var/spack/repos/builtin/packages/kaldi/package.py
+++ b/var/spack/repos/builtin/packages/kaldi/package.py
@@ -58,28 +58,30 @@ class Kaldi(Package): # Does not use Autotools
configure_args.append("--speex-root=" + spec["speex"].prefix)
configure_args.append("--cub-root=" + spec["cuda"].prefix.include)
- if "~shared" in spec:
+ if spec.satisfies("~shared"):
configure_args.append("--static")
else:
configure_args.append("--shared")
- if "^openblas" in spec:
+ if spec.satisfies("^[virtuals=blas] openblas"):
configure_args.append("--mathlib=OPENBLAS")
configure_args.append("--openblas-root=" + spec["blas"].prefix)
if "+openmp" in spec["blas"].variants:
configure_args.append("--threaded-math=yes")
- elif "^atlas" in spec:
+ elif spec.satisfies("^[virtuals=blas] atlas"):
configure_args.append("--mathlib=ATLAS")
configure_args.append("--atlas-root=" + spec["blas"].prefix)
if "+pthread" in spec["blas"].variants:
configure_args.append("--threaded-atlas")
- elif "^intel-parallel-studio" in spec or "^intel-mkl" in spec:
+ elif spec.satisfies("^[virtuals=blas] intel-parallel-studio") or spec.satisfies(
+ "^[virtuals=blas] intel-mkl"
+ ):
configure_args.append("--mathlib=MKL")
configure_args.append("--mkl-root=" + spec["blas"].prefix.mkl)
if "+openmp" in spec["blas"].variants:
configure_args.append("--mkl-threading=iomp")
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
configure_args.append("--use-cuda=yes")
configure_args.append("--cudatk-dir=" + spec["cuda"].prefix)
diff --git a/var/spack/repos/builtin/packages/kassiopeia/package.py b/var/spack/repos/builtin/packages/kassiopeia/package.py
index e6912a446c..75f2b63c8f 100644
--- a/var/spack/repos/builtin/packages/kassiopeia/package.py
+++ b/var/spack/repos/builtin/packages/kassiopeia/package.py
@@ -63,7 +63,7 @@ class Kassiopeia(CMakePackage):
)
def cmake_args(self):
- if "+root" in self.spec:
+ if self.spec.satisfies("+root"):
cxxstd = self.spec["root"].variants["cxxstd"].value
else:
if self.spec.satisfies("@:3.8.1"):
diff --git a/var/spack/repos/builtin/packages/kokkos-kernels/package.py b/var/spack/repos/builtin/packages/kokkos-kernels/package.py
index 0187de16b9..f8dc26ad89 100644
--- a/var/spack/repos/builtin/packages/kokkos-kernels/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-kernels/package.py
@@ -175,7 +175,7 @@ class KokkosKernels(CMakePackage, CudaPackage):
spec = self.spec
options = []
- isdiy = "+diy" in spec
+ isdiy = spec.satisfies("+diy")
if isdiy:
options.append("-DSpack_WORKAROUND=On")
diff --git a/var/spack/repos/builtin/packages/kokkos-legacy/package.py b/var/spack/repos/builtin/packages/kokkos-legacy/package.py
index a9c9a7706e..c0eebf980c 100644
--- a/var/spack/repos/builtin/packages/kokkos-legacy/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-legacy/package.py
@@ -246,7 +246,7 @@ class KokkosLegacy(Package):
cuda_options_args = []
# PIC
- if "+pic" in spec:
+ if spec.satisfies("+pic"):
g_args.append("--cxxflags=-fPIC")
# C++ standard
@@ -255,19 +255,19 @@ class KokkosLegacy(Package):
g_args.append(f"--cxxstandard={cxxstandard}")
# Build Debug
- if "+debug" in spec:
+ if spec.satisfies("+debug"):
g_args.append("--debug")
# Backends
- if "+serial" in spec:
+ if spec.satisfies("+serial"):
g_args.append("--with-serial")
- if "+openmp" in spec:
+ if spec.satisfies("+openmp"):
g_args.append("--with-openmp")
- if "+pthreads" in spec:
+ if spec.satisfies("+pthreads"):
g_args.append("--with-pthread")
- if "+qthreads" in spec:
+ if spec.satisfies("+qthreads"):
g_args.append(f"--with-qthreads={spec['qthreads'].prefix}")
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
g_args.append(f"--with-cuda={spec['cuda'].prefix}")
# Host architectures
host_arch = spec.variants["host_arch"].value
@@ -282,31 +282,31 @@ class KokkosLegacy(Package):
g_args.append(f"--arch={','.join(arch_args)}")
# CUDA options
- if "+force_uvm" in spec:
+ if spec.satisfies("+force_uvm"):
cuda_options_args.append("force_uvm")
- if "+use_ldg" in spec:
+ if spec.satisfies("+use_ldg"):
cuda_options_args.append("use_ldg")
- if "+rdc" in spec:
+ if spec.satisfies("+rdc"):
cuda_options_args.append("rdc")
- if "+enable_lambda" in spec:
+ if spec.satisfies("+enable_lambda"):
cuda_options_args.append("enable_lambda")
if cuda_options_args:
g_args.append(f"--with-cuda-options={','.join(cuda_options_args)}")
# Kokkos options
- if "+aggressive_vectorization" in spec:
+ if spec.satisfies("+aggressive_vectorization"):
kokkos_options_args.append("aggressive_vectorization")
- if "+disable_profiling" in spec:
+ if spec.satisfies("+disable_profiling"):
kokkos_options_args.append("disable_profiling")
- if "+disable_dualview_modify_check" in spec:
+ if spec.satisfies("+disable_dualview_modify_check"):
kokkos_options_args.append("disable_dualview_modify_check")
- if "+enable_profile_load_print" in spec:
+ if spec.satisfies("+enable_profile_load_print"):
kokkos_options_args.append("enable_profile_load_print")
- if "+compiler_warnings" in spec:
+ if spec.satisfies("+compiler_warnings"):
kokkos_options_args.append("compiler_warnings")
- if "+disable_deprecated_code" in spec:
+ if spec.satisfies("+disable_deprecated_code"):
kokkos_options_args.append("disable_deprecated_code")
- if "+enable_eti" in spec:
+ if spec.satisfies("+enable_eti"):
kokkos_options_args.append("enable_eti")
if kokkos_options_args:
g_args.append(f"--with-options={','.join(kokkos_options_args)}")
diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py
index 7944a9d403..fe9989afb5 100644
--- a/var/spack/repos/builtin/packages/kokkos/package.py
+++ b/var/spack/repos/builtin/packages/kokkos/package.py
@@ -320,7 +320,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
]
spack_microarches = []
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
if isinstance(spec.variants["cuda_arch"].value, str):
cuda_arch = spec.variants["cuda_arch"].value
else:
@@ -336,7 +336,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
if kokkos_microarch_name:
spack_microarches.append(kokkos_microarch_name)
- if "+rocm" in spec:
+ if spec.satisfies("+rocm"):
for amdgpu_target in spec.variants["amdgpu_target"].value:
if amdgpu_target != "none":
if amdgpu_target in self.amdgpu_arch_map:
@@ -360,10 +360,10 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
if spec.variants[tpl].value:
options.append(self.define(tpl + "_DIR", spec[tpl].prefix))
- if "+rocm" in self.spec:
+ if self.spec.satisfies("+rocm"):
options.append(self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc))
options.append(self.define("Kokkos_ENABLE_ROCTHRUST", True))
- elif "+wrapper" in self.spec:
+ elif self.spec.satisfies("+wrapper"):
options.append(
self.define("CMAKE_CXX_COMPILER", self.spec["kokkos-nvcc-wrapper"].kokkos_cxx)
)
@@ -375,11 +375,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
# which breaks GPU-aware with Cray-MPICH
# See https://github.com/kokkos/kokkos/pull/6402
# TODO: disable this once Cray-MPICH is fixed
- if (
- self.spec.satisfies("@4.2.00:")
- and "mpi" in self.spec
- and self.spec["mpi"].name == "cray-mpich"
- ):
+ if self.spec.satisfies("@4.2.00:") and self.spec.satisfies("^[virtuals=mpi] cray-mpich"):
options.append(self.define("Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC", False))
# Remove duplicate options
diff --git a/var/spack/repos/builtin/packages/krakenuniq/package.py b/var/spack/repos/builtin/packages/krakenuniq/package.py
index 53d8b865bd..848dc0b9b4 100644
--- a/var/spack/repos/builtin/packages/krakenuniq/package.py
+++ b/var/spack/repos/builtin/packages/krakenuniq/package.py
@@ -35,7 +35,7 @@ class Krakenuniq(Package):
def install(self, spec, prefix):
local_script = which("./install_krakenuniq.sh")
- if "+jellyfish" in self.spec:
+ if self.spec.satisfies("+jellyfish"):
local_script("-j", prefix.bin)
else:
local_script(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/krims/package.py b/var/spack/repos/builtin/packages/krims/package.py
index 17ba1149a4..2670d5d0b8 100644
--- a/var/spack/repos/builtin/packages/krims/package.py
+++ b/var/spack/repos/builtin/packages/krims/package.py
@@ -68,10 +68,10 @@ class Krims(CMakePackage):
args = [
"-DAUTOCHECKOUT_MISSING_REPOS=OFF",
#
- "-DBUILD_SHARED_LIBS=" + str("+shared" in spec),
+ "-DBUILD_SHARED_LIBS=" + str(spec.satisfies("+shared")),
# TODO Hard-disable tests for now, since rapidcheck not in Spack
"-DKRIMS_ENABLE_TESTS=OFF",
- "-DKRIMS_ENABLE_EXAMPLES=" + str("+examples" in spec),
+ "-DKRIMS_ENABLE_EXAMPLES=" + str(spec.satisfies("+examples")),
]
return args
diff --git a/var/spack/repos/builtin/packages/kripke/package.py b/var/spack/repos/builtin/packages/kripke/package.py
index 7bd6c2dc7c..2cfabaed50 100644
--- a/var/spack/repos/builtin/packages/kripke/package.py
+++ b/var/spack/repos/builtin/packages/kripke/package.py
@@ -103,14 +103,14 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage):
]
)
- if "+caliper" in spec:
+ if spec.satisfies("+caliper"):
args.append("-DENABLE_CALIPER=ON")
- if "+mpi" in spec:
+ if spec.satisfies("+mpi"):
args.append("-DENABLE_MPI=ON")
args.append(self.define("CMAKE_CXX_COMPILER", self.spec["mpi"].mpicxx))
- if "+rocm" in spec:
+ if spec.satisfies("+rocm"):
# Set up the hip macros needed by the build
args.append("-DENABLE_HIP=ON")
args.append("-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix))
@@ -123,7 +123,7 @@ class Kripke(CMakePackage, CudaPackage, ROCmPackage):
# Ensure build with hip is disabled
args.append("-DENABLE_HIP=OFF")
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
args.append("-DENABLE_CUDA=ON")
args.append(self.define("CMAKE_CUDA_HOST_COMPILER", self.spec["mpi"].mpicxx))
if not spec.satisfies("cuda_arch=none"):
diff --git a/var/spack/repos/builtin/packages/kvtree/package.py b/var/spack/repos/builtin/packages/kvtree/package.py
index a7d091f23f..68328da197 100644
--- a/var/spack/repos/builtin/packages/kvtree/package.py
+++ b/var/spack/repos/builtin/packages/kvtree/package.py
@@ -55,7 +55,7 @@ class Kvtree(CMakePackage):
spec = self.spec
args = []
args.append(self.define_from_variant("MPI"))
- if "+mpi" in spec:
+ if spec.satisfies("+mpi"):
args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
args.append(self.define_from_variant("KVTREE_FILE_LOCK", "file_lock"))
diff --git a/var/spack/repos/builtin/packages/laghos/package.py b/var/spack/repos/builtin/packages/laghos/package.py
index fb4277d20e..0c3b59cc40 100644
--- a/var/spack/repos/builtin/packages/laghos/package.py
+++ b/var/spack/repos/builtin/packages/laghos/package.py
@@ -63,7 +63,7 @@ class Laghos(MakefilePackage):
targets.append("TEST_MK=%s" % spec["mfem"].package.test_mk)
if spec.satisfies("@:2.0"):
targets.append("CXX=%s" % spec["mpi"].mpicxx)
- if "+ofast %gcc" in self.spec:
+ if self.spec.satisfies("+ofast %gcc"):
targets.append("CXXFLAGS = -Ofast -finline-functions")
return targets
diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index be1697543e..7486b52721 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -844,12 +844,12 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
self.define("ENABLE_TESTING", self.run_tests),
self.define("DOWNLOAD_POTENTIALS", False),
]
- if "~kokkos" in spec:
+ if spec.satisfies("~kokkos"):
# LAMMPS can be build with the GPU package OR the KOKKOS package
# Using both in a single build is discouraged.
# +cuda only implies that one of the two is used
# by default it will use the GPU package if kokkos wasn't enabled
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
args.append(self.define("PKG_GPU", True))
args.append(self.define("GPU_API", "cuda"))
args.append(self.define_from_variant("GPU_PREC", "gpu_precision"))
@@ -857,13 +857,13 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
if cuda_arch != "none":
args.append(self.define("GPU_ARCH", "sm_{0}".format(cuda_arch[0])))
args.append(self.define_from_variant("CUDA_MPS_SUPPORT", "cuda_mps"))
- elif "+opencl" in spec:
+ elif spec.satisfies("+opencl"):
# LAMMPS downloads and bundles its own OpenCL ICD Loader by default
args.append(self.define("USE_STATIC_OPENCL_LOADER", False))
args.append(self.define("PKG_GPU", True))
args.append(self.define("GPU_API", "opencl"))
args.append(self.define_from_variant("GPU_PREC", "gpu_precision"))
- elif "+rocm" in spec:
+ elif spec.satisfies("+rocm"):
args.append(self.define("PKG_GPU", True))
args.append(self.define("GPU_API", "hip"))
args.append(self.define_from_variant("GPU_PREC", "gpu_precision"))
@@ -926,27 +926,27 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
# for transposing 3d FFT data.
args.append(self.define("FFT_SINGLE", spec.satisfies("fftw_precision=single")))
- if "+user-adios" in spec or "+adios" in spec:
+ if spec.satisfies("+user-adios") or spec.satisfies("+adios"):
args.append(self.define("ADIOS2_DIR", self.spec["adios2"].prefix))
- if "+user-plumed" in spec or "+plumed" in spec:
+ if spec.satisfies("+user-plumed") or spec.satisfies("+plumed"):
args.append(self.define("DOWNLOAD_PLUMED", False))
if "+shared" in self.spec["plumed"]:
args.append(self.define("PLUMED_MODE", "shared"))
else:
args.append(self.define("PLUMED_MODE", "static"))
- if "+user-smd" in spec or "+machdyn" in spec:
+ if spec.satisfies("+user-smd") or spec.satisfies("+machdyn"):
args.append(self.define("DOWNLOAD_EIGEN3", False))
args.append(self.define("EIGEN3_INCLUDE_DIR", self.spec["eigen"].prefix.include))
- if "+user-hdnnp" in spec or "+ml-hdnnp" in spec:
+ if spec.satisfies("+user-hdnnp") or spec.satisfies("+ml-hdnnp"):
args.append(self.define("DOWNLOAD_N2P2", False))
args.append(self.define("N2P2_DIR", self.spec["n2p2"].prefix))
- if "+rocm" in spec:
+ if spec.satisfies("+rocm"):
args.append(self.define("CMAKE_CXX_COMPILER", spec["hip"].hipcc))
- if "@:20231121" in spec:
- if "^hip@:5.4" in spec:
+ if spec.satisfies("@:20231121"):
+ if spec.satisfies("^hip@:5.4"):
args.append(self.define("HIP_PATH", f"{spec['hip'].prefix}/hip"))
- elif "^hip@5.5:" in spec:
+ elif spec.satisfies("^hip@5.5:"):
args.append(self.define("HIP_PATH", spec["hip"].prefix))
return args
@@ -957,14 +957,14 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
def setup_run_environment(self, env):
env.set("LAMMPS_POTENTIALS", self.prefix.share.lammps.potentials)
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
if self.spec.platform == "darwin":
env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", self.prefix.lib)
env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", self.prefix.lib64)
else:
env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib)
env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib64)
- if "+plugin" in self.spec:
+ if self.spec.satisfies("+plugin"):
env.prepend_path("LAMMPS_PLUGIN_PATH", self.prefix.lib.lammps.plugins)
env.prepend_path("LAMMPS_PLUGIN_PATH", self.prefix.lib64.lammps.plugins)
diff --git a/var/spack/repos/builtin/packages/lapackpp/package.py b/var/spack/repos/builtin/packages/lapackpp/package.py
index c295cf716f..db32de97e1 100644
--- a/var/spack/repos/builtin/packages/lapackpp/package.py
+++ b/var/spack/repos/builtin/packages/lapackpp/package.py
@@ -104,15 +104,15 @@ class Lapackpp(CMakePackage, CudaPackage, ROCmPackage):
backend = "none"
if self.version >= Version("2022.07.00"):
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
backend = "cuda"
- if "+rocm" in spec:
+ if spec.satisfies("+rocm"):
backend = "hip"
- if "+sycl" in spec:
+ if spec.satisfies("+sycl"):
backend = "sycl"
args = [
- "-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec),
+ "-DBUILD_SHARED_LIBS=%s" % spec.satisfies("+shared"),
"-Dbuild_tests=%s" % self.run_tests,
"-DLAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
"-Dgpu_backend=%s" % backend,
diff --git a/var/spack/repos/builtin/packages/latex2html/package.py b/var/spack/repos/builtin/packages/latex2html/package.py
index cc9346e4fa..a37e7a964c 100644
--- a/var/spack/repos/builtin/packages/latex2html/package.py
+++ b/var/spack/repos/builtin/packages/latex2html/package.py
@@ -119,7 +119,7 @@ class Latex2html(AutotoolsPackage):
exe = which(p)
if exe:
args.append("--with-{0}={1}".format(p, str(exe)))
- if "+svg" in spec:
+ if spec.satisfies("+svg"):
p = "pdftocairo"
exe = join_path(spec["poppler"].prefix.bin, p)
if os.path.exists(exe):
diff --git a/var/spack/repos/builtin/packages/latte/package.py b/var/spack/repos/builtin/packages/latte/package.py
index 735d478a1d..19a9a49275 100644
--- a/var/spack/repos/builtin/packages/latte/package.py
+++ b/var/spack/repos/builtin/packages/latte/package.py
@@ -40,13 +40,13 @@ class Latte(CMakePackage):
def cmake_args(self):
options = []
- if "+shared" in self.spec:
+ if self.spec.satisfies("+shared"):
options.append("-DBUILD_SHARED_LIBS=ON")
else:
options.append("-DBUILD_SHARED_LIBS=OFF")
- if "+mpi" in self.spec:
+ if self.spec.satisfies("+mpi"):
options.append("-DO_MPI=yes")
- if "+progress" in self.spec:
+ if self.spec.satisfies("+progress"):
options.append("-DPROGRESS=yes")
blas_list = ";".join(self.spec["blas"].libs)
diff --git a/var/spack/repos/builtin/packages/lazyten/package.py b/var/spack/repos/builtin/packages/lazyten/package.py
index 76edae2c60..9b42672559 100644
--- a/var/spack/repos/builtin/packages/lazyten/package.py
+++ b/var/spack/repos/builtin/packages/lazyten/package.py
@@ -75,10 +75,10 @@ class Lazyten(CMakePackage):
args = [
"-DAUTOCHECKOUT_MISSING_REPOS=OFF",
#
- "-DBUILD_SHARED_LIBS=" + str("+shared" in spec),
+ "-DBUILD_SHARED_LIBS=" + str(spec.satisfies("+shared")),
# TODO Hard-disable tests for now, since rapidcheck not in Spack
"-DLAZYTEN_ENABLE_TESTS=OFF",
- "-DLAZYTEN_ENABLE_EXAMPLES=" + str("+examples" in spec),
+ "-DLAZYTEN_ENABLE_EXAMPLES=" + str(spec.satisfies("+examples")),
]
# Tell lazyten where to look for the krims cmake config
@@ -98,7 +98,7 @@ class Lazyten(CMakePackage):
]
)
- if "+arpack" in spec:
+ if spec.satisfies("+arpack"):
args.append("-DARPACK_DIR=" + spec["arpack-ng"].prefix)
args.append("-DARPACK_LIBRARY=" + ";".join(spec["arpack-ng"].libs))
diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py
index ff8d671af3..0686530d21 100644
--- a/var/spack/repos/builtin/packages/lbann/package.py
+++ b/var/spack/repos/builtin/packages/lbann/package.py
@@ -266,7 +266,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
@property
def libs(self):
- shared = True if "+shared" in self.spec else False
+ shared = True if self.spec.satisfies("+shared") else False
return find_libraries("liblbann", root=self.prefix, shared=shared, recursive=True)
@property
@@ -286,7 +286,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
spec = self.spec
entries = super().initconfig_compiler_entries()
entries.append(cmake_cache_string("CMAKE_CXX_STANDARD", "17"))
- entries.append(cmake_cache_option("BUILD_SHARED_LIBS", "+shared" in spec))
+ entries.append(cmake_cache_option("BUILD_SHARED_LIBS", spec.satisfies("+shared")))
if not spec.satisfies("^cmake@3.23.0"):
# There is a bug with using Ninja generator in this version
# of CMake
@@ -298,7 +298,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
entries.append(cmake_cache_string("CMAKE_SHARED_LINKER_FLAGS", linker_flags))
# Use lld high performance linker
- if "+lld" in spec:
+ if spec.satisfies("+lld"):
entries.append(
cmake_cache_string(
"CMAKE_EXE_LINKER_FLAGS", "{0} -fuse-ld=lld".format(linker_flags)
@@ -311,7 +311,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
)
# Use gold high performance linker
- if "+gold" in spec:
+ if spec.satisfies("+gold"):
entries.append(
cmake_cache_string(
"CMAKE_EXE_LINKER_FLAGS", "{0} -fuse-ld=gold".format(linker_flags)
@@ -340,7 +340,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
spec = self.spec
entries = super().initconfig_hardware_entries()
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
if self.spec.satisfies("%clang"):
for flag in self.spec.compiler_flags["cxxflags"]:
if "gcc-toolchain" in flag:
@@ -393,7 +393,9 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
entries.append(cmake_cache_option("LBANN_WITH_ALUMINUM", True))
entries.append(cmake_cache_option("LBANN_WITH_CONDUIT", True))
entries.append(cmake_cache_option("LBANN_WITH_HWLOC", True))
- entries.append(cmake_cache_option("LBANN_WITH_ROCTRACER", "+rocm +distconv" in spec))
+ entries.append(
+ cmake_cache_option("LBANN_WITH_ROCTRACER", spec.satisfies("+rocm +distconv"))
+ )
entries.append(cmake_cache_option("LBANN_WITH_TBINF", False))
entries.append(
cmake_cache_string("LBANN_DATATYPE", "{0}".format(spec.variants["dtype"].value))
diff --git a/var/spack/repos/builtin/packages/lc-framework/package.py b/var/spack/repos/builtin/packages/lc-framework/package.py
index 085fb07baf..60ff03576b 100644
--- a/var/spack/repos/builtin/packages/lc-framework/package.py
+++ b/var/spack/repos/builtin/packages/lc-framework/package.py
@@ -43,7 +43,7 @@ class LcFramework(CMakePackage, CudaPackage):
def cmake_args(self):
args = [self.define_from_variant("LC_BUILD_LIBPRESSIO_PLUGIN", "libpressio")]
- if "+cuda" in self.spec:
+ if self.spec.satisfies("+cuda"):
args.append(self.define_from_variant("LC_BUILD_CUDA", "cuda"))
args.append(self.builder.define_cuda_architectures(self))
diff --git a/var/spack/repos/builtin/packages/ldc/package.py b/var/spack/repos/builtin/packages/ldc/package.py
index 5a75282f05..d44db2b064 100644
--- a/var/spack/repos/builtin/packages/ldc/package.py
+++ b/var/spack/repos/builtin/packages/ldc/package.py
@@ -43,7 +43,9 @@ class Ldc(CMakePackage):
args = [
"-DD_COMPILER:STRING={0}".format(ldmd2),
- "-DBUILD_SHARED_LIBS:BOOL={0}".format("ON" if "+shared" in self.spec else "OFF"),
+ "-DBUILD_SHARED_LIBS:BOOL={0}".format(
+ "ON" if self.spec.satisfies("+shared") else "OFF"
+ ),
"-DLDC_INSTALL_LTOPLUGIN:BOOL=ON",
"-DLDC_BUILD_WITH_LTO:BOOL=OFF",
]
diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py
index c69598267f..74f46d380a 100644
--- a/var/spack/repos/builtin/packages/legion/package.py
+++ b/var/spack/repos/builtin/packages/legion/package.py
@@ -93,7 +93,9 @@ class Legion(CMakePackage, ROCmPackage):
patch("hip-offload-arch.patch", when="@23.03.0 +rocm")
def patch(self):
- if "network=gasnet conduit=ofi-slingshot11 ^cray-mpich+wrappers" in self.spec:
+ if self.spec.satisfies(
+ "network=gasnet conduit=ofi-slingshot11 ^[virtuals=mpi] cray-mpich+wrappers"
+ ):
filter_file(
r"--with-mpi-cc=cc",
f"--with-mpi-cc={self.spec['mpi'].mpicc}",
diff --git a/var/spack/repos/builtin/packages/lesstif/package.py b/var/spack/repos/builtin/packages/lesstif/package.py
index ddeb248a41..f8966c74ef 100644
--- a/var/spack/repos/builtin/packages/lesstif/package.py
+++ b/var/spack/repos/builtin/packages/lesstif/package.py
@@ -42,8 +42,8 @@ class Lesstif(AutotoolsPackage):
"--disable-debug",
"--enable-production",
"--disable-dependency-tracking",
- "--enable-shared" if "+shared" in spec else "--disable-shared",
- "--enable-static" if "+static" in spec else "--disable-static",
+ "--enable-shared" if spec.satisfies("+shared") else "--disable-shared",
+ "--enable-static" if spec.satisfies("+static") else "--disable-static",
]
return args
diff --git a/var/spack/repos/builtin/packages/leveldb/package.py b/var/spack/repos/builtin/packages/leveldb/package.py
index 679a913a88..6c153c8f43 100644
--- a/var/spack/repos/builtin/packages/leveldb/package.py
+++ b/var/spack/repos/builtin/packages/leveldb/package.py
@@ -70,7 +70,7 @@ class Leveldb(CMakePackage):
def cmake_args(self):
args = []
- if "+shared" in self.spec:
+ if self.spec.satisfies("+shared"):
args.append("-DBUILD_SHARED_LIBS=ON")
else:
args.append("-DBUILD_SHARED_LIBS=OFF")
diff --git a/var/spack/repos/builtin/packages/lhapdf/package.py b/var/spack/repos/builtin/packages/lhapdf/package.py
index c38f7b3160..9a86639a45 100644
--- a/var/spack/repos/builtin/packages/lhapdf/package.py
+++ b/var/spack/repos/builtin/packages/lhapdf/package.py
@@ -50,7 +50,7 @@ class Lhapdf(AutotoolsPackage):
# Add -lintl if provided by gettext, otherwise libintl is provided by the system's glibc:
if (
self.spec.satisfies("+python")
- and "gettext" in self.spec
+ and self.spec.satisfies("^gettext")
and "intl" in self.spec["gettext"].libs.names
):
env.append_flags("LDFLAGS", "-L" + self.spec["gettext"].prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py
index 388d6a7973..196f97ad95 100644
--- a/var/spack/repos/builtin/packages/libarchive/package.py
+++ b/var/spack/repos/builtin/packages/libarchive/package.py
@@ -136,7 +136,7 @@ class Libarchive(AutotoolsPackage):
args += self.with_or_without("xar")
args += self.enable_or_disable("programs")
- if "+iconv" in spec:
+ if spec.satisfies("+iconv"):
if spec["iconv"].name == "libiconv":
args.append(f"--with-libiconv-prefix={spec['iconv'].prefix}")
else:
diff --git a/var/spack/repos/builtin/packages/libbeagle/package.py b/var/spack/repos/builtin/packages/libbeagle/package.py
index 530815089c..312c98ebf8 100644
--- a/var/spack/repos/builtin/packages/libbeagle/package.py
+++ b/var/spack/repos/builtin/packages/libbeagle/package.py
@@ -48,7 +48,7 @@ class Libbeagle(AutotoolsPackage, CudaPackage):
def patch(self):
# update cuda architecture if necessary
- if "+cuda" in self.spec:
+ if self.spec.satisfies("+cuda"):
cuda_arch = self.spec.variants["cuda_arch"].value
archflag = "-arch=compute_{0}".format(cuda_arch)
@@ -73,12 +73,12 @@ class Libbeagle(AutotoolsPackage, CudaPackage):
"--disable-march-native"
]
- if "+cuda" in self.spec:
+ if self.spec.satisfies("+cuda"):
args.append("--with-cuda={0}".format(self.spec["cuda"].prefix))
else:
args.append("--without-cuda")
- if "+opencl" in self.spec:
+ if self.spec.satisfies("+opencl"):
args.append("--with-opencl={0}".format(self.spec["opencl"].prefix))
else:
args.append("--without-opencl")
diff --git a/var/spack/repos/builtin/packages/libcanberra/package.py b/var/spack/repos/builtin/packages/libcanberra/package.py
index a629cd8318..7e09b89f09 100644
--- a/var/spack/repos/builtin/packages/libcanberra/package.py
+++ b/var/spack/repos/builtin/packages/libcanberra/package.py
@@ -46,7 +46,7 @@ class Libcanberra(AutotoolsPackage):
def configure_args(self):
args = ["--enable-static"]
- if "+gtk" in self.spec:
+ if self.spec.satisfies("+gtk"):
args.append("--enable-gtk")
else:
args.append("--disable-gtk")
diff --git a/var/spack/repos/builtin/packages/libceed/package.py b/var/spack/repos/builtin/packages/libceed/package.py
index 04f438ab30..5900047a79 100644
--- a/var/spack/repos/builtin/packages/libceed/package.py
+++ b/var/spack/repos/builtin/packages/libceed/package.py
@@ -76,12 +76,12 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage):
# Use verbose building output
makeopts = ["V=1"]
- if "@:0.2" in spec:
- makeopts += ["NDEBUG=%s" % ("" if "+debug" in spec else "1")]
+ if spec.satisfies("@:0.2"):
+ makeopts += ["NDEBUG=%s" % ("" if spec.satisfies("+debug") else "1")]
- elif "@0.4:" in spec:
+ elif spec.satisfies("@0.4:"):
# Determine options based on the compiler:
- if "+debug" in spec:
+ if spec.satisfies("+debug"):
opt = "-g"
elif compiler.name == "gcc":
opt = "-O3 -g -ffp-contract=fast"
@@ -114,7 +114,7 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage):
if spec.satisfies("@:0.7") and "avx" in self.spec.target:
makeopts.append("AVX=1")
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
makeopts += ["CUDA_DIR=%s" % spec["cuda"].prefix]
makeopts += ["CUDA_ARCH=sm_%s" % spec.variants["cuda_arch"].value]
if spec.satisfies("@:0.4"):
@@ -128,17 +128,17 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage):
# Disable CUDA auto-detection:
makeopts += ["CUDA_DIR=/disable-cuda"]
- if "+rocm" in spec:
+ if spec.satisfies("+rocm"):
makeopts += ["HIP_DIR=%s" % spec["hip"].prefix]
amdgpu_target = ",".join(spec.variants["amdgpu_target"].value)
makeopts += ["HIP_ARCH=%s" % amdgpu_target]
if spec.satisfies("@0.8"):
makeopts += ["HIPBLAS_DIR=%s" % spec["hipblas"].prefix]
- if "+libxsmm" in spec:
+ if spec.satisfies("+libxsmm"):
makeopts += ["XSMM_DIR=%s" % spec["libxsmm"].prefix]
- if "+magma" in spec:
+ if spec.satisfies("+magma"):
makeopts += ["MAGMA_DIR=%s" % spec["magma"].prefix]
return makeopts
diff --git a/var/spack/repos/builtin/packages/libcint/package.py b/var/spack/repos/builtin/packages/libcint/package.py
index 98fef43367..cb9ec5aec2 100644
--- a/var/spack/repos/builtin/packages/libcint/package.py
+++ b/var/spack/repos/builtin/packages/libcint/package.py
@@ -68,11 +68,11 @@ class Libcint(CMakePackage):
def cmake_args(self):
spec = self.spec
args = [
- "-DWITH_RANGE_COULOMB=" + str("+coulomb_erf" in spec),
- "-DPYPZPX=" + str("+pypzpx" in spec),
- "-DWITH_F12=" + str("+f12" in spec),
- "-DBUILD_SHARED_LIBS=" + str("+shared" in spec),
- "-DENABLE_TEST=" + str("+test" in spec),
+ "-DWITH_RANGE_COULOMB=" + str(spec.satisfies("+coulomb_erf")),
+ "-DPYPZPX=" + str(spec.satisfies("+pypzpx")),
+ "-DWITH_F12=" + str(spec.satisfies("+f12")),
+ "-DBUILD_SHARED_LIBS=" + str(spec.satisfies("+shared")),
+ "-DENABLE_TEST=" + str(spec.satisfies("+test")),
"-DENABLE_EXAMPLE=OFF", # Requires fortran compiler
]
return args
diff --git a/var/spack/repos/builtin/packages/libcroco/package.py b/var/spack/repos/builtin/packages/libcroco/package.py
index 45a6c6ef69..ebb6878943 100644
--- a/var/spack/repos/builtin/packages/libcroco/package.py
+++ b/var/spack/repos/builtin/packages/libcroco/package.py
@@ -32,7 +32,7 @@ class Libcroco(AutotoolsPackage):
def configure_args(self):
config_args = []
- if "+doc" in self.spec:
+ if self.spec.satisfies("+doc"):
config_args.extend(
[
"--enable-gtk-doc",
diff --git a/var/spack/repos/builtin/packages/libdrm/package.py b/var/spack/repos/builtin/packages/libdrm/package.py
index 3beb09f0fc..5a6aa91b27 100644
--- a/var/spack/repos/builtin/packages/libdrm/package.py
+++ b/var/spack/repos/builtin/packages/libdrm/package.py
@@ -99,6 +99,6 @@ class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder):
class MesonBuilder(spack.build_systems.meson.MesonBuilder):
def meson_args(self):
if self.spec.satisfies("@:2.4.112"):
- return ["-Dman-pages=" + ("true" if "+docs" in self.spec else "false")]
+ return ["-Dman-pages=" + ("true" if self.spec.satisfies("+docs") else "false")]
else:
- return ["-Dman-pages=" + ("enabled" if "+docs" in self.spec else "disabled")]
+ return ["-Dman-pages=" + ("enabled" if self.spec.satisfies("+docs") else "disabled")]
diff --git a/var/spack/repos/builtin/packages/libepoxy/package.py b/var/spack/repos/builtin/packages/libepoxy/package.py
index 1a530a072c..da614363b2 100644
--- a/var/spack/repos/builtin/packages/libepoxy/package.py
+++ b/var/spack/repos/builtin/packages/libepoxy/package.py
@@ -35,7 +35,7 @@ class Libepoxy(AutotoolsPackage):
# --enable-glx defaults to auto and was failing on PPC64LE systems
# because libx11 was missing from the dependences. This explicitly
# enables/disables glx support.
- if "+glx" in self.spec:
+ if self.spec.satisfies("+glx"):
args.append("--enable-glx=yes")
else:
args.append("--enable-glx=no")
diff --git a/var/spack/repos/builtin/packages/libevent/package.py b/var/spack/repos/builtin/packages/libevent/package.py
index f209436385..2fff5bc04f 100644
--- a/var/spack/repos/builtin/packages/libevent/package.py
+++ b/var/spack/repos/builtin/packages/libevent/package.py
@@ -61,7 +61,7 @@ class Libevent(AutotoolsPackage):
def configure_args(self):
spec = self.spec
configure_args = []
- if "+openssl" in spec:
+ if spec.satisfies("+openssl"):
configure_args.append("--enable-openssl")
else:
configure_args.append("--disable-openssl")
diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py
index 9f9d3e0cb2..7aaa7dd73f 100644
--- a/var/spack/repos/builtin/packages/libfabric/package.py
+++ b/var/spack/repos/builtin/packages/libfabric/package.py
@@ -199,7 +199,7 @@ class Libfabric(AutotoolsPackage, CudaPackage):
args.extend(self.enable_or_disable("debug"))
- if "+kdreg" in self.spec:
+ if self.spec.satisfies("+kdreg"):
args.append("--with-kdreg=yes")
else:
args.append("--with-kdreg=no")
diff --git a/var/spack/repos/builtin/packages/libflame/package.py b/var/spack/repos/builtin/packages/libflame/package.py
index e43d9d358a..765e588ee4 100644
--- a/var/spack/repos/builtin/packages/libflame/package.py
+++ b/var/spack/repos/builtin/packages/libflame/package.py
@@ -72,22 +72,22 @@ class LibflameBase(AutotoolsPackage):
# https://github.com/flame/libflame/issues/24
config_args = ["LIBS=" + self.spec["blas"].libs.ld_flags]
- if "+lapack2flame" in self.spec:
+ if self.spec.satisfies("+lapack2flame"):
config_args.append("--enable-lapack2flame")
else:
config_args.append("--disable-lapack2flame")
- if "+static" in self.spec:
+ if self.spec.satisfies("+static"):
config_args.append("--enable-static-build")
else:
config_args.append("--disable-static-build")
- if "+shared" in self.spec:
+ if self.spec.satisfies("+shared"):
config_args.append("--enable-dynamic-build")
else:
config_args.append("--disable-dynamic-build")
- if "+debug" in self.spec:
+ if self.spec.satisfies("+debug"):
config_args.append("--enable-debug")
else:
config_args.append("--disable-debug")
diff --git a/var/spack/repos/builtin/packages/libfms/package.py b/var/spack/repos/builtin/packages/libfms/package.py
index 109f09800b..c32b15b764 100644
--- a/var/spack/repos/builtin/packages/libfms/package.py
+++ b/var/spack/repos/builtin/packages/libfms/package.py
@@ -33,7 +33,7 @@ class Libfms(CMakePackage):
def cmake_args(self):
args = []
args.extend([self.define_from_variant("BUILD_SHARED_LIBS", "shared")])
- if "+conduit" in self.spec:
+ if self.spec.satisfies("+conduit"):
args.extend([self.define("CONDUIT_DIR", self.spec["conduit"].prefix)])
return args
@@ -52,6 +52,6 @@ class Libfms(CMakePackage):
"""Export the FMS library.
Sample usage: spec['libfms'].libs.ld_flags
"""
- is_shared = "+shared" in self.spec
+ is_shared = self.spec.satisfies("+shared")
libs = find_libraries("libfms", root=self.prefix, shared=is_shared, recursive=True)
return libs or None # Raise an error if no libs are found
diff --git a/var/spack/repos/builtin/packages/libfuse/package.py b/var/spack/repos/builtin/packages/libfuse/package.py
index 5177736a11..57d62e0bf6 100644
--- a/var/spack/repos/builtin/packages/libfuse/package.py
+++ b/var/spack/repos/builtin/packages/libfuse/package.py
@@ -106,19 +106,19 @@ class Libfuse(MesonPackage):
def meson_args(self):
args = []
- if "+utils" in self.spec:
+ if self.spec.satisfies("+utils"):
args.append("-Dutils=true")
args.append("-Dexamples=true")
else:
args.append("-Dutils=false")
args.append("-Dexamples=false")
- if "+useroot" in self.spec:
+ if self.spec.satisfies("+useroot"):
args.append("-Duseroot=true")
else:
args.append("-Duseroot=false")
- if "~system_install" in self.spec:
+ if self.spec.satisfies("~system_install"):
# Fix meson's setup if meson does not have the host system's udev package:
args.append("-Dudevrulesdir={0}".format(self.prefix.etc.rules.d))
@@ -147,10 +147,14 @@ class Libfuse(MesonPackage):
]
args.append(
- "--enable-static" if "default_library=static" in self.spec else "--disable-static"
+ "--enable-static"
+ if self.spec.satisfies("default_library=static")
+ else "--disable-static"
)
args.append(
- "--enable-shared" if "default_library=shared" in self.spec else "--disable-shared"
+ "--enable-shared"
+ if self.spec.satisfies("default_library=shared")
+ else "--disable-shared"
)
configure(*args)
diff --git a/var/spack/repos/builtin/packages/libgain/package.py b/var/spack/repos/builtin/packages/libgain/package.py
index 13360d0a79..3df08f4a24 100644
--- a/var/spack/repos/builtin/packages/libgain/package.py
+++ b/var/spack/repos/builtin/packages/libgain/package.py
@@ -30,5 +30,5 @@ class Libgain(AutotoolsPackage):
@property
def libs(self):
- shared = "+shared" in self.spec
+ shared = self.spec.satisfies("+shared")
return find_libraries("libGaIn", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libgeotiff/package.py b/var/spack/repos/builtin/packages/libgeotiff/package.py
index 3a50f6d2fa..1692919251 100644
--- a/var/spack/repos/builtin/packages/libgeotiff/package.py
+++ b/var/spack/repos/builtin/packages/libgeotiff/package.py
@@ -63,17 +63,17 @@ class Libgeotiff(AutotoolsPackage):
args = ["--with-libtiff={0}".format(spec["libtiff"].prefix)]
- if "+zlib" in spec:
+ if spec.satisfies("+zlib"):
args.append("--with-zlib={0}".format(spec["zlib-api"].prefix))
else:
args.append("--with-zlib=no")
- if "+jpeg" in spec:
+ if spec.satisfies("+jpeg"):
args.append("--with-jpeg={0}".format(spec["jpeg"].prefix))
else:
args.append("--with-jpeg=no")
- if "+proj" in spec:
+ if spec.satisfies("+proj"):
args.append("--with-proj={0}".format(spec["proj"].prefix))
else:
args.append("--with-proj=no")
diff --git a/var/spack/repos/builtin/packages/libgit2/package.py b/var/spack/repos/builtin/packages/libgit2/package.py
index 19655d280a..2ba56471b6 100644
--- a/var/spack/repos/builtin/packages/libgit2/package.py
+++ b/var/spack/repos/builtin/packages/libgit2/package.py
@@ -105,16 +105,16 @@ class Libgit2(CMakePackage):
def cmake_args(self):
args = []
- if "https=system" in self.spec:
- if "platform=linux" in self.spec:
+ if self.spec.satisfies("https=system"):
+ if self.spec.satisfies("platform=linux"):
args.append("-DUSE_HTTPS=OpenSSL")
- elif "platform=darwin" in self.spec:
+ elif self.spec.satisfies("platform=darwin"):
args.append("-DUSE_HTTPS=SecureTransport")
else:
# Let CMake try to find an HTTPS implementation. Mileage on
# your platform may vary
args.append("-DUSE_HTTPS=ON")
- elif "https=openssl" in self.spec:
+ elif self.spec.satisfies("https=openssl"):
args.append("-DUSE_HTTPS=OpenSSL")
else:
args.append("-DUSE_HTTPS=OFF")
@@ -122,7 +122,7 @@ class Libgit2(CMakePackage):
args.append(f"-DUSE_SSH={'ON' if '+ssh' in self.spec else 'OFF'}")
# The curl backed is not supported after 0.27.x
- if "@:0.27 +curl" in self.spec:
+ if self.spec.satisfies("@:0.27 +curl"):
args.append(f"-DCURL={'ON' if '+curl' in self.spec else 'OFF'}")
# Control tests
diff --git a/var/spack/repos/builtin/packages/libhio/package.py b/var/spack/repos/builtin/packages/libhio/package.py
index b9a67e35bf..fbabcb9d45 100644
--- a/var/spack/repos/builtin/packages/libhio/package.py
+++ b/var/spack/repos/builtin/packages/libhio/package.py
@@ -62,7 +62,7 @@ class Libhio(AutotoolsPackage):
args = []
args.append("--with-external_bz2={0}".format(spec["bzip2"].prefix))
- if "+hdf5" in spec:
+ if spec.satisfies("+hdf5"):
args.append("--with-hdf5={0}".format(spec["hdf5"].prefix))
args.append("--with-external-json={0}".format(spec["json-c"].prefix))
diff --git a/var/spack/repos/builtin/packages/libiberty/package.py b/var/spack/repos/builtin/packages/libiberty/package.py
index f5bf3acb4b..a76d140078 100644
--- a/var/spack/repos/builtin/packages/libiberty/package.py
+++ b/var/spack/repos/builtin/packages/libiberty/package.py
@@ -60,7 +60,7 @@ class Libiberty(AutotoolsPackage, GNUMirrorPackage):
else:
flags.append("-O2")
- if "+pic" in self.spec:
+ if self.spec.satisfies("+pic"):
flags.append(self.compiler.cc_pic_flag)
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py
index bbc0178a95..26db964f1c 100644
--- a/var/spack/repos/builtin/packages/libiconv/package.py
+++ b/var/spack/repos/builtin/packages/libiconv/package.py
@@ -60,5 +60,5 @@ class Libiconv(AutotoolsPackage, GNUMirrorPackage):
@property
def libs(self):
- shared = "libs=shared" in self.spec
+ shared = self.spec.satisfies("libs=shared")
return find_libraries(["libiconv"], root=self.prefix, recursive=True, shared=shared)
diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py
index cb5798b543..cc09df5645 100644
--- a/var/spack/repos/builtin/packages/libint/package.py
+++ b/var/spack/repos/builtin/packages/libint/package.py
@@ -128,7 +128,7 @@ class Libint(AutotoolsPackage):
# Change AR to xiar if we compile with Intel and we
# find the executable
- if "%intel" in self.spec and which("xiar"):
+ if self.spec.satisfies("%intel") and which("xiar"):
env.set("AR", "xiar")
def configure_args(self):
@@ -158,7 +158,7 @@ class Libint(AutotoolsPackage):
if self.version < Version("2.0.0"):
config_args.extend(["--with-libint-max-am=5", "--with-libderiv-max-am1=4"])
- if "@2.6.0:" in self.spec:
+ if self.spec.satisfies("@2.6.0:"):
config_args += ["--with-libint-exportdir=generated"]
config_args += self.enable_or_disable("debug", activation_value=lambda x: "opt")
config_args += self.enable_or_disable("fma")
@@ -204,7 +204,7 @@ class Libint(AutotoolsPackage):
@property
def build_targets(self):
- if "@2.6.0:" in self.spec:
+ if self.spec.satisfies("@2.6.0:"):
return ["export"]
return []
@@ -244,9 +244,9 @@ class Libint(AutotoolsPackage):
f"-DCMAKE_INSTALL_PREFIX={prefix}",
"-DLIBINT2_BUILD_SHARED_AND_STATIC_LIBS=ON",
]
- if "+fortran" in spec:
+ if spec.satisfies("+fortran"):
cmake_args.append("-DENABLE_FORTRAN=ON")
- if "+debug" in spec:
+ if spec.satisfies("+debug"):
cmake_args.append("CMAKE_BUILD_TYPE=Debug")
cmake = Executable("cmake")
mkdirp("build")
@@ -274,7 +274,7 @@ class Libint(AutotoolsPackage):
def patch(self):
# Use Fortran compiler to link the Fortran example, not the C++
# compiler
- if "+fortran" in self.spec:
+ if self.spec.satisfies("+fortran"):
if not self.spec.satisfies("%fj"):
filter_file(
"$(CXX) $(CXXFLAGS)",
diff --git a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
index d26fce407a..65b07ad458 100644
--- a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
+++ b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
@@ -131,5 +131,5 @@ class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
@run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies("platform=darwin") and ("+shared" in self.spec):
+ if self.spec.satisfies("platform=darwin") and self.spec.satisfies("+shared"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libkml/package.py b/var/spack/repos/builtin/packages/libkml/package.py
index 4f53a24f7d..2c0fde6cfc 100644
--- a/var/spack/repos/builtin/packages/libkml/package.py
+++ b/var/spack/repos/builtin/packages/libkml/package.py
@@ -52,12 +52,12 @@ class Libkml(CMakePackage):
args = []
- if "+java" in spec:
+ if spec.satisfies("+java"):
args.append("-DWITH_JAVA:BOOL=ON")
else:
args.append("-DWITH_JAVA:BOOL=OFF")
- if "+python" in spec:
+ if spec.satisfies("+python"):
args.append("-DWITH_PYTHON:BOOL=ON")
else:
args.append("-DWITH_PYTHON:BOOL=OFF")
diff --git a/var/spack/repos/builtin/packages/liblas/package.py b/var/spack/repos/builtin/packages/liblas/package.py
index 4c85e04cf9..3fa4283976 100644
--- a/var/spack/repos/builtin/packages/liblas/package.py
+++ b/var/spack/repos/builtin/packages/liblas/package.py
@@ -37,22 +37,22 @@ class Liblas(CMakePackage):
def cmake_args(self):
args = []
- if "+endian" in self.spec:
+ if self.spec.satisfies("+endian"):
args.append("-DWITH_ENDIANAWARE=ON")
else:
args.append("-DWITH_ENDIANAWARE=OFF")
- if "+gdal" in self.spec:
+ if self.spec.satisfies("+gdal"):
args.append("-DWITH_GDAL=ON")
else:
args.append("-DWITH_GDAL=OFF")
- if "+geotiff" in self.spec:
+ if self.spec.satisfies("+geotiff"):
args.append("-DWITH_GEOTIFF=ON")
else:
args.append("-DWITH_GEOTIFF=OFF")
- if "+laszip" in self.spec:
+ if self.spec.satisfies("+laszip"):
args.append("-DWITH_LASZIP=ON")
else:
args.append("-DWITH_LASZIP=OFF")
diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py
index 53c41d9c33..0cd0ba6dac 100644
--- a/var/spack/repos/builtin/packages/libmesh/package.py
+++ b/var/spack/repos/builtin/packages/libmesh/package.py
@@ -152,7 +152,7 @@ class Libmesh(AutotoolsPackage):
def configure_args(self):
options = []
- if "+shared" in self.spec:
+ if self.spec.satisfies("+shared"):
options.extend(["--enable-shared", "--disable-static"])
else:
options.extend(["--disable-shared", "--enable-static"])
@@ -209,44 +209,44 @@ class Libmesh(AutotoolsPackage):
options.append("--enable-" + bundled_library + "=no")
# and the ones which are dependencies of other bundled libraries:
- if "+exodusii" in self.spec or "+netcdf" in self.spec:
+ if self.spec.satisfies("+exodusii") or self.spec.satisfies("+netcdf"):
options.append("--enable-netcdf=yes")
else:
options.append("--enable-netcdf=no")
- if "+vtk" in self.spec:
+ if self.spec.satisfies("+vtk"):
options.append("--enable-vtk")
options.append("--with-vtk=%s" % self.spec["vtk"].prefix)
else:
options.append("--disable-vtk")
# handle external library dependencies:
- if "+boost" in self.spec:
+ if self.spec.satisfies("+boost"):
options.append("--with-boost=%s" % self.spec["boost"].prefix)
else:
options.append("--enable-boost=no")
- if "+eigen" in self.spec:
+ if self.spec.satisfies("+eigen"):
options.append("--with-eigen=%s" % self.spec["eigen"].prefix)
else:
options.append("--enable-eigen=no")
- if "+metaphysicl" in self.spec:
+ if self.spec.satisfies("+metaphysicl"):
options.append("--enable-metaphysicl")
else:
options.append("--disable-metaphysicl")
- if "+perflog" in self.spec:
+ if self.spec.satisfies("+perflog"):
options.append("--enable-perflog")
else:
options.append("--disable-perflog")
- if "+blocked" in self.spec:
+ if self.spec.satisfies("+blocked"):
options.append("--enable-blocked-storage")
else:
options.append("--disable-blocked-storage")
- if "+hdf5" in self.spec:
+ if self.spec.satisfies("+hdf5"):
options.append("--with-hdf5=%s" % self.spec["hdf5"].prefix)
else:
options.append("--enable-hdf5=no")
@@ -255,34 +255,34 @@ class Libmesh(AutotoolsPackage):
if "+netcdf" not in self.spec:
options.append("--disable-netcdf-4")
- if "+metis" in self.spec:
+ if self.spec.satisfies("+metis"):
options.append("--enable-metis")
options.append("--enable-parmetis")
- if "+petsc" in self.spec:
+ if self.spec.satisfies("+petsc"):
options.append("--with-metis=PETSc")
options.append("--with-parmetis=PETSc")
else:
options.append("--disable-metis")
- if "+petsc" in self.spec or "+slepc" in self.spec:
+ if self.spec.satisfies("+petsc") or self.spec.satisfies("+slepc"):
options.append("--enable-petsc=yes")
options.append("PETSC_DIR=%s" % self.spec["petsc"].prefix)
else:
options.append("--enable-petsc=no")
- if "+slepc" in self.spec:
+ if self.spec.satisfies("+slepc"):
options.append("--enable-slepc=yes")
options.append("SLEPC_DIR=%s" % self.spec["slepc"].prefix)
else:
options.append("--enable-slepc=no")
# and, finally, other things:
- if "+debug" in self.spec:
+ if self.spec.satisfies("+debug"):
options.append("--with-methods=dbg")
else:
options.append("--with-methods=opt")
- if "+mpi" in self.spec:
+ if self.spec.satisfies("+mpi"):
options.append("CC=%s" % self.spec["mpi"].mpicc)
options.append("CXX=%s" % self.spec["mpi"].mpicxx)
options.append("--with-mpi=%s" % self.spec["mpi"].prefix)
@@ -293,7 +293,7 @@ class Libmesh(AutotoolsPackage):
options.append("CC=%s" % self.compiler.cc)
options.append("CXX=%s" % self.compiler.cxx)
- if "threads=openmp" in self.spec:
+ if self.spec.satisfies("threads=openmp"):
# OpenMP cannot be used if pthreads is not available: see
# parallel/threads_pthread.h and parallel/threads.h
options.append("--enable-openmp=yes")
@@ -302,14 +302,14 @@ class Libmesh(AutotoolsPackage):
else:
options.append("--enable-openmp=no")
- if "threads=pthreads" in self.spec:
+ if self.spec.satisfies("threads=pthreads"):
options.append("--with-thread-model=pthread")
options.append("--enable-pthreads=yes")
else:
if "threads=openmp" not in self.spec:
options.append("--enable-pthreads=no")
- if "threads=tbb" in self.spec:
+ if self.spec.satisfies("threads=tbb"):
options.append("--with-thread-model=tbb")
options.append("--enable-tbb=yes")
options.append("--with-tbb=%s" % self.spec["tbb"].prefix)
diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py
index 58afd8126e..e72d9bc122 100644
--- a/var/spack/repos/builtin/packages/libmonitor/package.py
+++ b/var/spack/repos/builtin/packages/libmonitor/package.py
@@ -64,10 +64,10 @@ class Libmonitor(AutotoolsPackage):
def configure_args(self):
args = []
- if "+hpctoolkit" in self.spec:
+ if self.spec.satisfies("+hpctoolkit"):
args.append("--enable-client-signals=%s" % self.signals)
- if "+dlopen" in self.spec:
+ if self.spec.satisfies("+dlopen"):
args.append("--enable-dlfcn")
else:
args.append("--disable-dlfcn")
diff --git a/var/spack/repos/builtin/packages/libmypaint/package.py b/var/spack/repos/builtin/packages/libmypaint/package.py
index a457f1f80f..4ae0a1fb6c 100644
--- a/var/spack/repos/builtin/packages/libmypaint/package.py
+++ b/var/spack/repos/builtin/packages/libmypaint/package.py
@@ -41,10 +41,10 @@ class Libmypaint(AutotoolsPackage):
def configure_args(self):
args = []
- if "+gegl" in self.spec:
+ if self.spec.satisfies("+gegl"):
args.append("--enable-gegl=yes")
- if "+introspection" in self.spec:
+ if self.spec.satisfies("+introspection"):
args.extend(
["--enable-introspection=yes", "--with-glib={0}".format(self.spec["glib"].prefix)]
)
diff --git a/var/spack/repos/builtin/packages/libpng/package.py b/var/spack/repos/builtin/packages/libpng/package.py
index 8db93426c5..7f3a85c2ae 100644
--- a/var/spack/repos/builtin/packages/libpng/package.py
+++ b/var/spack/repos/builtin/packages/libpng/package.py
@@ -48,7 +48,7 @@ class Libpng(CMakePackage):
def libs(self):
# v1.2 does not have a version-less symlink
libraries = f"libpng{self.version.up_to(2).joined}"
- shared = "libs=shared" in self.spec
+ shared = self.spec.satisfies("libs=shared")
return find_libraries(
libraries, root=self.prefix, shared=shared, recursive=True, runtime=False
)
diff --git a/var/spack/repos/builtin/packages/libpressio/package.py b/var/spack/repos/builtin/packages/libpressio/package.py
index 564ab38587..095a401883 100644
--- a/var/spack/repos/builtin/packages/libpressio/package.py
+++ b/var/spack/repos/builtin/packages/libpressio/package.py
@@ -374,11 +374,14 @@ class Libpressio(CMakePackage, CudaPackage):
self.define_from_variant("LIBPRESSIO_INSTALL_DOCS", "docs"),
self.define_from_variant("BUILD_PYTHON_WRAPPER", "python"),
self.define("LIBPRESSIO_HAS_MPI4PY", self.spec.satisfies("+python +mpi")),
- self.define("LIBPRESSIO_BUILD_MODE", "FULL" if "+core" in self.spec else "CORE"),
+ self.define(
+ "LIBPRESSIO_BUILD_MODE", "FULL" if self.spec.satisfies("+core") else "CORE"
+ ),
self.define("BUILD_TESTING", self.run_tests),
# this flag was removed in 0.52.0, we should deprecate and remove this
self.define(
- "LIBPRESSIO_CXX_VERSION", "11" if "+boost" in self.spec else self.lp_cxx_version()
+ "LIBPRESSIO_CXX_VERSION",
+ "11" if self.spec.satisfies("+boost") else self.lp_cxx_version(),
),
]
# if cuda is backed by the shim, we need to set these linker flags to
@@ -386,15 +389,15 @@ class Libpressio(CMakePackage, CudaPackage):
if self.spec.satisfies("+cusz +cuda"):
args.append("-DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined")
# libpressio needs to know where to install the python libraries
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
args.append(f"-DLIBPRESSIO_PYTHON_SITELIB={python_platlib}")
# help ensure that libpressio finds the correct HDF5 package
- if "+hdf5" in self.spec:
+ if self.spec.satisfies("+hdf5"):
args.append("-DHDF5_ROOT=" + self.spec["hdf5"].prefix)
return args
def setup_run_environment(self, env):
- if "+hdf5" in self.spec and "+json" in self.spec:
+ if self.spec.satisfies("+hdf5") and self.spec.satisfies("+json"):
env.prepend_path("HDF5_PLUGIN_PATH", self.prefix.lib64)
@run_after("build")
@@ -404,7 +407,7 @@ class Libpressio(CMakePackage, CudaPackage):
@run_after("build")
def install_docs(self):
- if "+docs" in self.spec:
+ if self.spec.satisfies("+docs"):
with working_dir(self.build_directory):
make("docs")
diff --git a/var/spack/repos/builtin/packages/libproxy/package.py b/var/spack/repos/builtin/packages/libproxy/package.py
index f7f826fd47..612f6d01ee 100644
--- a/var/spack/repos/builtin/packages/libproxy/package.py
+++ b/var/spack/repos/builtin/packages/libproxy/package.py
@@ -40,12 +40,12 @@ class Libproxy(CMakePackage):
self.define("WITH_PYTHON2", False),
self.define("WITH_VALA", False),
]
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
args.append(self.define("PYTHON3_SITEPKG_DIR", python_platlib))
return args
def setup_run_environment(self, env):
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
libs = self.spec["libproxy"].libs.directories[0]
if self.spec.satisfies("platform=darwin"):
env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", libs)
diff --git a/var/spack/repos/builtin/packages/libpsm3/package.py b/var/spack/repos/builtin/packages/libpsm3/package.py
index 8bb5732761..6772a10a39 100644
--- a/var/spack/repos/builtin/packages/libpsm3/package.py
+++ b/var/spack/repos/builtin/packages/libpsm3/package.py
@@ -56,8 +56,8 @@ class Libpsm3(AutotoolsPackage):
env.prepend_path("FI_PROVIDER_PATH", self.prefix.lib)
env.set("FI_PROVIDER", "psm3")
env.set("PSM3_ALLOW_ROUTERS", "1")
- if "+sockets" in self.spec and "~verbs" in self.spec:
+ if self.spec.satisfies("+sockets ~verbs"):
env.set("PSM3_HAL", "sockets")
env.set("FI_PSM3_NAME_SERVER", "1")
- if "+debug" in self.spec:
+ if self.spec.satisfies("+debug"):
env.set("PSM3_IDENTIFY", "1")
diff --git a/var/spack/repos/builtin/packages/libquo/package.py b/var/spack/repos/builtin/packages/libquo/package.py
index 95650df42e..099dcf0ec5 100644
--- a/var/spack/repos/builtin/packages/libquo/package.py
+++ b/var/spack/repos/builtin/packages/libquo/package.py
@@ -47,7 +47,7 @@ class Libquo(AutotoolsPackage):
"CC={0}".format(self.spec["mpi"].mpicc),
"FC={0}".format(self.spec["mpi"].mpifc),
]
- if "%pgi" in self.spec:
+ if self.spec.satisfies("%pgi"):
config_args.append("CFLAGS={0}".format(self.compiler.cc_pic_flag))
config_args.append("FCFLAGS={0}".format(self.compiler.fc_pic_flag))
return config_args
diff --git a/var/spack/repos/builtin/packages/librsb/package.py b/var/spack/repos/builtin/packages/librsb/package.py
index c917ee47ba..d78349824a 100644
--- a/var/spack/repos/builtin/packages/librsb/package.py
+++ b/var/spack/repos/builtin/packages/librsb/package.py
@@ -44,7 +44,7 @@ class Librsb(AutotoolsPackage):
variant("verbose", default=False, description="Extra Library Verbosity. Good for learning.")
def setup_build_environment(self, spack_env):
- if "+asan" in self.spec:
+ if self.spec.satisfies("+asan"):
spack_env.set("LSAN_OPTIONS", "verbosity=1:log_threads=1")
spack_env.set("ASAN_OPTS", "detect_leaks=0")
@@ -56,25 +56,25 @@ class Librsb(AutotoolsPackage):
f"CPPFLAGS={self.spec['zlib-api'].headers.include_flags}",
f"LDFLAGS={self.spec['zlib-api'].libs.search_flags}",
]
- if "+asan" in self.spec:
+ if self.spec.satisfies("+asan"):
args.append("CFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer")
args.append("CXXFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer")
args.append("LIBS=-lasan")
args.append("FCLIBS=-lasan")
args.append("--disable-shared")
args.append("--enable-fortran-linker")
- if "+debug" in self.spec:
+ if self.spec.satisfies("+debug"):
args.append("--enable-allocator-wrapper")
args.append("--enable-debug")
- if "+native" in self.spec:
+ if self.spec.satisfies("+native"):
args.append("CFLAGS=-O3 -march=native")
args.append("CXXFLAGS=-O3 -march=native")
args.append("FCFLAGS=-O3 -march=native")
- if "+nospblas" in self.spec:
+ if self.spec.satisfies("+nospblas"):
args.append("--disable-sparse-blas-interface")
- if "+serial" in self.spec:
+ if self.spec.satisfies("+serial"):
args.append("--disable-openmp")
- if "+verbose" in self.spec:
+ if self.spec.satisfies("+verbose"):
args.append("--enable-internals-error-verbosity=1")
args.append("--enable-interface-error-verbosity=1")
return args
diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py
index f1d7437538..843d4bd759 100644
--- a/var/spack/repos/builtin/packages/librsvg/package.py
+++ b/var/spack/repos/builtin/packages/librsvg/package.py
@@ -75,7 +75,7 @@ class Librsvg(AutotoolsPackage):
def configure_args(self):
args = []
- if "+doc" in self.spec:
+ if self.spec.satisfies("+doc"):
args.append("--enable-gtk-doc")
else:
args.extend(
diff --git a/var/spack/repos/builtin/packages/libseccomp/package.py b/var/spack/repos/builtin/packages/libseccomp/package.py
index 0dc52a6e62..abe8f14a74 100644
--- a/var/spack/repos/builtin/packages/libseccomp/package.py
+++ b/var/spack/repos/builtin/packages/libseccomp/package.py
@@ -27,6 +27,6 @@ class Libseccomp(AutotoolsPackage):
def configure_args(self):
args = []
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
args.append("--enable-python")
return args
diff --git a/var/spack/repos/builtin/packages/libsharp/package.py b/var/spack/repos/builtin/packages/libsharp/package.py
index e6464dc884..b8c75ab3ba 100644
--- a/var/spack/repos/builtin/packages/libsharp/package.py
+++ b/var/spack/repos/builtin/packages/libsharp/package.py
@@ -43,7 +43,7 @@ class Libsharp(AutotoolsPackage):
args.append("--disable-openmp")
if "+mpi" not in self.spec:
args.append("--disable-mpi")
- if "+pic" in self.spec:
+ if self.spec.satisfies("+pic"):
args.append("--enable-pic")
return args
diff --git a/var/spack/repos/builtin/packages/libsolv/package.py b/var/spack/repos/builtin/packages/libsolv/package.py
index bb177bf3c2..5852878010 100644
--- a/var/spack/repos/builtin/packages/libsolv/package.py
+++ b/var/spack/repos/builtin/packages/libsolv/package.py
@@ -29,7 +29,7 @@ class Libsolv(CMakePackage):
def cmake_args(self):
return [
- self.define("ENABLE_STATIC", "~shared" in self.spec),
- self.define("DISABLE_DYNAMIC", "~shared" in self.spec),
+ self.define("ENABLE_STATIC", self.spec.satisfies("~shared")),
+ self.define("DISABLE_DYNAMIC", self.spec.satisfies("~shared")),
self.define_from_variant("ENABLE_CONDA", "conda"),
]
diff --git a/var/spack/repos/builtin/packages/libstdcompat/package.py b/var/spack/repos/builtin/packages/libstdcompat/package.py
index c9ccf77a0d..3a5321fb4c 100644
--- a/var/spack/repos/builtin/packages/libstdcompat/package.py
+++ b/var/spack/repos/builtin/packages/libstdcompat/package.py
@@ -90,7 +90,7 @@ class Libstdcompat(CMakePackage):
args = []
cpp_compat = self.spec.variants["cpp_compat"].value
- if "cpp_unstable" in self.spec:
+ if self.spec.satisfies("+cpp_unstable"):
args.append("-DSTDCOMPAT_CXX_UNSTABLE=ON")
if cpp_compat == "auto":
diff --git a/var/spack/repos/builtin/packages/libtraceevent/package.py b/var/spack/repos/builtin/packages/libtraceevent/package.py
index 4f3e736e63..1948a40f62 100644
--- a/var/spack/repos/builtin/packages/libtraceevent/package.py
+++ b/var/spack/repos/builtin/packages/libtraceevent/package.py
@@ -38,13 +38,13 @@ class Libtraceevent(MakefilePackage):
@property
def build_targets(self):
result = self.common_targets + ["all"]
- if "+doc" in self.spec:
+ if self.spec.satisfies("+doc"):
result.append("doc")
return result
@property
def install_targets(self):
result = self.common_targets + ["install"]
- if "+doc" in self.spec:
+ if self.spec.satisfies("+doc"):
result.append("doc-install")
return result
diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py
index 2360178b13..23b2b497c9 100644
--- a/var/spack/repos/builtin/packages/libunwind/package.py
+++ b/var/spack/repos/builtin/packages/libunwind/package.py
@@ -108,7 +108,7 @@ class Libunwind(AutotoolsPackage):
):
wrapper_flags.append("-fcommon")
- if "+pic" in self.spec:
+ if self.spec.satisfies("+pic"):
wrapper_flags.append(self.compiler.cc_pic_flag)
return (wrapper_flags, None, flags)
diff --git a/var/spack/repos/builtin/packages/libvpx/package.py b/var/spack/repos/builtin/packages/libvpx/package.py
index d1c56aafe3..f024bfb993 100644
--- a/var/spack/repos/builtin/packages/libvpx/package.py
+++ b/var/spack/repos/builtin/packages/libvpx/package.py
@@ -30,6 +30,6 @@ class Libvpx(AutotoolsPackage):
def configure_args(self):
extra_args = []
- if "+pic" in self.spec:
+ if self.spec.satisfies("+pic"):
extra_args.append("--enable-pic")
return extra_args
diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py
index 05fb99c7e0..84e6878512 100644
--- a/var/spack/repos/builtin/packages/libxc/package.py
+++ b/var/spack/repos/builtin/packages/libxc/package.py
@@ -95,14 +95,14 @@ class Libxc(AutotoolsPackage, CudaPackage):
# https://gitlab.com/libxc/libxc/-/issues/430 (configure script does not ensure C99)
# TODO: Switch to cmake since this is better supported
env.append_flags("CFLAGS", self.compiler.c99_flag)
- if "%intel" in self.spec:
+ if self.spec.satisfies("%intel"):
if which("xiar"):
env.set("AR", "xiar")
- if "%aocc" in self.spec:
+ if self.spec.satisfies("%aocc"):
env.append_flags("FCFLAGS", "-fPIC")
- if "+cuda" in self.spec:
+ if self.spec.satisfies("+cuda"):
nvcc = self.spec["cuda"].prefix.bin.nvcc
env.set("CCLD", "{0} -ccbin {1}".format(nvcc, spack_cc))
env.set("CC", "{0} -x cu -ccbin {1}".format(nvcc, spack_cc))
@@ -116,16 +116,16 @@ class Libxc(AutotoolsPackage, CudaPackage):
args = []
args += self.enable_or_disable("shared")
args += self.enable_or_disable("cuda")
- if "+kxc" in self.spec:
+ if self.spec.satisfies("+kxc"):
args.append("--enable-kxc")
- if "+lxc" in self.spec:
+ if self.spec.satisfies("+lxc"):
args.append("--enable-lxc")
return args
@run_after("configure")
def patch_libtool(self):
"""AOCC support for LIBXC"""
- if "%aocc" in self.spec:
+ if self.spec.satisfies("%aocc"):
filter_file(
r"\$wl-soname \$wl\$soname",
r"-fuse-ld=ld -Wl,-soname,\$soname",
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 0e37f4bf41..c799095ab6 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -208,7 +208,7 @@ class BaseBuilder(metaclass=spack.builder.PhaseCallbacksMeta):
@run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
with working_dir("spack-test", create=True):
python("-c", "import libxml2")
@@ -222,7 +222,7 @@ class AutotoolsBuilder(BaseBuilder, autotools.AutotoolsBuilder):
"--with-iconv={0}".format(spec["iconv"].prefix),
]
- if "+python" in spec:
+ if spec.satisfies("+python"):
args.extend(
[
"--with-python={0}".format(spec["python"].home),
@@ -273,6 +273,6 @@ class NMakeBuilder(BaseBuilder, nmake.NMakeBuilder):
)
),
]
- if "+python" in spec:
+ if spec.satisfies("+python"):
opts.append("python=yes")
cscript("configure.js", *opts)
diff --git a/var/spack/repos/builtin/packages/libxslt/package.py b/var/spack/repos/builtin/packages/libxslt/package.py
index 10736251a9..9c24949814 100644
--- a/var/spack/repos/builtin/packages/libxslt/package.py
+++ b/var/spack/repos/builtin/packages/libxslt/package.py
@@ -61,12 +61,12 @@ class Libxslt(AutotoolsPackage):
def configure_args(self):
args = []
- if "+crypto" in self.spec:
+ if self.spec.satisfies("+crypto"):
args.append("--with-crypto")
else:
args.append("--without-crypto")
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
args.append("--with-python={0}".format(self.spec["python"].home))
else:
args.append("--without-python")
@@ -76,7 +76,7 @@ class Libxslt(AutotoolsPackage):
@run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
with working_dir("spack-test", create=True):
python("-c", "import libxslt")
diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py
index 2f6ecee29f..16fb0dbeff 100644
--- a/var/spack/repos/builtin/packages/libxsmm/package.py
+++ b/var/spack/repos/builtin/packages/libxsmm/package.py
@@ -123,7 +123,7 @@ class Libxsmm(MakefilePackage):
# make_args += ['MNK=1 4 5 6 8 9 13 16 17 22 23 24 26 32']
# include call trace as the build is already de-optimized
- if "+debug" in spec:
+ if spec.satisfies("+debug"):
make_args += ["DBG=1"]
make_args += ["TRACE=1"]
@@ -131,10 +131,10 @@ class Libxsmm(MakefilePackage):
if blas_val != "default":
make_args += ["BLAS={0}".format(blas_val)]
- if "+large_jit_buffer" in spec:
+ if spec.satisfies("+large_jit_buffer"):
make_args += ["CODE_BUF_MAXSIZE=262144"]
- if "+shared" in spec:
+ if spec.satisfies("+shared"):
make(*(make_args + ["STATIC=0"]))
# builds static libraries by default
@@ -151,16 +151,16 @@ class Libxsmm(MakefilePackage):
# always install libraries
install_tree("lib", prefix.lib)
- if "+header-only" in spec:
+ if spec.satisfies("+header-only"):
install_tree("src", prefix.src)
- if "+generator" in spec:
+ if spec.satisfies("+generator"):
install_tree("bin", prefix.bin)
mkdirp(prefix.doc)
install(join_path("documentation", "*.md"), prefix.doc)
install(join_path("documentation", "*.pdf"), prefix.doc)
- if "@1.8.2:" in spec:
+ if spec.satisfies("@1.8.2:"):
install("LICENSE.md", prefix.doc)
else:
install("README.md", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/liggghts/package.py b/var/spack/repos/builtin/packages/liggghts/package.py
index 5e02d21d85..58b213a483 100644
--- a/var/spack/repos/builtin/packages/liggghts/package.py
+++ b/var/spack/repos/builtin/packages/liggghts/package.py
@@ -67,7 +67,7 @@ class Liggghts(MakefilePackage):
)
makefile.filter(r"^#(VTK_LIB_USR=-L).*", r"\1{0}".format(vtk.prefix.lib))
- if "+mpi" in spec:
+ if spec.satisfies("+mpi"):
mpi = spec["mpi"]
makefile.filter(r"^#(MPICXX_USR=).*", r"\1{0}".format(mpi.mpicxx))
makefile.filter(r"^#(MPI_INC_USR=).*", r"\1{0}".format(mpi.prefix.include))
@@ -81,19 +81,19 @@ class Liggghts(MakefilePackage):
# builds using its own target!
makefile_auto.filter(r"^(.+)(EXTRA_ADDLIBS.*mpi_stubs.*)", r"\1#\2")
- if "+jpeg" in spec:
+ if spec.satisfies("+jpeg"):
jpeg = spec["jpeg"]
makefile.filter(r"^(USE_JPG = ).*", r'\1"ON"')
makefile.filter(r"^#(JPG_INC_USR=-I).*", r"\1{0}".format(jpeg.prefix.include))
makefile.filter(r"^#(JPG_LIB_USR=-L).*", r"\1{0}".format(jpeg.prefix.lib))
- if "+gzip" in spec:
+ if spec.satisfies("+gzip"):
makefile.filter(r"^(USE_GZIP = ).*", r'\1"ON"')
- if "+debug" in spec:
+ if spec.satisfies("+debug"):
makefile.filter(r"^(USE_DEBUG = ).*", r'\1"ON"')
- if "+profile" in spec:
+ if spec.satisfies("+profile"):
makefile.filter(r"^(USE_PROFILE = ).*", r'\1"ON"')
# Enable debug output of Makefile.auto in the log file
diff --git a/var/spack/repos/builtin/packages/ligra/package.py b/var/spack/repos/builtin/packages/ligra/package.py
index 737dd9c250..39ebe95a73 100644
--- a/var/spack/repos/builtin/packages/ligra/package.py
+++ b/var/spack/repos/builtin/packages/ligra/package.py
@@ -30,7 +30,7 @@ class Ligra(MakefilePackage):
depends_on("mkl", when="+mkl")
def setup_build_environment(self, env):
- if "+openmp" in self.spec:
+ if self.spec.satisfies("+openmp"):
env.set("OPENMP", "1")
# when +mkl, MKLROOT will be defined by intel-mkl package,
# triggering a build with mkl support
diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py
index 376f2ba464..c6a7242ce9 100644
--- a/var/spack/repos/builtin/packages/likwid/package.py
+++ b/var/spack/repos/builtin/packages/likwid/package.py
@@ -108,13 +108,13 @@ class Likwid(Package):
filter_file("^#!/usr/bin/perl", "#!/usr/bin/env perl", *files)
def setup_run_environment(self, env):
- if "+cuda" in self.spec:
+ if self.spec.satisfies("+cuda"):
libs = find_libraries(
"libcupti", root=self.spec["cuda"].prefix, shared=True, recursive=True
)
for lib in libs.directories:
env.append_path("LD_LIBRARY_PATH", lib)
- if "+rocm" in self.spec:
+ if self.spec.satisfies("+rocm"):
libs = find_libraries(
"librocprofiler64.so.1",
root=self.spec["rocprofiler-dev"].prefix,
@@ -176,14 +176,14 @@ class Likwid(Package):
"ACCESSMODE = {}".format(spec.variants["accessmode"].value),
"config.mk",
)
- if "accessmode=accessdaemon" in spec:
+ if spec.satisfies("accessmode=accessdaemon"):
# Disable the chown, see the `spack_perms_fix` template and script
filter_file("^INSTALL_CHOWN .*", "INSTALL_CHOWN =", "config.mk")
else:
filter_file("^BUILDFREQ .*", "BUILDFREQ = false", "config.mk")
filter_file("^BUILDDAEMON .*", "BUILDDAEMON = false", "config.mk")
- if "+fortran" in self.spec:
+ if self.spec.satisfies("+fortran"):
filter_file("^FORTRAN_INTERFACE .*", "FORTRAN_INTERFACE = true", "config.mk")
if self.compiler.name == "gcc":
makepath = join_path("make", "include_GCC.mk")
@@ -192,7 +192,7 @@ class Likwid(Package):
else:
filter_file("^FORTRAN_INTERFACE .*", "FORTRAN_INTERFACE = false", "config.mk")
- if "+cuda" in self.spec:
+ if self.spec.satisfies("+cuda"):
filter_file("^NVIDIA_INTERFACE.*", "NVIDIA_INTERFACE = true", "config.mk")
filter_file("^BUILDAPPDAEMON.*", "BUILDAPPDAEMON = true", "config.mk")
cudainc = spec["cuda"].prefix.include
@@ -206,7 +206,7 @@ class Likwid(Package):
else:
filter_file("^NVIDIA_INTERFACE.*", "NVIDIA_INTERFACE = false", "config.mk")
- if "+rocm" in self.spec:
+ if self.spec.satisfies("+rocm"):
env["ROCM_HOME"] = spec["rocm-core"].prefix
filter_file("^ROCM_INTERFACE.*", "ROCM_INTERFACE = true", "config.mk")
filter_file("^BUILDAPPDAEMON.*", "BUILDAPPDAEMON = true", "config.mk")
@@ -256,7 +256,7 @@ class Likwid(Package):
# the build log. See https://github.com/spack/spack/pull/10412.
@run_after("install")
def caveats(self):
- if "accessmode=accessdaemon" in self.spec:
+ if self.spec.satisfies("accessmode=accessdaemon"):
perm_script = "spack_perms_fix.sh"
perm_script_path = join_path(self.spec.prefix, perm_script)
daemons = glob.glob(join_path(self.spec.prefix, "sbin", "*"))
diff --git a/var/spack/repos/builtin/packages/linux-perf/package.py b/var/spack/repos/builtin/packages/linux-perf/package.py
index a9cba0e7c6..9e550d783d 100644
--- a/var/spack/repos/builtin/packages/linux-perf/package.py
+++ b/var/spack/repos/builtin/packages/linux-perf/package.py
@@ -137,20 +137,20 @@ class LinuxPerf(Package):
if version >= Version("6.4"):
args.append("BUILD_NONDISTRO=1")
- if "+libaudit" in spec:
+ if spec.satisfies("+libaudit"):
checks.add("libaudit")
args.append("NO_SYSCALL_TABLE=1") # will look for libaudit
else:
checks.add("syscall_table")
args.append("NO_LIBAUDIT=1")
- if "+debuginfod" in spec:
+ if spec.satisfies("+debuginfod"):
if version >= Version("5.19"): # Not in --build-options before that
checks.add("debuginfod")
else:
args.append("NO_LIBDEBUGINFOD=1")
- if "+python" in spec:
+ if spec.satisfies("+python"):
checks.add("libpython")
args.extend(
[
@@ -161,22 +161,22 @@ class LinuxPerf(Package):
else:
args.append("NO_LIBPYTHON=1")
- if "+perl" in spec:
+ if spec.satisfies("+perl"):
checks.add("libperl")
else:
args.append("NO_LIBPERL=1")
- if "+openssl" in spec:
+ if spec.satisfies("+openssl"):
checks.add("libcrypto")
else:
args.append("NO_LIBCRYPTO=1")
- if "+slang" in spec:
+ if spec.satisfies("+slang"):
checks.add("libslang")
else:
args.append("NO_SLANG=1")
- if "+libpfm4" in spec:
+ if spec.satisfies("+libpfm4"):
checks.add("libpfm4")
if version < Version("6.4"):
args.append("LIBPFM4=1")
@@ -184,35 +184,35 @@ class LinuxPerf(Package):
if version >= Version("6.4"):
args.append("NO_LIBPFM4=1")
- if "+babeltrace" in spec:
+ if spec.satisfies("+babeltrace"):
# checks.add("babeltrace") # Not in --build-options ?
args.append("LIBBABELTRACE_DIR={}".format(spec["babeltrace"].prefix))
else:
args.append("NO_LIBBABELTRACE=1")
- if "+libcap" in spec:
+ if spec.satisfies("+libcap"):
# checks.add("libcap") # Not in --build-options ?
pass
else:
args.append("NO_LIBCAP=1")
- if "+numactl" in spec:
+ if spec.satisfies("+numactl"):
checks.add("libnuma")
else:
args.append("NO_LIBNUMA=1")
- if "+xz" in spec:
+ if spec.satisfies("+xz"):
checks.add("lzma")
else:
args.append("NO_LZMA=1")
- if "+zstd" in spec:
+ if spec.satisfies("+zstd"):
checks.add("zstd")
args.append("LIBZSTD_DIR={}".format(spec["zstd"].prefix))
else:
args.append("NO_LIBZSTD=1")
- if "+libtraceevent" in spec:
+ if spec.satisfies("+libtraceevent"):
if version >= Version("6.2"): # Not in --build-options before that
checks.add("libtraceevent")
if version >= Version("6.10"):
@@ -223,7 +223,7 @@ class LinuxPerf(Package):
if version >= Version("6.2"):
args.append("NO_LIBTRACEEVENT=1")
- if "+jvmti" in spec:
+ if spec.satisfies("+jvmti"):
# checks.add("jvmti") # Not in --build-options ?
args.append("JDIR={}".format(spec["java"].prefix))
else:
diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
index ca8b2412db..bfa175a8df 100644
--- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
+++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
@@ -229,7 +229,7 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage):
]
# Enable rocm-device-libs as a external project
- if "+rocm-device-libs" in self.spec:
+ if self.spec.satisfies("+rocm-device-libs"):
if self.spec.satisfies("@:6.0"):
dir = os.path.join(self.stage.source_path, "rocm-device-libs")
elif self.spec.satisfies("@6.1:"):
@@ -242,10 +242,10 @@ class LlvmAmdgpu(CMakePackage, CompilerPackage):
]
)
- if "+llvm_dylib" in self.spec:
+ if self.spec.satisfies("+llvm_dylib"):
args.append(self.define("LLVM_BUILD_LLVM_DYLIB", True))
- if "+link_llvm_dylib" in self.spec:
+ if self.spec.satisfies("+link_llvm_dylib"):
args.append(self.define("LLVM_LINK_LLVM_DYLIB", True))
args.append(self.define("CLANG_LINK_CLANG_DYLIB", True))
diff --git a/var/spack/repos/builtin/packages/llvm-doe/package.py b/var/spack/repos/builtin/packages/llvm-doe/package.py
index 173678cb2d..6effe2c057 100644
--- a/var/spack/repos/builtin/packages/llvm-doe/package.py
+++ b/var/spack/repos/builtin/packages/llvm-doe/package.py
@@ -309,7 +309,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("c", None)
result = None
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
result = os.path.join(self.spec.prefix.bin, "clang")
return result
@@ -320,7 +320,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("cxx", None)
result = None
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
result = os.path.join(self.spec.prefix.bin, "clang++")
return result
@@ -331,7 +331,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("fc", None)
result = None
- if "+flang" in self.spec:
+ if self.spec.satisfies("+flang"):
result = os.path.join(self.spec.prefix.bin, "flang")
return result
@@ -342,7 +342,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("f77", None)
result = None
- if "+flang" in self.spec:
+ if self.spec.satisfies("+flang"):
result = os.path.join(self.spec.prefix.bin, "flang")
return result
@@ -392,10 +392,10 @@ class LlvmDoe(CMakePackage, CudaPackage):
env.prepend_path("PATH", self.stage.path)
def setup_run_environment(self, env):
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
env.set("CC", join_path(self.spec.prefix.bin, "clang"))
env.set("CXX", join_path(self.spec.prefix.bin, "clang++"))
- if "+flang" in self.spec:
+ if self.spec.satisfies("+flang"):
env.set("FC", join_path(self.spec.prefix.bin, "flang"))
env.set("F77", join_path(self.spec.prefix.bin, "flang"))
@@ -422,7 +422,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
projects = []
runtimes = []
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
cmake_args.extend(
[
define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
@@ -436,7 +436,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
),
]
)
- if "+omp_as_runtime" in spec:
+ if spec.satisfies("+omp_as_runtime"):
cmake_args.extend(
[
define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
@@ -459,21 +459,21 @@ class LlvmDoe(CMakePackage, CudaPackage):
cmake_args.append(from_variant("LIBOMPTARGET_ENABLE_DEBUG", "omp_debug"))
- if "+lldb" in spec:
+ if spec.satisfies("+lldb"):
if spec.version >= Version("10"):
cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", "python"))
else:
- cmake_args.append(define("LLDB_DISABLE_PYTHON", "~python" in spec))
+ cmake_args.append(define("LLDB_DISABLE_PYTHON", spec.satisfies("~python")))
if spec.satisfies("@5.0.0: +python"):
cmake_args.append(define("LLDB_USE_SYSTEM_SIX", True))
- if "+gold" in spec:
+ if spec.satisfies("+gold"):
cmake_args.append(define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include))
- if "+clang" in spec:
+ if spec.satisfies("+clang"):
projects.append("clang")
projects.append("clang-tools-extra")
- if "+omp_as_runtime" in spec:
+ if spec.satisfies("+omp_as_runtime"):
runtimes.append("openmp")
else:
projects.append("openmp")
@@ -485,22 +485,22 @@ class LlvmDoe(CMakePackage, CudaPackage):
if self.spec.satisfies("@9:"):
cmake_args.append(define("LLVM_ENABLE_Z3_SOLVER", self.spec.satisfies("@9:+z3")))
- if "+flang" in spec:
+ if spec.satisfies("+flang"):
projects.append("flang")
- if "+lldb" in spec:
+ if spec.satisfies("+lldb"):
projects.append("lldb")
- if "+lld" in spec:
+ if spec.satisfies("+lld"):
projects.append("lld")
- if "+compiler-rt" in spec:
+ if spec.satisfies("+compiler-rt"):
projects.append("compiler-rt")
- if "+libcxx" in spec:
+ if spec.satisfies("+libcxx"):
projects.append("libcxx")
projects.append("libcxxabi")
- if "+mlir" in spec:
+ if spec.satisfies("+mlir"):
projects.append("mlir")
- if "+internal_unwind" in spec:
+ if spec.satisfies("+internal_unwind"):
projects.append("libunwind")
- if "+polly" in spec:
+ if spec.satisfies("+polly"):
projects.append("polly")
cmake_args.append(define("LINK_POLLY_INTO_TOOLS", True))
@@ -544,7 +544,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
projects.remove("openmp")
projects.append("bolt")
cmake_args.append("-DLIBOMP_USE_BOLT_DEFAULT=ON")
- if "+argobots" in spec and spec.satisfies("@bolt"):
+ if spec.satisfies("+argobots") and spec.satisfies("@bolt"):
cmake_args.append("-DLIBOMP_USE_ARGOBOTS=ON")
if self.compiler.name == "gcc":
@@ -571,7 +571,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
define = self.define
# unnecessary if we build openmp via LLVM_ENABLE_RUNTIMES
- if "+cuda ~omp_as_runtime" in self.spec:
+ if self.spec.satisfies("+cuda ~omp_as_runtime"):
ompdir = "build-bootstrapped-omp"
prefix_paths = spack.build_environment.get_cmake_prefix_path(self)
prefix_paths.append(str(spec.prefix))
@@ -600,10 +600,10 @@ class LlvmDoe(CMakePackage, CudaPackage):
cmake(*cmake_args)
ninja()
ninja("install")
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
install_tree("llvm/bindings/python", python_platlib)
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
install_tree("clang/bindings/python", python_platlib)
with working_dir(self.build_directory):
diff --git a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py
index 5a7e206736..4e0385dd94 100644
--- a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py
+++ b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py
@@ -61,7 +61,7 @@ class LlvmOpenmpOmpt(CMakePackage):
# Build llvm-openmp-ompt as a stand alone library
# CMAKE rpath variable prevents standalone error
# where this package wants the llvm tools path
- if "+standalone" in self.spec:
+ if self.spec.satisfies("+standalone"):
cmake_args.extend(
[
"-DLIBOMP_STANDALONE_BUILD=true",
@@ -72,11 +72,11 @@ class LlvmOpenmpOmpt(CMakePackage):
# Build llvm-openmp-ompt using the tr6_forwards branch
# This requires the version to be 5.0 (50)
- if "@tr6_forwards" in self.spec:
+ if self.spec.satisfies("@tr6_forwards"):
cmake_args.extend(["-DLIBOMP_OMP_VERSION=50"])
# Disable support for libomptarget
- if "~libomptarget" in self.spec:
+ if self.spec.satisfies("~libomptarget"):
cmake_args.extend(["-DOPENMP_ENABLE_LIBOMPTARGET=OFF"])
return cmake_args
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index 69881c8057..09388cb5ab 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -735,7 +735,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("c", None)
result = None
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
result = os.path.join(self.spec.prefix.bin, "clang")
return result
@@ -746,7 +746,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("cxx", None)
result = None
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
result = os.path.join(self.spec.prefix.bin, "clang++")
return result
@@ -757,7 +757,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("fc", None)
result = None
- if "+flang" in self.spec:
+ if self.spec.satisfies("+flang"):
result = os.path.join(self.spec.prefix.bin, "flang")
return result
@@ -768,7 +768,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
if self.spec.external:
return self.spec.extra_attributes["compilers"].get("f77", None)
result = None
- if "+flang" in self.spec:
+ if self.spec.satisfies("+flang"):
result = os.path.join(self.spec.prefix.bin, "flang")
return result
@@ -819,10 +819,10 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
env.prepend_path("PATH", self.stage.path)
def setup_run_environment(self, env):
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
env.set("CC", join_path(self.spec.prefix.bin, "clang"))
env.set("CXX", join_path(self.spec.prefix.bin, "clang++"))
- if "+flang" in self.spec:
+ if self.spec.satisfies("+flang"):
env.set("FC", join_path(self.spec.prefix.bin, "flang"))
env.set("F77", join_path(self.spec.prefix.bin, "flang"))
@@ -864,7 +864,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
projects = []
runtimes = []
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
cmake_args.extend(
[
define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
@@ -878,7 +878,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
),
]
)
- if "openmp=runtime" in spec:
+ if spec.satisfies("openmp=runtime"):
cmake_args.append(define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True))
else:
# still build libomptarget but disable cuda
@@ -901,7 +901,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
if "python" in spec: # lit's Python needs to be set with this variable
cmake_args.append(define("python_executable", spec["python"].command.path))
- if "+lldb" in spec:
+ if spec.satisfies("+lldb"):
projects.append("lldb")
cmake_args.extend(
[
@@ -922,55 +922,55 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
if spec.version >= Version("10"):
cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", "python"))
else:
- cmake_args.append(define("LLDB_DISABLE_PYTHON", "~python" in spec))
+ cmake_args.append(define("LLDB_DISABLE_PYTHON", spec.satisfies("~python")))
if spec.satisfies("@5.0.0: +python"):
cmake_args.append(define("LLDB_USE_SYSTEM_SIX", True))
elif spec.satisfies("@:19"):
cmake_args.append(define("LLVM_ENABLE_TERMINFO", False))
- if "+gold" in spec:
+ if spec.satisfies("+gold"):
cmake_args.append(define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include))
- if "+clang" in spec:
+ if spec.satisfies("+clang"):
projects.append("clang")
projects.append("clang-tools-extra")
- if "openmp=runtime" in spec:
+ if spec.satisfies("openmp=runtime"):
runtimes.append("openmp")
- elif "openmp=project" in spec:
+ elif spec.satisfies("openmp=project"):
projects.append("openmp")
- if "+offload" in spec:
+ if spec.satisfies("+offload"):
runtimes.append("offload")
- if "+libomptarget" in spec:
+ if spec.satisfies("+libomptarget"):
cmake_args.append(define("OPENMP_ENABLE_LIBOMPTARGET", True))
else:
cmake_args.append(define("OPENMP_ENABLE_LIBOMPTARGET", False))
- if "@8" in spec:
+ if spec.satisfies("@8"):
cmake_args.append(from_variant("CLANG_ANALYZER_ENABLE_Z3_SOLVER", "z3"))
- elif "@9:" in spec:
+ elif spec.satisfies("@9:"):
cmake_args.append(from_variant("LLVM_ENABLE_Z3_SOLVER", "z3"))
- if "+flang" in spec:
+ if spec.satisfies("+flang"):
projects.append("flang")
- if "+lld" in spec:
+ if spec.satisfies("+lld"):
projects.append("lld")
- if "compiler-rt=runtime" in spec:
+ if spec.satisfies("compiler-rt=runtime"):
runtimes.append("compiler-rt")
- elif "compiler-rt=project" in spec:
+ elif spec.satisfies("compiler-rt=project"):
projects.append("compiler-rt")
- if "libcxx=runtime" in spec:
+ if spec.satisfies("libcxx=runtime"):
runtimes.extend(["libcxx", "libcxxabi"])
- elif "libcxx=project" in spec:
+ elif spec.satisfies("libcxx=project"):
projects.extend(["libcxx", "libcxxabi"])
- if "+mlir" in spec:
+ if spec.satisfies("+mlir"):
projects.append("mlir")
- if "libunwind=runtime" in spec:
+ if spec.satisfies("libunwind=runtime"):
runtimes.append("libunwind")
- elif "libunwind=project" in spec:
+ elif spec.satisfies("libunwind=project"):
projects.append("libunwind")
- if "+polly" in spec:
+ if spec.satisfies("+polly"):
projects.append("polly")
cmake_args.append(define("LINK_POLLY_INTO_TOOLS", True))
@@ -1008,7 +1008,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
cmake_args.append(define("LLDB_USE_SYSTEM_DEBUGSERVER", True))
# LLDB test suite requires libc++
- if "libcxx=none" in spec:
+ if spec.satisfies("libcxx=none"):
cmake_args.append(define("LLDB_INCLUDE_TESTS", False))
# Enable building with CLT [and not require full Xcode]
@@ -1070,7 +1070,7 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
define = self.define
# unnecessary if we build openmp via LLVM_ENABLE_RUNTIMES
- if "+cuda openmp=project" in self.spec:
+ if self.spec.satisfies("+cuda openmp=project"):
ompdir = "build-bootstrapped-omp"
prefix_paths = spack.build_environment.get_cmake_prefix_path(self)
prefix_paths.append(str(spec.prefix))
@@ -1096,13 +1096,13 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
cmake(*cmake_args)
ninja()
ninja("install")
- if "+python" in self.spec:
+ if self.spec.satisfies("+python"):
if spec.version < Version("17.0.0"):
# llvm bindings were removed in v17:
# https://releases.llvm.org/17.0.1/docs/ReleaseNotes.html#changes-to-the-python-bindings
install_tree("llvm/bindings/python", python_platlib)
- if "+clang" in self.spec:
+ if self.spec.satisfies("+clang"):
install_tree("clang/bindings/python", python_platlib)
with working_dir(self.build_directory):
diff --git a/var/spack/repos/builtin/packages/loki/package.py b/var/spack/repos/builtin/packages/loki/package.py
index 643c3c46da..91bf32a1de 100644
--- a/var/spack/repos/builtin/packages/loki/package.py
+++ b/var/spack/repos/builtin/packages/loki/package.py
@@ -31,14 +31,14 @@ class Loki(MakefilePackage):
return (flags, None, None)
def build(self, spec, prefix):
- if "+shared" in spec:
+ if spec.satisfies("+shared"):
make("-C", "src", "build-shared")
else:
make("-C", "src", "build-static")
def install(self, spec, prefix):
make("-C", "include", "install", "prefix={0}".format(prefix))
- if "+shared" in spec:
+ if spec.satisfies("+shared"):
make("-C", "src", "install-shared", "prefix={0}".format(prefix))
else:
make("-C", "src", "install-static", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/lorene/package.py b/var/spack/repos/builtin/packages/lorene/package.py
index 685495d902..abf63bd21f 100644
--- a/var/spack/repos/builtin/packages/lorene/package.py
+++ b/var/spack/repos/builtin/packages/lorene/package.py
@@ -41,8 +41,8 @@ class Lorene(MakefilePackage):
def edit(self, spec, prefix):
blas_libs = spec["blas"].libs.link_flags
- fftw_incdirs = "-I" + spec["fftw"].prefix.include if "+fftw" in spec else ""
- fftw_libdirs = "-L" + spec["fftw"].prefix.lib if "+fftw" in spec else ""
+ fftw_incdirs = "-I" + spec["fftw"].prefix.include if spec.satisfies("+fftw") else ""
+ fftw_libdirs = "-L" + spec["fftw"].prefix.lib if spec.satisfies("+fftw") else ""
fftw_libs = spec["fftw"].libs.link_flags
gsl_incdirs = "-I" + spec["gsl"].prefix.include
gsl_libdirs = "-L" + spec["gsl"].prefix.lib
@@ -91,7 +91,7 @@ class Lorene(MakefilePackage):
# (We could circumvent the build system and simply compile all
# source files, and do so in parallel.)
make("cpp", "fortran", "export", *args)
- if "+bin_star" in spec:
+ if spec.satisfies("+bin_star"):
with working_dir(join_path("Codes", "Bin_star")):
make(
"-f",
@@ -111,7 +111,7 @@ class Lorene(MakefilePackage):
install_tree("Export/C++/Include", prefix.include)
install_tree("C++/Include", prefix.include)
mkdirp(prefix.bin)
- if "+bin_star" in spec:
+ if spec.satisfies("+bin_star"):
for exe in [
"coal",
"lit_bin",
@@ -125,5 +125,5 @@ class Lorene(MakefilePackage):
@property
def libs(self):
- shared = "+shared" in self.spec
+ shared = self.spec.satisfies("+shared")
return find_libraries("liblorene*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py
index 042011208c..d27e6dafa9 100644
--- a/var/spack/repos/builtin/packages/lua/package.py
+++ b/var/spack/repos/builtin/packages/lua/package.py
@@ -259,7 +259,7 @@ class Lua(LuaImplPackage):
def install(self, spec, prefix):
make("INSTALL_TOP=%s" % prefix, "install")
- if "+shared" in spec:
+ if spec.satisfies("+shared"):
static_to_shared_library(
join_path(prefix.lib, "liblua.a"),
arguments=["-lm", "-ldl"],
@@ -269,7 +269,7 @@ class Lua(LuaImplPackage):
# compatibility with ax_lua.m4 from autoconf-archive
# https://www.gnu.org/software/autoconf-archive/ax_lua.html
- if "+shared" in spec:
+ if spec.satisfies("+shared"):
with working_dir(prefix.lib):
# e.g., liblua.so.5.1.5
src_path = "liblua.{0}.{1}".format(dso_suffix, str(self.version.up_to(3)))
@@ -290,7 +290,7 @@ class Lua(LuaImplPackage):
@run_after("install")
def link_pkg_config(self):
- if "+pcfile" in self.spec:
+ if self.spec.satisfies("+pcfile"):
versioned_pc_file_name = "lua{0}.pc".format(self.version.up_to(2))
symlink(
join_path(self.prefix.lib, "pkgconfig", versioned_pc_file_name),
diff --git a/var/spack/repos/builtin/packages/lulesh/package.py b/var/spack/repos/builtin/packages/lulesh/package.py
index bac0bf86aa..3548c66c52 100644
--- a/var/spack/repos/builtin/packages/lulesh/package.py
+++ b/var/spack/repos/builtin/packages/lulesh/package.py
@@ -33,19 +33,19 @@ class Lulesh(MakefilePackage):
targets = []
cxxflag = " -g -O3 -I. "
ldflags = " -g -O3 "
- if "~mpi" in self.spec:
+ if self.spec.satisfies("~mpi"):
targets.append("CXX = {0} {1}".format(spack_cxx, " -DUSE_MPI=0 "))
else:
targets.append("CXX = {0} {1}".format(self.spec["mpi"].mpicxx, " -DUSE_MPI=1"))
targets.append("MPI_INC = {0}".format(self.spec["mpi"].prefix.include))
targets.append("MPI_LIB = {0}".format(self.spec["mpi"].prefix.lib))
- if "+visual" in self.spec:
+ if self.spec.satisfies("+visual"):
targets.append("SILO_INCDIR = {0}".format(self.spec["silo"].prefix.include))
targets.append("SILO_LIBDIR = {0}".format(self.spec["silo"].prefix.lib))
cxxflag = " -g -DVIZ_MESH -I${SILO_INCDIR} "
ldflags = " -g -L${SILO_LIBDIR} -Wl,-rpath=${SILO_LIBDIR} -lsiloh5 -lhdf5 "
- if "+openmp" in self.spec:
+ if self.spec.satisfies("+openmp"):
cxxflag += self.compiler.openmp_flag
ldflags += self.compiler.openmp_flag
diff --git a/var/spack/repos/builtin/packages/lvarray/package.py b/var/spack/repos/builtin/packages/lvarray/package.py
index 180458015a..9fdb78ebab 100644
--- a/var/spack/repos/builtin/packages/lvarray/package.py
+++ b/var/spack/repos/builtin/packages/lvarray/package.py
@@ -105,7 +105,7 @@ class Lvarray(CMakePackage, CudaPackage):
@run_after("build")
def build_docs(self):
- if "+docs" in self.spec:
+ if self.spec.satisfies("+docs"):
with working_dir(self.build_directory):
make("docs")
@@ -118,7 +118,7 @@ class Lvarray(CMakePackage, CudaPackage):
def _get_host_config_path(self, spec):
var = ""
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
var = "-".join([var, "cuda"])
hostname = socket.gethostname().rstrip("1234567890")
@@ -182,7 +182,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("# CMake executable path: %s\n" % cmake_exe)
cfg.write("#{0}\n\n".format("-" * 80))
- if "blt" in spec:
+ if spec.satisfies("^blt"):
cfg.write(cmake_cache_entry("BLT_SOURCE_DIR", spec["blt"].prefix))
#######################
@@ -199,7 +199,7 @@ class Lvarray(CMakePackage, CudaPackage):
cflags = " ".join(spec.compiler_flags["cflags"])
cxxflags = " ".join(spec.compiler_flags["cxxflags"])
- if "%intel" in spec:
+ if spec.satisfies("%intel"):
cflags += " -qoverride-limits"
cxxflags += " -qoverride-limits"
@@ -216,10 +216,10 @@ class Lvarray(CMakePackage, CudaPackage):
debug_flags = "-O0 -g"
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_DEBUG", debug_flags))
- if "%clang arch=linux-rhel7-ppc64le" in spec:
+ if spec.satisfies("%clang arch=linux-rhel7-ppc64le"):
cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS", "-Wl,--no-toc-optimize"))
- if "+cuda" in spec:
+ if spec.satisfies("+cuda"):
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Cuda\n")
cfg.write("#{0}\n\n".format("-" * 80))
@@ -279,7 +279,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("# Umpire\n")
cfg.write("#{0}\n\n".format("-" * 80))
- if "+umpire" in spec:
+ if spec.satisfies("+umpire"):
cfg.write(cmake_cache_option("ENABLE_UMPIRE", True))
cfg.write(cmake_cache_entry("UMPIRE_DIR", spec["umpire"].prefix))
else:
@@ -289,7 +289,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("# CHAI\n")
cfg.write("#{0}\n\n".format("-" * 80))
- if "+chai" in spec:
+ if spec.satisfies("+chai"):
cfg.write(cmake_cache_option("ENABLE_CHAI", True))
cfg.write(cmake_cache_entry("CHAI_DIR", spec["chai"].prefix))
else:
@@ -299,7 +299,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("# Caliper\n")
cfg.write("#{0}\n\n".format("-" * 80))
- if "+caliper" in spec:
+ if spec.satisfies("+caliper"):
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Caliper\n")
cfg.write("#{0}\n\n".format("-" * 80))
@@ -312,7 +312,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Python\n")
cfg.write("#{0}\n\n".format("-" * 80))
- if "+pylvarray" in spec:
+ if spec.satisfies("+pylvarray"):
cfg.write(cmake_cache_option("ENABLE_PYLVARRAY", True))
python_exe = os.path.join(spec["python"].prefix.bin, "python3")
cfg.write(cmake_cache_entry("Python3_EXECUTABLE", python_exe))
@@ -322,7 +322,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Documentation\n")
cfg.write("#{0}\n\n".format("-" * 80))
- if "+docs" in spec:
+ if spec.satisfies("+docs"):
cfg.write(cmake_cache_option("ENABLE_DOCS", True))
sphinx_dir = spec["py-sphinx"].prefix
cfg.write(
@@ -343,7 +343,7 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# addr2line\n")
cfg.write("#{0}\n\n".format("-" * 80))
- cfg.write(cmake_cache_option("ENABLE_ADDR2LINE", "+addr2line" in spec))
+ cfg.write(cmake_cache_option("ENABLE_ADDR2LINE", spec.satisfies("+addr2line")))
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Other\n")
@@ -359,14 +359,14 @@ class Lvarray(CMakePackage, CudaPackage):
# Shared libs
options.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
- if "~tests~examples~benchmarks" in spec:
+ if spec.satisfies("~tests~examples~benchmarks"):
options.append("-DENABLE_TESTS=OFF")
else:
options.append("-DENABLE_TESTS=ON")
- if "~test" in spec:
+ if spec.satisfies("~test"):
options.append("-DDISABLE_UNIT_TESTS=ON")
- elif "+tests" in spec and ("%intel" in spec or "%xl" in spec):
+ elif spec.satisfies("+tests") and (spec.satisfies("%intel") or spec.satisfies("%xl")):
warnings.warn(
"The LvArray unit tests take an excessive amount of"
" time to build with the Intel or IBM compilers."
diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py
index 400a1d2220..375e75aa69 100644
--- a/var/spack/repos/builtin/packages/lz4/package.py
+++ b/var/spack/repos/builtin/packages/lz4/package.py
@@ -75,13 +75,13 @@ class CMakeBuilder(CMakeBuilder):
def cmake_args(self):
args = [self.define("CMAKE_POLICY_DEFAULT_CMP0042", "NEW")]
# # no pic on windows
- if "platform=windows" in self.spec:
+ if self.spec.satisfies("platform=windows"):
args.append(self.define("LZ4_POSITION_INDEPENDENT_LIB", False))
args.append(
- self.define("BUILD_SHARED_LIBS", True if "libs=shared" in self.spec else False)
+ self.define("BUILD_SHARED_LIBS", True if self.spec.satisfies("libs=shared") else False)
)
args.append(
- self.define("BUILD_STATIC_LIBS", True if "libs=static" in self.spec else False)
+ self.define("BUILD_STATIC_LIBS", True if self.spec.satisfies("libs=static") else False)
)
args.append(self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"))
return args
@@ -108,8 +108,8 @@ class MakefileBuilder(MakefileBuilder):
make(
"install",
"PREFIX={0}".format(prefix),
- "BUILD_SHARED={0}".format("yes" if "libs=shared" in self.spec else "no"),
- "BUILD_STATIC={0}".format("yes" if "libs=static" in self.spec else "no"),
+ "BUILD_SHARED={0}".format("yes" if self.spec.satisfies("libs=shared") else "no"),
+ "BUILD_STATIC={0}".format("yes" if self.spec.satisfies("libs=static") else "no"),
)
@run_after("install", when="platform=darwin")