Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:15:27

0001 # Copyright 2013-2022 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 
0008 
0009 class Sartre(CMakePackage):
0010     """Sartre 1 is an event generator for exclusive diffractive vector
0011     meson production and DVCS in ep and eA collisions based on the
0012     dipole model."""
0013 
0014     homepage = "https://sartre.hepforge.org"
0015     url = "https://sartre.hepforge.org/downloads/?f=sartre-1.39-src.tgz"
0016     list_url = "https://sartre.hepforge.org/downloads/"
0017 
0018     maintainers = ["wdconinc"]
0019 
0020     version(
0021         "1.39",
0022         sha256="82ed77243bea61bb9335f705c4b132f0b53d0de17c26b89389fa9cd3adcef44d",
0023     )
0024 
0025     parallel = False
0026 
0027     depends_on("cxx", type="build")
0028 
0029     depends_on("gsl")
0030     depends_on("root")
0031     depends_on("boost@1.39: +thread")
0032     depends_on("cuba@4:")
0033 
0034     def patch(self):
0035         for file in ["src/CMakeLists.txt", "gemini/CMakeLists.txt"]:
0036             filter_file(
0037                 r"set\(CMAKE_CXX_STANDARD 11\)",
0038                 'set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard")',
0039                 file,
0040             )
0041 
0042     def cmake_args(self):
0043         args = [
0044             "-DCMAKE_CXX_STANDARD={0}".format(
0045                 self.spec["root"].variants["cxxstd"].value
0046             ),
0047             "-DMULTITHREADED=ON",
0048         ]
0049         return args