]> granicus.if.org Git - neomutt/commitdiff
Require GPGME version 1.2.0 and drop useless HAVE macros.
authorWerner Koch <wk@gnupg.org>
Mon, 3 Dec 2018 07:41:53 +0000 (08:41 +0100)
committerPietro Cerutti <gahr@gahr.ch>
Thu, 6 Dec 2018 11:54:44 +0000 (11:54 +0000)
GPGME 1.2.0 was released nearly 10 years ago and thus we can really
demand this version.  For various reasons it would be advisable to
require a decent version but that is a different thing and needs to be
done in a separate patch.

HAVE_GPGME_OP_EXPORT_KEYS and HAVE_GPGME_PKA_TRUST are not anymore
needed because they are supported by that GPGME version.

auto.def
ncrypt/crypt_gpgme.c

index ebd129bb39377cb6e905637c5380abba7c9481a8..3e77fefcc111c0b73a530695cb6306b94e3b03ee 100644 (file)
--- a/auto.def
+++ b/auto.def
@@ -154,7 +154,8 @@ if {1} {
   # Get the value of a macro by preprocessing a header file that defines it
   proc check-define-value {incfile macro} {
     set code "#include \"$incfile\"\n$macro"
-    if {[catch {exec [get-define CC] -xc - -E | tail -1 << $code} out]} {
+    if {[catch {exec [get-define CC] {*}[get-define CFLAGS] -xc - -E | tail -1 << $code} out]} {
+      user-notice $out
       set out ""
     }
     set out
@@ -374,7 +375,24 @@ if {[get-define want-gpgme]} {
                             gpgme.h gpgme_new gpgme]} {
       user-error "Unable to find GPGME"
     }
-    cc-check-functions gpgme_op_export_keys
+    set gpg_ver {}
+    foreach path [list [opt-val with-gpgme $prefix] /usr] {
+      set incfile [file join $path include gpgme.h]
+      if {![file exists $incfile]} {
+        continue
+      }
+      set gpg_ver [check-define-value $incfile GPGME_VERSION_NUMBER]
+      if {$gpg_ver eq {}} {
+        user-error "Unable to find GPGME version number"
+      }
+      set req_ver [format "0x%02x%02x%02x" 1 2 0]
+      if {$req_ver > $gpg_ver} {
+        user-error "Found GPGME version $gpg_ver, need $req_ver"
+      }
+    }
+    if {$gpg_ver eq {}} {
+      user-error "Unable to find GPGME"
+    }
   }
   define CRYPT_BACKEND_GPGME
 }
index e06293e2e15b80d8ab56a77aea4b404fd435b182..081d9fa384a696a6c5b2a945e2907d7015c4c81f 100644 (file)
@@ -4907,7 +4907,6 @@ char *smime_gpgme_find_keys(struct Address *addrlist, bool oppenc_mode)
  */
 struct Body *pgp_gpgme_make_key_attachment(void)
 {
-#ifdef HAVE_GPGME_OP_EXPORT_KEYS
   gpgme_ctx_t context = NULL;
   gpgme_key_t export_keys[2];
   gpgme_data_t keydata = NULL;
@@ -4963,9 +4962,6 @@ bail:
   gpgme_release(context);
 
   return att;
-#else
-  return NULL;
-#endif
 }
 
 /**