[pacman-dev] [PATCH 3/3] meson: use dependency('gpgme') exclusively

Eli Schwartz eschwartz at archlinux.org
Tue Jun 25 20:28:17 UTC 2019


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 at archlinux.org>
---

25 lines gone, if only we could do the same to configure.ac :p

 meson.build       | 33 +++++----------------------------
 meson_options.txt |  2 --
 2 files changed, 5 insertions(+), 30 deletions(-)

diff --git a/meson.build b/meson.build
index f5fdd733..db9e9349 100644
--- a/meson.build
+++ b/meson.build
@@ -97,36 +97,13 @@ libcurl = dependency('libcurl',
                      static : get_option('buildstatic'))
 conf.set('HAVE_LIBCURL', libcurl.found())
 
-want_gpgme = get_option('gpgme')
+needed_gpgme_version = '>=1.3.0'
 gpgme = dependency('gpgme',
-                   required : false,
-                   static : get_option('buildstatic'))
-# gpgme recently began providing a pkg-config file. Create a fake dependency
-# object if it cannot be found, by manually searching for libs.
-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
-
+                   version : needed_gpgme_version,
+                   required : get_option('gpgme'),
+                   static : get_option('buildstatic'),
+                   not_found_message : 'gpgme @0@ is needed for GPG signature support'.format(needed_gpgme_version))
 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')
 if want_crypto == 'openssl'
diff --git a/meson_options.txt b/meson_options.txt
index ffa4ddff..2d640e87 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -47,8 +47,6 @@ option('crypto', type : 'combo', choices : ['openssl', 'nettle'],
 
 option('gpgme', type : 'feature', value : 'auto',
        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,
        description : 'enable localization of pacman, libalpm and scripts')
-- 
2.22.0


More information about the pacman-dev mailing list