unifyfs: pin mercury version; add boost variant (#32911)

Mercury has a new version (v2.2) releasing soon that UnifyFS does not build with and hasn't been tested with. This pins UnifyFS to the last version of Mercury used/tested.

Add a variant to avoid building/using boost

Append -std=gnu99 to cflags if building with gcc@4. Needed for mochi-margo to compile
This commit is contained in:
Cameron Stanavige 2022-10-03 11:51:05 -07:00 committed by GitHub
parent 6e86daf470
commit db1e32623f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -39,6 +39,11 @@ class Unifyfs(AutotoolsPackage):
default="True", default="True",
description="Enable automatic mount/unmount in MPI_Init/Finalize", description="Enable automatic mount/unmount in MPI_Init/Finalize",
) )
variant(
"boostsys",
default="False",
description="Have Mercury use preprocessor headers from boost dependency",
)
variant("fortran", default="True", description="Build with gfortran support") variant("fortran", default="True", description="Build with gfortran support")
variant("pmi", default="False", description="Enable PMI2 build options") variant("pmi", default="False", description="Enable PMI2 build options")
variant("pmix", default="False", description="Enable PMIx build options") variant("pmix", default="False", description="Enable PMIx build options")
@ -53,12 +58,16 @@ class Unifyfs(AutotoolsPackage):
# Required dependencies # Required dependencies
depends_on("gotcha@1.0.4:") depends_on("gotcha@1.0.4:")
depends_on("mercury@1.0.1+bmi", when="@:0.9.1")
depends_on("mochi-margo@0.4.3", when="@:0.9.1") depends_on("mochi-margo@0.4.3", when="@:0.9.1")
depends_on("mochi-margo@0.9.6", when="@0.9.2:1.0") depends_on("mochi-margo@0.9.6", when="@0.9.2:1.0")
depends_on("mochi-margo@0.9.6:0.9.9", when="@develop") depends_on("mochi-margo@0.9.6:0.9.9", when="@develop")
depends_on("mpi") depends_on("mpi")
depends_on("openssl@:1") depends_on("openssl@:1")
# Mochi-Margo dependencies
depends_on("mercury@1.0.1+bmi", when="@:0.9.1")
depends_on("mercury@2.1", when="^mochi-margo@0.9.6:0.9.9")
depends_on("mercury~boostsys", when="~boostsys")
depends_on("libfabric fabrics=rxm,sockets,tcp", when="^mercury@2:+ofi") depends_on("libfabric fabrics=rxm,sockets,tcp", when="^mercury@2:+ofi")
# Optional dependencies # Optional dependencies
@ -88,6 +97,9 @@ def flag_handler(self, name, flags):
if name in ("cflags", "cppflags"): if name in ("cflags", "cppflags"):
if "-g" in flags: if "-g" in flags:
self.debug_build = True self.debug_build = True
if name == "cflags":
if self.spec.satisfies("%gcc@4"):
flags.append("-std=gnu99")
return (None, None, flags) return (None, None, flags)
def setup_build_environment(self, env): def setup_build_environment(self, env):