Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-22 08:05:48

0001 # Copyright Spack Project Developers. See COPYRIGHT file for details.
0002 #
0003 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
0004 
0005 from spack_repo.builtin.build_systems.cmake import CMakePackage
0006 
0007 from spack.package import *
0008 
0009 
0010 class Lager(CMakePackage):
0011     """lAger is the Argonne generic l/A-event generator, a flexible MC generator
0012     system to simulate electro- and photo-production off nucleons and nuclei."""
0013 
0014     homepage = "https://eicweb.phy.anl.gov/monte_carlo/lager"
0015     url = "https://eicweb.phy.anl.gov/monte_carlo/lager/-/archive/3.7.0/lager-3.7.0.tar.gz"
0016     git = "https://eicweb.phy.anl.gov/monte_carlo/lager.git"
0017 
0018     tags = ["hep", "eic"]
0019 
0020     maintainers("wdconinc", "sly2j")
0021 
0022     license("GPL-3.0-or-later", checked_by="wdconinc")
0023 
0024     version("3.7.0", sha256="3ba025b744caae17e7109d8f8a19edd3e2ffdd79d07ff692373f15e92310f2f5")
0025 
0026     patch("fix-photospp-includes.patch", when="@3.7.0")
0027 
0028     depends_on("cxx", type="build")
0029     depends_on("fortran", type="build")
0030     depends_on("cmake@3.8:", type="build")
0031 
0032     depends_on("root +math")
0033     depends_on("boost +program_options +filesystem +system")
0034     depends_on("gsl")
0035     depends_on("hepmc")
0036     depends_on("hepmc3")
0037     depends_on("photos +hepmc +hepmc3")
0038     depends_on("jpacphoto")
0039     depends_on("fmt")
0040 
0041     conflicts("^boost@1.89:1.90", msg="Boost 1.89 and 1.90 do not ship a CMake config for system")
0042 
0043     def cmake_args(self):
0044         args = []
0045         # Add Find*.cmake modules to module path
0046         args.append(f"-DCMAKE_MODULE_PATH={self.package_dir}")
0047         # Set HepMC directory for FindHepMC.cmake
0048         args.append(f"-DHEPMC_DIR={self.spec['hepmc'].prefix}")
0049         # Set PHOTOS++ directory for Findphotospp.cmake
0050         args.append(f"-DPHOTOSPP_DIR={self.spec['photos'].prefix}")
0051         return args