summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_systems/cmake.py42
-rw-r--r--var/spack/repos/builtin/packages/acts/package.py4
-rw-r--r--var/spack/repos/builtin/packages/adios2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/bohrium/package.py2
-rw-r--r--var/spack/repos/builtin/packages/caliper/package.py1
-rw-r--r--var/spack/repos/builtin/packages/clingo/package.py18
-rw-r--r--var/spack/repos/builtin/packages/cvise/package.py3
-rw-r--r--var/spack/repos/builtin/packages/dd4hep/package.py1
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py11
-rw-r--r--var/spack/repos/builtin/packages/doxygen/package.py9
-rw-r--r--var/spack/repos/builtin/packages/eccodes/package.py3
-rw-r--r--var/spack/repos/builtin/packages/ecflow/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ecmwf-atlas/package.py1
-rw-r--r--var/spack/repos/builtin/packages/faiss/package.py3
-rw-r--r--var/spack/repos/builtin/packages/fckit/package.py1
-rw-r--r--var/spack/repos/builtin/packages/flann/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gnina/package.py5
-rw-r--r--var/spack/repos/builtin/packages/gnuradio/package.py5
-rw-r--r--var/spack/repos/builtin/packages/halide/package.py1
-rw-r--r--var/spack/repos/builtin/packages/henson/package.py7
-rw-r--r--var/spack/repos/builtin/packages/hoomd-blue/package.py5
-rw-r--r--var/spack/repos/builtin/packages/lammps/package.py3
-rw-r--r--var/spack/repos/builtin/packages/libmolgrid/package.py7
-rw-r--r--var/spack/repos/builtin/packages/libpressio/package.py1
-rw-r--r--var/spack/repos/builtin/packages/llvm-doe/package.py7
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py7
-rw-r--r--var/spack/repos/builtin/packages/neuron/package.py3
-rw-r--r--var/spack/repos/builtin/packages/nlopt/package.py8
-rw-r--r--var/spack/repos/builtin/packages/odgi/package.py6
-rw-r--r--var/spack/repos/builtin/packages/omnitrace/package.py5
-rw-r--r--var/spack/repos/builtin/packages/open3d/package.py7
-rw-r--r--var/spack/repos/builtin/packages/openbabel/package.py8
-rw-r--r--var/spack/repos/builtin/packages/opencv/package.py1
-rw-r--r--var/spack/repos/builtin/packages/openmolcas/package.py6
-rw-r--r--var/spack/repos/builtin/packages/openpmd-api/package.py8
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop-utils/package.py33
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop/package.py34
-rw-r--r--var/spack/repos/builtin/packages/openturns/package.py4
-rw-r--r--var/spack/repos/builtin/packages/openwsman/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pagmo/package.py4
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pfunit/package.py1
-rw-r--r--var/spack/repos/builtin/packages/precice/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pybind11/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pykokkos-base/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-tfdlpack/package.py9
-rw-r--r--var/spack/repos/builtin/packages/qmcpack/package.py1
-rw-r--r--var/spack/repos/builtin/packages/rdma-core/package.py7
-rw-r--r--var/spack/repos/builtin/packages/root/package.py4
-rw-r--r--var/spack/repos/builtin/packages/scine-database/package.py5
-rw-r--r--var/spack/repos/builtin/packages/scine-molassembler/package.py5
-rw-r--r--var/spack/repos/builtin/packages/scine-readuct/package.py5
-rw-r--r--var/spack/repos/builtin/packages/scine-serenity/package.py5
-rw-r--r--var/spack/repos/builtin/packages/scine-sparrow/package.py5
-rw-r--r--var/spack/repos/builtin/packages/scine-utilities/package.py6
-rw-r--r--var/spack/repos/builtin/packages/scine-xtb/package.py5
-rw-r--r--var/spack/repos/builtin/packages/sensei/package.py32
-rw-r--r--var/spack/repos/builtin/packages/serenity/package.py5
-rw-r--r--var/spack/repos/builtin/packages/sollve/package.py1
-rw-r--r--var/spack/repos/builtin/packages/spectre/package.py1
-rw-r--r--var/spack/repos/builtin/packages/steps/package.py1
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/package.py5
-rw-r--r--var/spack/repos/builtin/packages/templight/package.py1
-rw-r--r--var/spack/repos/builtin/packages/tfel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/timemory/package.py5
-rw-r--r--var/spack/repos/builtin/packages/tiramisu/package.py5
-rw-r--r--var/spack/repos/builtin/packages/vdt/package.py5
-rw-r--r--var/spack/repos/builtin/packages/vtk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xcfun/package.py1
-rw-r--r--var/spack/repos/builtin/packages/xrootd/package.py7
-rw-r--r--var/spack/repos/builtin/packages/xtensor-python/package.py8
71 files changed, 111 insertions, 325 deletions
diff --git a/lib/spack/spack/build_systems/cmake.py b/lib/spack/spack/build_systems/cmake.py
index 73f88d4e8e..a92cb1b6b5 100644
--- a/lib/spack/spack/build_systems/cmake.py
+++ b/lib/spack/spack/build_systems/cmake.py
@@ -15,6 +15,7 @@ import llnl.util.filesystem as fs
import spack.build_environment
import spack.builder
+import spack.deptypes as dt
import spack.package_base
from spack.directives import build_system, conflicts, depends_on, variant
from spack.multimethod import when
@@ -31,8 +32,30 @@ def _extract_primary_generator(generator):
primary generator from the generator string which may contain an
optional secondary generator.
"""
- primary_generator = _primary_generator_extractor.match(generator).group(1)
- return primary_generator
+ return _primary_generator_extractor.match(generator).group(1)
+
+
+def _maybe_set_python_hints(pkg: spack.package_base.PackageBase, args: List[str]) -> None:
+ """Set the PYTHON_EXECUTABLE, Python_EXECUTABLE, and Python3_EXECUTABLE CMake variables
+ if the package has Python as build or link dep and ``find_python_hints`` is set to True. See
+ ``find_python_hints`` for context."""
+ if not getattr(pkg, "find_python_hints", False):
+ return
+ pythons = pkg.spec.dependencies("python", dt.BUILD | dt.LINK)
+ if len(pythons) != 1:
+ return
+ try:
+ python_executable = pythons[0].package.command.path
+ except RuntimeError:
+ return
+
+ args.extend(
+ [
+ CMakeBuilder.define("PYTHON_EXECUTABLE", python_executable),
+ CMakeBuilder.define("Python_EXECUTABLE", python_executable),
+ CMakeBuilder.define("Python3_EXECUTABLE", python_executable),
+ ]
+ )
def generator(*names: str, default: Optional[str] = None):
@@ -86,6 +109,13 @@ class CMakePackage(spack.package_base.PackageBase):
#: Legacy buildsystem attribute used to deserialize and install old specs
legacy_buildsystem = "cmake"
+ #: When this package depends on Python and ``find_python_hints`` is set to True, pass the
+ #: defines {Python3,Python,PYTHON}_EXECUTABLE explicitly, so that CMake locates the right
+ #: Python in its builtin FindPython3, FindPython, and FindPythonInterp modules. Spack does
+ #: CMake's job because CMake's modules by default only search for Python versions known at the
+ #: time of release.
+ find_python_hints = True
+
build_system("cmake")
with when("build_system=cmake"):
@@ -241,9 +271,9 @@ class CMakeBuilder(BaseBuilder):
"""Standard cmake arguments provided as a property for
convenience of package writers
"""
- std_cmake_args = CMakeBuilder.std_args(self.pkg, generator=self.generator)
- std_cmake_args += getattr(self.pkg, "cmake_flag_args", [])
- return std_cmake_args
+ args = CMakeBuilder.std_args(self.pkg, generator=self.generator)
+ args += getattr(self.pkg, "cmake_flag_args", [])
+ return args
@staticmethod
def std_args(pkg, generator=None):
@@ -288,6 +318,8 @@ class CMakeBuilder(BaseBuilder):
[define("CMAKE_FIND_FRAMEWORK", "LAST"), define("CMAKE_FIND_APPBUNDLE", "LAST")]
)
+ _maybe_set_python_hints(pkg, args)
+
# Set up CMake rpath
args.extend(
[
diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py
index b3eef6dfa6..a622609087 100644
--- a/var/spack/repos/builtin/packages/acts/package.py
+++ b/var/spack/repos/builtin/packages/acts/package.py
@@ -458,10 +458,6 @@ class Acts(CMakePackage, CudaPackage):
if cuda_arch != "none":
args.append(f"-DCUDA_FLAGS=-arch=sm_{cuda_arch[0]}")
- if "+python" in spec:
- python = spec["python"].command.path
- args.append(f"-DPython_EXECUTABLE={python}")
-
args.append(self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"))
return args
diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py
index b345f5e4c5..2f70cd0582 100644
--- a/var/spack/repos/builtin/packages/adios2/package.py
+++ b/var/spack/repos/builtin/packages/adios2/package.py
@@ -292,10 +292,6 @@ class Adios2(CMakePackage, CudaPackage, ROCmPackage):
if "%fj" in spec:
args.extend(["-DCMAKE_Fortran_SUBMODULE_EXT=.smod", "-DCMAKE_Fortran_SUBMODULE_SEP=."])
- if "+python" in spec or self.run_tests:
- args.append(f"-DPYTHON_EXECUTABLE:FILEPATH={spec['python'].command.path}")
- args.append(f"-DPython_EXECUTABLE:FILEPATH={spec['python'].command.path}")
-
# hip support
if "+cuda" in spec:
args.append(self.builder.define_cuda_architectures(self))
diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py
index ec77b88633..64ad8c100e 100644
--- a/var/spack/repos/builtin/packages/bohrium/package.py
+++ b/var/spack/repos/builtin/packages/bohrium/package.py
@@ -119,8 +119,6 @@ class Bohrium(CMakePackage, CudaPackage):
# different hosts.
args = [
- # Choose a particular python version
- "-DPYTHON_EXECUTABLE:FILEPATH=" + spec["python"].command.path,
#
# Hard-disable Jupyter, since this would override a config
# file in the user's home directory in some cases during
diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py
index e66fa57146..f1ae9a92cc 100644
--- a/var/spack/repos/builtin/packages/caliper/package.py
+++ b/var/spack/repos/builtin/packages/caliper/package.py
@@ -129,7 +129,6 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
spec = self.spec
args = [
- ("-DPYTHON_EXECUTABLE=%s" % spec["python"].command.path),
"-DBUILD_TESTING=Off",
"-DBUILD_DOCS=Off",
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py
index 46b3f5278b..ac242c57cd 100644
--- a/var/spack/repos/builtin/packages/clingo/package.py
+++ b/var/spack/repos/builtin/packages/clingo/package.py
@@ -92,22 +92,6 @@ class Clingo(CMakePackage):
)
@property
- def cmake_python_hints(self):
- """Return standard CMake defines to ensure that the
- current spec is the one found by CMake find_package(Python, ...)
- """
- python = self.spec["python"]
- return [
- self.define("Python_EXECUTABLE", python.command.path),
- self.define("Python_INCLUDE_DIR", python.headers.directories[0]),
- self.define("Python_LIBRARIES", python.libs[0]),
- # XCode command line tools on macOS has no python-config executable, and
- # CMake assumes you have python 2 if it does not find a python-config,
- # so we set the version explicitly so that it's passed to FindPython.
- self.define("CLINGO_PYTHON_VERSION", python.version.up_to(2)),
- ]
-
- @property
def cmake_py_shared(self):
return self.define("CLINGO_BUILD_PY_SHARED", "ON")
@@ -127,8 +111,6 @@ class Clingo(CMakePackage):
"-DPYCLINGO_USE_INSTALL_PREFIX=ON",
self.cmake_py_shared,
]
- if self.spec["cmake"].satisfies("@3.16.0:"):
- args += self.cmake_python_hints
else:
args += ["-DCLINGO_BUILD_WITH_PYTHON=OFF"]
diff --git a/var/spack/repos/builtin/packages/cvise/package.py b/var/spack/repos/builtin/packages/cvise/package.py
index 5a4e2f7b7e..48def2cf00 100644
--- a/var/spack/repos/builtin/packages/cvise/package.py
+++ b/var/spack/repos/builtin/packages/cvise/package.py
@@ -33,6 +33,3 @@ class Cvise(CMakePackage):
depends_on("py-pytest", when="+pytest", type=("build", "run"))
depends_on("colordiff", when="+colordiff", type=("build", "run"))
-
- def cmake_args(self):
- return ["-DPYTHON_EXECUTABLE=" + self.spec["python"].command.path]
diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py
index 0f6965fdb9..d8b7d3549c 100644
--- a/var/spack/repos/builtin/packages/dd4hep/package.py
+++ b/var/spack/repos/builtin/packages/dd4hep/package.py
@@ -232,7 +232,6 @@ class Dd4hep(CMakePackage):
"-DBUILD_TESTING={0}".format(self.run_tests),
"-DBOOST_ROOT={0}".format(spec["boost"].prefix),
"-DBoost_NO_BOOST_CMAKE=ON",
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
]
subpackages = []
if spec.satisfies("+ddg4"):
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index ee181553a3..f9ec14adf3 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -539,17 +539,6 @@ class Dealii(CMakePackage, CudaPackage):
# Python bindings
if spec.satisfies("@8.5.0:"):
options.append(self.define_from_variant("DEAL_II_COMPONENT_PYTHON_BINDINGS", "python"))
- if "+python" in spec:
- python_exe = spec["python"].command.path
- python_library = spec["python"].libs[0]
- python_include = spec["python"].headers.directories[0]
- options.extend(
- [
- self.define("PYTHON_EXECUTABLE", python_exe),
- self.define("PYTHON_INCLUDE_DIR", python_include),
- self.define("PYTHON_LIBRARY", python_library),
- ]
- )
# Simplex support (no longer experimental)
if spec.satisfies("@9.3.0:9.4.0"):
diff --git a/var/spack/repos/builtin/packages/doxygen/package.py b/var/spack/repos/builtin/packages/doxygen/package.py
index b47a6f7aea..e6c099cb57 100644
--- a/var/spack/repos/builtin/packages/doxygen/package.py
+++ b/var/spack/repos/builtin/packages/doxygen/package.py
@@ -124,12 +124,3 @@ class Doxygen(CMakePackage):
join_path("cmake", "FindIconv.cmake"),
string=True,
)
-
- def cmake_args(self):
- args = [
- # Doxygen's build system uses CMake's deprecated `FindPythonInterp`,
- # which can get confused by other `python` executables in the PATH.
- # See issue: https://github.com/spack/spack/issues/28215
- self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path)
- ]
- return args
diff --git a/var/spack/repos/builtin/packages/eccodes/package.py b/var/spack/repos/builtin/packages/eccodes/package.py
index 362d0de274..66967690db 100644
--- a/var/spack/repos/builtin/packages/eccodes/package.py
+++ b/var/spack/repos/builtin/packages/eccodes/package.py
@@ -351,9 +351,6 @@ class Eccodes(CMakePackage):
# Prevent overriding by environment variables AEC_DIR and AEC_PATH:
args.append(self.define("AEC_DIR", self.spec["libaec"].prefix))
- if "+memfs" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", python.path))
-
return args
@run_after("install")
diff --git a/var/spack/repos/builtin/packages/ecflow/package.py b/var/spack/repos/builtin/packages/ecflow/package.py
index 4ee103b983..ea447d5f48 100644
--- a/var/spack/repos/builtin/packages/ecflow/package.py
+++ b/var/spack/repos/builtin/packages/ecflow/package.py
@@ -91,7 +91,6 @@ class Ecflow(CMakePackage):
self.define_from_variant("ENABLE_SSL", "ssl"),
# https://jira.ecmwf.int/browse/SUP-2641#comment-208943
self.define_from_variant("ENABLE_STATIC_BOOST_LIBS", "static_boost"),
- self.define("Python3_EXECUTABLE", spec["python"].package.command),
self.define("BOOST_ROOT", spec["boost"].prefix),
self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
]
diff --git a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py
index 25fe5e78f9..f1320c9266 100644
--- a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py
+++ b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py
@@ -73,7 +73,6 @@ class EcmwfAtlas(CMakePackage):
self.define_from_variant("ENABLE_TRANS", "trans"),
self.define_from_variant("ENABLE_EIGEN", "eigen"),
self.define_from_variant("ENABLE_FFTW", "fftw"),
- "-DPYTHON_EXECUTABLE:FILEPATH=" + self.spec["python"].command.path,
]
if "~shared" in self.spec:
args.append("-DBUILD_SHARED_LIBS=OFF")
diff --git a/var/spack/repos/builtin/packages/faiss/package.py b/var/spack/repos/builtin/packages/faiss/package.py
index d67bc55544..8f4b6acb69 100644
--- a/var/spack/repos/builtin/packages/faiss/package.py
+++ b/var/spack/repos/builtin/packages/faiss/package.py
@@ -96,9 +96,6 @@ class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
self.define_from_variant("BUILD_TESTING", "tests"),
self.define("FAISS_OPT_LEVEL", "generic"),
]
- if "+python" in spec:
- pyexe = spec["python"].command.path
- args.append(self.define("Python_EXECUTABLE", pyexe))
if "+cuda" in spec:
key = "CMAKE_CUDA_ARCHITECTURES"
diff --git a/var/spack/repos/builtin/packages/fckit/package.py b/var/spack/repos/builtin/packages/fckit/package.py
index 517fd302bd..5822e13344 100644
--- a/var/spack/repos/builtin/packages/fckit/package.py
+++ b/var/spack/repos/builtin/packages/fckit/package.py
@@ -62,7 +62,6 @@ class Fckit(CMakePackage):
args = [
self.define_from_variant("ENABLE_ECKIT", "eckit"),
self.define_from_variant("ENABLE_OMP", "openmp"),
- "-DPYTHON_EXECUTABLE:FILEPATH=" + self.spec["python"].command.path,
"-DFYPP_NO_LINE_NUMBERING=ON",
]
diff --git a/var/spack/repos/builtin/packages/flann/package.py b/var/spack/repos/builtin/packages/flann/package.py
index e915599a39..301d1d88f5 100644
--- a/var/spack/repos/builtin/packages/flann/package.py
+++ b/var/spack/repos/builtin/packages/flann/package.py
@@ -123,8 +123,4 @@ class Flann(CMakePackage):
use_mpi = "ON" if "+mpi" in spec else "OFF"
args.append("-DUSE_MPI:BOOL={0}".format(use_mpi))
- # Configure the proper python executable
- if "+python" in spec:
- args.append("-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path))
-
return args
diff --git a/var/spack/repos/builtin/packages/gnina/package.py b/var/spack/repos/builtin/packages/gnina/package.py
index 5b9ae74c3e..dcfa07c259 100644
--- a/var/spack/repos/builtin/packages/gnina/package.py
+++ b/var/spack/repos/builtin/packages/gnina/package.py
@@ -70,10 +70,7 @@ class Gnina(CMakePackage, CudaPackage):
depends_on("cudnn", when="+cudnn")
def cmake_args(self):
- args = [
- "-DBLAS=Open", # Use OpenBLAS instead of Atlas' BLAS
- f"-DPYTHON_EXECUTABLE={self.spec['python'].command.path}",
- ]
+ args = ["-DBLAS=Open"] # Use OpenBLAS instead of Atlas' BLAS
if "+gninavis" in self.spec:
args.append(f"-DRDKIT_INCLUDE_DIR={self.spec['rdkit'].prefix.include.rdkit}")
diff --git a/var/spack/repos/builtin/packages/gnuradio/package.py b/var/spack/repos/builtin/packages/gnuradio/package.py
index ddc2db5604..cb4f86c7a8 100644
--- a/var/spack/repos/builtin/packages/gnuradio/package.py
+++ b/var/spack/repos/builtin/packages/gnuradio/package.py
@@ -61,10 +61,7 @@ class Gnuradio(CMakePackage):
extends("python")
def cmake_args(self):
- args = []
- args.append("-DPYTHON_EXECUTABLE={0}".format(self.spec["python"].command.path))
- args.append("-DENABLE_INTERNAL_VOLK=OFF")
- return args
+ return ["-DENABLE_INTERNAL_VOLK=OFF"]
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/halide/package.py b/var/spack/repos/builtin/packages/halide/package.py
index f9e95e6756..282fda8733 100644
--- a/var/spack/repos/builtin/packages/halide/package.py
+++ b/var/spack/repos/builtin/packages/halide/package.py
@@ -108,7 +108,6 @@ class Halide(CMakePackage, PythonExtension):
if "+python" in spec:
args += [
- self.define("Python3_EXECUTABLE", spec["python"].command.path),
self.define("PYBIND11_USE_FETCHCONTENT", False),
self.define("Halide_INSTALL_PYTHONDIR", python_platlib),
]
diff --git a/var/spack/repos/builtin/packages/henson/package.py b/var/spack/repos/builtin/packages/henson/package.py
index b347adc120..d1be8ba2cd 100644
--- a/var/spack/repos/builtin/packages/henson/package.py
+++ b/var/spack/repos/builtin/packages/henson/package.py
@@ -32,13 +32,8 @@ class Henson(CMakePackage):
conflicts("^openmpi", when="+mpi-wrappers")
def cmake_args(self):
- args = [
+ return [
self.define_from_variant("python", "python"),
self.define_from_variant("mpi-wrappers", "mpi-wrappers"),
self.define_from_variant("use_boost", "boost"),
]
-
- if self.spec.satisfies("+python"):
- args += [self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path)]
-
- return args
diff --git a/var/spack/repos/builtin/packages/hoomd-blue/package.py b/var/spack/repos/builtin/packages/hoomd-blue/package.py
index a69a801526..54afb419c1 100644
--- a/var/spack/repos/builtin/packages/hoomd-blue/package.py
+++ b/var/spack/repos/builtin/packages/hoomd-blue/package.py
@@ -65,10 +65,7 @@ class HoomdBlue(CMakePackage):
def cmake_args(self):
spec = self.spec
- cmake_args = [
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
- "-DCMAKE_INSTALL_PREFIX={0}".format(python_platlib),
- ]
+ cmake_args = ["-DCMAKE_INSTALL_PREFIX={0}".format(python_platlib)]
# MPI support
if "+mpi" in spec:
diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index ca0df298e1..8588f5fdf6 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -860,9 +860,6 @@ class Lammps(CMakePackage, CudaPackage, ROCmPackage, PythonExtension):
if "+rocm" in spec:
args.append(self.define("CMAKE_CXX_COMPILER", spec["hip"].hipcc))
- if "+python" in spec:
- args.append(self.define("Python_EXECUTABLE", spec["python"].command.path))
-
return args
def setup_build_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/libmolgrid/package.py b/var/spack/repos/builtin/packages/libmolgrid/package.py
index 883231ec33..86bb4e7e0d 100644
--- a/var/spack/repos/builtin/packages/libmolgrid/package.py
+++ b/var/spack/repos/builtin/packages/libmolgrid/package.py
@@ -35,9 +35,4 @@ class Libmolgrid(CMakePackage):
ob_incl = os.path.join(self.spec["openbabel"].prefix.include, "openbabel3")
ob_libs = self.spec["openbabel"].libs.joined(";")
- args = [
- "-DOPENBABEL3_INCLUDE_DIR=" + ob_incl,
- "-DOPENBABEL3_LIBRARIES=" + ob_libs,
- f"-DPYTHON_EXECUTABLE={self.spec['python'].command.path}",
- ]
- return args
+ return ["-DOPENBABEL3_INCLUDE_DIR=" + ob_incl, "-DOPENBABEL3_LIBRARIES=" + ob_libs]
diff --git a/var/spack/repos/builtin/packages/libpressio/package.py b/var/spack/repos/builtin/packages/libpressio/package.py
index f020cb3800..f1828bcf51 100644
--- a/var/spack/repos/builtin/packages/libpressio/package.py
+++ b/var/spack/repos/builtin/packages/libpressio/package.py
@@ -278,7 +278,6 @@ class Libpressio(CMakePackage, CudaPackage):
if "+python" in self.spec:
args.append("-DLIBPRESSIO_PYTHON_SITELIB={0}".format(python_platlib))
args.append("-DBUILD_PYTHON_WRAPPER=ON")
- args.append("-DPython3_EXECUTABLE={0}".format(self.spec["python"].command))
if "+mpi" in self.spec:
args.append("-DLIBPRESSIO_HAS_MPI4PY=ON")
if "+hdf5" in self.spec:
diff --git a/var/spack/repos/builtin/packages/llvm-doe/package.py b/var/spack/repos/builtin/packages/llvm-doe/package.py
index 90faf6e135..8402e0c743 100644
--- a/var/spack/repos/builtin/packages/llvm-doe/package.py
+++ b/var/spack/repos/builtin/packages/llvm-doe/package.py
@@ -405,13 +405,11 @@ class LlvmDoe(CMakePackage, CudaPackage):
define = self.define
from_variant = self.define_from_variant
- python = spec["python"]
cmake_args = [
define("LLVM_REQUIRES_RTTI", True),
define("LLVM_ENABLE_RTTI", True),
define("LLVM_ENABLE_EH", True),
define("CLANG_DEFAULT_OPENMP_RUNTIME", "libomp"),
- define("PYTHON_EXECUTABLE", python.command.path),
define("LIBOMP_USE_HWLOC", True),
define("LIBOMP_HWLOC_INSTALL_DIR", spec["hwloc"].prefix),
]
@@ -420,11 +418,6 @@ class LlvmDoe(CMakePackage, CudaPackage):
if version_suffix != "none":
cmake_args.append(define("LLVM_VERSION_SUFFIX", version_suffix))
- if python.version >= Version("3"):
- cmake_args.append(define("Python3_EXECUTABLE", python.command.path))
- else:
- cmake_args.append(define("Python2_EXECUTABLE", python.command.path))
-
projects = []
runtimes = []
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index f32e3494e4..c19792be4c 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -781,13 +781,11 @@ class Llvm(CMakePackage, CudaPackage):
define = self.define
from_variant = self.define_from_variant
- python = spec["python"]
cmake_args = [
define("LLVM_REQUIRES_RTTI", True),
define("LLVM_ENABLE_RTTI", True),
define("LLVM_ENABLE_LIBXML2", False),
define("CLANG_DEFAULT_OPENMP_RUNTIME", "libomp"),
- define("PYTHON_EXECUTABLE", python.command.path),
define("LIBOMP_USE_HWLOC", True),
define("LIBOMP_HWLOC_INSTALL_DIR", spec["hwloc"].prefix),
from_variant("LLVM_ENABLE_ZSTD", "zstd"),
@@ -811,11 +809,6 @@ class Llvm(CMakePackage, CudaPackage):
if shlib_symbol_version is not None and shlib_symbol_version.value != "none":
cmake_args.append(define("LLVM_SHLIB_SYMBOL_VERSION", shlib_symbol_version.value))
- if python.version >= Version("3"):
- cmake_args.append(define("Python3_EXECUTABLE", python.command.path))
- else:
- cmake_args.append(define("Python2_EXECUTABLE", python.command.path))
-
projects = []
runtimes = []
diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py
index aa3b0c76d5..edad5ec994 100644
--- a/var/spack/repos/builtin/packages/neuron/package.py
+++ b/var/spack/repos/builtin/packages/neuron/package.py
@@ -86,9 +86,6 @@ class Neuron(CMakePackage):
if "~mpi" in spec and "+coreneuron" in spec:
args.append("-DCORENRN_ENABLE_MPI=OFF")
- if "+python" in spec:
- args.append("-DPYTHON_EXECUTABLE:FILEPATH=" + spec["python"].command.path)
-
if spec.variants["build_type"].value == "Debug":
args.append("-DCMAKE_C_FLAGS=-g -O0")
args.append("-DCMAKE_CXX_FLAGS=-g -O0")
diff --git a/var/spack/repos/builtin/packages/nlopt/package.py b/var/spack/repos/builtin/packages/nlopt/package.py
index b4aa99199d..cf49d5e26e 100644
--- a/var/spack/repos/builtin/packages/nlopt/package.py
+++ b/var/spack/repos/builtin/packages/nlopt/package.py
@@ -53,16 +53,12 @@ class Nlopt(CMakePackage):
# Specify on command line to alter defaults:
# eg: spack install nlopt@master +guile -octave +cxx
- # Spack should locate python by default - but to point to a build
- if "+python" in spec:
- args.append("-DPYTHON_EXECUTABLE=%s" % spec["python"].command.path)
-
# On is default
- if "-shared" in spec:
+ if "~shared" in spec:
args.append("-DBUILD_SHARED_LIBS:Bool=OFF")
# On is default
- if "-octave" in spec:
+ if "~octave" in spec:
args.append("-DNLOPT_OCTAVE:Bool=OFF")
if "+cxx" in spec:
diff --git a/var/spack/repos/builtin/packages/odgi/package.py b/var/spack/repos/builtin/packages/odgi/package.py
index 0f4177d315..0c4b9ea2ff 100644
--- a/var/spack/repos/builtin/packages/odgi/package.py
+++ b/var/spack/repos/builtin/packages/odgi/package.py
@@ -41,8 +41,4 @@ class Odgi(CMakePackage):
# >>> Dependencies list ends here
def cmake_args(self):
- args = [
- "-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=ON",
- "-DPYTHON_EXECUTABLE:FILEPATH={0}".format(self.spec["python"].command),
- ]
- return args
+ return ["-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=ON"]
diff --git a/var/spack/repos/builtin/packages/omnitrace/package.py b/var/spack/repos/builtin/packages/omnitrace/package.py
index c23ffc755e..bc3ed31758 100644
--- a/var/spack/repos/builtin/packages/omnitrace/package.py
+++ b/var/spack/repos/builtin/packages/omnitrace/package.py
@@ -126,11 +126,6 @@ class Omnitrace(CMakePackage):
tau_root = spec["tau"].prefix
args.append(self.define("TAU_ROOT_DIR", tau_root))
- if "+python" in spec:
- pyexe = spec["python"].command.path
- args.append(self.define("PYTHON_EXECUTABLE", pyexe))
- args.append(self.define("Python3_EXECUTABLE", pyexe))
-
if "+mpi" in spec:
args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
args.append(self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx))
diff --git a/var/spack/repos/builtin/packages/open3d/package.py b/var/spack/repos/builtin/packages/open3d/package.py
index 85fea1a181..2a63de25ca 100644
--- a/var/spack/repos/builtin/packages/open3d/package.py
+++ b/var/spack/repos/builtin/packages/open3d/package.py
@@ -70,7 +70,7 @@ class Open3d(CMakePackage, CudaPackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("BUILD_UNIT_TESTS", self.run_tests),
self.define_from_variant("BUILD_PYTHON_MODULE", "python"),
self.define_from_variant("BUILD_CUDA_MODULE", "cuda"),
@@ -95,11 +95,6 @@ class Open3d(CMakePackage, CudaPackage):
# self.define('USE_SYSTEM_TINYOBJLOADER', True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
-
- return args
-
def check(self):
with working_dir(self.build_directory):
tests = Executable(os.path.join("bin", "tests"))
diff --git a/var/spack/repos/builtin/packages/openbabel/package.py b/var/spack/repos/builtin/packages/openbabel/package.py
index 346367cc15..65cff9e35c 100644
--- a/var/spack/repos/builtin/packages/openbabel/package.py
+++ b/var/spack/repos/builtin/packages/openbabel/package.py
@@ -63,13 +63,7 @@ class Openbabel(CMakePackage):
args = []
if "+python" in spec:
- args.extend(
- [
- "-DPYTHON_BINDINGS=ON",
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
- "-DRUN_SWIG=ON",
- ]
- )
+ args.extend(["-DPYTHON_BINDINGS=ON", "-DRUN_SWIG=ON"])
else:
args.append("-DPYTHON_BINDINGS=OFF")
diff --git a/var/spack/repos/builtin/packages/opencv/package.py b/var/spack/repos/builtin/packages/opencv/package.py
index 1f23970a7b..8e3f3236bb 100644
--- a/var/spack/repos/builtin/packages/opencv/package.py
+++ b/var/spack/repos/builtin/packages/opencv/package.py
@@ -15,6 +15,7 @@ class Opencv(CMakePackage, CudaPackage):
homepage = "https://opencv.org/"
url = "https://github.com/opencv/opencv/archive/4.5.0.tar.gz"
git = "https://github.com/opencv/opencv.git"
+ find_python_hints = False # opencv uses custom OpenCVDetectPython.cmake
maintainers("bvanessen", "adamjstewart")
diff --git a/var/spack/repos/builtin/packages/openmolcas/package.py b/var/spack/repos/builtin/packages/openmolcas/package.py
index 7d53000ab7..c3a59df79d 100644
--- a/var/spack/repos/builtin/packages/openmolcas/package.py
+++ b/var/spack/repos/builtin/packages/openmolcas/package.py
@@ -44,11 +44,7 @@ class Openmolcas(CMakePackage):
env.append_path("PATH", self.prefix)
def cmake_args(self):
- args = [
- "-DLINALG=OpenBLAS",
- "-DOPENBLASROOT=%s" % self.spec["openblas"].prefix,
- "-DPYTHON_EXECUTABLE=%s" % self.spec["python"].command.path,
- ]
+ args = ["-DLINALG=OpenBLAS", "-DOPENBLASROOT=%s" % self.spec["openblas"].prefix]
if "+mpi" in self.spec:
mpi_args = [
"-DMPI=ON",
diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py
index 694b785094..b114ed8efe 100644
--- a/var/spack/repos/builtin/packages/openpmd-api/package.py
+++ b/var/spack/repos/builtin/packages/openpmd-api/package.py
@@ -123,13 +123,7 @@ class OpenpmdApi(CMakePackage):
# switch internally shipped third-party libraries for spack
if spec.satisfies("+python"):
- py_exe_define = (
- "Python_EXECUTABLE" if spec.version >= Version("0.13.0") else "PYTHON_EXECUTABLE"
- )
- args += [
- self.define(py_exe_define, self.spec["python"].command.path),
- self.define("openPMD_USE_INTERNAL_PYBIND11", False),
- ]
+ args.append(self.define("openPMD_USE_INTERNAL_PYBIND11", False))
args.append(self.define("openPMD_USE_INTERNAL_JSON", False))
if spec.satisfies("@:0.14"): # pre C++17 releases
diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
index 8df48bf495..7fa3e646e3 100644
--- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
@@ -236,26 +236,19 @@ class OpenspeedshopUtils(CMakePackage):
# Appends to cmake_options the options that will enable
# the appropriate base level options to the openspeedshop
# cmake build.
- python_exe = spec["python"].command.path
- python_library = spec["python"].libs[0]
- python_include = spec["python"].headers.directories[0]
-
- base_options = []
-
- base_options.append("-DBINUTILS_DIR=%s" % spec["binutils"].prefix)
- base_options.append("-DLIBELF_DIR=%s" % spec["elfutils"].prefix)
- base_options.append("-DLIBDWARF_DIR=%s" % spec["libdwarf"].prefix)
- base_options.append("-DPYTHON_EXECUTABLE=%s" % python_exe)
- base_options.append("-DPYTHON_INCLUDE_DIR=%s" % python_include)
- base_options.append("-DPYTHON_LIBRARY=%s" % python_library)
- base_options.append("-DBoost_NO_SYSTEM_PATHS=TRUE")
- base_options.append("-DBoost_NO_BOOST_CMAKE=TRUE")
- base_options.append("-DBOOST_ROOT=%s" % spec["boost"].prefix)
- base_options.append("-DBoost_DIR=%s" % spec["boost"].prefix)
- base_options.append("-DBOOST_LIBRARYDIR=%s" % spec["boost"].prefix.lib)
- base_options.append("-DDYNINST_DIR=%s" % spec["dyninst"].prefix)
-
- cmake_options.extend(base_options)
+ cmake_options.extend(
+ [
+ self.define("BINUTILS_DIR", spec["binutils"].prefix),
+ self.define("LIBELF_DIR", spec["elfutils"].prefix),
+ self.define("LIBDWARF_DIR", spec["libdwarf"].prefix),
+ self.define("Boost_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ self.define("BOOST_ROOT", spec["boost"].prefix),
+ self.define("Boost_DIR", spec["boost"].prefix),
+ self.define("BOOST_LIBRARYDIR", spec["boost"].prefix.lib),
+ self.define("DYNINST_DIR", spec["dyninst"].prefix),
+ ]
+ )
def set_mpi_cmake_options(self, spec, cmake_options):
# Appends to cmake_options the options that will enable
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
index 101cf783b6..5ef937a0f8 100644
--- a/var/spack/repos/builtin/packages/openspeedshop/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -254,27 +254,19 @@ class Openspeedshop(CMakePackage):
# Appends to cmake_options the options that will enable
# the appropriate base level options to the openspeedshop
# cmake build.
- python_exe = spec["python"].command.path
- python_library = spec["python"].libs[0]
- python_include = spec["python"].headers.directories[0]
- true_value = "TRUE"
-
- base_options = []
-
- base_options.append("-DBINUTILS_DIR=%s" % spec["binutils"].prefix)
- base_options.append("-DLIBELF_DIR=%s" % spec["elfutils"].prefix)
- base_options.append("-DLIBDWARF_DIR=%s" % spec["libdwarf"].prefix)
- base_options.append("-DPYTHON_EXECUTABLE=%s" % python_exe)
- base_options.append("-DPYTHON_INCLUDE_DIR=%s" % python_include)
- base_options.append("-DPYTHON_LIBRARY=%s" % python_library)
- base_options.append("-DBoost_NO_SYSTEM_PATHS=%s" % true_value)
- base_options.append("-DBoost_NO_BOOST_CMAKE=%s" % true_value)
- base_options.append("-DBOOST_ROOT=%s" % spec["boost"].prefix)
- base_options.append("-DBoost_DIR=%s" % spec["boost"].prefix)
- base_options.append("-DBOOST_LIBRARYDIR=%s" % spec["boost"].prefix.lib)
- base_options.append("-DDYNINST_DIR=%s" % spec["dyninst"].prefix)
-
- cmake_options.extend(base_options)
+ cmake_options.extend(
+ [
+ self.define("BINUTILS_DIR", spec["binutils"].prefix),
+ self.define("LIBELF_DIR", spec["elfutils"].prefix),
+ self.define("LIBDWARF_DIR", spec["libdwarf"].prefix),
+ self.define("Boost_NO_SYSTEM_PATHS", True),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ self.define("BOOST_ROOT", spec["boost"].prefix),
+ self.define("Boost_DIR", spec["boost"].prefix),
+ self.define("BOOST_LIBRARYDIR", spec["boost"].prefix.lib),
+ self.define("DYNINST_DIR", spec["dyninst"].prefix),
+ ]
+ )
def set_mpi_cmake_options(self, spec, cmake_options):
# Appends to cmake_options the options that will enable
diff --git a/var/spack/repos/builtin/packages/openturns/package.py b/var/spack/repos/builtin/packages/openturns/package.py
index a40462c9cc..d5e0d5d1a2 100644
--- a/var/spack/repos/builtin/packages/openturns/package.py
+++ b/var/spack/repos/builtin/packages/openturns/package.py
@@ -59,10 +59,8 @@ class Openturns(CMakePackage):
if "+python" in spec:
args.extend(
[
- # By default picks up the system python not the Spack build
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
# By default installs to the python prefix
- "-DPYTHON_SITE_PACKAGES={0}".format(python_platlib),
+ "-DPYTHON_SITE_PACKAGES={0}".format(python_platlib)
]
)
diff --git a/var/spack/repos/builtin/packages/openwsman/package.py b/var/spack/repos/builtin/packages/openwsman/package.py
index c6ec676f38..4be921bad9 100644
--- a/var/spack/repos/builtin/packages/openwsman/package.py
+++ b/var/spack/repos/builtin/packages/openwsman/package.py
@@ -55,7 +55,6 @@ class Openwsman(CMakePackage):
arg.extend([define("BUILD_PYTHON", False), define("BUILD_PYTHON3", True)])
else:
arg.extend([define("BUILD_PYTHON", True), define("BUILD_PYTHON3", False)])
- arg.append(define("PYTHON_EXECUTABLE", spec["python"].command.path))
else:
arg.extend([define("BUILD_PYTHON", False), define("BUILD_PYTHON3", False)])
return arg
diff --git a/var/spack/repos/builtin/packages/pagmo/package.py b/var/spack/repos/builtin/packages/pagmo/package.py
index 05baf7bbf5..0a7538d2e3 100644
--- a/var/spack/repos/builtin/packages/pagmo/package.py
+++ b/var/spack/repos/builtin/packages/pagmo/package.py
@@ -99,10 +99,8 @@ class Pagmo(CMakePackage):
if "+python" in spec:
args.extend(
[
- # By default picks up the system python not the Spack build
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
# By default installs to the python prefix not the pagmo prefix
- "-DPYTHON_MODULES_DIR={0}".format(python_platlib),
+ "-DPYTHON_MODULES_DIR={0}".format(python_platlib)
]
)
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index 85694e5e2f..5d87021f04 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -537,7 +537,6 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage):
cmake_args.extend(
[
"-DPARAVIEW_%s_PYTHON:BOOL=ON" % py_use_opt,
- "-DPYTHON_EXECUTABLE:FILEPATH=%s" % spec["python"].command.path,
"-D%s_PYTHON_VERSION:STRING=%d" % (py_ver_opt, py_ver_val),
]
)
diff --git a/var/spack/repos/builtin/packages/pfunit/package.py b/var/spack/repos/builtin/packages/pfunit/package.py
index ac19168b50..671ae7ca01 100644
--- a/var/spack/repos/builtin/packages/pfunit/package.py
+++ b/var/spack/repos/builtin/packages/pfunit/package.py
@@ -152,7 +152,6 @@ class Pfunit(CMakePackage):
def cmake_args(self):
spec = self.spec
args = [
- self.define("Python_EXECUTABLE", spec["python"].command),
self.define("BUILD_SHARED_LIBS", False),
self.define("CMAKE_Fortran_MODULE_DIRECTORY", spec.prefix.include),
self.define_from_variant("ENABLE_BUILD_DOXYGEN", "docs"),
diff --git a/var/spack/repos/builtin/packages/precice/package.py b/var/spack/repos/builtin/packages/precice/package.py
index 185a0a9d72..943a2f088d 100644
--- a/var/spack/repos/builtin/packages/precice/package.py
+++ b/var/spack/repos/builtin/packages/precice/package.py
@@ -172,7 +172,8 @@ class Precice(CMakePackage):
cmake_args.extend(["-DPETSC_DIR=%s" % spec["petsc"].prefix, "-DPETSC_ARCH=."])
# Python
- if "+python" in spec:
+ if "@:2.3 +python" in spec:
+ # 2.4.0 and higher use find_package(Python3).
python_library = spec["python"].libs[0]
python_include = spec["python"].headers.directories[0]
numpy_include = join_path(
diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py
index 9aceb4b02a..b4baeeb035 100644
--- a/var/spack/repos/builtin/packages/py-pybind11/package.py
+++ b/var/spack/repos/builtin/packages/py-pybind11/package.py
@@ -84,10 +84,7 @@ class PyPybind11(CMakePackage, PythonExtension):
class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
def cmake_args(self):
- return [
- self.define("PYTHON_EXECUTABLE:FILEPATH", self.spec["python"].command.path),
- self.define("PYBIND11_TEST", self.pkg.run_tests),
- ]
+ return [self.define("PYBIND11_TEST", self.pkg.run_tests)]
def install(self, pkg, spec, prefix):
super().install(pkg, spec, prefix)
diff --git a/var/spack/repos/builtin/packages/py-pykokkos-base/package.py b/var/spack/repos/builtin/packages/py-pykokkos-base/package.py
index 381a1fd111..6bf307a58e 100644
--- a/var/spack/repos/builtin/packages/py-pykokkos-base/package.py
+++ b/var/spack/repos/builtin/packages/py-pykokkos-base/package.py
@@ -44,13 +44,9 @@ class PyPykokkosBase(CMakePackage, PythonExtension):
depends_on("python@3:", type=("build", "run"))
def cmake_args(self):
- spec = self.spec
-
args = [
self.define("ENABLE_INTERNAL_KOKKOS", False),
self.define("ENABLE_INTERNAL_PYBIND11", False),
- self.define("PYTHON_EXECUTABLE", spec["python"].command.path),
- self.define("Python3_EXECUTABLE", spec["python"].command.path),
self.define_from_variant("ENABLE_VIEW_RANKS", "view_ranks"),
]
diff --git a/var/spack/repos/builtin/packages/py-tfdlpack/package.py b/var/spack/repos/builtin/packages/py-tfdlpack/package.py
index 32612e56f6..ac747b3f36 100644
--- a/var/spack/repos/builtin/packages/py-tfdlpack/package.py
+++ b/var/spack/repos/builtin/packages/py-tfdlpack/package.py
@@ -33,14 +33,7 @@ class PyTfdlpack(CMakePackage, PythonExtension):
depends_on("py-tensorflow", type=("build", "run"))
def cmake_args(self):
- args = ["-DPYTHON_EXECUTABLE=" + self.spec["python"].command.path]
-
- if "+cuda" in self.spec:
- args.append("-DUSE_CUDA=ON")
- else:
- args.append("-DUSE_CUDA=OFF")
-
- return args
+ return [self.define_from_variant("USE_CUDA", "cuda")]
def install(self, spec, prefix):
with working_dir("python"):
diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py
index 70077558f4..33e1580946 100644
--- a/var/spack/repos/builtin/packages/qmcpack/package.py
+++ b/var/spack/repos/builtin/packages/qmcpack/package.py
@@ -391,7 +391,6 @@ class Qmcpack(CMakePackage, CudaPackage):
else:
args.append("-DBUILD_PPCONVERT=0")
- args.append(self.define("Python3_EXECUTABLE", self.spec["python"].command.path))
return args
# QMCPACK needs custom install method for the following reason:
diff --git a/var/spack/repos/builtin/packages/rdma-core/package.py b/var/spack/repos/builtin/packages/rdma-core/package.py
index 6d2dbfbbc2..8c2998e5da 100644
--- a/var/spack/repos/builtin/packages/rdma-core/package.py
+++ b/var/spack/repos/builtin/packages/rdma-core/package.py
@@ -107,11 +107,4 @@ class RdmaCore(CMakePackage):
if self.spec.satisfies("~man_pages"):
cmake_args.append("-DNO_MAN_PAGES=1")
- if self.spec.satisfies("@:39.0"):
- cmake_args.extend(
- [
- self.define("PYTHON_LIBRARY", self.spec["python"].libs[0]),
- self.define("PYTHON_INCLUDE_DIR", self.spec["python"].headers.directories[0]),
- ]
- )
return cmake_args
diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py
index 54ea8a1ef9..bbd29cc2c4 100644
--- a/var/spack/repos/builtin/packages/root/package.py
+++ b/var/spack/repos/builtin/packages/root/package.py
@@ -511,7 +511,6 @@ class Root(CMakePackage):
return " ".join(v)
def cmake_args(self):
- spec = self.spec
define = self.define
define_from_variant = self.define_from_variant
options = []
@@ -694,9 +693,6 @@ class Root(CMakePackage):
ftgl_prefix = self.spec["ftgl"].prefix
options.append(define("FTGL_ROOT_DIR", ftgl_prefix))
options.append(define("FTGL_INCLUDE_DIR", ftgl_prefix.include))
- if "+python" in self.spec:
- # See https://github.com/spack/spack/pull/11579
- options.append(define("PYTHON_EXECUTABLE", spec["python"].command.path))
return options
diff --git a/var/spack/repos/builtin/packages/scine-database/package.py b/var/spack/repos/builtin/packages/scine-database/package.py
index b66da59a26..7efd86781b 100644
--- a/var/spack/repos/builtin/packages/scine-database/package.py
+++ b/var/spack/repos/builtin/packages/scine-database/package.py
@@ -51,11 +51,8 @@ class ScineDatabase(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
self.define("SCINE_MARCH", ""),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
diff --git a/var/spack/repos/builtin/packages/scine-molassembler/package.py b/var/spack/repos/builtin/packages/scine-molassembler/package.py
index 79a8b17ac0..6c1bc87663 100644
--- a/var/spack/repos/builtin/packages/scine-molassembler/package.py
+++ b/var/spack/repos/builtin/packages/scine-molassembler/package.py
@@ -84,7 +84,7 @@ class ScineMolassembler(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("BUILD_SHARED_LIBS", True),
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
@@ -95,6 +95,3 @@ class ScineMolassembler(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
diff --git a/var/spack/repos/builtin/packages/scine-readuct/package.py b/var/spack/repos/builtin/packages/scine-readuct/package.py
index 1844037743..f00bc645e4 100644
--- a/var/spack/repos/builtin/packages/scine-readuct/package.py
+++ b/var/spack/repos/builtin/packages/scine-readuct/package.py
@@ -54,7 +54,7 @@ class ScineReaduct(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
self.define("SCINE_MARCH", ""),
@@ -64,6 +64,3 @@ class ScineReaduct(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
diff --git a/var/spack/repos/builtin/packages/scine-serenity/package.py b/var/spack/repos/builtin/packages/scine-serenity/package.py
index ca2924b2c0..7dd6d8dd39 100644
--- a/var/spack/repos/builtin/packages/scine-serenity/package.py
+++ b/var/spack/repos/builtin/packages/scine-serenity/package.py
@@ -57,7 +57,7 @@ class ScineSerenity(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define_from_variant("SCINE_BUILD_PYTHON_BINDINGS", "python"),
self.define("SCINE_MARCH", ""),
@@ -69,6 +69,3 @@ class ScineSerenity(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
diff --git a/var/spack/repos/builtin/packages/scine-sparrow/package.py b/var/spack/repos/builtin/packages/scine-sparrow/package.py
index 0d8fbf855b..44d1ccf84a 100644
--- a/var/spack/repos/builtin/packages/scine-sparrow/package.py
+++ b/var/spack/repos/builtin/packages/scine-sparrow/package.py
@@ -76,7 +76,7 @@ class ScineSparrow(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
self.define("SCINE_MARCH", ""),
@@ -86,9 +86,6 @@ class ScineSparrow(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
# Adapted from ddd in MacPorts: cmake will build the executable
# "sparrow" right next to the copy of the source directory "Sparrow".
diff --git a/var/spack/repos/builtin/packages/scine-utilities/package.py b/var/spack/repos/builtin/packages/scine-utilities/package.py
index 4f65702afb..3dcf0fb2a9 100644
--- a/var/spack/repos/builtin/packages/scine-utilities/package.py
+++ b/var/spack/repos/builtin/packages/scine-utilities/package.py
@@ -67,7 +67,7 @@ class ScineUtilities(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define_from_variant("SCINE_BUILD_PYTHON_BINDINGS", "python"),
self.define("SCINE_MARCH", ""),
@@ -77,7 +77,3 @@ class ScineUtilities(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
-
- return args
diff --git a/var/spack/repos/builtin/packages/scine-xtb/package.py b/var/spack/repos/builtin/packages/scine-xtb/package.py
index f06bc13003..9cd7dca182 100644
--- a/var/spack/repos/builtin/packages/scine-xtb/package.py
+++ b/var/spack/repos/builtin/packages/scine-xtb/package.py
@@ -52,7 +52,7 @@ class ScineXtb(CMakePackage):
os.rename("_dev", "dev")
def cmake_args(self):
- args = [
+ return [
self.define("SCINE_BUILD_TESTS", self.run_tests),
self.define("SCINE_BUILD_PYTHON_BINDINGS", "+python" in self.spec),
self.define("SCINE_MARCH", ""),
@@ -62,6 +62,3 @@ class ScineXtb(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
diff --git a/var/spack/repos/builtin/packages/sensei/package.py b/var/spack/repos/builtin/packages/sensei/package.py
index 7f79d7df11..96e4dd4393 100644
--- a/var/spack/repos/builtin/packages/sensei/package.py
+++ b/var/spack/repos/builtin/packages/sensei/package.py
@@ -116,27 +116,30 @@ class Sensei(CMakePackage):
def cmake_args(self):
spec = self.spec
+ prefix = ""
+ if spec.satisfies("@5:"):
+ prefix = "SENSEI_"
# -Ox flags are set by default in CMake based on the build type
args = [
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
self.define("SENSEI_USE_EXTERNAL_pugixml", True),
- self.define("ENABLE_SENSEI", True),
+ self.define(f"{prefix}ENABLE_SENSEI", True),
self.define("MPI_C_COMPILER", spec["mpi"].mpicc),
self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx),
# Don"t rely on MPI found in cray environment for cray systems.
# On non-cray systems this should be a no-op
- self.define("ENABLE_CRAY_MPICH", False),
- self.define_from_variant("ENABLE_ASCENT", "ascent"),
- self.define_from_variant("ENABLE_VTKM", "vtkm"),
- self.define_from_variant("ENABLE_CATALYST", "catalyst"),
- self.define_from_variant("ENABLE_LIBSIM", "libsim"),
- self.define_from_variant("ENABLE_VTK_IO", "vtkio"),
- self.define_from_variant("ENABLE_PYTHON", "python"),
- self.define_from_variant("ENABLE_ADIOS2", "adios2"),
- self.define_from_variant("ENABLE_HDF5", "hdf5"),
- self.define_from_variant("ENABLE_PARALLEL3D", "miniapps"),
- self.define_from_variant("ENABLE_OSCILLATORS", "miniapps"),
+ self.define(f"{prefix}ENABLE_CRAY_MPICH", False),
+ self.define_from_variant(f"{prefix}ENABLE_ASCENT", "ascent"),
+ self.define_from_variant(f"{prefix}ENABLE_VTKM", "vtkm"),
+ self.define_from_variant(f"{prefix}ENABLE_CATALYST", "catalyst"),
+ self.define_from_variant(f"{prefix}ENABLE_LIBSIM", "libsim"),
+ self.define_from_variant(f"{prefix}ENABLE_VTK_IO", "vtkio"),
+ self.define_from_variant(f"{prefix}ENABLE_PYTHON", "python"),
+ self.define_from_variant(f"{prefix}ENABLE_ADIOS2", "adios2"),
+ self.define_from_variant(f"{prefix}ENABLE_HDF5", "hdf5"),
+ self.define_from_variant(f"{prefix}ENABLE_PARALLEL3D", "miniapps"),
+ self.define_from_variant(f"{prefix}ENABLE_OSCILLATORS", "miniapps"),
]
if "+adios2" in spec:
@@ -151,11 +154,8 @@ class Sensei(CMakePackage):
args.append("-DVISIT_DIR:PATH={0}/current/linux-x86_64".format(spec["visit"].prefix))
if "+python" in spec:
- args.append(self.define("PYTHON_EXECUTABLE", spec["python"].command.path))
- args.append(self.define("Python_EXECUTABLE", spec["python"].command.path))
- args.append(self.define("Python3_EXECUTABLE", spec["python"].command.path))
if spec.satisfies("@3:"):
args.append(self.define("SENSEI_PYTHON_VERSION", 3))
- args.append(self.define_from_variant("ENABLE_CATALYST_PYTHON", "catalyst"))
+ args.append(self.define_from_variant(f"{prefix}ENABLE_CATALYST_PYTHON", "catalyst"))
return args
diff --git a/var/spack/repos/builtin/packages/serenity/package.py b/var/spack/repos/builtin/packages/serenity/package.py
index 6a3e69c515..12c05b147a 100644
--- a/var/spack/repos/builtin/packages/serenity/package.py
+++ b/var/spack/repos/builtin/packages/serenity/package.py
@@ -115,7 +115,7 @@ class Serenity(CMakePackage):
)
def cmake_args(self):
- args = [
+ return [
self.define("SERENITY_BUILD_TESTS", self.run_tests),
self.define_from_variant("SERENITY_BUILD_PYTHON_BINDINGS", "python"),
self.define("SERENITY_MARCH", ""),
@@ -137,6 +137,3 @@ class Serenity(CMakePackage):
self.define("BOOST_NO_SYSTEM_PATHS", True),
self.define("Boost_NO_BOOST_CMAKE", True),
]
- if "+python" in self.spec:
- args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
- return args
diff --git a/var/spack/repos/builtin/packages/sollve/package.py b/var/spack/repos/builtin/packages/sollve/package.py
index f9783acc52..3cb3e5cd7e 100644
--- a/var/spack/repos/builtin/packages/sollve/package.py
+++ b/var/spack/repos/builtin/packages/sollve/package.py
@@ -259,7 +259,6 @@ class Sollve(CMakePackage):
"-DLLVM_ENABLE_RTTI:BOOL=ON",
"-DLLVM_ENABLE_EH:BOOL=ON",
"-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp",
- "-DPYTHON_EXECUTABLE:PATH={0}".format(spec["python"].command.path),
]
# TODO: Instead of unconditionally disabling CUDA, add a "cuda" variant
diff --git a/var/spack/repos/builtin/packages/spectre/package.py b/var/spack/repos/builtin/packages/spectre/package.py
index 4f40fa4cf8..6d288e8fea 100644
--- a/var/spack/repos/builtin/packages/spectre/package.py
+++ b/var/spack/repos/builtin/packages/spectre/package.py
@@ -307,7 +307,6 @@ class Spectre(CMakePackage):
args = [
self.define("CHARM_ROOT", self.spec["charmpp"].prefix),
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
- self.define("Python_EXECUTABLE", self.spec["python"].command.path),
self.define_from_variant("BUILD_PYTHON_BINDINGS", "python"),
self.define("BUILD_TESTING", self.run_tests),
self.define_from_variant("BUILD_DOCS", "doc"),
diff --git a/var/spack/repos/builtin/packages/steps/package.py b/var/spack/repos/builtin/packages/steps/package.py
index 7d6c59657a..f616d30d15 100644
--- a/var/spack/repos/builtin/packages/steps/package.py
+++ b/var/spack/repos/builtin/packages/steps/package.py
@@ -85,7 +85,6 @@ class Steps(CMakePackage):
def cmake_args(self):
args = [
self.define("BLAS_LIBRARIES", self.spec["blas"].libs.joined(";")),
- self.define("PYTHON_EXECUTABLE", self.spec["python"].command),
self.define("STEPS_INSTALL_PYTHON_DEPS", False),
self.define_from_variant("BUILD_STOCHASTIC_TESTS", "stochtests"),
self.define_from_variant("BUILD_TESTING", "codechecks"),
diff --git a/var/spack/repos/builtin/packages/tasmanian/package.py b/var/spack/repos/builtin/packages/tasmanian/package.py
index dcbaa2e793..c9285453f4 100644
--- a/var/spack/repos/builtin/packages/tasmanian/package.py
+++ b/var/spack/repos/builtin/packages/tasmanian/package.py
@@ -114,11 +114,6 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
args.append("-DBLAS_LIBRARIES={0}".format(spec["blas"].libs.joined(";")))
args.append("-DLAPACK_LIBRARIES={0}".format(spec["lapack"].libs.joined(";")))
- if spec.satisfies("+python"):
- args.append(
- "-DPYTHON_EXECUTABLE:FILEPATH={0}".format(self.spec["python"].command.path)
- )
-
return args
@run_after("install")
diff --git a/var/spack/repos/builtin/packages/templight/package.py b/var/spack/repos/builtin/packages/templight/package.py
index e49375e30e..76df5f2bed 100644
--- a/var/spack/repos/builtin/packages/templight/package.py
+++ b/var/spack/repos/builtin/packages/templight/package.py
@@ -128,7 +128,6 @@ class Templight(CMakePackage):
cmake_args = [
"-DLLVM_REQUIRES_RTTI:BOOL=ON",
"-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp",
- "-DPYTHON_EXECUTABLE:PATH={0}".format(spec["python"].command.path),
"-DLLVM_EXTERNAL_POLLY_BUILD:Bool=OFF",
"-DLLVM_TOOL_POLLY_BUILD:Bool=OFF",
"-DLLVM_POLLY_BUILD:Bool=OFF",
diff --git a/var/spack/repos/builtin/packages/tfel/package.py b/var/spack/repos/builtin/packages/tfel/package.py
index 540d6f2503..39d13b29cd 100644
--- a/var/spack/repos/builtin/packages/tfel/package.py
+++ b/var/spack/repos/builtin/packages/tfel/package.py
@@ -180,6 +180,8 @@ class Tfel(CMakePackage):
args.append("-Denable-python-bindings=OFF")
if ("+python" in self.spec) or ("+python_bindings" in self.spec):
+ # Note: calls find_package(PythonLibs) before find_package(PythonInterp), so these
+ # variables are required.
python = self.spec["python"]
args.append("-DPYTHON_LIBRARY={0}".format(python.libs[0]))
args.append("-DPYTHON_INCLUDE_DIR={0}".format(python.headers.directories[0]))
diff --git a/var/spack/repos/builtin/packages/timemory/package.py b/var/spack/repos/builtin/packages/timemory/package.py
index fa5eb2bdc5..290a85bc9f 100644
--- a/var/spack/repos/builtin/packages/timemory/package.py
+++ b/var/spack/repos/builtin/packages/timemory/package.py
@@ -322,11 +322,6 @@ class Timemory(CMakePackage, PythonExtension):
self.define_from_variant("TIMEMORY_USE_ALLINEA_MAP", "allinea_map"),
]
- if "+python" in spec:
- pyexe = spec["python"].command.path
- args.append(self.define("PYTHON_EXECUTABLE=", pyexe))
- args.append(self.define("Python3_EXECUTABLE", pyexe))
-
if "+mpi" in spec:
args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
args.append(self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx))
diff --git a/var/spack/repos/builtin/packages/tiramisu/package.py b/var/spack/repos/builtin/packages/tiramisu/package.py
index b3c95a0738..c6e74e1546 100644
--- a/var/spack/repos/builtin/packages/tiramisu/package.py
+++ b/var/spack/repos/builtin/packages/tiramisu/package.py
@@ -57,10 +57,7 @@ class Tiramisu(CMakePackage, CudaPackage, PythonExtension):
self.define("USE_FLEXNLP", False),
]
if "+python" in spec:
- args += [
- self.define("Tiramisu_INSTALL_PYTHONDIR", python_platlib),
- self.define("Python3_EXECUTABLE", spec["python"].command.path),
- ]
+ args += [self.define("Tiramisu_INSTALL_PYTHONDIR", python_platlib)]
return args
@property
diff --git a/var/spack/repos/builtin/packages/vdt/package.py b/var/spack/repos/builtin/packages/vdt/package.py
index 24869c0865..0b5a2aafdf 100644
--- a/var/spack/repos/builtin/packages/vdt/package.py
+++ b/var/spack/repos/builtin/packages/vdt/package.py
@@ -46,10 +46,7 @@ class Vdt(CMakePackage):
elif spec.satisfies("target=ppc64le:"):
disable_features.add("fma")
- args = [
- self.define_from_variant("PRELOAD"),
- self.define("PYTHON_EXECUTABLE", spec["python"].command),
- ]
+ args = [self.define_from_variant("PRELOAD")]
for f in ["sse", "avx", "avx2", "fma", "neon"]:
args.append(
self.define(f.upper(), f not in disable_features and f in self.spec.target)
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py
index de16f92e6f..38863fdcc3 100644
--- a/var/spack/repos/builtin/packages/vtk/package.py
+++ b/var/spack/repos/builtin/packages/vtk/package.py
@@ -310,8 +310,6 @@ class Vtk(CMakePackage):
# Enable/Disable wrappers for Python.
if "+python" in spec:
cmake_args.append("-DVTK_WRAP_PYTHON=ON")
- if spec.satisfies("@:8"):
- cmake_args.append("-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path))
if "+mpi" in spec and spec.satisfies("@:8"):
cmake_args.append("-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON")
if spec.satisfies("@9.0.0: ^python@3:"):
diff --git a/var/spack/repos/builtin/packages/xcfun/package.py b/var/spack/repos/builtin/packages/xcfun/package.py
index 4e803367bc..737e8b356e 100644
--- a/var/spack/repos/builtin/packages/xcfun/package.py
+++ b/var/spack/repos/builtin/packages/xcfun/package.py
@@ -36,7 +36,6 @@ class Xcfun(CMakePackage):
"-DPYMOD_INSTALL_LIBDIR=/python{0}/site-packages".format(spec["python"].version[:-1]),
"-DXCFUN_MAX_ORDER=8",
"-DXCFUN_PYTHON_INTERFACE=ON",
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command),
"-DENABLE_TESTALL=OFF",
]
return args
diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py
index 1d20706fc9..8b96436899 100644
--- a/var/spack/repos/builtin/packages/xrootd/package.py
+++ b/var/spack/repos/builtin/packages/xrootd/package.py
@@ -203,12 +203,7 @@ class Xrootd(CMakePackage):
]
# see https://github.com/spack/spack/pull/11581
if "+python" in self.spec:
- options.extend(
- [
- define("PYTHON_EXECUTABLE", spec["python"].command.path),
- define("XRD_PYTHON_REQ_VERSION", spec["python"].version.up_to(2)),
- ]
- )
+ options.append(define("XRD_PYTHON_REQ_VERSION", spec["python"].version.up_to(2)))
if "+scitokens-cpp" in self.spec:
options.append("-DSCITOKENS_CPP_DIR=%s" % spec["scitokens-cpp"].prefix)
diff --git a/var/spack/repos/builtin/packages/xtensor-python/package.py b/var/spack/repos/builtin/packages/xtensor-python/package.py
index 1b0c883e56..0d277428cd 100644
--- a/var/spack/repos/builtin/packages/xtensor-python/package.py
+++ b/var/spack/repos/builtin/packages/xtensor-python/package.py
@@ -33,11 +33,3 @@ class XtensorPython(CMakePackage):
depends_on("python", type=("build", "link", "run"))
extends("python")
-
- def cmake_args(self):
- spec = self.spec
-
- python_exe = spec["python"].command.path
-
- args = ["-DPYTHON_EXECUTABLE={0}".format(python_exe)]
- return args