thrust: add v1.17.x (#44561)
This commit is contained in:
		| @@ -6,15 +6,22 @@ | |||||||
| from spack.package import * | from spack.package import * | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Thrust(Package): | class Thrust(Package, CMakePackage): | ||||||
|     """Thrust is a parallel algorithms library |     """Thrust is a parallel algorithms library | ||||||
|     which resembles the C++ Standard Template Library (STL).""" |     which resembles the C++ Standard Template Library (STL).""" | ||||||
| 
 | 
 | ||||||
|     homepage = "https://thrust.github.io" |     homepage = "https://thrust.github.io" | ||||||
|     url = "https://github.com/NVIDIA/thrust/archive/1.12.0.tar.gz" |     url = "https://github.com/NVIDIA/thrust/archive/1.12.0.tar.gz" | ||||||
|  |     git = "https://github.com/NVIDIA/thrust.git" | ||||||
| 
 | 
 | ||||||
|     license("BSL-1.0") |     license("BSL-1.0") | ||||||
| 
 | 
 | ||||||
|  |     # to support CMake build system package installation, Thrust | ||||||
|  |     # submodules must be downloaded, which aren't included in tarballs | ||||||
|  |     version("1.17.2", commit="1ac51f2b6219ff17d15d93f2e0be85038556f346", submodules=True) | ||||||
|  |     version("1.17.1", commit="4dd337f41622f5624359d6a958e3cb6ac7c6f57e", submodules=True) | ||||||
|  |     version("1.17.0", commit="6a3078c64cab0e2f276340fa5dcafa0d758ed890", submodules=True) | ||||||
|  |     # versions prior to 1.17 install from tarballs | ||||||
|     version("1.16.0", sha256="93b9553e3ee544e05395022bea67e6d600f8f3eb680950ec7cf73c0f55162487") |     version("1.16.0", sha256="93b9553e3ee544e05395022bea67e6d600f8f3eb680950ec7cf73c0f55162487") | ||||||
|     version("1.15.0", sha256="0eeaf5a77cd7cb143f3443bd96b215ae1c4eacf18a712762e6a5c85213f80cc2") |     version("1.15.0", sha256="0eeaf5a77cd7cb143f3443bd96b215ae1c4eacf18a712762e6a5c85213f80cc2") | ||||||
|     version("1.14.0", sha256="ddba9f3ed47b1a33562a4aea2d000a2ca2abcd45ff760af12aa81b8b7e492962") |     version("1.14.0", sha256="ddba9f3ed47b1a33562a4aea2d000a2ca2abcd45ff760af12aa81b8b7e492962") | ||||||
| @@ -45,7 +52,30 @@ class Thrust(Package): | |||||||
|     version("1.8.3", sha256="2254200512fde7f4fd0fc74306286e192ea6ac9037576dbd31309c0579229dbb") |     version("1.8.3", sha256="2254200512fde7f4fd0fc74306286e192ea6ac9037576dbd31309c0579229dbb") | ||||||
|     version("1.8.2", sha256="83bc9e7b769daa04324c986eeaf48fcb53c2dda26bcc77cb3c07f4b1c359feb8") |     version("1.8.2", sha256="83bc9e7b769daa04324c986eeaf48fcb53c2dda26bcc77cb3c07f4b1c359feb8") | ||||||
| 
 | 
 | ||||||
|     def install(self, spec, prefix): |     # leave the build system of pre-1.17 as originally implemented, | ||||||
|  |     # but use CMake for newer versions | ||||||
|  |     build_system( | ||||||
|  |         conditional("cmake", when="@1.17:"), conditional("generic", when="@:1.16"), default="cmake" | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     # minimum CMake version is 3.15 for plain package installation (no | ||||||
|  |     # examples, tests, etc) | ||||||
|  |     depends_on("cmake@3.15:", when="@1.17:", type="build") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): | ||||||
|  |     def cmake_args(self): | ||||||
|  |         return [ | ||||||
|  |             self.define("THRUST_ENABLE_HEADER_TESTING", "OFF"), | ||||||
|  |             self.define("THRUST_ENABLE_TESTING", "OFF"), | ||||||
|  |             self.define("THRUST_ENABLE_EXAMPLES", "OFF"), | ||||||
|  |             self.define("THRUST_ENABLE_BENCHMARKS", "OFF"), | ||||||
|  |             self.define("THRUST_INCLUDE_CUB_CMAKE", "OFF"), | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class GenericBuilder(spack.build_systems.generic.GenericBuilder): | ||||||
|  |     def install(self, pkg, spec, prefix): | ||||||
|         install_tree("doc", join_path(prefix, "doc")) |         install_tree("doc", join_path(prefix, "doc")) | ||||||
|         install_tree("examples", join_path(prefix, "examples")) |         install_tree("examples", join_path(prefix, "examples")) | ||||||
|         install_tree("thrust", join_path(prefix, "include", "thrust")) |         install_tree("thrust", join_path(prefix, "include", "thrust")) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Martin Pokorny
					Martin Pokorny