Add libtree 3.0.0-rc9 (#27990)
This commit is contained in:
parent
c1d51593d1
commit
9ec638c7bb
@ -3,12 +3,11 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
from spack import *
|
from spack.build_systems.cmake import CMakePackage
|
||||||
|
|
||||||
|
|
||||||
class Libtree(CMakePackage):
|
class Libtree(MakefilePackage):
|
||||||
"""ldd as a tree with an option to bundle dependencies into a
|
"""ldd as a tree"""
|
||||||
single folder"""
|
|
||||||
|
|
||||||
homepage = "https://github.com/haampie/libtree"
|
homepage = "https://github.com/haampie/libtree"
|
||||||
git = "https://github.com/haampie/libtree.git"
|
git = "https://github.com/haampie/libtree.git"
|
||||||
@ -16,6 +15,7 @@ class Libtree(CMakePackage):
|
|||||||
maintainers = ['haampie']
|
maintainers = ['haampie']
|
||||||
|
|
||||||
version('master', branch='master')
|
version('master', branch='master')
|
||||||
|
version('3.0.0-rc9', sha256='6956c51d58a4f43a23fea0fe7fc5141034829058bfc434e089c9ef1d1848229a')
|
||||||
version('2.0.0', sha256='099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883')
|
version('2.0.0', sha256='099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883')
|
||||||
version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf')
|
version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf')
|
||||||
version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd')
|
version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd')
|
||||||
@ -35,20 +35,27 @@ def url_for_version(self, version):
|
|||||||
|
|
||||||
return "https://github.com/haampie/libtree/archive/refs/tags/v{0}.tar.gz".format(version)
|
return "https://github.com/haampie/libtree/archive/refs/tags/v{0}.tar.gz".format(version)
|
||||||
|
|
||||||
variant('chrpath', default=False, description='Use chrpath for deployment')
|
# Version 3.x (Makefile)
|
||||||
variant('strip', default=False, description='Use binutils strip for deployment')
|
@when('@3:')
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
make('install', 'PREFIX=' + prefix)
|
||||||
|
|
||||||
|
# Version 2.x and earlier (CMake)
|
||||||
|
with when('@:2'):
|
||||||
|
variant('chrpath', default=False, description='Use chrpath for deployment')
|
||||||
|
variant('strip', default=False, description='Use binutils strip for deployment')
|
||||||
|
variant('build_type', default='RelWithDebInfo',
|
||||||
|
description='CMake build type',
|
||||||
|
values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
|
||||||
|
depends_on('googletest', type='test')
|
||||||
|
depends_on('cmake@3:', type='build')
|
||||||
|
depends_on('chrpath', when='+chrpath', type='run')
|
||||||
|
depends_on('binutils', when='+strip', type='run')
|
||||||
|
|
||||||
# header only dependencies
|
# header only dependencies
|
||||||
depends_on('cpp-termcolor', when='@2.0:', type='build')
|
depends_on('cpp-termcolor', when='@2.0.0:2', type='build')
|
||||||
depends_on('cxxopts', when='@2.0:', type='build')
|
depends_on('cxxopts', when='@2.0.0:2', type='build')
|
||||||
depends_on('elfio', when='@2.0:', type='build')
|
depends_on('elfio', when='@2.0.0:2', type='build')
|
||||||
|
|
||||||
# runtime deps
|
|
||||||
depends_on('chrpath', when='+chrpath', type='run')
|
|
||||||
depends_on('binutils', when='+strip', type='run')
|
|
||||||
|
|
||||||
# testing
|
|
||||||
depends_on('googletest', type='test')
|
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
tests_enabled = 'ON' if self.run_tests else 'OFF'
|
tests_enabled = 'ON' if self.run_tests else 'OFF'
|
||||||
@ -58,9 +65,17 @@ def cmake_args(self):
|
|||||||
tests_define = 'BUILD_TESTING'
|
tests_define = 'BUILD_TESTING'
|
||||||
|
|
||||||
return [
|
return [
|
||||||
self.define(tests_define, tests_enabled)
|
CMakePackage.define(tests_define, tests_enabled)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@when('@:2')
|
||||||
|
def edit(self, spec, prefix):
|
||||||
|
options = CMakePackage._std_args(self) + self.cmake_args()
|
||||||
|
options.append(self.stage.source_path)
|
||||||
|
with working_dir(self.build_directory):
|
||||||
|
cmake(*options)
|
||||||
|
|
||||||
|
@when('@:2')
|
||||||
def check(self):
|
def check(self):
|
||||||
with working_dir(self.build_directory):
|
with working_dir(self.build_directory):
|
||||||
ctest('--output-on-failure')
|
ctest('--output-on-failure')
|
||||||
|
Loading…
Reference in New Issue
Block a user