ecflow: polish recipe (#34043)

This commit is contained in:
Massimiliano Culpo 2022-11-23 21:38:37 +01:00 committed by GitHub
parent 0182603609
commit 70bcbba5eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 13 deletions

View File

@ -222,6 +222,9 @@ def libs(self):
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")

View File

@ -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]
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
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
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),
]