summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/gpgme
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/gpgme')
-rw-r--r--meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch134
-rw-r--r--meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch (renamed from meta/recipes-support/gpgme/gpgme/pkgconfig.patch)94
-rw-r--r--meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch24
-rw-r--r--meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch52
-rw-r--r--meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch33
-rw-r--r--meta/recipes-support/gpgme/gpgme/0004-python-import.patch34
-rw-r--r--meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch31
-rw-r--r--meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch37
-rw-r--r--meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch52
-rw-r--r--meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch34
-rw-r--r--meta/recipes-support/gpgme/gpgme/gpgme.pc10
-rw-r--r--meta/recipes-support/gpgme/gpgme_1.16.0.bb87
-rw-r--r--meta/recipes-support/gpgme/gpgme_1.5.4.bb39
13 files changed, 571 insertions, 90 deletions
diff --git a/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch b/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
new file mode 100644
index 0000000000..0c15cc7c38
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
@@ -0,0 +1,134 @@
+From a001b3c23bf80fd752044615b9bba6b926ff9666 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 10 May 2019 14:18:04 +0800
+Subject: [PATCH] Revert "build: Make gpgme.m4 use gpgrt-config with *.pc."
+
+This reverts commit 60828a505a1c74fd34476c181df2a588ea6f9c83.
+
+The oe-core does not support gpgrt-config, so revert it
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/gpgme.m4 | 58 +++++++++-------------------------------------------
+ 1 file changed, 10 insertions(+), 48 deletions(-)
+
+diff --git a/src/gpgme.m4 b/src/gpgme.m4
+index c749a5d..8579146 100644
+--- a/src/gpgme.m4
++++ b/src/gpgme.m4
+@@ -1,5 +1,5 @@
+ # gpgme.m4 - autoconf macro to detect GPGME.
+-# Copyright (C) 2002, 2003, 2004, 2014, 2018 g10 Code GmbH
++# Copyright (C) 2002, 2003, 2004, 2014 g10 Code GmbH
+ #
+ # This file is free software; as a special exception the author gives
+ # unlimited permission to copy and/or distribute it, with or without
+@@ -9,7 +9,7 @@
+ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ #
+-# Last-changed: 2020-11-20
++# Last-changed: 2014-10-02
+
+
+ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+@@ -36,24 +36,10 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+ fi
+ fi
+
+- use_gpgrt_config=""
+- if test x"${GPGME_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
+- if $GPGRT_CONFIG gpgme --exists; then
+- GPGME_CONFIG="$GPGRT_CONFIG gpgme"
+- AC_MSG_NOTICE([Use gpgrt-config as gpgme-config])
+- use_gpgrt_config=yes
+- fi
+- fi
+- if test -z "$use_gpgrt_config"; then
+- AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
+- fi
++ AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
+
+ if test "$GPGME_CONFIG" != "no" ; then
+- if test -z "$use_gpgrt_config"; then
+- gpgme_version=`$GPGME_CONFIG --version`
+- else
+- gpgme_version=`$GPGME_CONFIG --modversion`
+- fi
++ gpgme_version=`$GPGME_CONFIG --version`
+ fi
+ gpgme_version_major=`echo $gpgme_version | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+@@ -66,16 +52,12 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+
+ AC_DEFUN([_AM_PATH_GPGME_CONFIG_HOST_CHECK],
+ [
+- if test -z "$use_gpgrt_config"; then
+- gpgme_config_host=`$GPGME_CONFIG --host 2>/dev/null || echo none`
+- else
+- gpgme_config_host=`$GPGME_CONFIG --variable=host 2>/dev/null || echo none`
+- fi
++ gpgme_config_host=`$GPGME_CONFIG --host 2>/dev/null || echo none`
+ if test x"$gpgme_config_host" != xnone ; then
+ if test x"$gpgme_config_host" != x"$host" ; then
+ AC_MSG_WARN([[
+ ***
+-*** The config script "$GPGME_CONFIG" was
++*** The config script $GPGME_CONFIG was
+ *** built for $gpgme_config_host and thus may not match the
+ *** used host $host.
+ *** You may want to use the configure option --with-gpgme-prefix
+@@ -136,11 +118,7 @@ AC_DEFUN([AM_PATH_GPGME],
+ # If we have a recent GPGME, we should also check that the
+ # API is compatible.
+ if test "$req_gpgme_api" -gt 0 ; then
+- if test -z "$use_gpgrt_config"; then
+- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+- else
+- tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0`
+- fi
++ tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+ if test "$tmp" -gt 0 ; then
+ if test "$req_gpgme_api" -ne "$tmp" ; then
+ ok=no
+@@ -280,11 +258,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
+ # If we have a recent GPGME, we should also check that the
+ # API is compatible.
+ if test "$req_gpgme_api" -gt 0 ; then
+- if test -z "$use_gpgrt_config"; then
+- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+- else
+- tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0`
+- fi
++ tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+ if test "$tmp" -gt 0 ; then
+ if test "$req_gpgme_api" -ne "$tmp" ; then
+ ok=no
+@@ -293,20 +267,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
+ fi
+ fi
+ if test $ok = yes; then
+- if test -z "$use_gpgrt_config"; then
+- GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags`
+- GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs`
+- else
+- if $GPGRT_CONFIG gpgme-glib --exists; then
+- GPGME_CONFIG="$GPGRT_CONFIG gpgme-glib"
+- GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --cflags`
+- GPGME_GLIB_LIBS=`$GPGME_CONFIG --libs`
+- else
+- ok = no
+- fi
+- fi
+- fi
+- if test $ok = yes; then
++ GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags`
++ GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs`
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ _AM_PATH_GPGME_CONFIG_HOST_CHECK
+--
+2.25.1
+
diff --git a/meta/recipes-support/gpgme/gpgme/pkgconfig.patch b/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
index f79e8658ae..827d95a151 100644
--- a/meta/recipes-support/gpgme/gpgme/pkgconfig.patch
+++ b/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
@@ -1,43 +1,61 @@
+From 98ce65902b197faa8f660564613ca2e504c2f8f8 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 10 May 2019 14:23:55 +0800
+Subject: [PATCH] pkgconfig
+
Update gpgme to use pkgconfig instead of -config files since its
simpler and less error prone when cross compiling.
-Upstream-Status: Rejected [Upstream not interested in pkg-config support]
+Upstream-Status: Denied [Upstream not interested in pkg-config support]
RP 2015/4/17
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Rebase to 1.13.0
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 1 +
+ src/Makefile.am | 4 +-
+ src/gpgme-pthread.pc.in | 15 +++++++
+ src/gpgme.m4 | 114 ++++--------------------------------------------
+ src/gpgme.pc.in | 4 +-
+ 5 files changed, 28 insertions(+), 110 deletions(-)
+ create mode 100644 src/gpgme-pthread.pc.in
+
diff --git a/configure.ac b/configure.ac
-index 298a22b..c778b61 100644
+index 25184f4..1c0a386 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -622,6 +622,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
- src/versioninfo.rc
+@@ -899,6 +899,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
+ src/gpgme-glib.pc
src/gpgme.h)
AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config)
-+AC_CONFIG_FILES(src/gpgme.pc src/gpgme-pthread.pc)
- AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpgme.asd])
- AC_OUTPUT
-
++AC_CONFIG_FILES(src/gpgme-pthread.pc)
+ AC_CONFIG_FILES(lang/cpp/Makefile lang/cpp/src/Makefile)
+ AC_CONFIG_FILES(lang/cpp/tests/Makefile)
+ AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 58922f9..40d0dca 100644
+index d85a85c..d942f3e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -20,11 +20,13 @@
+@@ -20,11 +20,11 @@
+ ## Process this file with automake to produce Makefile.in
+
+ pkgconfigdir = $(libdir)/pkgconfig
+-pkgconfig_DATA = gpgme.pc gpgme-glib.pc
++pkgconfig_DATA = gpgme.pc gpgme-glib.pc gpgme-pthread.pc
- # Note: moc_kdpipeiodevice should actually be a dependecy below.
EXTRA_DIST = gpgme-config.in gpgme.m4 libgpgme.vers ChangeLog-2011 \
-- gpgme.h.in versioninfo.rc.in gpgme.def moc_kdpipeiodevice.cpp
-+ gpgme.h.in versioninfo.rc.in gpgme.def moc_kdpipeiodevice.cpp gpgme.pc.in gpgme-pthread.pc.in
+ gpgme.h.in versioninfo.rc.in gpgme.def \
+- gpgme.pc.in gpgme-glib.pc.in
++ gpgme.pc.in gpgme-glib.pc.in gpgme-pthread.pc.in
bin_SCRIPTS = gpgme-config
m4datadir = $(datadir)/aclocal
- m4data_DATA = gpgme.m4
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = gpgme.pc gpgme-pthread.pc
- nodist_include_HEADERS = gpgme.h
-
- bin_PROGRAMS = gpgme-tool
diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in
new file mode 100644
-index 0000000..980a48e
+index 0000000..074bbf6
--- /dev/null
+++ b/src/gpgme-pthread.pc.in
@@ -0,0 +1,15 @@
@@ -51,9 +69,9 @@ index 0000000..980a48e
+host=@GPGME_CONFIG_HOST@
+
+Name: gpgme
-+Description: GnuPG Made Easy (GPGME) is a C language library that allows to addsupport for cryptography to a program (threaded version)
++Description: GnuPG Made Easy (GPGME) is a C language library that allows to addsupport for cryptography to a program (deprecated)
+Version: @VERSION@
-+Libs: -L${libdir} -lgpgme-pthread -lpthread
++Libs: -L${libdir} -lgpgme -lpthread
+Cflags: -I${includedir}
+Requires: libassuan gpg-error
diff --git a/src/gpgme.m4 b/src/gpgme.m4
@@ -256,24 +274,18 @@ index 6c2be44..d8a75cb 100644
- AC_SUBST(GPGME_GLIB_LIBS)
])
diff --git a/src/gpgme.pc.in b/src/gpgme.pc.in
-new file mode 100644
-index 0000000..b69539f
---- /dev/null
+index be288b8..16f56ac 100644
+--- a/src/gpgme.pc.in
+++ b/src/gpgme.pc.in
-@@ -0,0 +1,15 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+# API info
-+api_version=@GPGME_CONFIG_API_VERSION@
-+host=@GPGME_CONFIG_HOST@
-+
-+Name: gpgme
-+Description: GnuPG Made Easy (GPGME) is a C language library that allows to addsupport for cryptography to a program.
-+Version: @VERSION@
-+Libs: -L${libdir} -lgpgme
+@@ -9,6 +9,6 @@ Name: gpgme
+ Description: GnuPG Made Easy to access GnuPG
+ Requires: gpg-error, libassuan
+ Version: @PACKAGE_VERSION@
+-Cflags: @GPGME_CONFIG_CFLAGS@
+-Libs: @GPGME_CONFIG_LIBS@
+Cflags: -I${includedir}
-+Requires: libassuan gpg-error
-\ No newline at end of file
++Libs: -L${libdir} -lgpgme
+ URL: https://www.gnupg.org/software/gpgme/index.html
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch b/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
new file mode 100644
index 0000000000..1c46684c6d
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
@@ -0,0 +1,24 @@
+From adb1d4e5498a19e9d591ac8f42f9ddfdb23a1354 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 15 Jul 2021 12:33:13 -0700
+Subject: [PATCH] use closefrom() on linux and glibc 2.34+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/posix-io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/posix-io.c b/src/posix-io.c
+index e712ef2..ab8ded9 100644
+--- a/src/posix-io.c
++++ b/src/posix-io.c
+@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
+ if (fd_list[i].fd > fd)
+ fd = fd_list[i].fd;
+ fd++;
+-#if defined(__sun) || defined(__FreeBSD__)
++#if defined(__sun) || defined(__FreeBSD__) || (defined(__GLIBC__) && __GNUC_PREREQ(2, 34))
+ closefrom (fd);
+ max_fds = fd;
+ #else /*!__sun */
diff --git a/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
new file mode 100644
index 0000000000..ecd1793ab9
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
@@ -0,0 +1,52 @@
+From 52f8fd2010b900c7d382a7c4e6c1a317d8160585 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 10 May 2019 14:30:36 +0800
+Subject: [PATCH 2/7] 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>
+
+Rebase to 1.13.0
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lang/python/setup.py.in | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
+index 9785a28..006216d 100755
+--- a/lang/python/setup.py.in
++++ b/lang/python/setup.py.in
+@@ -30,7 +30,6 @@ import subprocess
+ import sys
+
+ # 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 = ''
+@@ -182,15 +181,9 @@ 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.h", os.environ.get('CFLAGS').split())
+
+ filter_re = re.compile(r'GPG_ERR_[^ ]* =')
+ rewrite_re = re.compile(r' *(.*) = .*')
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch b/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
new file mode 100644
index 0000000000..de1689ec05
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
@@ -0,0 +1,33 @@
+From f632148fcc8757bb9a9601a6dab275e88cd309d2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 30 Jan 2018 15:28:49 +0800
+Subject: [PATCH 3/7] Correctly install python modules
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+Rebase to 1.9.0
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Rebase to 1.10.0
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lang/python/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
+index 6988faf..36c6f7b 100644
+--- a/lang/python/Makefile.am
++++ b/lang/python/Makefile.am
+@@ -93,6 +93,7 @@ install-exec-local:
+ --build-base="$$(basename "$${PYTHON}")-gpg" \
+ install \
+ --prefix "$(DESTDIR)$(prefix)" \
++ --install-lib=$(DESTDIR)${pythondir} \
+ --verbose ; \
+ done
+
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0004-python-import.patch b/meta/recipes-support/gpgme/gpgme/0004-python-import.patch
new file mode 100644
index 0000000000..fa0eccfce3
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0004-python-import.patch
@@ -0,0 +1,34 @@
+From f51bf1114bee6d56a950dcc6ebb46d6138b3faed Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 16 Aug 2017 02:06:45 -0400
+Subject: [PATCH 4/7] python import
+
+Don't check for output on stderr to know if an import worked, host inputrc and
+sysroot readline can cause warnings on stderr.
+
+Upstream-Status: Backport (from autoconf-archive 883a2abd)
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+Rebase to 1.9.0
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ m4/ax_python_devel.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
+index b990d5b..318b089 100644
+--- a/m4/ax_python_devel.m4
++++ b/m4/ax_python_devel.m4
+@@ -137,7 +137,7 @@ variable to configure. See ``configure --help'' for reference.
+ #
+ AC_MSG_CHECKING([for the distutils Python package])
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch b/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
new file mode 100644
index 0000000000..50bf21463f
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
@@ -0,0 +1,31 @@
+From 8d9613c34ae495bbcbd725a2e7ac48138ba53c30 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 13 Apr 2017 16:40:27 +0300
+Subject: [PATCH 5/7] gpgme-config: skip all /lib* or /usr/lib* directories in
+ output
+
+The logic was not working in multilib setups which use other
+directory names than plain /lib or /usr/lib.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/gpgme-config.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gpgme-config.in b/src/gpgme-config.in
+index a4d152e..8342865 100644
+--- a/src/gpgme-config.in
++++ b/src/gpgme-config.in
+@@ -154,7 +154,7 @@ while test $# -gt 0; do
+ for i in $libs $tmp_l $assuan_libs $gpg_error_libs $tmp_x; do
+ skip=no
+ case $i in
+- -L/usr/lib|-L/lib)
++ -L/usr/lib*|-L/lib*)
+ skip=yes
+ ;;
+ -L*|-l*)
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch b/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
new file mode 100644
index 0000000000..1471184d67
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
@@ -0,0 +1,37 @@
+From ef920688bfe1c7328c9e97229d62ccd35304ad84 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 31 Jan 2018 11:01:09 +0800
+Subject: [PATCH 6/7] fix build path issue
+
+Get the "--root" directory supplied to the "install" command,
+and use it as a prefix to strip off the purported filename
+encoded in bytecode files.
+
+Since --root added, we need to tweak --prefix and --install-lib
+to use relative path.
+
+Upstream-Status: Submitted [gnupg-devel@gnupg.org]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lang/python/Makefile.am | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
+index 36c6f7b..ce9a108 100644
+--- a/lang/python/Makefile.am
++++ b/lang/python/Makefile.am
+@@ -92,8 +92,9 @@ install-exec-local:
+ build \
+ --build-base="$$(basename "$${PYTHON}")-gpg" \
+ install \
+- --prefix "$(DESTDIR)$(prefix)" \
+- --install-lib=$(DESTDIR)${pythondir} \
++ --root=${DESTDIR} \
++ --prefix "$(prefix)" \
++ --install-lib=${pythondir} \
+ --verbose ; \
+ done
+
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch b/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
new file mode 100644
index 0000000000..4c97f63cc2
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
@@ -0,0 +1,52 @@
+From 093c88817397425ee4c2333c469467229a46c9e1 Mon Sep 17 00:00:00 2001
+From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Date: Mon, 5 Aug 2019 01:00:58 +0900
+Subject: [PATCH 7/7] python: Add variables to tests
+
+* configure.ac, lang/python/Makefile.am:
+ New variable to `lang/python', set to `lang/python' if RUN_LANG_PYTHON_TESTS
+
+Upstream-Status: Submitted [gnupg-devel@gnupg.org]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+---
+ configure.ac | 5 +++++
+ lang/python/Makefile.am | 3 +++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index bd85886..b5ae42e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -533,6 +533,11 @@ AC_ARG_ENABLE(g13-test,
+ run_g13_test=$enableval)
+ AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes")
+
++run_lang_python_test="yes"
++AC_ARG_ENABLE(lang-python-test,
++ AC_HELP_STRING([--disable-lang-python-test], [disable Python regression test]),
++ run_lang_python_test=$enableval)
++AM_CONDITIONAL(RUN_LANG_PYTHON_TESTS, test "$run_lang_python_test" = "yes")
+
+ # Checks for header files.
+ AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h
+diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
+index 551deee..0fd555e 100644
+--- a/lang/python/Makefile.am
++++ b/lang/python/Makefile.am
+@@ -23,7 +23,10 @@ EXTRA_DIST = \
+ gpgme.i \
+ helpers.c helpers.h private.h
+
++SUBDIRS = . examples doc src
++if RUN_LANG_PYTHON_TESTS
+ SUBDIRS = . tests examples doc src
++endif
+
+ .PHONY: prepare
+ prepare: copystamp
+--
+2.7.4
+
diff --git a/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch b/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch
new file mode 100644
index 0000000000..dfea1bf78a
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch
@@ -0,0 +1,34 @@
+From 5bbf7a048b6d81d23186340e839f9f65b5b514b6 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 10 May 2019 16:19:54 +0800
+Subject: [PATCH] do not auto check var-PYTHON
+
+Upstream auto check the version of python rather than specify option
+[ff6ff61 python: Auto-check for all installed python versions.]
+
+In oe-core, don't check var-PYTHON, use the setting from recipe,
+only check specific python 2.7 and 3.7
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5ef00c0..bbcff93 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -425,8 +425,8 @@ if test "$found_py" = "1"; then
+ if test "$found_py" = "1" -o "$found_py3" = "1"; then
+ # Reset everything, so that we can look for another Python.
+ m4_foreach([mym4pythonver],
+- [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[all]],
+- [unset PYTHON
++ [[2.7],[3.7]],
++ [
+ unset PYTHON_VERSION
+ unset PYTHON_CPPFLAGS
+ unset PYTHON_LDFLAGS
diff --git a/meta/recipes-support/gpgme/gpgme/gpgme.pc b/meta/recipes-support/gpgme/gpgme/gpgme.pc
deleted file mode 100644
index 30a4d56d6e..0000000000
--- a/meta/recipes-support/gpgme/gpgme/gpgme.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-libdir=${prefix}/lib
-includedir=${prefix}/include
-
-Name: gpgme
-Description: GNU Privacy Guard Made Easy
-Version: 1.4.3
-Requires:
-Libs: -L${libdir} -lgpgme -lassuan -lgpg-error
-Cflags: -I${includedir}
diff --git a/meta/recipes-support/gpgme/gpgme_1.16.0.bb b/meta/recipes-support/gpgme/gpgme_1.16.0.bb
new file mode 100644
index 0000000000..0ab30d93b9
--- /dev/null
+++ b/meta/recipes-support/gpgme/gpgme_1.16.0.bb
@@ -0,0 +1,87 @@
+SUMMARY = "High-level GnuPG encryption/signing API"
+DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management"
+HOMEPAGE = "http://www.gnupg.org/gpgme.html"
+BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
+ file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \
+ file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
+ file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \
+ file://0001-pkgconfig.patch \
+ file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \
+ file://0003-Correctly-install-python-modules.patch \
+ file://0004-python-import.patch \
+ file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
+ file://0006-fix-build-path-issue.patch \
+ file://0007-python-Add-variables-to-tests.patch \
+ file://0008-do-not-auto-check-var-PYTHON.patch \
+ file://0001-use-closefrom-on-linux-and-glibc-2.34.patch \
+ "
+
+SRC_URI[sha256sum] = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0"
+
+DEPENDS = "libgpg-error libassuan"
+RDEPENDS:${PN}-cpp += "libstdc++"
+
+RDEPENDS:python2-gpg += "python-unixadmin"
+RDEPENDS:python3-gpg += "python3-unixadmin"
+
+BINCONFIG = "${bindir}/gpgme-config"
+
+# Note select python2 or python3, but you can't select both at the same time
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python2] = ",,python swig-native,"
+PACKAGECONFIG[python3] = ",,python3 swig-native,"
+
+# Default in configure.ac: "cl cpp python qt"
+# Supported: "cl cpp python python2 python3 qt"
+# python says 'search and find python2 or python3'
+
+# Building the C++ bindings for native requires a C++ compiler with C++11
+# support. Since these bindings are currently not needed, we can disable them.
+DEFAULT_LANGUAGES = ""
+DEFAULT_LANGUAGES:class-target = "cpp"
+LANGUAGES ?= "${DEFAULT_LANGUAGES} python"
+
+PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
+PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native python3targetconfig', '', d)}"
+
+EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
+ --disable-gpgconf-test \
+ --disable-gpg-test \
+ --disable-gpgsm-test \
+ --disable-g13-test \
+ --disable-lang-python-test \
+'
+
+inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT} multilib_header
+
+export PKG_CONFIG='pkg-config'
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PN}-cpp"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}"
+
+FILES:${PN}-cpp = "${libdir}/libgpgmepp.so.*"
+FILES:python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:${PN}-dev += "${datadir}/common-lisp/source/gpgme/*"
+
+CFLAGS:append:libc-musl = " -D__error_t_defined "
+do_configure:prepend () {
+ # Else these could be used in preference to those in aclocal-copy
+ rm -f ${S}/m4/gpg-error.m4
+ rm -f ${S}/m4/libassuan.m4
+ rm -f ${S}/m4/python.m4
+}
+
+do_install:append() {
+ oe_multilib_header gpgme.h
+}
diff --git a/meta/recipes-support/gpgme/gpgme_1.5.4.bb b/meta/recipes-support/gpgme/gpgme_1.5.4.bb
deleted file mode 100644
index 1598377d6e..0000000000
--- a/meta/recipes-support/gpgme/gpgme_1.5.4.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "High-level GnuPG encryption/signing API"
-DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management"
-HOMEPAGE = "http://www.gnupg.org/gpgme.html"
-BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
- file://src/gpgme.h.in;endline=23;md5=71ba2ae8d6ca034ed10bd099a8cf473c \
- file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
-
-SRC_URI = "ftp://ftp.gnupg.org/gcrypt/gpgme/${BP}.tar.bz2 \
- file://gpgme.pc \
- file://pkgconfig.patch \
- "
-
-SRC_URI[md5sum] = "feafa03ea064e1d1dc11bc2b88404623"
-SRC_URI[sha256sum] = "bb38c0ec8815c9e94e6047b484984808a8dad9d6bec8df33dc5339fd55ffea6c"
-
-DEPENDS = "libgpg-error libassuan"
-
-BINCONFIG = "${bindir}/gpgme-config"
-
-inherit autotools texinfo binconfig-disabled pkgconfig
-
-PACKAGES =+ "${PN}-pthread"
-FILES_${PN}-pthread = "${libdir}/libgpgme-pthread.so.*"
-FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/*"
-
-do_configure_prepend () {
- # Else these could be used in preference to those in aclocal-copy
- rm -f ${S}/m4/gpg-error.m4
- rm -f ${S}/m4/libassuan.m4
-}
-
-do_install_append () {
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${WORKDIR}/gpgme.pc ${D}${libdir}/pkgconfig/
-}