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:
parent
c4c6accace
commit
9debb7e1b6
@ -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',
|
||||
|
@ -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']
|
||||
|
32
var/spack/repos/builtin/packages/filo/package.py
Normal file
32
var/spack/repos/builtin/packages/filo/package.py
Normal 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
|
@ -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']
|
||||
|
@ -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']
|
||||
|
@ -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']
|
||||
|
@ -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")
|
||||
|
@ -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']
|
||||
|
34
var/spack/repos/builtin/packages/spath/package.py
Normal file
34
var/spack/repos/builtin/packages/spath/package.py
Normal 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
|
Loading…
Reference in New Issue
Block a user