Back to home page

EIC code displayed by LXR

 
 

    


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

0001 # Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
0002 # Spack Project Developers. See the top-level COPYRIGHT file for details.
0003 #
0004 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
0005 
0006 from spack.package import *
0007 from spack_repo.builtin.build_systems.cmake import CMakePackage
0008 
0009 
0010 class EicSmear(CMakePackage):
0011     """Monte Carlo analysis package originally
0012     developed by the BNL EIC task force."""
0013 
0014     homepage = "https://wiki.bnl.gov/eic/index.php/Monte_Carlo_and_Smearing"
0015     url = "https://github.com/eic/eic-smear/archive/1.0.4.tar.gz"
0016     list_url = "https://github.com/eic/eic-smear/releases"
0017     git = "https://github.com/eic/eic-smear.git"
0018 
0019     maintainers = ["wdconinc"]
0020 
0021     tags = ["eic"]
0022 
0023     variant("pythia6", default=False, description="Include Pythia6 support")
0024 
0025     version("master", branch="master")
0026     version("1.1.16", sha256="5deda2adb70004bc9fb59dc3cd99cc656c370b663c0cdedbc02497af774272ca")
0027     version("1.1.15", sha256="d50b25a1dbfb9d1f169a12ae95bbb73088d46fcde2a9287360288de108c78f6a")
0028     version(
0029         "1.1.14", sha256="d5acd5c13bf01b0eac4274caec779b0de2af2e552cdae751a6d0a772068c48cb",
0030     )
0031     version(
0032         "1.1.13", sha256="183862b2f75cee9cee45aa5b6f83586b84924b8df7f683b5ca9fbdd48915998a",
0033     )
0034     version(
0035         "1.1.12", sha256="9f95bbdd8bfffc2082ead67d17d240f0c057559e8727607bd42fef72257fa85c",
0036     )
0037     version(
0038         "1.1.11", sha256="0cffcecd139af3a2604a756ded2f9ccdefecfbe045a07766cf3c62c455de30b0",
0039     )
0040     version(
0041         "1.1.10",
0042         sha256="2a5866166299f216528bf1e9a7177faa0fca849cb8b20b64e08107c828059c3b",
0043     )
0044     version(
0045         "1.1.9",
0046         sha256="a469455f44d8fc9abd7475cbf5ca2bad7f235b09d81f1fe41485d7fcca177080",
0047     )
0048     version(
0049         "1.1.8",
0050         sha256="93c991dcd5fda8490901cb6c75badfa0198d0b7e05c8637d9832f352e4b285c0",
0051     )
0052     version(
0053         "1.1.7",
0054         sha256="a026002303148f00374f8597cd99274371030697dee81d910331d3bb8074bb80",
0055     )
0056     version(
0057         "1.1.4",
0058         sha256="bfa9304301b83b2f1c3e355ad1bce50036f0bc93289f1510665cc4cb31a48601",
0059     )
0060     version(
0061         "1.1.3",
0062         sha256="61561da2483775b9aba22bfea8b99bdd073f3fa222bdf4297ca9bab6c44e29d9",
0063     )
0064     version(
0065         "1.1.2",
0066         sha256="bc5eabec74786be3bebf9d61bb2ee3e56dcafe9b457b00c9a85bc89f1d1f9cd0",
0067     )
0068     version(
0069         "1.1.1",
0070         sha256="9c0f1162229e42f6f98213e49326d6279e42318726560989b05335db002a5854",
0071     )
0072     version(
0073         "1.1.0",
0074         sha256="9d2c37e389c588208c16c93aac0e6f5f36a141f4dbab07d2ced1c71e19378ef3",
0075     )
0076     version(
0077         "1.0.4-fix1",
0078         sha256="ae312f4440b7ec5eeda75631bea209d733186199eaa3cd76c757ba1337679392",
0079     )
0080     version(
0081         "1.0.4",
0082         sha256="7d12a1d8b1c490502cd73737e1ce264880b04e74c16ee3b27cabad371c5b9e73",
0083     )
0084     version(
0085         "1.0.3",
0086         sha256="74b0e7a690b8fe81eb2e2ea78f96cb75aadca1c8b08450e89a7ebf8963a4d44c",
0087     )
0088     version(
0089         "1.0.2",
0090         sha256="5f33b8ba75120918023be458d9fb0f138e1d41dd37ca7107d3aa6e0ab51b691c",
0091     )
0092     version(
0093         "1.0.1",
0094         sha256="60b4222e41c6cf5c9cbb30c85e388ce06f1e585c5a970d34ef4d1394c058ccdc",
0095     )
0096     version(
0097         "1.0.0",
0098         sha256="be994c94b5b665f3802723a51e5983a0d9221ca3b13138146d68ba48eb0b2d93",
0099     )
0100 
0101     depends_on("cxx", type="build")
0102     depends_on("cmake", type="build")
0103 
0104     depends_on("root +pythia6", when="+pythia6")
0105     depends_on("root", when="-pythia6")
0106     depends_on("zlib")
0107     depends_on("hepmc3")
0108     depends_on("pythia6", when="+pythia6")
0109 
0110     conflicts(
0111         "-pythia6",
0112         when="@1.1.0-rc1",
0113         msg="eic-smear@1.1.0-rc1 cannot be built without pythia6.",
0114     )
0115 
0116     def cmake_args(self):
0117         args = []
0118 
0119         args.append(
0120             "-DCMAKE_CXX_STANDARD=%s" % self.spec["root"].variants["cxxstd"].value
0121         )
0122         if "+pythia6" in self.spec.variants:
0123             args.append("-DPYTHIA6_LIBDIR={0}".format(self.spec["pythia6"].prefix.lib))
0124 
0125         return args