From 30f7a694cc4568ecb24f77c83a6123ed3f4075fa Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 31 Jan 2018 10:44:19 +0800
Subject: [PATCH] gpgme/lang/python: gpg-error-config should not be used

gpg-error-config was modified by OE to always return an error.
So we want to find an alternative way to retrieve whatever it
is we need.

Upstream-Status: Inappropriate [changes are specific to OE]

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>

Rework to 1.10.0

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 lang/python/setup.py.in | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
index f9dda20..9f5d61f 100755
--- a/lang/python/setup.py.in
+++ b/lang/python/setup.py.in
@@ -26,7 +26,6 @@ import shutil
 import subprocess
 
 # Out-of-tree build of the gpg bindings.
-gpg_error_config = ["gpg-error-config"]
 gpgme_config_flags = ["--thread=pthread"]
 gpgme_config = ["gpgme-config"] + gpgme_config_flags
 gpgme_h = ""
@@ -174,14 +173,7 @@ class BuildExtFirstHack(build):
 
     def _generate_errors_i(self):
 
-        try:
-            subprocess.check_call(gpg_error_config + ['--version'],
-                                  stdout=devnull)
-        except:
-            sys.exit("Could not find gpg-error-config.  " +
-                     "Please install the libgpg-error development package.")
-
-        gpg_error_content = self._read_header("gpg-error.h", getconfig("cflags", config=gpg_error_config))
+        gpg_error_content = self._read_header("gpg-error.h", os.environ.get('CFLAGS').split())
 
         filter_re = re.compile(r'GPG_ERR_[^ ]* =')
         rewrite_re = re.compile(r' *(.*) = .*')
-- 
1.8.3.1

