ior: add lustre variant (#39320)

Co-authored-by: Cristian Di Pietrantonio <cdipietrantonio@pawsey.org.au>
This commit is contained in:
Cristian Di Pietrantonio 2023-08-09 14:59:21 +08:00 committed by GitHub
parent 41793673d9
commit f42ef7aea7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,6 +26,7 @@ class Ior(AutotoolsPackage):
variant("hdf5", default=False, description="support IO with HDF5 backend") variant("hdf5", default=False, description="support IO with HDF5 backend")
variant("ncmpi", default=False, description="support IO with NCMPI backend") variant("ncmpi", default=False, description="support IO with NCMPI backend")
variant("lustre", default=False, description="support configurable Lustre striping values")
depends_on("autoconf", type="build") depends_on("autoconf", type="build")
depends_on("automake", type="build") depends_on("automake", type="build")
@ -34,6 +35,7 @@ class Ior(AutotoolsPackage):
depends_on("mpi") depends_on("mpi")
depends_on("hdf5+mpi", when="+hdf5") depends_on("hdf5+mpi", when="+hdf5")
depends_on("parallel-netcdf", when="+ncmpi") depends_on("parallel-netcdf", when="+ncmpi")
depends_on("lustre", when="+lustre")
# The build for 3.2.0 fails if hdf5 is enabled # The build for 3.2.0 fails if hdf5 is enabled
# See https://github.com/hpc/ior/pull/124 # See https://github.com/hpc/ior/pull/124
@ -43,6 +45,14 @@ class Ior(AutotoolsPackage):
when="@3.2.0 +hdf5", when="@3.2.0 +hdf5",
) )
# Needs patch to make Lustre variant work
# See https://github.com/hpc/ior/issues/353
patch(
"https://github.com/glennklockwood/ior/commit/e49476be64d4100c2da662ea415f327348b3d11d.patch?full_index=1",
sha256="ee3527023ef70ea9aee2e6208f8be7126d5a48f26c587deed3d6238b4f848a06",
when="+lustre",
)
@run_before("autoreconf") @run_before("autoreconf")
def bootstrap(self): def bootstrap(self):
Executable("./bootstrap")() Executable("./bootstrap")()
@ -64,4 +74,9 @@ def configure_args(self):
else: else:
config_args.append("--without-ncmpi") config_args.append("--without-ncmpi")
if "+lustre" in spec:
config_args.append("--with-lustre")
else:
config_args.append("--without-lustre")
return config_args return config_args