Back to home page

EIC code displayed by LXR

 
 

    


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:")  # FIXME update to start at 15: when released
0206 
0207     def cmake_args(self):
0208         args = []
0209         # C++ Standard
0210         args.append(
0211             self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value)
0212         )
0213         return args