Exemple #1
0
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")
Exemple #2
0
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)
Exemple #3
0
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
Exemple #4
0
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")
Exemple #5
0
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")
Exemple #6
0
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)
Exemple #7
0
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
Exemple #8
0
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
Exemple #9
0
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")
Exemple #10
0
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
Exemple #11
0
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
Exemple #12
0
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)
Exemple #13
0
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")
Exemple #14
0
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)
Exemple #15
0
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
Exemple #16
0
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
Exemple #17
0
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")
Exemple #18
0
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")
Exemple #19
0
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")
Exemple #20
0
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")
Exemple #21
0
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")
Exemple #22
0
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)
Exemple #23
0
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")
Exemple #24
0
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")
Exemple #25
0
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
Exemple #26
0
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)
Exemple #27
0
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)
Exemple #28
0
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
Exemple #29
0
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
Exemple #30
0
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