From 7579eaf75afe0dec30f918f05d968878aa2d958c Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 29 Mar 2023 15:26:51 +0200 Subject: 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 --- var/spack/repos/builtin/packages/boost/package.py | 7 +++---- var/spack/repos/builtin/packages/dyninst/package.py | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'var') 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") -- cgit v1.2.3-60-g2f50