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
					Elsa Gonsiorowski, PhD
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						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 | ||||
		Reference in New Issue
	
	Block a user