File indexing completed on 2026-03-30 07:48:31
0001
0002
0003
0004
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
0064 r"^set\((OUTPUT_[A-Z]*_[A-Z]*) (\$\{OS_RELPATH\}/[a-z]*/).*\)",
0065
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