elfutils: add support for debuginfod (#18227)

This commit is contained in:
Tim Haines 2020-08-31 22:35:18 -05:00 committed by GitHub
parent 9b6c2e80fe
commit 7926f84022
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -43,13 +43,25 @@ class Elfutils(AutotoolsPackage, SourcewarePackage):
variant('nls', default=True, variant('nls', default=True,
description='Enable Native Language Support.') description='Enable Native Language Support.')
# libdebuginfod support
variant('debuginfod', default=False,
description='Enable libdebuginfod support.')
depends_on('bzip2', type='link', when='+bzip2') depends_on('bzip2', type='link', when='+bzip2')
depends_on('xz', type='link', when='+xz') depends_on('xz', type='link', when='+xz')
depends_on('zlib', type='link') depends_on('zlib', type='link')
depends_on('gettext', when='+nls') depends_on('gettext', when='+nls')
depends_on('m4', type='build') depends_on('m4', type='build')
# debuginfod has extra dependencies
# NB: Waiting on an elfutils patch before we can use libmicrohttpd@0.9.71
depends_on('libmicrohttpd@0.9.33:0.9.70', type='link', when='+debuginfod')
depends_on('libarchive@3.1.2:', type='link', when='+debuginfod')
depends_on('sqlite@3.7.17:', type='link', when='+debuginfod')
depends_on('curl@7.29.0:', type='link', when='+debuginfod')
conflicts('%gcc@7.2.0:', when='@0.163') conflicts('%gcc@7.2.0:', when='@0.163')
conflicts('+debuginfod', when='@:0.178')
provides('elf@1') provides('elf@1')
@ -92,9 +104,9 @@ def configure_args(self):
else: else:
args.append('--disable-nls') args.append('--disable-nls')
# The experimental debuginfod server requires libmicrohttpd if '+debuginfod' in spec:
# which doesn't have a spack package args.append('--enable-debuginfod')
if spec.satisfies('@0.178:'): elif spec.satisfies('@0.178:'):
args.append('--disable-debuginfod') args.append('--disable-debuginfod')
return args return args