Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-03-30 07:48:31

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