File indexing completed on 2025-12-16 09:27:55
0001 from spack.package import *
0002
0003
0004 class Juggler(CMakePackage):
0005 """Concurrent event processor for NP experiments, based on the Gaudi framework."""
0006
0007 homepage = "https://eicweb.phy.anl.gov/EIC/juggler"
0008 url = (
0009 "https://eicweb.phy.anl.gov/EIC/juggler/-/archive/v1.8.0/juggler-v1.8.0.tar.gz"
0010 )
0011 git = "https://github.com/eic/juggler.git"
0012 list_url = "https://eicweb.phy.anl.gov/EIC/juggler/-/tags"
0013
0014 maintainers = ["wdconinc"]
0015
0016 tags = ["eic"]
0017
0018 version("main", branch="main")
0019 version("master", branch="master", deprecated=True)
0020 version("15.0.5", sha256="b415c29f3f6d17a7c40a018a2f39b14fad2e3438f47ade21955f2a532ebb9830")
0021 version("15.0.4", sha256="64f7638235d1a84faf0451e2138ef7dac1b0e571965918d8e19413684fcb681e")
0022 version("15.0.3", sha256="44edeca4439483459e0617f445543eb7c49cfd66a845326a6610bf5369c8b637")
0023 version("15.0.2", sha256="0b31fa2d3a94b2448f53d46525f09e564dce36e1679fb3e798469875c5ede957")
0024 version("15.0.1", sha256="9754887d2bcee2549d6cdf824b03c6cf5ffc22265a69cc095ebcdb3bd4572478")
0025 version("15.0.0", sha256="b620175e706da931520367b9c010d728f73f86fa7ae8a37e79d7494e7a0fa490")
0026 version("14.3.0", sha256="46d19d69a951638c4bcdb3ad99def08eb21d4991894ff5b11e3d0d4479f52985")
0027 version("14.2.2", sha256="fab54810bee8437cf8c51c4991888be223956b206e0271668e641f363c403084")
0028 version("14.2.1", sha256="4a2e1290b4d58f36df5c9c03c1c941e79f518c489648b4c1be067974f041eecf")
0029 version("14.2.0", sha256="b40e93e50d6ae57c8c73a5166ee4c1694bd2ef0018e545302d11369f4e89a0b6")
0030 version("14.1.0", sha256="c23cec2a77d9099f6574540116b8dc9c190537721b3fd1dfcce9d30e8b4ef410")
0031 version("14.0.3", sha256="2b163f5f1a8b087a3f0831f8074fe5a5831ad3d2f900c05ae097e1c7ec17d3aa")
0032 version("14.0.2", sha256="78825e34a2db2f99360c1c57a3e24d1fcad2c22b7b17e703c8b693944ebca5e2")
0033 version("14.0.1", sha256="55efe028ea9c70c2fbb4a33d83126f11f75b04396987c2e55a2b2fd055ca34c8")
0034 version("14.0.0", sha256="b5a6ec1960868464de530c3d508bee5378a2bfe23ef3afa0d38ad66ddf2bc977")
0035 version("13.0.0", sha256="5c967e5979b540ccdc64f94f371b9bb9056ff470c3691e8bda0f12b74702feb2")
0036 version("12.0.0", sha256="a1c85bc4fdfe894c6f3dfe3b55f4a02a1c45db0db085d5044a626034d5308f42")
0037 version("11.0.0", sha256="f3a4399387160796f23fb672714eb77f56063f8ebee56d16de9df38f7edc136e")
0038 version("10.1.0", sha256="d31d80db3829dea46f5909e7978e7be72968f8d38c847b0f4c59abc2953efcde")
0039 version("10.0.1", sha256="2ce73fb46191a457c4f0fcaf1c8d84f9686665ab94654946d53fa8616c73195a")
0040 version("10.0.0", sha256="8436aa9c083e50ea2cb18e64d5c1821607b9251e16115ee799c64925f7c9756d")
0041 version("9.4.0", sha256="f1e76f2bd8799a0555352de472cf58c55c2ba27388ad5a8522889169b8341263")
0042 version(
0043 "9.3.0",
0044 sha256="2ce7c36b38a1041c1a80c2e0f16d12759881a0337eac1fcd78277093151b2b94",
0045 )
0046 version(
0047 "9.2.0",
0048 sha256="265917ace308fa08a2158ca93fe308a7af15008780f81abc443e7cbea90c4f39",
0049 )
0050 version(
0051 "9.1.0",
0052 sha256="76545542032b723ccfda31f5f293c41b9dda89c0cd86431c69f6ce15b5dd8733",
0053 )
0054 version(
0055 "9.0.0",
0056 sha256="59e4e0871303e25fdba058742854a6a99d62f847becd03d1141c64c05746498d",
0057 )
0058 version(
0059 "8.0.2",
0060 sha256="cac26f6e9658dc94cce59b11cc4bef6b71c1575ccda3eaf798f8cab03da877bb",
0061 )
0062 version(
0063 "8.0.1",
0064 sha256="c85f633ca17f9690aed9a30592efbadd0b2223d8064d9dd01de29988402812ea",
0065 )
0066 version(
0067 "8.0.0",
0068 sha256="498734a4e776e2ab9b6adafa827ca2f09895e64dbf6685281d4b894ed123566b",
0069 )
0070 version(
0071 "7.0.0",
0072 sha256="c30cf91d7424340f2b36093a3538d25c700f2191cd0da0d3dccfa83bdc996826",
0073 )
0074 version(
0075 "6.1.0",
0076 sha256="1ab310910f7e8f6178edc994b66305bf4b3cb4a6eaa93833b662155008e2b119",
0077 )
0078 version(
0079 "6.0.0",
0080 sha256="645fc7a45fa73f154b7919d292d9d5b8a864df488a8526c054edb18b90c1fd99",
0081 )
0082 version(
0083 "5.0.0",
0084 sha256="326f36cf1421dc1bbfa8bbe485b0741037c3da5228f75dd75fa56e84b233003b",
0085 )
0086 version(
0087 "4.4.0",
0088 sha256="da901f786b570db25aa52071ff942118db958b2c13bf1c41a236905e2022c49a",
0089 )
0090 version(
0091 "4.3.0",
0092 sha256="d10bb8179514245f358a05efb4ddad0ea6b4bf8d9f20b50b0ac14165d4d95449",
0093 )
0094 version(
0095 "4.2.0",
0096 sha256="e3277ff67e726127c92233d7f7989af54b9f12bf1621bc4e7d571100394f3f02",
0097 )
0098 version(
0099 "4.1.0",
0100 sha256="90aec3cfff6b01a7937c421037ff8ec9cc30c7c7ad7739f646776c997f0a8e57",
0101 )
0102 version(
0103 "4.0.0",
0104 sha256="0e6a4d88e4dacd2e2f5b930d716d2f96353df57e44ec18603299172112252c91",
0105 )
0106 version(
0107 "3.6.0",
0108 sha256="2c843682a2a81667399254931b6222c98af3e65f24d0cc456a70de96be0c07bf",
0109 )
0110 version(
0111 "3.5.0",
0112 sha256="6730db099cd1b9f52b70417184bc348dce53de18e4d8f861038560e94de02d66",
0113 )
0114 version(
0115 "3.4.0",
0116 sha256="1cd35ec7aa92bdbeb85ab2d6b224272bc37d6bd8ce574b8ac7e60dd91d74f367",
0117 )
0118 version(
0119 "3.3.1",
0120 sha256="6e7b579a45d098befdb6b90f97cfeaaf2e7c05094a8b5c5095e9b3b1c9baa83e",
0121 )
0122 version(
0123 "3.3.0",
0124 sha256="717981df887273b1309bcc382796d8f8fc495250f0e385e58f1e0888a8d8d064",
0125 )
0126 version(
0127 "3.2.0",
0128 sha256="ce819299b407f2a008a0e6d2b8717fca7c8d55c8ae35d774c3bc5f965a36fdae",
0129 )
0130 version(
0131 "3.1.0",
0132 sha256="693e30c73d433b03bf450fa48c99dbfe5a036fcda0991b65f85a840899817cd6",
0133 )
0134 version(
0135 "3.0.0",
0136 sha256="dbee46ff5c34f33ad110f581192b7b3789f10706c05fde2cd50212d4d96bef6b",
0137 )
0138 version(
0139 "2.0.0",
0140 sha256="3f45c627a9ee08fbefca1fdbbf23adfa96665a62a350439176d39318daf2bb6d",
0141 )
0142 version(
0143 "1.8.0",
0144 sha256="b0259a0c59c6b46007d15c1d72a839006962b0720a5299b12ea11848b87bcf49",
0145 )
0146 version(
0147 "1.6.0",
0148 sha256="dca4f824a1c1d360b4bd795e6fb0353b8729318a3a0781a8ae0dcf745ae82f02",
0149 )
0150 version(
0151 "1.5.0",
0152 sha256="e2fe06730949766a32b08200101822fe8a145634fa46b09c6057cb321350cf57",
0153 )
0154
0155 variant(
0156 "cxxstd",
0157 default="20",
0158 values=(conditional("17", when="@:11"), "20"),
0159 multi=False,
0160 description="Use the specified C++ standard when building.",
0161 )
0162
0163 depends_on("c", type="build")
0164 depends_on("cxx", type="build")
0165
0166 depends_on("root")
0167 depends_on("geant4")
0168 depends_on("genfit", when="@:8")
0169 depends_on("dd4hep +ddg4")
0170
0171 depends_on("gaudi", when="@master")
0172 depends_on("gaudi@36:", when="@2:")
0173 depends_on("gaudi@33:34", when="@:1.8")
0174 conflicts("^gaudi@37:38 ~gaudialg", when="@:14", msg="GaudiAlgLib required through v14")
0175
0176 depends_on("acts +json +tgeo +dd4hep", when="@14.2:")
0177 depends_on("acts +identification +json +tgeo +dd4hep", when="@:14.1")
0178 depends_on("acts", when="@main")
0179 depends_on("acts@30:", when="@11:")
0180 depends_on("acts@20.2:21", when="@9.1:10")
0181 depends_on("acts@19.9:19", when="@9.0")
0182 depends_on("acts@19:19.8", when="@7:8")
0183 depends_on("acts@15.1:19", when="@5:6")
0184 depends_on("acts@9:14", when="@4")
0185 depends_on("acts@8", when="@3")
0186
0187 depends_on("podio@0.11.0:")
0188 conflicts("^podio@1.5:", when="@:15.0.2")
0189 conflicts("^podio@0.99:", when="@:14.0.1")
0190
0191 depends_on("edm4hep")
0192 conflicts("^edm4hep@0.99:", when="@:15.0.0")
0193
0194 depends_on("eicd", when="@:7")
0195 depends_on("eicd@2:", when="@6:7")
0196
0197 depends_on("edm4eic", when="@8:")
0198
0199 depends_on("cppgsl")
0200
0201 depends_on("k4fwcore", when="@13:")
0202 depends_on("k4actstracking", when="@13:")
0203
0204 depends_on("algorithms", when="@14:")
0205 depends_on("eicrecon", when="@14:")
0206
0207 def cmake_args(self):
0208 args = []
0209
0210 args.append(
0211 self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value)
0212 )
0213 return args