SCR: build with components (#14931)

* scr: add develop, legacy branches; version 2.0.0

squash! scr: add develop and legacy versions

* filo: package for SCR component

* spath: package for SCR component

* axl: update for versions 0.3 and 0.2

* scr: build with components

* spath: structure of +mpi if/else

* 👌 capitalization of ecp-veloc

* scr: branches are always greater than any version
This commit is contained in:
Elsa Gonsiorowski, PhD 2020-03-10 13:27:41 -07:00 committed by GitHub
parent c4c6accace
commit 9debb7e1b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 92 additions and 13 deletions

View File

@ -19,13 +19,15 @@ def async_api_validator(pkg_name, variant_name, values):
class Axl(CMakePackage):
"""Asynchronous transfer library"""
homepage = "https://github.com/ECP-VeloC/AXL"
url = "https://github.com/ECP-VeloC/AXL/archive/v0.1.1.zip"
homepage = "https://github.com/ecp-veloc/AXL"
url = "https://github.com/ecp-veloc/AXL/archive/v0.1.1.zip"
git = "https://github.com/ecp-veloc/axl.git"
tags = ['ecp']
version('master', branch='master')
version('0.3.0', sha256='3f5efff87be700a5792a0ee9a7aeae45c640e2936623b024e8bc1056f7952a46')
version('0.2.0', sha256='a0babe3576da30919f89df2f83c76bd01d06345919f2e54d4dddcd6f73faedcc')
version('0.1.1', sha256='ebbf231bb542a6c91efb79fce05d4c8a346d5506d88ae1899fb670be52e81933')
variant('async_api', default='daemon',

View File

@ -9,8 +9,8 @@
class Er(CMakePackage):
"""Encoding and redundancy on a file set"""
homepage = "https://github.com/ECP-VeloC/er"
url = "https://github.com/ECP-VeloC/er/archive/v0.0.3.zip"
homepage = "https://github.com/ecp-veloc/er"
url = "https://github.com/ecp-veloc/er/archive/v0.0.3.zip"
git = "https://github.com/ecp-veloc/er.git"
tags = ['ecp']

View File

@ -0,0 +1,32 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Filo(CMakePackage):
"""File flush and fetch, with MPI"""
homepage = "https://github.com/ecp-veloc/filo"
git = "https://github.com/ecp-veloc/filo.git"
tags = ['ecp']
version('master', branch='master')
depends_on('mpi')
depends_on('axl')
depends_on('kvtree')
depends_on('spath')
def cmake_args(self):
args = []
args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
if self.spec.satisfies('platform=cray'):
args.append("-DFILO_LINK_STATIC=ON")
args.append("-DWITH_AXL_PREFIX=%s" % self.spec['axl'].prefix)
args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix)
args.append("-DWITH_SPATH_PREFIX=%s" % self.spec['spath'].prefix)
return args

View File

@ -10,8 +10,8 @@ class Kvtree(CMakePackage):
"""KVTree provides a fully extensible C datastructure modeled after perl
hashes."""
homepage = "https://github.com/ECP-VeloC/KVTree"
url = "https://github.com/ECP-VeloC/KVTree/archive/v1.0.2.zip"
homepage = "https://github.com/ecp-veloc/KVTree"
url = "https://github.com/ecp-veloc/KVTree/archive/v1.0.2.zip"
git = "https://github.com/ecp-veloc/kvtree.git"
tags = ['ecp']

View File

@ -9,8 +9,8 @@
class Rankstr(CMakePackage):
"""Assign one-to-one mapping of MPI ranks to strings"""
homepage = "https://github.com/ECP-VeloC/rankstr"
url = "https://github.com/ECP-VeloC/rankstr/archive/v0.0.2.zip"
homepage = "https://github.com/ecp-veloc/rankstr"
url = "https://github.com/ecp-veloc/rankstr/archive/v0.0.2.zip"
git = "https://github.com/ecp-veloc/rankstr.git"
tags = ['ecp']

View File

@ -9,8 +9,8 @@
class Redset(CMakePackage):
"""Create MPI communicators for disparate redundancy sets"""
homepage = "https://github.com/ECP-VeloC/redset"
url = "https://github.com/ECP-VeloC/redset/archive/v0.0.3.zip"
homepage = "https://github.com/ecp-veloc/redset"
url = "https://github.com/ecp-veloc/redset/archive/v0.0.3.zip"
git = "https://github.com/ecp-veloc/redset.git"
tags = ['ecp']

View File

@ -17,7 +17,10 @@ class Scr(CMakePackage):
url = "https://github.com/LLNL/scr/archive/v1.2.0.tar.gz"
git = "https://github.com/llnl/scr.git"
version('master', branch='master')
version('develop', branch='develop')
version('legacy', branch='legacy')
version('2.0.0', sha256='471978ae0afb56a20847d3989b994fbd680d1dea21e77a5a46a964b6e3deed6b')
version('1.2.2', sha256='764a85638a9e8762667ec1f39fa5f7da7496fca78de379a22198607b3e027847')
version('1.2.1', sha256='23acab2dc7203e9514455a5168f2fd57bc590affb7a1876912b58201513628fe')
version('1.2.0', sha256='e3338ab2fa6e9332d2326c59092b584949a083a876adf5a19d4d5c7a1bbae047')
@ -26,6 +29,14 @@ class Scr(CMakePackage):
depends_on('zlib')
depends_on('mpi')
# SCR legacy is anything 2.x.x or earlier
# SCR components is anything 3.x.x or later
depends_on('er', when="@3:")
depends_on('kvtree', when="@3:")
depends_on('rankstr', when="@3:")
depends_on('filo', when="@3:")
depends_on('spath', when="@3:")
variant('dtcmp', default=True,
description="Build with DTCMP. "
"Necessary to enable user directory naming at runtime")

View File

@ -9,8 +9,8 @@
class Shuffile(CMakePackage):
"""Shuffle files between MPI ranks"""
homepage = "https://github.com/ECP-VeloC/shuffile"
url = "https://github.com/ECP-VeloC/shuffile/archive/v0.0.3.zip"
homepage = "https://github.com/ecp-veloc/shuffile"
url = "https://github.com/ecp-veloc/shuffile/archive/v0.0.3.zip"
git = "https://github.com/ecp-veloc/shuffile.git"
tags = ['ecp']

View File

@ -0,0 +1,34 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Spath(CMakePackage):
"""Represent and manipulate file system paths"""
homepage = "https://github.com/ecp-veloc/spath"
git = "https://github.com/ecp-veloc/spath.git"
tags = ['ecp']
version('master', branch='master')
variant('mpi', default=True, description="Build with MPI support.")
depends_on('mpi', when='+mpi')
def cmake_args(self):
args = []
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)
else:
args.append('-DMPI=OFF')
return args