summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2023-03-29 15:26:51 +0200
committerGitHub <noreply@github.com>2023-03-29 15:26:51 +0200
commit7579eaf75afe0dec30f918f05d968878aa2d958c (patch)
tree6b5dabfb6857d99a9a768a7f0b1e423fa135598e
parentaa99063065c16ad7acda6bcc6105c6d63722331d (diff)
downloadspack-7579eaf75afe0dec30f918f05d968878aa2d958c.tar.gz
spack-7579eaf75afe0dec30f918f05d968878aa2d958c.tar.bz2
spack-7579eaf75afe0dec30f918f05d968878aa2d958c.tar.xz
spack-7579eaf75afe0dec30f918f05d968878aa2d958c.zip
Fix dyninst build with old boost (#36198)
Fix patching old boost versions to account for builders. Add a proper version constraint on boost for recent dyninst. The constraint can be found in dyninst source code under "cmake/Boost.cmake" which contains: set(_boost_min_version 1.70.0) Co-authored-by: Greg Becker <becker33@llnl.gov>
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py7
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py1
2 files changed, 4 insertions, 4 deletions
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 51d814dc16..bc042579cc 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -727,14 +727,13 @@ class Boost(Package):
# Disable find package's config mode for versions of Boost that
# didn't provide it. See https://github.com/spack/spack/issues/20169
# and https://cmake.org/cmake/help/latest/module/FindBoost.html
- is_cmake = isinstance(dependent_spec.package, CMakePackage)
- if self.spec.satisfies("boost@:1.69.0") and is_cmake:
- args_fn = type(dependent_spec.package).cmake_args
+ if self.spec.satisfies("boost@:1.69.0") and dependent_spec.satisfies("build_system=cmake"):
+ args_fn = type(dependent_spec.package.builder).cmake_args
def _cmake_args(self):
return ["-DBoost_NO_BOOST_CMAKE=ON"] + args_fn(self)
- type(dependent_spec.package).cmake_args = _cmake_args
+ type(dependent_spec.package.builder).cmake_args = _cmake_args
def setup_dependent_build_environment(self, env, dependent_spec):
if "+context" in self.spec and "context-impl" in self.spec.variants:
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index c0bce6e9bb..a46ef80a20 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -54,6 +54,7 @@ class Dyninst(CMakePackage):
depends_on("boost@1.61.0:" + boost_libs, when="@10.1.0:")
depends_on("boost@1.61.0:1.69" + boost_libs, when="@:10.0")
depends_on("boost@1.67.0:" + boost_libs, when="@11.0.0:")
+ depends_on("boost@1.70.0:" + boost_libs, when="@12:")
depends_on("libiberty+pic")