diff options
author | Cameron Stanavige <stanavige1@llnl.gov> | 2021-10-21 18:05:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-21 18:05:59 -0700 |
commit | 8b8bec21795db38a440c72bb50068c5439b86ca0 (patch) | |
tree | 08931b8d2b2c6e3092101cdb57d7e5c387313e05 /var | |
parent | a707bf345df320da0686ced7bfff84460ca28ca7 (diff) | |
download | spack-8b8bec21795db38a440c72bb50068c5439b86ca0.tar.gz spack-8b8bec21795db38a440c72bb50068c5439b86ca0.tar.bz2 spack-8b8bec21795db38a440c72bb50068c5439b86ca0.tar.xz spack-8b8bec21795db38a440c72bb50068c5439b86ca0.zip |
scr/veloc: component releases (#26716)
* scr/veloc: component releases
Update the ECP-VeloC component packages in preparation for an
upcoming scr@3.0rc2 release.
All
- Add new release versions
- Add new `shared` variant for all components
- Add zlib link dependency to packages that were missing it
- Add maintainers
- Use self.define and self.define_from_variant to clean up cmake_args
axl
- Add independent vendor async support variants
rankstr
- Update older version sha that fails checksum on install
* Fix scr build error
Lock dependencies for scr@3.0rc1 to the versions released at the same
time.
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/axl/package.py | 45 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/er/package.py | 35 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/kvtree/package.py | 30 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/rankstr/package.py | 20 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/redset/package.py | 29 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/scr/package.py | 14 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/shuffile/package.py | 23 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/spath/package.py | 26 |
8 files changed, 155 insertions, 67 deletions
diff --git a/var/spack/repos/builtin/packages/axl/package.py b/var/spack/repos/builtin/packages/axl/package.py index 39cf284e5d..8c37715e7b 100644 --- a/var/spack/repos/builtin/packages/axl/package.py +++ b/var/spack/repos/builtin/packages/axl/package.py @@ -22,34 +22,44 @@ class Axl(CMakePackage): 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.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') + variant('async_api', default='daemon', - description="Set of async transfer APIs to enable", + description='Set of async transfer APIs to enable', values=['cray_dw', 'intel_cppr', 'daemon', 'none'], multi=True, validator=async_api_validator) - variant('bbapi_fallback', default='False', + 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') - depends_on('kvtree') + 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 = [] - if self.spec.satisfies('platform=cray'): - args.append("-DAXL_LINK_STATIC=ON") - args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix) + args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix)) - if self.spec.satisfies('@:0.3.0'): - apis = list(self.spec.variants['async_api'].value) + 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') @@ -57,10 +67,17 @@ class Axl(CMakePackage): for api in apis: args.append('-DAXL_ASYNC_API={0}'.format(api.upper())) - if self.spec.satisfies('@0.4.0:'): - if '+bbapi_fallback' in self.spec: - args.append('-DENABLE_BBAPI_FALLBACK=ON') - else: - args.append('-DENABLE_BBAPI_FALLBACK=OFF') + 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')) + else: + if spec.satisfies('platform=cray'): + args.append(self.define('AXL_LINK_STATIC', True)) return args diff --git a/var/spack/repos/builtin/packages/er/package.py b/var/spack/repos/builtin/packages/er/package.py index 131269b483..fd529ef5bf 100644 --- a/var/spack/repos/builtin/packages/er/package.py +++ b/var/spack/repos/builtin/packages/er/package.py @@ -12,10 +12,12 @@ class Er(CMakePackage): homepage = "https://github.com/ecp-veloc/er" url = "https://github.com/ecp-veloc/er/archive/v0.0.3.tar.gz" git = "https://github.com/ecp-veloc/er.git" - tags = ['ecp'] + maintainers = ['CamStan', 'gonsie'] + version('main', branch='main') + version('0.1.0', sha256='543afc1c48bb2c67f48c32f6c9efcbf7bb27f2e622ff76f2c2ce5618c77aacfc') version('0.0.4', sha256='c456d34719bb57774adf6d7bc2fa9917ecb4a9de442091023c931a2cb83dfd37') version('0.0.3', sha256='243b2b46ea274e17417ef5873c3ed7ba16dacdfdaf7053d1de5434e300de796b') @@ -24,16 +26,33 @@ class Er(CMakePackage): depends_on('rankstr', when='@0.0.4:') depends_on('redset') depends_on('shuffile') + depends_on('zlib', type='link') + + variant('shared', default=True, description='Build with shared libraries') + deps = ['kvtree', 'rankstr', 'redset', 'shuffile'] + for dep in deps: + depends_on(dep + '+shared', when='@0.1: +shared') + depends_on(dep + '~shared', when='@0.1: ~shared') def cmake_args(self): spec = self.spec args = [] - args.append("-DMPI_C_COMPILER=%s" % spec['mpi'].mpicc) - if spec.satisfies('platform=cray'): - args.append("-DER_LINK_STATIC=ON") - args.append("-DWITH_KVTREE_PREFIX=%s" % spec['kvtree'].prefix) - args.append("-DWITH_REDSET_PREFIX=%s" % spec['redset'].prefix) - args.append("-DWITH_SHUFFILE_PREFIX=%s" % spec['shuffile'].prefix) + args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc)) + args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix)) + args.append(self.define('WITH_REDSET_PREFIX', spec['redset'].prefix)) + args.append( + self.define('WITH_SHUFFILE_PREFIX', spec['shuffile'].prefix) + ) + if spec.satisfies('@0.0.4:'): - args.append("-DWITH_RANKSTR_PREFIX=%s" % spec['rankstr'].prefix) + args.append( + self.define('WITH_RANKSTR_PREFIX', spec['rankstr'].prefix) + ) + + if spec.satisfies('@0.1.0:'): + args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared')) + else: + if spec.satisfies('platform=cray'): + args.append(self.define('ER_LINK_STATIC', True)) + return args diff --git a/var/spack/repos/builtin/packages/kvtree/package.py b/var/spack/repos/builtin/packages/kvtree/package.py index db4a182d00..58b9123e7d 100644 --- a/var/spack/repos/builtin/packages/kvtree/package.py +++ b/var/spack/repos/builtin/packages/kvtree/package.py @@ -13,16 +13,20 @@ class Kvtree(CMakePackage): homepage = "https://github.com/ecp-veloc/KVTree" url = "https://github.com/ecp-veloc/KVTree/archive/v1.1.1.tar.gz" git = "https://github.com/ecp-veloc/kvtree.git" - tags = ['ecp'] + maintainers = ['CamStan', 'gonsie'] + version('main', branch='main') + version('1.2.0', sha256='ecd4b8bc479c33ab4f23fc764445a3bb353a1d15c208d011f5577a32c182477f') version('1.1.1', sha256='4776bd55a559b7f9bb594454ae6b14ebff0087c93c3d59ac7d1ab27df4aa4d74') version('1.1.0', sha256='3e6c003e7b8094d7c2d1529a973d68a68f953ffa63dcde5f4c7c7e81ddf06564') version('1.0.3', sha256='c742cdb1241ef4cb13767019204d5350a3c4383384bed9fb66680b93ff44b0d4') version('1.0.2', sha256='56fb5b747758c24a907a8380e8748d296900d94de9547bc15f6b427ac4ae2ec4') - variant('mpi', default=True, description="Build with MPI message packing") + depends_on('zlib', type='link') + + variant('mpi', default=True, description='Build with MPI message packing') depends_on('mpi', when='+mpi') variant('file_lock', default='FLOCK', @@ -30,6 +34,8 @@ class Kvtree(CMakePackage): multi=False, description='File locking style for KVTree.') + variant('shared', default=True, description='Build with shared libraries') + def flag_handler(self, name, flags): if self.spec.satisfies('%cce'): if name == 'ldflags': @@ -37,16 +43,18 @@ class Kvtree(CMakePackage): return (flags, None, None) def cmake_args(self): + spec = self.spec args = [] - if self.spec.satisfies('+mpi'): - args.append("-DMPI=ON") - args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc) - else: - args.append("-DMPI=OFF") + args.append(self.define_from_variant('MPI')) + if '+mpi' in spec: + args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc)) + + args.append(self.define_from_variant('KVTREE_FILE_LOCK', 'file_lock')) - args.append('-DKVTREE_FILE_LOCK={0}'.format( - self.spec.variants['file_lock'].value.upper())) + if spec.satisfies('@1.2.0:'): + args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared')) + else: + if spec.satisfies('platform=cray'): + args.append(self.define('KVTREE_LINK_STATIC', True)) - if self.spec.satisfies('platform=cray'): - args.append("-DKVTREE_LINK_STATIC=ON") return args diff --git a/var/spack/repos/builtin/packages/rankstr/package.py b/var/spack/repos/builtin/packages/rankstr/package.py index 6801904fd2..9052acdf99 100644 --- a/var/spack/repos/builtin/packages/rankstr/package.py +++ b/var/spack/repos/builtin/packages/rankstr/package.py @@ -12,18 +12,28 @@ class Rankstr(CMakePackage): homepage = "https://github.com/ecp-veloc/rankstr" url = "https://github.com/ecp-veloc/rankstr/archive/v0.0.3.tar.gz" git = "https://github.com/ecp-veloc/rankstr.git" - tags = ['ecp'] + maintainers = ['CamStan', 'gonsie'] + version('main', branch='main') + version('0.1.0', sha256='b68239d67b2359ecc067cc354f86ccfbc8f02071e60d28ae0a2449f2e7f88001') version('0.0.3', sha256='d32052fbecd44299e13e69bf2dd7e5737c346404ccd784b8c2100ceed99d8cd3') - version('0.0.2', sha256='c16d53aa9bb79934cbe2dcd8612e2db7d59de80be500c104e39e8623d4eacd8e') + version('0.0.2', sha256='b88357bf88cdda9565472543225d6b0fa50f0726f6e2d464c92d31a98b493abb') depends_on('mpi') + variant('shared', default=True, description='Build with shared libraries') + def cmake_args(self): + spec = self.spec args = [] - args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc) - if self.spec.satisfies('platform=cray'): - args.append("-DRANKSTR_LINK_STATIC=ON") + args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc)) + + if spec.satisfies('@0.1.0:'): + args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared')) + else: + if spec.satisfies('platform=cray'): + args.append(self.define('RANKSTR_LINK_STATIC', True)) + return args diff --git a/var/spack/repos/builtin/packages/redset/package.py b/var/spack/repos/builtin/packages/redset/package.py index 8da845c680..0c61c2fc1b 100644 --- a/var/spack/repos/builtin/packages/redset/package.py +++ b/var/spack/repos/builtin/packages/redset/package.py @@ -12,23 +12,38 @@ class Redset(CMakePackage): homepage = "https://github.com/ecp-veloc/redset" url = "https://github.com/ecp-veloc/redset/archive/v0.0.5.tar.gz" git = "https://github.com/ecp-veloc/redset.git" - tags = ['ecp'] + maintainers = ['CamStan', 'gonsie'] + version('main', branch='main') + version('0.1.0', sha256='baa75de0d0d6de64ade50cff3d38ee89fd136ce69869182bdaefccf5be5d286d') version('0.0.5', sha256='4db4ae59ab9d333a6d1d80678dedf917d23ad461c88b6d39466fc4bf6467d1ee') version('0.0.4', sha256='c33fce458d5582f01ad632c6fae8eb0a03eaef00e3c240c713b03bb95e2787ad') version('0.0.3', sha256='30ac1a960f842ae23a960a88b312af3fddc4795f2053eeeec3433a61e4666a76') depends_on('mpi') - depends_on('rankstr') depends_on('kvtree+mpi') + depends_on('rankstr') + depends_on('zlib', type='link') + + variant('shared', default=True, description='Build with shared libraries') + depends_on('kvtree+shared', when='@0.1: +shared') + depends_on('kvtree~shared', when='@0.1: ~shared') + depends_on('rankstr+shared', when='@0.1: +shared') + depends_on('rankstr~shared', when='@0.1: ~shared') def cmake_args(self): + spec = self.spec args = [] - args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc) - if self.spec.satisfies('platform=cray'): - args.append("-DREDSET_LINK_STATIC=ON") - args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix) - args.append("-DWITH_RANKSTR_PREFIX=%s" % self.spec['rankstr'].prefix) + args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc)) + args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix)) + args.append(self.define('WITH_RANKSTR_PREFIX', spec['rankstr'].prefix)) + + if spec.satisfies('@0.1.0:'): + args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared')) + else: + if spec.satisfies('platform=cray'): + args.append(self.define('REDSET_LINK_STATIC', True)) + return args diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py index 35bd8c1cad..1f90f75897 100644 --- a/var/spack/repos/builtin/packages/scr/package.py +++ b/var/spack/repos/builtin/packages/scr/package.py @@ -51,13 +51,13 @@ class Scr(CMakePackage): # SCR legacy is anything 2.x.x or earlier # SCR components is anything 3.x.x or later - depends_on('axl@0.4.0:', when="@3:") - depends_on('er@0.0.4:', when="@3:") - depends_on('kvtree@1.1.1:', when="@3:") - depends_on('rankstr@0.0.3:', when="@3:") - depends_on('redset@0.0.5:', when="@3:") - depends_on('shuffile@0.0.4:', when="@3:") - depends_on('spath@0.0.2:', when="@3:") + depends_on('axl@0.4.0', when="@3.0rc1") + depends_on('er@0.0.4', when="@3.0rc1") + depends_on('kvtree@1.1.1', when="@3.0rc1") + depends_on('rankstr@0.0.3', when="@3.0rc1") + depends_on('redset@0.0.5', when="@3.0rc1") + depends_on('shuffile@0.0.4', when="@3.0rc1") + depends_on('spath@0.0.2', when="@3.0rc1") # DTCMP is an optional dependency up until 3.x variant('dtcmp', default=True, diff --git a/var/spack/repos/builtin/packages/shuffile/package.py b/var/spack/repos/builtin/packages/shuffile/package.py index 737d535273..a8404a4fa5 100644 --- a/var/spack/repos/builtin/packages/shuffile/package.py +++ b/var/spack/repos/builtin/packages/shuffile/package.py @@ -12,20 +12,33 @@ class Shuffile(CMakePackage): homepage = "https://github.com/ecp-veloc/shuffile" url = "https://github.com/ecp-veloc/shuffile/archive/v0.0.4.tar.gz" git = "https://github.com/ecp-veloc/shuffile.git" - tags = ['ecp'] + maintainers = ['CamStan', 'gonsie'] + version('main', branch='main') + version('0.1.0', sha256='9e730cc8b7937517a9cffb08c031d9f5772306341c49d17b87b7f349d55a6d5e') version('0.0.4', sha256='f0249ab31fc6123103ad67b1eaf799277c72adcf0dfcddf8c3a18bad2d45031d') version('0.0.3', sha256='a3f685526a1146a5ad8dbacdc5f9c2e1152d9761a1a179c1db34f55afc8372f6') depends_on('mpi') depends_on('kvtree+mpi') + depends_on('zlib', type='link') + + variant('shared', default=True, description='Build with shared libraries') + depends_on('kvtree+shared', when='@0.1: +shared') + depends_on('kvtree~shared', when='@0.1: ~shared') def cmake_args(self): + spec = self.spec args = [] - args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc) - if self.spec.satisfies('platform=cray'): - args.append("-DSHUFFILE_LINK_STATIC=ON") - args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix) + args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc)) + args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix)) + + if spec.satisfies('@0.1.0:'): + args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared')) + else: + if spec.satisfies('platform=cray'): + args.append(self.define('SHUFFILE_LINK_STATIC', True)) + return args diff --git a/var/spack/repos/builtin/packages/spath/package.py b/var/spack/repos/builtin/packages/spath/package.py index a1554e16da..ede624b556 100644 --- a/var/spack/repos/builtin/packages/spath/package.py +++ b/var/spack/repos/builtin/packages/spath/package.py @@ -12,27 +12,33 @@ class Spath(CMakePackage): homepage = "https://github.com/ecp-veloc/spath" url = "https://github.com/ECP-VeloC/spath/archive/v0.0.2.tar.gz" git = "https://github.com/ecp-veloc/spath.git" - tags = ['ecp'] + maintainers = ['CamStan', 'gonsie'] + version('main', branch='main') + version('0.1.0', sha256='2cfc635b2384d3f92973c7aea173dabe47da112d308f5098e6636e4b2f4a704c') version('0.0.2', sha256='7a65be59c3d27e92ed4718fba1a97a4a1c68e0a552b54de13d58afe3d8199cf7') version('0.0.1', sha256='f41c0ac74e6fb8acfd0c072d756db0fc9c00441f22be492cc4ad25f7fb596a24') - variant('mpi', default=True, description="Build with MPI support.") + depends_on('zlib', type='link', when='@:0.0.2') + + variant('mpi', default=True, description='Build with MPI support') depends_on('mpi', when='+mpi') - depends_on('zlib', type='link') + + variant('shared', default=True, description='Build with shared libraries') def cmake_args(self): + spec = self.spec args = [] + args.append(self.define_from_variant('MPI')) + if '+mpi' in spec: + args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc)) - if self.spec.satisfies('platform=cray'): - args.append("-DSPATH_LINK_STATIC=ON") - - if "+mpi" in self.spec: - args.append('-DMPI=ON') - args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc) + if spec.satisfies('@0.1.0:'): + args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared')) else: - args.append('-DMPI=OFF') + if spec.satisfies('platform=cray'): + args.append(self.define('SPATH_LINK_STATIC', True)) return args |