Include fix for boost/dyninst. Fix syntax in esmf. Fix file existence check in llvm. Fix hdf5 mpi dependency in netcdf-c.

This commit is contained in:
Nicholas Cameron Sly 2023-03-31 14:39:41 -07:00
parent 9150f47af0
commit cd0121fd20
5 changed files with 16 additions and 8 deletions

View File

@ -723,14 +723,17 @@ def setup_dependent_package(self, module, dependent_spec):
# 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
#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).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:

View File

@ -53,6 +53,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")

View File

@ -199,8 +199,8 @@ def setup_build_environment(self, env):
env.set("ESMF_CXX", spec["mpi"].mpicxx)
env.set("ESMF_F90", spec["mpi"].mpifc)
else:
env.set("ESMF_CXX", env["CXX"])
env.set("ESMF_F90", env["FC"])
os.environ["ESMF_CXX"] = os.environ["CXX"]
os.environ["ESMF_F90"] = os.environ["FC"]
# This environment variable controls the build option.
if "+debug" in spec:

View File

@ -740,7 +740,8 @@ def post_install(self):
install_tree("clang/bindings/python", python_platlib)
with working_dir(self.build_directory):
install_tree("bin", join_path(self.prefix, "libexec", "llvm"))
if not os.path.exists(join_path(self.prefix, 'libexec', 'llvm')):
install_tree("bin", join_path(self.prefix, "libexec", "llvm"))
def llvm_config(self, *args, **kwargs):
lc = Executable(self.prefix.bin.join("llvm-config"))

View File

@ -124,7 +124,10 @@ class NetcdfC(AutotoolsPackage):
# Starting version 4.4.0, it became possible to disable parallel I/O even
# if HDF5 supports it. For previous versions of the library we need
# HDF5 without mpi support to disable parallel I/O:
depends_on("hdf5~mpi", when="@:4.3~mpi")
#depends_on("hdf5~mpi", when="@:4.3~mpi")
# While it may be possible to do this, it messes with concretizing large environments with
# both ~mpi and +mpi builds of hdf5
depends_on("hdf5~mpi", when="~mpi")
# We need HDF5 with mpi support to enable parallel I/O.
depends_on("hdf5+mpi", when="+mpi")