class Ildperformance(CMakePackage, Ilcsoftpackage): """Assembly of various Marlin processor for reconstruction.""" url = "https://github.com/iLCSoft/ILDPerformance/archive/v01-08.tar.gz" homepage = "https://github.com/iLCSoft/ILDPerformance" git = "https://github.com/iLCSoft/ILDPerformance.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.8', sha256= 'bcf19d3a6f425fa5eea228676d07558635881a0329c4d66ffda4230dfe9617c1') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('generalbrokenlines') depends_on('aidatt') depends_on('marlintrk') depends_on('gsl') depends_on('root') depends_on('dd4hep') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libILDPerformance.so")
class Pandoraanalysis(CMakePackage): """Pandora calibration and analysis tools in iLCSoft / Marlin framework""" url = "https://github.com/PandoraPFA/LCPandoraAnalysis/archive/v02-00-01.tar.gz" homepage = "https://github.com/PandoraPFA/LCPandoraAnalysis" git = "https://github.com/PandoraPFA/LCPandoraAnalysis.git" tags = ['hep'] maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('2.0.1', sha256= 'cab082096921d60390054bb0da6afc5eaee4df28411266d4404f9b3f50048e39') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('lcio') depends_on('root') depends_on('dd4hep') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libPandoraAnalysis.so") def url_for_version(self, version): return ilc_url_for_version(self, version)
class Lctuple(CMakePackage, Ilcsoftpackage): """Marlin package that creates a ROOT TTree with a column wise ntuple from LCIO collections.""" url = "https://github.com/iLCSoft/LCTuple/archive/v01-12.tar.gz" homepage = "https://github.com/iLCSoft/LCTuple" git = "https://github.com/iLCSoft/LCTuple.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.12', sha256='e0e7c4c86f257027a7e9b1c42438087a7b0919964f9719080be25df8a0f95968') depends_on('ilcutil') depends_on('marlin') depends_on('root') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libLCTuple.so") def cmake_args(self): args = [] # C++ Standard args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec['root'].variants['cxxstd'].value) args.append('-DBUILD_TESTING=%s' % self.run_tests) return args
class Ddmarlinpandora(CMakePackage, Ilcsoftpackage): """Interface between Marlin and PandoraPFA.""" url = "https://github.com/iLCSoft/DDMarlinPandora/archive/v00-11.tar.gz" homepage = "https://github.com/iLCSoft/DDMarlinPandora/archive/v00-11.tar.gz" git = "https://github.com/iLCSoft/DDMarlinPandora.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.11', sha256= '92410186209508091e0a8e330986283ffb32e40fd7195d10aad1a6a2e953f3ee') depends_on('ilcutil') depends_on('marlinutil') depends_on('marlin') depends_on('pandorasdk') depends_on("pandorapfa") depends_on("lccontent") depends_on("larcontent") depends_on('dd4hep') depends_on('marlintrk') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libDDMarlinPandora.so")
class Marlinpandora(CMakePackage, Ilcsoftpackage): """Assembly of various Marlin processor for reconstruction.""" url = "https://github.com/PandoraPFA/MarlinPandora/archive/v03-00-01.tar.gz" homepage = "https://github.com/PandoraPFA/MarlinPandora" git = "https://github.com/PandoraPFA/MarlinPandora.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('3.0.1', sha256= '2caecf5aa804dc0a0e2e4d6e87ad9100f76eafd1fd258f73130a9b476f9a4378') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('pandorapfa') depends_on('pandorasdk') depends_on('lccontent') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libMarlinPandora.so")
class Lich(CMakePackage): """A marlin processor applied on PFOs for charged particle PID.""" url = "https://github.com/danerdaner/LICH/archive/v00-01.tar.gz" homepage = "https://github.com/danerdaner/LICH" git = "https://github.com/danerdaner/LICH.git" tags = ['hep'] maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.1', sha256= '9c5358f76c64b9f28734b82cca31101e09faa67b6ffd340889488c761aea918c') depends_on('ilcutil') depends_on('marlinutil') depends_on('marlin') depends_on('root') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libLICH.so") def url_for_version(self, version): return ilc_url_for_version(self, version)
class Pandorapfa(Package): """Metadata package to bring together and build multiple Pandora libraries. NOTE: this recipe is not used to install other pandora packages, for which separate recipes exist. It only installs the cmakemodules directory.""" url = "https://github.com/PandoraPFA/PandoraPFA/archive/v03-14-00.tar.gz" homepage = "https://github.com/PandoraPFA/PandoraPFA" git = "https://github.com/PandoraPFA/PandoraPFA.git" tags = ['hep'] maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('3.14.0', sha256= '1490f2504bdbd2960cba35fc552b762e3842d77ed5227f84ddabfde546fe6810') patch("path.patch") def install(self, a, b): install_tree('.', self.prefix) def url_for_version(self, version): # contrary to ilcsoftpackages, here the patch version is kept when 0 base_url = self.url[:self.url.rfind("/")] major = (str(version[0]).zfill(2)) minor = (str(version[1]).zfill(2)) patch = (str(version[2]).zfill(2)) url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch) return url
class Conddbmysql(CMakePackage, Key4hepPackage): """ Linear Collider MySQL Conditions Database """ homepage = "https://github.com/iLCSoft/conddbmysql" git = "https://github.com/iLCSoft/conddbmysql.git" url = "https://github.com/iLCSoft/CondDBMySQL/archive/CondDBMySQL_ILC-0-9-7.tar.gz" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0-9-7', sha256='7cbf9e06e2b3d131939ac0b66816814738e8c5021449f19921b4071c1979ef5a') depends_on("mariadb") depends_on("ilcutil") def cmake_args(self): args = [] # todo: add variant #args.append(self.define('LCCD_CONDDBMYSQL', False)) return args
class Clupatra(CMakePackage, Ilcsoftpackage): """Topological pattern recognition (for the TPC)""" url = "https://github.com/iLCSoft/Clupatra/archive/v01-03.tar.gz" homepage = "https://github.com/iLCSoft/Clupatra" git = "https://github.com/iLCSoft/Clupatra.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.3', sha256='5256d1b120157e9a6916f86249e589d0ea386c4e6dac83fec0294b753a779c25') depends_on('ilcutil') depends_on('gsl') depends_on('marlin') depends_on('marlinutil') depends_on('dd4hep') depends_on('root') depends_on('marlintrk') depends_on('kaltest') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libClupatra.so")
class Lccd(CMakePackage, Ilcsoftpackage): """ Linear Collider Conditions Data toolkit.""" homepage = "https://github.com/iLCSoft/lccd" git = "https://github.com/iLCSoft/lccd.git" url = "https://github.com/iLCSoft/lccd/archive/v01-05.tar.gz" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.5.0', sha256= '876f751bebab760303b8dc3b7c6d4fe7d47ddd5aa19af9338f6565c5b817229b') variant('conddbmysql', default=False, description="builds with database support") depends_on("ilcutil") depends_on("lcio") depends_on("conddbmysql", when="+conddbmysql") def cmake_args(self): args = [] # todo: add variant args.append(self.define_from_variant('LCCD_CONDDBMYSQL', 'conddbmysql')) return args
class Ced(CMakePackage, Ilcsoftpackage): """CED is a server client application for OpenGL drawing""" homepage = "https://github.com/iLCSoft/CED" url = "https://github.com/iLCSoft/CED/archive/v01-09-03.tar.gz" git = "https://github.com/iLCSoft/CED.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.9.3', sha256='60addba214b3d2ad65a3aacdcfc7d02fe697da0f3aefb0f6229370f08280ed3d') version('1.9.2', sha256='39a0cce64af74b915c128dcad5f4c91c634b1d35d646405aff0b72c6491f6161') version('1.9.1', sha256='62fd4265c57918a8b9891a033fd5f10f868dc52a068233e0325f7892cf1c1fd0') version('1.9', sha256='7bd80f3daaf33ba73eb9579ec4fbaf841388e4e1357e5eafc227cfdd905b81a6') version('1.8', sha256='0c0e86a9aa282117a08bf40ed415fd7db409e43e206cd135da59961891c63dd7') version('1.7', sha256='817dd1dc3818c236c569f24546fa1947a5f02a2aa93b2ac32d8970df8876d13e') version('1.6', sha256='f2892499ee07544b0f0690dbd3f8e029ef084f53658ef11882b34187d56a49d5') version('1.5', sha256='ff25d5e8c528b8990b7638de2d624f3d1f74777d14d5b214fbd6d37c6d38c50a') version('1.4.1', sha256='13ecc8d3a2449423b7e776cee8bd2d7af9a76ff1792ca2158bb61084bcb9683e') version('1.4', sha256='f693a070eb1d8ad8ca6bd997eb735cb4c47f6ea09d207c57b25e295b84584e46') depends_on('freeglut') depends_on('ilcutil') def cmake_args(self): # install error if build_testing is on # see https://github.com/iLCSoft/CED/issues/7 #args = [self.define("BUILD_TESTING", self.run_tests)] args = [] return args
class Kaltest(CMakePackage, Ilcsoftpackage): """ Kaltest tracking software. """ homepage = "https://github.com/iLCSoft/KalTest" url = "https://github.com/iLCSoft/KalTest/archive/v02-05.tar.gz" git = "https://github.com/iLCSoft/KalTest.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('2.5', sha256='8753ecf5ed7819744cc66a652cf8ddcd0d783a25ee19b5387212f70dd9abbce5') version('2.4', sha256='8cd089a51c499cc807dda196150a3da124b4a2a192bcc6b2d55b9c8b5481e5d5') version('2.3', sha256='fa09a8e4a29c18b7b7b094d5d675a70b15eca1a9871c64141bafb9da0b893d3e') version('2.2', sha256='af0a2bbb842c83dc9dcd9717ae836d1f3bc4207730d0bd18d1264d8958b79e95') version('2.1', sha256='2bf0e0407a7de5c4a59c722027daea46967c60e9e9bcfc7d4fa22d2127360e7c') version('2.0', sha256='46b02bbea72e44c4309faa7e6d419b7ae103845125c8e4e9f3de864cba766e58') depends_on('ilcutil') depends_on('root') patch("dict.patch") def cmake_args(self): args = [] # C++ Standard args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec['root'].variants['cxxstd'].value) args.append('-DBUILD_TESTING=%s' % self.run_tests) return args def setup_run_environment(self, spack_env): # The dictionary headers required kaltest to be in CPATH or ROOT_INCLUDE_PATH # other libraries require include to be searchable (which is automatic) spack_env.prepend_path('CPATH', self.prefix.include.kaltest)
class Marlinfastjet(CMakePackage, Ilcsoftpackage): """Marlin processor to interface FastJet.""" url = "https://github.com/iLCSoft/MarlinFastjet/archive/v00-05-02.tar.gz" homepage = "https://github.com/iLCSoft/MarlinFastjet" git = "https://github.com/iLCSoft/MarlinFastjet.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.5.2', sha256= 'abdffa6c2c9328bb094456f6003920d0c860e7faa5c76aea650da9e47e698bdf') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('fastjet') depends_on('fjcontrib') depends_on('root') def cmake_args(self): args = [] # C++ Standard args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec['root'].variants['cxxstd'].value) args.append('-DBUILD_TESTING=%s' % self.run_tests) return args def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libMarlinFastJet.so")
class DualReadout(CMakePackage, Key4hepPackage): """Repository for GEANT4 simulation & analysis of the dual-readout calorimeter """ url = "https://github.com/HEP-FCC/dual-readout/archive/v0.0.2.tar.gz" homepage = "https://github.com/HEP-FCC/dual-readout" git = "https://github.com/HEP-FCC/dual-readout.git" maintainers = ['vvolkl', 'SanghyunKo'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.0.2', sha256= 'f76c1febf3d8e29d5287ba03eacbc244f8c615502295f7471579245376da91ad') depends_on('dd4hep+geant4') depends_on('hepmc3+rootio') depends_on('fccsw') depends_on('fastjet') depends_on('root') depends_on('pythia8') depends_on('hsf-cmaketools') def cmake_args(self): args = [] # C++ Standard #args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec.variants['cxxstd'].value) if self.spec.satisfies('^gaudi@:34.99'): args.append('-DHOST_BINARY_TAG=x86_64-linux-gcc9-opt') return args def setup_build_environment(self, env): env.set('PYTHIA8_ROOT_DIR', self.spec["pythia8"].prefix)
class Lcfivertex(CMakePackage, Ilcsoftpackage): """Package for vertex finding as well as vertex charge determination in b- and c-jets.""" url = "https://github.com/iLCSoft/LCFIVertex/archive/v00-08.tar.gz" homepage = "https://github.com/iLCSoft/LCFIVertex" git = "https://github.com/iLCSoft/LCFIVertex.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.8', sha256= '37f3ea8754cefb60073471c298b4c1926ef9858e8edb4c51affa1ff7de4e2fb8') depends_on('lcio') depends_on('boost') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('raida') patch('tixml.patch', when="@0.8") def cmake_args(self): args = [self.define('INSTALL_DOC', False)] return args
class Raida(CMakePackage, Ilcsoftpackage): """ A utility package for the iLCSoft software framework """ homepage = "https://github.com/iLCSoft/raida" git = "https://github.com/iLCSoft/raida.git" url = "https://github.com/iLCSoft/raida/archive/v01-06.tar.gz" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.9.0', sha256= '53ad3fd7c62e5eba70e6d6099e5ef4d92920399afb7b31dc8008b6ad865a9e85') depends_on('ilcutil') depends_on("root") def cmake_args(self): args = [] # C++ Standard args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec['root'].variants['cxxstd'].value) args.append('-DBUILD_TESTING=%s' % self.run_tests) return args
class Marlinreco(CMakePackage, Ilcsoftpackage): """Assembly of various Marlin processor for reconstruction.""" url = "https://github.com/iLCSoft/MarlinReco/archive/v01-27.tar.gz" homepage = "https://github.com/iLCSoft/MarlinReco" git = "https://github.com/iLCSoft/MarlinReco.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.27', sha256= '097462b714e9a47c90154ae1a82de44946d6473b07a659c810263ae53dc8253c') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('marlinkinfit') depends_on('marlintrk') depends_on('gsl') depends_on('root') depends_on('boost') depends_on('dd4hep') depends_on('raida') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libMarlinReco.so")
class Overlay(CMakePackage, Ilcsoftpackage): """The package Overlay provides code for event overlay with Marlin.""" url = "https://github.com/iLCSoft/Overlay/archive/v00-22.tar.gz" homepage = "https://github.com/iLCSoft/Overlay" git = "https://github.com/iLCSoft/Overlay.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.22.1', sha256='2f3ca472fe6aae44cdae0553f0e65b3c086a0d887d9cf53fd19468fb6107155b') version('0.22', sha256='fa03e2870b8f072fd9c1cd68354274437050ce6ed30d0db9a816a3cbdee54cb1') version('0.21', sha256='b64bac24d8218f33b871aa232e994a3e12c8a0c7862789b09f9ca189ae20d8c4') version('0.20', sha256='f8baa3d17b1382cdcb8d3fdff34cbbe0c510885a1b94aee4dcdb61c10dc3520d') version('0.19', sha256='0d946ab3e3e225dc49608772823997396a7999501ad140717acc4a6d09136a94') version('0.18', sha256='8f1bbacfd04400328f7be42d342cc8df84f8627b540d24c789decc178ba08d65') version('0.17-pre', sha256='0aff5f8c509148832590df847e928899dcec2cdef153a8d0e0d694994ae318fe') version('0.17', sha256='050c678520a01d92d12bc2256807e5aa37614097e3269ed219b56689e1b731ab') version('0.16', sha256='9ade6b4920256275a3bdecb9315ab700c99facbb79b9fb374afac8fc83967430') version('0.15', sha256='fa16f66bef0325f63d733214ed98bbc60225a99c039e39139609fef262a124a0') version('0.22', sha256='fa03e2870b8f072fd9c1cd68354274437050ce6ed30d0db9a816a3cbdee54cb1') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('clhep') depends_on('raida') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libOverlay.so")
class Marlintrkprocessors(CMakePackage, Ilcsoftpackage): """A collection of Tracking Relelated Processors Based on MarlinTrk""" url = "https://github.com/iLCSoft/MarlinTrkProcessors/archive/v02-11.tar.gz" homepage = "https://github.com/iLCSoft/MarlinTrkProcessors" git = "https://github.com/iLCSoft/MarlinTrkProcessors.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('2.11', sha256= '49a567831e2b7a0c43ded955ce31fbe7d467a59960f4bcc2c2120e20762639b0') depends_on('marlin') depends_on('marlinutil') depends_on('dd4hep') depends_on('marlintrk') depends_on('kitrack') depends_on('kitrackmarlin') depends_on('gsl') depends_on('ddkaltest') depends_on('raida') def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libMarlinTrkProcessors.so")
class Marlinkinfit(CMakePackage, Ilcsoftpackage): """Kinematic Fitting Library for Marlin""" url = "https://github.com/iLCSoft/MarlinKinfit/archive/v00-06.tar.gz" homepage = "https://github.com/iLCSoft/MarlinKinfit" git = "https://github.com/iLCSoft/MarlinKinfit.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.6', sha256= 'e22127f3d349c5b5a6a1c95585f5bf410d77cf598b3432b188f781436632372a') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('clhep') depends_on('gsl') depends_on('root') depends_on('raida') def cmake_args(self): args = [] # C++ Standard args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec['root'].variants['cxxstd'].value) args.append('-DBUILD_TESTING=%s' % self.run_tests) return args def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libMarlinKinfit.so")
class Lcfiplus(CMakePackage, Ilcsoftpackage): """Flavor tagging code for ILC detectors, for documentation consult confluence at https://confluence.slac.stanford.edu/display/ilc/LCFIPlus""" url = "https://github.com/lcfiplus/LCFIPlus/archive/v00-10.tar.gz" homepage = "https://github.com/lcfiplus/LCFIPlus" git = "https://github.com/lcfiplus/LCFIPlus.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.10', sha256='0d4d27cd0d9407cd2f13e5a978be8c9389bc86c78c2eefd0ae7c060c4b7196c3') depends_on('marlin') depends_on('marlinutil') depends_on('lcfivertex') depends_on('root +tmva') patch("dict.patch") def cmake_args(self): args = [] # todo: add variant args.append(self.define('INSTALL_DOC', False)) return args @run_after('install') def install_source(self): install_tree('include', self.prefix.include) def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libLCFIPlus.so")
class K4marlinwrapper(CMakePackage, Ilcsoftpackage): """Gaudify Marlin Processors in order to run them in the Key4HEP framework""" homepage = "https://github.com/key4hep/k4MarlinWrapper" git = "https://github.com/key4hep/k4MarlinWrapper.git" url = "https://github.com/key4hep/k4MarlinWrapper/archive/v00-01.tar.gz" maintainers = ['fdplacido'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.3', sha256='381fd96e2ede03bec048afaeef13b8efffe80030fc097fe18fae62b03c0fba94') version('0.2.1', sha256='7aeb0cfff97fe67bb046ea80e7ed219a51c31add2b7770cdb9fd022a1b1497b9') version('0.2', sha256='15809cbc141364c5856c58f8b21e954bde29479703b79020e8b47dbd55f41f73') version('0.1', sha256='d3048178b2f9b721a64ee296019435cbbbce5a65ad956ec733cdb203730db188') depends_on('root') depends_on('lcio') depends_on('marlin') depends_on('[email protected]:', when="@0.2.2:") depends_on('gaudi@:34.99', when="@:0.2.1") def cmake_args(self): args = [] if self.spec.satisfies('^gaudi@:34.99'): args += [ self.define('HOST_BINARY_TAG','x86_64-linux-gcc9-opt') ] return args def setup_run_environment(self, spack_env): spack_env.prepend_path('PYTHONPATH', self.prefix.python) spack_env.prepend_path("PATH", self.prefix.scripts) spack_env.set("K4MARLINWRAPPER", self.prefix.share.k4MarlinWrapper)
class Clicperformance(CMakePackage, Ilcsoftpackage): """ Package containing processors and configurations to determine the performance of the CLIC detector model""" url = "https://github.com/iLCSoft/ClicPerformance/archive/v02-04.tar.gz" homepage = "https://github.com/iLCSoft/ClicPerformance" git = "https://github.com/iLCSoft/ClicPerformance.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('02-04', sha256='4e68230b558b3ba471b67d717bddabe609baa25f0228c18a2e8889ed9630f076') depends_on('ilcutil') depends_on('marlin') depends_on('marlinutil') depends_on('marlintrk') depends_on('gsl') depends_on('root') depends_on('dd4hep') depends_on('raida') #TODO: build_testing def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libClicPerformance.so")
class Marlindd4hep(CMakePackage, Ilcsoftpackage): """Provides one processor to initialize a DD4hep detector geometry from a compact file for a Marlin job.""" url = "https://github.com/iLCSoft/MarlinDD4hep/archive/v00-06.tar.gz" homepage = "https://github.com/iLCSoft/MarlinDD4hep" git = "https://github.com/iLCSoft/MarlinDD4hep.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.6', sha256='1cf8eb03bbdf6da8fbf277d8168d97f77e1675850a7e66d0e9f90684e3a2f077') depends_on('ilcutil') depends_on('marlin') depends_on('dd4hep') def cmake_args(self): args = [] # todo: add variant args.append(self.define('INSTALL_DOC', False)) return args def setup_run_environment(self, spack_env): spack_env.prepend_path('MARLIN_DLL', self.prefix.lib + "/libMarlinDD4hep.so")
class K4lcioreader(CMakePackage, Key4hepPackage): """LCIO reader based on PODIO and EDM4hep""" homepage = "https://github.com/key4hep/k4LCIOReader" url = "https://github.com/key4hep/k4LCIOReader/archive/v0.1.0.tar.gz" git = "https://github.com/key4hep/k4LCIOReader.git" maintainers = ['mirguest'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('0.1.0', sha256='996d1ff78c0a8a2f7f358dd4ea19f955853ad0902ee86b99c484de58c5fc2e2c') version('0.2.0', sha256='346fc2ba4b4175895597e093f566ba6407be9eeb9cde0766304e0f19ad03e081') version('0.3.0', sha256='ce6a5596a21bfa23e641eda84830d8aa7caf15fd47da35878ee61e7f555d0e51') variant('cxxstd', default='17', values=('14', '17'), multi=False, description='Use the specified C++ standard when building.') depends_on('lcio') depends_on('[email protected]:') depends_on('edm4hep') depends_on('[email protected]', when='@:0.2.0') depends_on('[email protected]:', when='@0.3:') def cmake_args(self): args = [] args.append('-DCMAKE_CXX_STANDARD=%s'%self.spec.variants['cxxstd'].value) return args
class Marlintrk(CMakePackage): """Tracking Package based on LCIO and GEAR, primarily aimed at providing track fitting in Marlin.""" homepage = "https://github.com/iLCSoft/MarlinTrk" url = "https://github.com/iLCSoft/MarlinTrk/archive/v02-08.tar.gz" git = "https://github.com/iLCSoft/MarlinTrk.git" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('2.8', sha256= 'bd3b0074c06e2b778c74d1aeb2c989c39100a8adf5018792db599f84cb946c14') version('2.7', sha256= 'c6e556d18ae6f2f3ae6c0fd8aa4322ce866e08b54b48ce95d09636443eff53ea') version('2.6', sha256= 'a7be303a775eeb1a7b91f17710669878da9a6d4cca16aed1d251e63a8885c7fd') version('2.5', sha256= 'b5174986160315a62adba29f64fad2a27c8a7f53754a6b55740ea74f212cf9da') version('2.4', sha256= 'f77556cee804ec4ddd74dd229685fac07a462178b33b629f26cacbf4336c7cb7') version('2.3', sha256= '6240a09c259b4632658fa43bbb5e6d0248c0d8b706fb54cbac563ab3aa5a7d58') version('2.2', sha256= '15515259f422ba23cb9f717834fb6d1e3e3ee9ca4ad17c04dd5efd8aa1c16113') version('2.1', sha256= 'a721c9b871b234be1decc88cabf5125b959a971ede74b9c2c368a505a1c6718e') variant('gear', default=False, description="Provide Gear backward compatibility") depends_on('ilcutil') depends_on('lcio') depends_on('gear', when="+gear") depends_on('kaltest') depends_on('kaldet') depends_on('root') depends_on('ddkaltest') depends_on('clhep') depends_on('aidatt') depends_on('gsl') depends_on('generalbrokenlines') def cmake_args(self): args = [self.define_from_variant("MARLINTRK_USE_GEAR", "gear")] return args def url_for_version(self, version): return ilc_url_for_version(self, version)
class K4fwcore(CMakePackage, Key4hepPackage): """Core framework components of the Key4HEP project""" homepage = "https://github.com/key4hep/k4FWCore" url = "https://github.com/key4hep/k4FWCore/archive/v00-01.tar.gz" git = "https://github.com/key4hep/k4FWCore.git" version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.0pre05', tag="v01-00pre05") version('0.2.0', sha256= '7d1a6e7494f08c2b25901cab2138795f21b6c4e84f05c4f8b9a6839787874b72', preferred=True) version('0.1.1', sha256= '9c4e4b487f7d9c982547c13570345399505e763fb369b76ceadb35c1d52bf6aa') version('0.1.0', sha256= 'aef682649f3fcb1d72de897fbf6ec4ed421c8a4836bb3462c4b0049a709374e4') variant('build_type', default='Release', description='CMake build type', values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel')) variant('cxxstd', default='17', values=('14', '17'), multi=False, description='Use the specified C++ standard when building.') depends_on('[email protected]:', when='@0.3.0:') depends_on('[email protected]:34.99', when='@:0.2.99') depends_on('[email protected]:') depends_on('[email protected]:') depends_on('edm4hep') def cmake_args(self): args = [] # C++ Standard args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec.variants['cxxstd'].value) # Setting this bypasses the get_binary_tag.py script # and a check for BINARY_TAG which is not used in this build system # should become obsolete with the cmake modernisation in gaudi v34 if self.spec.satisfies('^gaudi@:34.99'): args.append('-DHOST_BINARY_TAG=x86_64-linux-gcc9-opt') return args def url_for_version(self, version): return ilc_url_for_version(self, version) def setup_run_environment(self, spack_env): spack_env.prepend_path('PYTHONPATH', self.prefix.python) spack_env.prepend_path("PATH", self.prefix.scripts)
class Tricktrack(CMakePackage): """TrickTrack aims to encapsulate the Cellular-Automaton based seeding code used in CMSSW in a standalone library.""" homepage = "https://cern.ch/tricktrack" url = "https://github.com/HSF/TrickTrack/archive/v1.0.8.tar.gz" git = "https://github.com/HSF/TrickTrack.git" tags = ['hep'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.0.9', sha256='988cedbb28ec8f5cc95b762aa8a38e36d75cfc47bd009c9dc4ef365e9751b80d') version('1.0.8', sha256='fe5f8d178f8a0a28ac423ad6e9c449772ba547ec3ef7e365c4644d9b5b44cf85') version('1.0.7', sha256='e567de7c3c6e8096bd77873ac59fc4667661cdb380d089dcd6443a9d9834f3ef') version('1.0.6', sha256='c7c5d6c492f65acd020a600664c5fa75c5caf9de33bb392f46771abad7650398') version('1.0.5', sha256='5fe3f9ac523ca2381b11aef57057ec75b85aa9ee0a3fb6bac4710d2c76961692') version('1.0.4', sha256='de4b1245a94e0905bcb9387e4a3b675298de916e631d3136f32ac1ab9e01855d') version('1.0.1', sha256='4b7fbd3734a5ef30a3abecaf7b15318a1856ff31fac822775035e00669dc921d') variant('documentation', default=False, description='Build doxygen documentation') variant('python', default=False, description='Build python bindings') variant('logger', default=False, description='Use spdlog for logging') variant('logger_standalone', default=False, description='Use spdlog standalone (as opposed to in a framework)') depends_on('eigen', when="@1.0.4:") depends_on('doxygen', when="+documentation") depends_on('spdlog', when="+logger") depends_on('python', when="+python", type=('run')) patch('eigen.patch', when="@1.0.4") patch('findeigen.patch', when="@1.0.4") def cmake_args(self): spec = self.spec args = [ '-Dtricktrack_documentation:BOOL=%s' % ( 'ON' if '+documentation' in spec else 'OFF'), '-Dtricktrack_python:BOOL=%s' % ( 'ON' if '+python' in spec else 'OFF'), ] if '+logger' in spec: args.extend(['-DUSE_SPDLOG']) if '+logger_standalone' in spec: args.extend(['-DUSE_SPDLOG_STANDALONE']) return args
class Generalbrokenlines(CMakePackage): """Track refitting with broken lines in 3D.""" homepage = "https://github.com/GeneralBrokenLines/GeneralBrokenLines" url = "https://github.com/GeneralBrokenLines/GeneralBrokenLines/archive/V02-02-00.tar.gz" git = "https://github.com/GeneralBrokenLines/GeneralBrokenLines.git" tags = ['hep'] maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('2.2.0', sha256='81237239415d9c0ee05223c035f22353880084121b587c384ebd0a5754677dfc') version('2.1.3', sha256='f96bc7ae5e5d1199517598a44c293b793e5d8e987e1737fae0b67ffc1f8c4f9f') version('2.1.2', sha256='a0a81c0682501016df8a0760234138e4546c88dbafa40ef29050d2929bdc9827') version('2.1.1', sha256='21fe55d7aee2022a8f7d873c3b191ad334915d643956f18004a6d967d22d3e39') version('2.1.0', sha256='27fe33529447b1976ecbdcafaabd1aeab072b5773685a89d6c0f3ac10fd2b920') version('2.0.1', sha256='351625b17d51ca6631c7901dcebad80b328def5f05f46b194f1990f547f1e248') version('2.0.0', sha256='58ca3e1da1cc198da5bdef9c893c622475fbc145bdd6e2ebcd92e763abcda838') version('1.18.0', sha256='1e08bd97bfd6bb4afc165cd960f7e68199085f40bb368163db8885a529c4017e') version('1.17.1', sha256='66afdce406f7e7fe06c3faeadd73d651e39b9a2d60d0207b816bc2798159208d') version('1.17.0', sha256='f0cd628fd734fc7228ff25bfd20958a7ae4fc2c290796957b3790e617143f56a') depends_on('eigen') depends_on('root') def cmake_args(self): args = [ self.define("SUPPORT_ROOT", True) ] args.append('-DCMAKE_CXX_STANDARD=%s' % self.spec['root'].variants['cxxstd'].value) return args def url_for_version(self, version): # translate version numbers to ilcsoft conventions. # in spack, the convention is: 0.1 (or 0.1.0) 0.1.1, 0.2, 0.2.1 ... # in ilcsoft, releases are dashed and padded with a leading zero # the patch version is omitted when 0 # so for example v01-12-01, v01-12 ... base_url = self.url.rsplit('/', 1)[0] major = str(version[0]).zfill(2) minor = str(version[1]).zfill(2) # handle the different cases for the patch version: # first case, no patch version is given in spack, i.e 0.1 if len(version) == 3: patch = str(version[2]).zfill(2) # ... but it is zero, and not part of the ilc release url url = base_url + "/V%s-%s-%s.tar.gz" % (major, minor, patch) else: print('Error - Wrong version format provided') return return url
class Marlin(CMakePackage, Ilcsoftpackage): """ Linear Collider framework""" homepage = "https://github.com/iLCSoft/marlin" git = "https://github.com/iLCSoft/marlin.git" url = "https://github.com/iLCSoft/marlin/archive/v01-05.tar.gz" maintainers = ['vvolkl'] version('master', branch='master') k4_add_latest_commit_as_version(git) version('1.17.1', sha256='b928c6072bbf8db5fdb3b9716227b8724dfc90182967212cd9f2f51ceb760dd0') version('1.17', sha256='076acc3a91b7e2e253f338395a8e56bf00498e6aa1a118d3e7bde84f1065d3d6') variant('gui', default=False, description="builds with qt gui") variant('lccd', default=False, description="builds with lccd") variant('clhep', default=True, description="builds with clhep") variant('aida', default=True, description="builds with aida") variant('doc', default=False, description="build doxygen documentation") depends_on("ilcutil") depends_on("gear") depends_on("lcio") depends_on("doxygen", when="+doc") depends_on("qt4", when="+gui") depends_on("lccd", when="+lccd") depends_on("clhep", when="+clhep") depends_on("raida", when="+aida") def cmake_args(self): args = [] # todo: add variant args.append(self.define_from_variant('INSTALL_DOC', 'doc')) args.append(self.define_from_variant('MARLIN_GUI', 'gui')) args.append(self.define_from_variant('MARLIN_LCCD', 'lccd')) args.append(self.define_from_variant('MARLIN_CLHEP', 'clhep')) args.append(self.define_from_variant('MARLIN_AIDA', 'aida')) args.append('-DCMAKE_CXX_STANDARD=17') if 'aida' in self.spec: args.append('-DAIDA_DIR=%s' % self.spec["aida"].prefix) return args