meson: use dependency('gpgme') exclusively
This works everywhere that gpgme >= 1.13.0 because it is a pkg-config dependency, and meson 0.51 adds a fallback config-tool dependency provider that detects older versions of gpgme seamlessly via gpgme-config. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
e7a2b2764a
commit
796c02af4c
2 changed files with 5 additions and 30 deletions
33
meson.build
33
meson.build
|
@ -97,36 +97,13 @@ libcurl = dependency('libcurl',
|
||||||
static : get_option('buildstatic'))
|
static : get_option('buildstatic'))
|
||||||
conf.set('HAVE_LIBCURL', libcurl.found())
|
conf.set('HAVE_LIBCURL', libcurl.found())
|
||||||
|
|
||||||
want_gpgme = get_option('gpgme')
|
needed_gpgme_version = '>=1.3.0'
|
||||||
gpgme = dependency('gpgme',
|
gpgme = dependency('gpgme',
|
||||||
required : false,
|
version : needed_gpgme_version,
|
||||||
static : get_option('buildstatic'))
|
required : get_option('gpgme'),
|
||||||
# gpgme recently began providing a pkg-config file. Create a fake dependency
|
static : get_option('buildstatic'),
|
||||||
# object if it cannot be found, by manually searching for libs.
|
not_found_message : 'gpgme @0@ is needed for GPG signature support'.format(needed_gpgme_version))
|
||||||
if not want_gpgme.disabled() and not gpgme.found()
|
|
||||||
gpgme_config = find_program('gpgme-config', required : want_gpgme)
|
|
||||||
if gpgme_config.found()
|
|
||||||
gpgme_version = run_command(gpgme_config, '--version').stdout().strip()
|
|
||||||
|
|
||||||
needed_gpgme_version = '>=1.3.0'
|
|
||||||
if gpgme_version.version_compare(needed_gpgme_version)
|
|
||||||
gpgme_libs = [
|
|
||||||
cc.find_library('gpgme',
|
|
||||||
dirs : [get_option('gpgme-libdir')]),
|
|
||||||
cc.find_library('gpg-error',
|
|
||||||
dirs : [get_option('gpgme-libdir')]),
|
|
||||||
cc.find_library('assuan',
|
|
||||||
dirs : [get_option('gpgme-libdir')]),
|
|
||||||
]
|
|
||||||
gpgme = declare_dependency(dependencies : gpgme_libs)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
conf.set('HAVE_LIBGPGME', gpgme.found())
|
conf.set('HAVE_LIBGPGME', gpgme.found())
|
||||||
if want_gpgme.enabled() and not conf.get('HAVE_LIBGPGME')
|
|
||||||
error('gpgme @0@ is needed for GPG signature support'.format(needed_gpgme_version))
|
|
||||||
endif
|
|
||||||
|
|
||||||
want_crypto = get_option('crypto')
|
want_crypto = get_option('crypto')
|
||||||
if want_crypto == 'openssl'
|
if want_crypto == 'openssl'
|
||||||
|
|
|
@ -47,8 +47,6 @@ option('crypto', type : 'combo', choices : ['openssl', 'nettle'],
|
||||||
|
|
||||||
option('gpgme', type : 'feature', value : 'auto',
|
option('gpgme', type : 'feature', value : 'auto',
|
||||||
description : 'use GPGME for PGP signature verification')
|
description : 'use GPGME for PGP signature verification')
|
||||||
option('gpgme-libdir', type : 'string', value : '/usr/lib',
|
|
||||||
description : 'search directory for gpgme libraries.')
|
|
||||||
|
|
||||||
option('i18n', type : 'boolean', value : true,
|
option('i18n', type : 'boolean', value : true,
|
||||||
description : 'enable localization of pacman, libalpm and scripts')
|
description : 'enable localization of pacman, libalpm and scripts')
|
||||||
|
|
Loading…
Add table
Reference in a new issue