Back to home page

EIC code displayed by LXR

 
 

    


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

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 
0007 from spack.package import *
0008 from spack_repo.builtin.build_systems.cmake import CMakePackage
0009 
0010 
0011 class Synrad(CMakePackage):
0012     """SynRad+ is a modification of MolFlow+. Instead of molecules, it traces
0013     photons to calculate flux and power distribution on a surface caused by
0014     synchrotron radiation."""
0015 
0016     homepage = "https://molflow.web.cern.ch"
0017     url = "https://gitlab.cern.ch/molflow_synrad/synrad/-/archive/v1.4.29/synrad-v1.4.29.zip"
0018     list_url = "https://gitlab.cern.ch/molflow_synrad/synrad/-/tags"
0019     git = "https://gitlab.cern.ch/molflow_synrad/synrad"
0020 
0021     maintainers = ["wdconinc"]
0022 
0023     version(
0024         "1.4.36",
0025         sha256="1060e33b865dc6935859fb299748f8d1858f19b523eafb6a19fd3fd6b254eb6a",
0026     )
0027     version(
0028         "1.4.35",
0029         sha256="d2460383d65e185be272c4c93cfaf24a5a2053b6608d9d67968b19af69538be9",
0030     )
0031     version(
0032         "1.4.34",
0033         sha256="c349767e447dcb522945d5bdb52eb27fad713e72c0027f2ffdcea9c29f29c880",
0034     )
0035     version(
0036         "1.4.33",
0037         sha256="acbd232243083c394f980022bf4bdc70f10b005b17884bf8ed45c98cb86651f4",
0038     )
0039     version(
0040         "1.4.32",
0041         sha256="5cf60abe26af51d3cbf873cf43bf9ebe51ec46dd9d4fb95b9ca396e1b44fac00",
0042     )
0043     version(
0044         "1.4.31",
0045         sha256="c6c3952c5ec229de4369bc71666732aded640a985bf8b55c1521717b4478b8d6",
0046     )
0047     version(
0048         "1.4.29",
0049         sha256="30cd3020d9be8a6add9ae182a6d72357973e29b3b8486f6114118a193b81a4c8",
0050     )
0051 
0052     variant("cli", default=True, description="Enable only the command line interface")
0053 
0054     depends_on("cxx", type="build")
0055 
0056     depends_on("curl")
0057     depends_on("gsl")
0058     depends_on("sdl2")
0059     depends_on("gtkplus")
0060 
0061     def patch(self):
0062         filter_file(
0063             # r"set\((OUTPUT_[A-Z]*_[A-Z]*) (\$\{OS_RELPATH\}/[a-z]*/)\$\{OS_NAME\}/[a-z]*/\)",
0064             r"^set\((OUTPUT_[A-Z]*_[A-Z]*) (\$\{OS_RELPATH\}/[a-z]*/).*\)",
0065             # r"set(\1 \2)",
0066             r"set(\1 \2)",
0067             "CMake/Synrad.cmake",
0068         )
0069 
0070     def cmake_args(self):
0071         args = [
0072             self.define_from_variant("NO_INTERFACE", "cli"),
0073         ]
0074         return args
0075 
0076     def install(self, spec, prefix):
0077         install_tree(join_path(self.build_directory, "bin"), prefix.bin)
0078         install_tree(join_path(self.build_directory, "lib"), prefix.lib)
0079         return