1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# Copyright 2013-2023 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.package import *
class Pthreadpool(CMakePackage):
"""pthreadpool is a portable and efficient thread pool implementation."""
homepage = "https://github.com/Maratyszcza/pthreadpool"
git = "https://github.com/Maratyszcza/pthreadpool.git"
license("BSD-2-Clause")
version("master", branch="master")
version("2021-04-13", commit="a134dd5d4cee80cce15db81a72e7f929d71dd413") # py-torch@1.9
version("2020-10-05", commit="fa75e65a58a5c70c09c30d17a1fe1c1dff1093ae") # py-torch@1.8
version("2020-06-15", commit="029c88620802e1361ccf41d1970bd5b07fd6b7bb") # py-torch@1.6:1.7
version("2019-10-29", commit="d465747660ecf9ebbaddf8c3db37e4a13d0c9103") # py-torch@1.5
version("2018-10-08", commit="13da0b4c21d17f94150713366420baaf1b5a46f4") # py-torch@1.0:1.4
version("2018-02-25", commit="2b06b31f6a315162348e1f3c24325eedaf6cc559") # py-torch@:0.4
generator("ninja")
depends_on("cmake@3.5:", type="build")
depends_on("python", type="build")
resource(
name="fxdiv",
git="https://github.com/Maratyszcza/FXdiv.git",
branch="master",
destination="deps",
placement="fxdiv",
)
resource(
name="googletest",
url="https://github.com/google/googletest/archive/release-1.10.0.zip",
sha256="94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91",
destination="deps",
placement="googletest",
)
resource(
name="googlebenchark",
url="https://github.com/google/benchmark/archive/v1.5.3.zip",
sha256="bdefa4b03c32d1a27bd50e37ca466d8127c1688d834800c38f3c587a396188ee",
destination="deps",
placement="googlebenchmark",
)
def cmake_args(self):
return [
self.define("BUILD_SHARED_LIBS", True),
self.define("FXDIV_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fxdiv")),
self.define(
"GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
),
self.define(
"GOOGLEBENCHMARK_SOURCE_DIR",
join_path(self.stage.source_path, "deps", "googlebenchmark"),
),
self.define("PTHREADPOOL_BUILD_TESTS", self.run_tests),
self.define("PTHREADPOOL_BUILD_BENCHMARKS", self.run_tests),
]
|