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 # Disable find package's config mode for versions of Boost that
# didn't provide it. See https://github.com/spack/spack/issues/20169 # didn't provide it. See https://github.com/spack/spack/issues/20169
# and https://cmake.org/cmake/help/latest/module/FindBoost.html # and https://cmake.org/cmake/help/latest/module/FindBoost.html
is_cmake = isinstance(dependent_spec.package, CMakePackage) #is_cmake = isinstance(dependent_spec.package, CMakePackage)
if self.spec.satisfies("boost@:1.69.0") and is_cmake: #if self.spec.satisfies("boost@:1.69.0") and is_cmake:
args_fn = type(dependent_spec.package).cmake_args # 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): def _cmake_args(self):
return ["-DBoost_NO_BOOST_CMAKE=ON"] + args_fn(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): def setup_dependent_build_environment(self, env, dependent_spec):
if "+context" in self.spec and "context-impl" in self.spec.variants: 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:" + boost_libs, when="@10.1.0:")
depends_on("boost@1.61.0:1.69" + boost_libs, when="@:10.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.67.0:" + boost_libs, when="@11.0.0:")
depends_on("boost@1.70.0:" + boost_libs, when="@12:")
depends_on("libiberty+pic") 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_CXX", spec["mpi"].mpicxx)
env.set("ESMF_F90", spec["mpi"].mpifc) env.set("ESMF_F90", spec["mpi"].mpifc)
else: else:
env.set("ESMF_CXX", env["CXX"]) os.environ["ESMF_CXX"] = os.environ["CXX"]
env.set("ESMF_F90", env["FC"]) os.environ["ESMF_F90"] = os.environ["FC"]
# This environment variable controls the build option. # This environment variable controls the build option.
if "+debug" in spec: if "+debug" in spec:

View File

@ -740,7 +740,8 @@ def post_install(self):
install_tree("clang/bindings/python", python_platlib) install_tree("clang/bindings/python", python_platlib)
with working_dir(self.build_directory): 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): def llvm_config(self, *args, **kwargs):
lc = Executable(self.prefix.bin.join("llvm-config")) 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 # 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 # if HDF5 supports it. For previous versions of the library we need
# HDF5 without mpi support to disable parallel I/O: # 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. # We need HDF5 with mpi support to enable parallel I/O.
depends_on("hdf5+mpi", when="+mpi") depends_on("hdf5+mpi", when="+mpi")