libfabric: Add uring variant (#41563)

* libfabric: Add uring variant
* Remove tcp fabric requirement for uring
* Fix style and use spec.satisfies
This commit is contained in:
Kyle Gerheiser 2023-12-15 12:51:29 -08:00 committed by GitHub
parent b7edcbecd7
commit 5b6137d91a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -99,6 +99,8 @@ class Libfabric(AutotoolsPackage):
variant("debug", default=False, description="Enable debugging")
variant("uring", default=False, when="@1.17.0:", description="Enable uring support")
# For version 1.9.0:
# headers: fix forward-declaration of enum fi_collective_op with C++
patch(
@ -119,6 +121,7 @@ class Libfabric(AutotoolsPackage):
depends_on("ucx", when="@1.18.0: fabrics=ucx")
depends_on("uuid", when="fabrics=opx")
depends_on("numactl", when="fabrics=opx")
depends_on("liburing@2.1:", when="+uring")
depends_on("m4", when="@main", type="build")
depends_on("autoconf", when="@main", type="build")
@ -191,6 +194,9 @@ def configure_args(self):
else:
args.append("--with-kdreg=no")
if self.spec.satisfies("+uring"):
args.append("--with-uring=yes")
for fabric in [f if isinstance(f, str) else f[0].value for f in self.fabrics]:
if "fabrics=" + fabric in self.spec:
args.append("--enable-{0}=yes".format(fabric))