From 9debb7e1b6e565320a9d9095acaf8253e2473d39 Mon Sep 17 00:00:00 2001 From: "Elsa Gonsiorowski, PhD" Date: Tue, 10 Mar 2020 13:27:41 -0700 Subject: 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 * :ok_hand: capitalization of ecp-veloc * scr: branches are always greater than any version --- var/spack/repos/builtin/packages/axl/package.py | 6 ++-- var/spack/repos/builtin/packages/er/package.py | 4 +-- var/spack/repos/builtin/packages/filo/package.py | 32 ++++++++++++++++++++ var/spack/repos/builtin/packages/kvtree/package.py | 4 +-- .../repos/builtin/packages/rankstr/package.py | 4 +-- var/spack/repos/builtin/packages/redset/package.py | 4 +-- var/spack/repos/builtin/packages/scr/package.py | 13 ++++++++- .../repos/builtin/packages/shuffile/package.py | 4 +-- var/spack/repos/builtin/packages/spath/package.py | 34 ++++++++++++++++++++++ 9 files changed, 92 insertions(+), 13 deletions(-) create mode 100644 var/spack/repos/builtin/packages/filo/package.py create mode 100644 var/spack/repos/builtin/packages/spath/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/axl/package.py b/var/spack/repos/builtin/packages/axl/package.py index 1725a2751c..73eb5acdcd 100644 --- a/var/spack/repos/builtin/packages/axl/package.py +++ b/var/spack/repos/builtin/packages/axl/package.py @@ -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', diff --git a/var/spack/repos/builtin/packages/er/package.py b/var/spack/repos/builtin/packages/er/package.py index 55e5067f12..343a08ff91 100644 --- a/var/spack/repos/builtin/packages/er/package.py +++ b/var/spack/repos/builtin/packages/er/package.py @@ -9,8 +9,8 @@ from spack import * 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'] diff --git a/var/spack/repos/builtin/packages/filo/package.py b/var/spack/repos/builtin/packages/filo/package.py new file mode 100644 index 0000000000..aeba476c04 --- /dev/null +++ b/var/spack/repos/builtin/packages/filo/package.py @@ -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 diff --git a/var/spack/repos/builtin/packages/kvtree/package.py b/var/spack/repos/builtin/packages/kvtree/package.py index be265f5ecd..40e57ed0ee 100644 --- a/var/spack/repos/builtin/packages/kvtree/package.py +++ b/var/spack/repos/builtin/packages/kvtree/package.py @@ -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'] diff --git a/var/spack/repos/builtin/packages/rankstr/package.py b/var/spack/repos/builtin/packages/rankstr/package.py index 6cf2dc42f9..98d7aea87f 100644 --- a/var/spack/repos/builtin/packages/rankstr/package.py +++ b/var/spack/repos/builtin/packages/rankstr/package.py @@ -9,8 +9,8 @@ from spack import * 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'] diff --git a/var/spack/repos/builtin/packages/redset/package.py b/var/spack/repos/builtin/packages/redset/package.py index d06eaca108..88ea8b92d4 100644 --- a/var/spack/repos/builtin/packages/redset/package.py +++ b/var/spack/repos/builtin/packages/redset/package.py @@ -9,8 +9,8 @@ from spack import * 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'] diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py index 63d0af34eb..3e0e1456cd 100644 --- a/var/spack/repos/builtin/packages/scr/package.py +++ b/var/spack/repos/builtin/packages/scr/package.py @@ -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") diff --git a/var/spack/repos/builtin/packages/shuffile/package.py b/var/spack/repos/builtin/packages/shuffile/package.py index 1dc23f1a2c..e7a8da2c0e 100644 --- a/var/spack/repos/builtin/packages/shuffile/package.py +++ b/var/spack/repos/builtin/packages/shuffile/package.py @@ -9,8 +9,8 @@ from spack import * 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'] diff --git a/var/spack/repos/builtin/packages/spath/package.py b/var/spack/repos/builtin/packages/spath/package.py new file mode 100644 index 0000000000..5ccd259f48 --- /dev/null +++ b/var/spack/repos/builtin/packages/spath/package.py @@ -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 -- cgit v1.2.3-60-g2f50