summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2022-11-23 21:38:37 +0100
committerGitHub <noreply@github.com>2022-11-23 21:38:37 +0100
commit70bcbba5eb9b767f15f7f38366227ff6a5a74475 (patch)
tree79a07ad162efcf28b6f5e24ce2657ca6ba888d44
parent0182603609f289ec43baa95b9e98998cbf268d04 (diff)
downloadspack-70bcbba5eb9b767f15f7f38366227ff6a5a74475.tar.gz
spack-70bcbba5eb9b767f15f7f38366227ff6a5a74475.tar.bz2
spack-70bcbba5eb9b767f15f7f38366227ff6a5a74475.tar.xz
spack-70bcbba5eb9b767f15f7f38366227ff6a5a74475.zip
ecflow: polish recipe (#34043)
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py3
-rw-r--r--var/spack/repos/builtin/packages/ecflow/package.py34
2 files changed, 24 insertions, 13 deletions
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 36a5f32fa5..9771825bdc 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -222,6 +222,9 @@ class Boost(Package):
conflicts("cxxstd=98", when="+icu") # Requires c++11 at least
depends_on("python", when="+python")
+ # https://github.com/boostorg/python/commit/cbd2d9f033c61d29d0a1df14951f4ec91e7d05cd
+ depends_on("python@:3.9", when="@:1.75 +python")
+
depends_on("mpi", when="+mpi")
depends_on("bzip2", when="+iostreams")
depends_on("zlib", when="+iostreams")
diff --git a/var/spack/repos/builtin/packages/ecflow/package.py b/var/spack/repos/builtin/packages/ecflow/package.py
index f2a8dc37af..3716333313 100644
--- a/var/spack/repos/builtin/packages/ecflow/package.py
+++ b/var/spack/repos/builtin/packages/ecflow/package.py
@@ -60,19 +60,27 @@ class Ecflow(CMakePackage):
depends_on("openssl@1:", when="@5:")
depends_on("qt@5:", when="+ui")
- depends_on("cmake@2.12.11:", type="build")
+ # Requirement to use the Python3_EXECUTABLE variable
+ depends_on("cmake@3.16:", type="build")
+
+ @when("@:4.13.0")
+ def patch(self):
+ version = str(self.spec["python"].version[:2])
+ filter_file(
+ r"REQUIRED COMPONENTS python3",
+ rf"REQUIRED COMPONENTS python{version}",
+ "Pyext/CMakeLists.txt",
+ )
def cmake_args(self):
boost_lib = self.spec["boost"].prefix.lib
- args = ["-DBoost_PYTHON_LIBRARY_RELEASE=" + boost_lib]
-
- # https://jira.ecmwf.int/browse/SUP-2641#comment-208943
- use_static_boost = "ON" if "+static_boost" in self.spec else "OFF"
- args.append("-DENABLE_STATIC_BOOST_LIBS=" + use_static_boost)
-
- ssl = "ON" if "+ssl" in self.spec else "OFF"
- args.append("-DENABLE_SSL=" + ssl)
-
- ecflow_ui = "ON" if "+ui" in self.spec else "OFF"
- args.extend(["-DENABLE_UI=" + ecflow_ui, "-DENABLE_GUI=" + ecflow_ui])
- return args
+ return [
+ self.define("Boost_PYTHON_LIBRARY_RELEASE", boost_lib),
+ self.define_from_variant("ENABLE_UI", "ui"),
+ self.define_from_variant("ENABLE_GUI", "ui"),
+ 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", self.spec["python"].package.command),
+ self.define("BOOST_ROOT", self.spec["boost"].prefix),
+ ]