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 Edm4eic(CMakePackage):
0006     """A data model for EIC defined with podio and based on EDM4hep."""
0007 
0008     homepage = "https://github.com/eic/EDM4eic"
0009     url = "https://github.com/eic/EDM4eic/archive/refs/tags/v1.0.0.tar.gz"
0010     git = "https://github.com/eic/EDM4eic.git"
0011     list_url = "https://github.com/eic/EDM4eic/tags"
0012 
0013     maintainers = ["wdconinc"]
0014 
0015     tags = ["eic"]
0016 
0017     version("main", branch="main")
0018     version("8.9.0", sha256="f9fec02793c6e19ca0f5f93d15eb3445286eb6029bfd86bb336e4d4cbb7871a0")
0019     version("8.8.0", sha256="074f83907f7eeaeed5d5e65efd7fbce82327c79de7c1df53f6335204f0ee24bc")
0020     version("8.7.0", sha256="48287bbcfcd0aa4a15a7219fb30d17b2c93b9fd29626d54ccc1b906419773996")
0021     version("8.6.0", sha256="023fdc2f64812c612e7f173e662fecd45568dc43c5b84d2e3e986ed8e34b4939")
0022     version("8.5.0", sha256="35d6fe823c02cc0a85a27c086ac0b8ae08c557a5034f0355e9927eb9291a965c")
0023     version("8.4.0", sha256="fc2176d38978998dd10c40a8a6691e2d0e2fab381468d764ecde9e6dc4416bdf")
0024     version("8.3.0", sha256="744ebd8b265e47b3d281db77452f83e13bb924197c3e97bb546129be19595d97")
0025     version("8.2.0", sha256="c085a7df046d71b830ecfaf2fca2bfd44c52f22b480ab69cf01595140654f681")
0026     version("8.1.0", sha256="7b35bfa08cb6e5430c4d77ee4c3272faa6820834436370ef361315c2e403d8eb")
0027     version("8.0.1", sha256="6cc2c575b8ed94da91c4fed56658c922c7cebaf292a9da0b5522c4715bc3a6dc")
0028     version("8.0.0", sha256="91c483e1473fa015afe43040f7851b5d1ce7baa84aa2583c9de579401b466d13")
0029     version("7.0.0", sha256="48ff297dcdda285079bf63df9d7eb996072b41298ecc6c0a766d9f5aa48d85e8")
0030     version("6.0.1", sha256="5c159c61a284c6ad3bcba65532b21ed11fddc194129e84347d30c519d1ef8c77")
0031     version("6.0.0", sha256="9215b1477ddaaeff5bd0f9ff0990a4b54dc4780fb6c6ab36f0bd9bcc83e59928")
0032     version(
0033         "5.0.0",
0034         sha256="31ddc38b73909f2faf6a2ade5521104401b440fcbb6fccea4ed592427d7dcac2"
0035     )
0036     version(
0037         "4.0.0", 
0038         sha256="564d4ddff9a52c6358d72a99857d9e755af0fc8f782900dab471e65e6e34f0d3")
0039     version(
0040         "3.0.1",
0041         sha256="f5d3ed307c53a1197c71581b7095c40f9cd0afd624997a8720428d24bc0c0d60",
0042     )
0043     version(
0044         "3.0.0",
0045         sha256="dc7cc7f2af17bb90e0379487e651033e2694fa8926b6e9cb6555cc4b6a4ad255",
0046     )
0047     version(
0048         "2.1.0",
0049         sha256="eec896b8c4921904aefc0065c13d6a164d014029ead101a1bab5201400d1c482",
0050     )
0051     version(
0052         "2.0.0",
0053         sha256="bedce5fd3fd3a2d6ff3258e8857819a89cc467de0aa5871999265f9ec7e39015",
0054     )
0055     version(
0056         "1.2.2",
0057         sha256="a2b63689d05ee1c8836d9652ba8ccfe45f08558b6a89a75e4649654dd9a5073c",
0058     )
0059     version(
0060         "1.2.1",
0061         sha256="8349864f5c923e991d31462cc7987cd39c050910d4db8847575c8d4fd61967a5",
0062     )
0063     version(
0064         "1.2.0",
0065         sha256="e70ec6d2a93002237c1bfd0046e96f3838f9dab3f5326bdb17826999b5f42759",
0066     )
0067     version(
0068         "1.1.0",
0069         sha256="f50a6ef77d8247aa30da5b1e574bb24ab82c86c8706a8f3900ff151dafe9a754",
0070     )
0071     version(
0072         "1.0.1",
0073         sha256="683dcd463757f9e4ad47e493be1f5fb40a6c1aae7d249ff18a19367384a61070",
0074     )
0075     version(
0076         "1.0.0",
0077         sha256="700ae7453f16786db4d3ace1a146914e1f0b935a08039c9f1f6a5ebe4aa173ae",
0078     )
0079 
0080     variant(
0081         "cxxstd",
0082         default="17",
0083         values=(conditional("17", when="@:8.6"), "20"),
0084         multi=False,
0085         description="Use the specified C++ standard when building.",
0086     )
0087 
0088     depends_on("cxx", type="build")
0089     depends_on("python", type="build")
0090     depends_on("cmake@3.3:", type="build")
0091     depends_on("py-jinja2", type="build")
0092     depends_on("py-pyyaml", type="build")
0093 
0094     depends_on("edm4hep@0.4.1:", when="@1:")
0095     depends_on("edm4hep@:0", when="@:8.6")
0096     depends_on("podio@0.15:", when="@1:")
0097     depends_on("cli11", when="@1.1:")
0098     depends_on("root@6.08:")
0099 
0100     def cmake_args(self):
0101         args = []
0102         # C++ Standard
0103         args.append(
0104             self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value)
0105         )
0106         return args