summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/axl/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/axl/package.py')
-rw-r--r--var/spack/repos/builtin/packages/axl/package.py139
1 files changed, 75 insertions, 64 deletions
diff --git a/var/spack/repos/builtin/packages/axl/package.py b/var/spack/repos/builtin/packages/axl/package.py
index 52e9314cc5..915ed6bc62 100644
--- a/var/spack/repos/builtin/packages/axl/package.py
+++ b/var/spack/repos/builtin/packages/axl/package.py
@@ -8,86 +8,97 @@ from spack.package import *
def async_api_validator(pkg_name, variant_name, values):
- if 'none' in values and len(values) != 1:
- raise SpackError("The value 'none' is not usable"
- " with other async_api values.")
- if 'intel_cppr' in values and 'cray_dw' in values:
- raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous"
- " APIs are incompatible.")
+ if "none" in values and len(values) != 1:
+ raise SpackError("The value 'none' is not usable" " with other async_api values.")
+ if "intel_cppr" in values and "cray_dw" in values:
+ raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous" " APIs are incompatible.")
class Axl(CMakePackage):
"""Asynchronous transfer library"""
homepage = "https://github.com/ecp-veloc/AXL"
- url = "https://github.com/ecp-veloc/AXL/archive/v0.4.0.tar.gz"
- git = "https://github.com/ecp-veloc/axl.git"
- tags = ['ecp']
-
- maintainers = ['CamStan', 'gonsie']
-
- version('main', branch='main')
- version('0.7.0', sha256='840ef61eadc9aa277d128df08db4cdf6cfa46b8fcf47b0eee0972582a61fbc50')
- version('0.6.0', sha256='86edb35f99b63c0ffb9dd644a019a63b062923b4efc95c377e92a1b13e79f537')
- version('0.5.0', sha256='9f3bbb4de563896551bdb68e889ba93ea1984586961ad8c627ed766bff020acf')
- version('0.4.0', sha256='0530142629d77406a00643be32492760c2cf12d1b56c6b6416791c8ff5298db2')
- version('0.3.0', sha256='737d616b669109805f7aed1858baac36c97bf0016e1115b5c56ded05d792613e')
- version('0.2.0', sha256='d04a445f102b438fe96a1ff3429790b0c035f0d23c2797bb5601a00b582a71fc', deprecated=True)
- version('0.1.1', sha256='36edac007938fe47d979679414c5c27938944d32536e2e149f642916c5c08eaa', deprecated=True)
-
- depends_on('kvtree')
- depends_on('zlib', type='link')
-
- depends_on('kvtree@main', when='@main')
- depends_on('kvtree@1.3.0', when='@0.6.0')
-
- variant('async_api', default='daemon',
- description='Set of async transfer APIs to enable',
- values=['cray_dw', 'intel_cppr', 'daemon', 'none'], multi=True,
- validator=async_api_validator)
-
- variant('pthreads', default=True, description='Enable Pthread support', when='@0.6:')
-
- variant('bbapi', default=True, description='Enable IBM BBAPI support')
-
- variant('bbapi_fallback', default=False,
- description='Using BBAPI, if source or destination don\'t support \
- file extents then fallback to pthreads')
-
- variant('dw', default=False, description='Enable Cray DataWarp support')
-
- variant('shared', default=True, description='Build with shared libraries')
- depends_on('kvtree+shared', when='@0.5: +shared')
- depends_on('kvtree~shared', when='@0.5: ~shared')
+ url = "https://github.com/ecp-veloc/AXL/archive/v0.4.0.tar.gz"
+ git = "https://github.com/ecp-veloc/axl.git"
+ tags = ["ecp"]
+
+ maintainers = ["CamStan", "gonsie"]
+
+ version("main", branch="main")
+ version("0.7.0", sha256="840ef61eadc9aa277d128df08db4cdf6cfa46b8fcf47b0eee0972582a61fbc50")
+ version("0.6.0", sha256="86edb35f99b63c0ffb9dd644a019a63b062923b4efc95c377e92a1b13e79f537")
+ version("0.5.0", sha256="9f3bbb4de563896551bdb68e889ba93ea1984586961ad8c627ed766bff020acf")
+ version("0.4.0", sha256="0530142629d77406a00643be32492760c2cf12d1b56c6b6416791c8ff5298db2")
+ version("0.3.0", sha256="737d616b669109805f7aed1858baac36c97bf0016e1115b5c56ded05d792613e")
+ version(
+ "0.2.0",
+ sha256="d04a445f102b438fe96a1ff3429790b0c035f0d23c2797bb5601a00b582a71fc",
+ deprecated=True,
+ )
+ version(
+ "0.1.1",
+ sha256="36edac007938fe47d979679414c5c27938944d32536e2e149f642916c5c08eaa",
+ deprecated=True,
+ )
+
+ depends_on("kvtree")
+ depends_on("zlib", type="link")
+
+ depends_on("kvtree@main", when="@main")
+ depends_on("kvtree@1.3.0", when="@0.6.0")
+
+ variant(
+ "async_api",
+ default="daemon",
+ description="Set of async transfer APIs to enable",
+ values=["cray_dw", "intel_cppr", "daemon", "none"],
+ multi=True,
+ validator=async_api_validator,
+ )
+
+ variant("pthreads", default=True, description="Enable Pthread support", when="@0.6:")
+
+ variant("bbapi", default=True, description="Enable IBM BBAPI support")
+
+ variant(
+ "bbapi_fallback",
+ default=False,
+ description="Using BBAPI, if source or destination don't support \
+ file extents then fallback to pthreads",
+ )
+
+ variant("dw", default=False, description="Enable Cray DataWarp support")
+
+ variant("shared", default=True, description="Build with shared libraries")
+ depends_on("kvtree+shared", when="@0.5: +shared")
+ depends_on("kvtree~shared", when="@0.5: ~shared")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix))
+ args.append(self.define("WITH_KVTREE_PREFIX", spec["kvtree"].prefix))
- if spec.satisfies('@:0.3.0'):
- apis = list(spec.variants['async_api'].value)
- if 'daemon' in apis:
- args.append('-DAXL_ASYNC_DAEMON=ON')
- apis.remove('daemon')
+ if spec.satisfies("@:0.3.0"):
+ apis = list(spec.variants["async_api"].value)
+ if "daemon" in apis:
+ args.append("-DAXL_ASYNC_DAEMON=ON")
+ apis.remove("daemon")
for api in apis:
- args.append('-DAXL_ASYNC_API={0}'.format(api.upper()))
+ args.append("-DAXL_ASYNC_API={0}".format(api.upper()))
- if spec.satisfies('@0.4.0:'):
- args.append(self.define_from_variant(
- 'ENABLE_BBAPI_FALLBACK', 'bbapi_fallback'
- ))
+ if spec.satisfies("@0.4.0:"):
+ args.append(self.define_from_variant("ENABLE_BBAPI_FALLBACK", "bbapi_fallback"))
- if spec.satisfies('@0.5.0:'):
- args.append(self.define_from_variant('ENABLE_IBM_BBAPI', 'bbapi'))
- args.append(self.define_from_variant('ENABLE_CRAY_DW', 'dw'))
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.5.0:"):
+ args.append(self.define_from_variant("ENABLE_IBM_BBAPI", "bbapi"))
+ args.append(self.define_from_variant("ENABLE_CRAY_DW", "dw"))
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('AXL_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("AXL_LINK_STATIC", True))
- if spec.satisfies('@0.6.0:'):
- args.append(self.define_from_variant('ENABLE_PTHREADS', 'pthreads'))
+ if spec.satisfies("@0.6.0:"):
+ args.append(self.define_from_variant("ENABLE_PTHREADS", "pthreads"))
return args