From eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 Mon Sep 17 00:00:00 2001 From: Dave Cobbley Date: Tue, 14 Aug 2018 10:05:37 -0700 Subject: [Subtree] Removing import-layers directory As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley Signed-off-by: Brad Bishop --- .../gpgme/gpgme/0001-pkgconfig.patch | 303 +++++++++++++++++++++ ...python-gpg-error-config-should-not-be-use.patch | 51 ++++ .../0003-Correctly-install-python-modules.patch | 33 +++ .../gpgme/gpgme/0004-python-import.patch | 34 +++ ...g-skip-all-lib-or-usr-lib-directories-in-.patch | 31 +++ .../gpgme/gpgme/0006-fix-build-path-issue.patch | 37 +++ .../0007-qt-python-Add-variables-to-tests.patch | 78 ++++++ poky/meta/recipes-support/gpgme/gpgme_1.10.0.bb | 86 ++++++ 8 files changed, 653 insertions(+) create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch create mode 100644 poky/meta/recipes-support/gpgme/gpgme_1.10.0.bb (limited to 'poky/meta/recipes-support/gpgme') diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch new file mode 100644 index 000000000..f1997e15a --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch @@ -0,0 +1,303 @@ +From 265faf8fe0acaca2043a248a4df02b0868ffa6de Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Wed, 16 Aug 2017 02:00:08 -0400 +Subject: [PATCH 1/4] pkgconfig + +Update gpgme to use pkgconfig instead of -config files since its +simpler and less error prone when cross compiling. + +Upstream-Status: Denied [Upstream not interested in pkg-config support] +RP 2015/4/17 + +Signed-off-by: Richard Purdie + +Rebase to 1.9.0 + +Signed-off-by: Hongxu Jia +--- + configure.ac | 1 + + src/Makefile.am | 4 +- + src/gpgme-pthread.pc.in | 15 +++++++ + src/gpgme.m4 | 114 ++++-------------------------------------------- + src/gpgme.pc.in | 15 +++++++ + 5 files changed, 42 insertions(+), 107 deletions(-) + create mode 100644 src/gpgme-pthread.pc.in + create mode 100644 src/gpgme.pc.in + +diff --git a/configure.ac b/configure.ac +index 6ea4bcd..2a0d528 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -887,6 +887,7 @@ AC_CONFIG_FILES(Makefile src/Makefile + src/versioninfo.rc + 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/cpp/Makefile lang/cpp/src/Makefile) + AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in) + AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig.cmake.in) +diff --git a/src/Makefile.am b/src/Makefile.am +index ce6f1d4..5f38fee 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -19,12 +19,14 @@ + ## Process this file with automake to produce Makefile.in + + EXTRA_DIST = gpgme-config.in gpgme.m4 libgpgme.vers ChangeLog-2011 \ +- gpgme.h.in versioninfo.rc.in gpgme.def ++ gpgme.h.in versioninfo.rc.in gpgme.def gpgme.pc.in gpgme-pthread.pc.in + + bin_SCRIPTS = gpgme-config + m4datadir = $(datadir)/aclocal + m4data_DATA = gpgme.m4 + nodist_include_HEADERS = gpgme.h ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = gpgme.pc gpgme-pthread.pc + + bin_PROGRAMS = gpgme-tool + +diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in +new file mode 100644 +index 0000000..074bbf6 +--- /dev/null ++++ b/src/gpgme-pthread.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 (deprecated) ++Version: @VERSION@ ++Libs: -L${libdir} -lgpgme -lpthread ++Cflags: -I${includedir} ++Requires: libassuan gpg-error +diff --git a/src/gpgme.m4 b/src/gpgme.m4 +index 6c2be44..d8a75cb 100644 +--- a/src/gpgme.m4 ++++ b/src/gpgme.m4 +@@ -79,7 +79,7 @@ dnl config script does not match the host specification the script + dnl is added to the gpg_config_script_warn variable. + dnl + AC_DEFUN([AM_PATH_GPGME], +-[ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl ++[ + tmp=ifelse([$1], ,1:0.4.2,$1) + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_gpgme_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` +@@ -89,36 +89,12 @@ AC_DEFUN([AM_PATH_GPGME], + min_gpgme_version="$tmp" + fi + +- AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version) +- ok=no +- if test "$GPGME_CONFIG" != "no" ; then +- req_major=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` +- req_minor=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` +- req_micro=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` +- if test "$gpgme_version_major" -gt "$req_major"; then +- ok=yes +- else +- if test "$gpgme_version_major" -eq "$req_major"; then +- if test "$gpgme_version_minor" -gt "$req_minor"; then +- ok=yes +- else +- if test "$gpgme_version_minor" -eq "$req_minor"; then +- if test "$gpgme_version_micro" -ge "$req_micro"; then +- ok=yes +- fi +- fi +- fi +- fi +- fi +- fi ++ PKG_CHECK_MODULES(GPGME, [gpgme >= $min_gpgme_version], [ok=yes], [ok=no]) + if test $ok = yes; then + # If we have a recent GPGME, we should also check that the + # API is compatible. + if test "$req_gpgme_api" -gt 0 ; then +- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` ++ tmp=`$PKG_CONFIG --variable=api_version gpgme 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + if test "$req_gpgme_api" -ne "$tmp" ; then + ok=no +@@ -127,19 +103,11 @@ AC_DEFUN([AM_PATH_GPGME], + fi + fi + if test $ok = yes; then +- GPGME_CFLAGS=`$GPGME_CONFIG --cflags` +- GPGME_LIBS=`$GPGME_CONFIG --libs` +- AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + _AM_PATH_GPGME_CONFIG_HOST_CHECK + else +- GPGME_CFLAGS="" +- GPGME_LIBS="" +- AC_MSG_RESULT(no) + ifelse([$3], , :, [$3]) + fi +- AC_SUBST(GPGME_CFLAGS) +- AC_SUBST(GPGME_LIBS) + ]) + + dnl AM_PATH_GPGME_PTHREAD([MINIMUM-VERSION, +@@ -148,7 +116,7 @@ dnl Test for libgpgme and define GPGME_PTHREAD_CFLAGS + dnl and GPGME_PTHREAD_LIBS. + dnl + AC_DEFUN([AM_PATH_GPGME_PTHREAD], +-[ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl ++[ + tmp=ifelse([$1], ,1:0.4.2,$1) + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_gpgme_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` +@@ -158,38 +126,12 @@ AC_DEFUN([AM_PATH_GPGME_PTHREAD], + min_gpgme_version="$tmp" + fi + +- AC_MSG_CHECKING(for GPGME pthread - version >= $min_gpgme_version) +- ok=no +- if test "$GPGME_CONFIG" != "no" ; then +- if `$GPGME_CONFIG --thread=pthread 2> /dev/null` ; then +- req_major=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` +- req_minor=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` +- req_micro=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` +- if test "$gpgme_version_major" -gt "$req_major"; then +- ok=yes +- else +- if test "$gpgme_version_major" -eq "$req_major"; then +- if test "$gpgme_version_minor" -gt "$req_minor"; then +- ok=yes +- else +- if test "$gpgme_version_minor" -eq "$req_minor"; then +- if test "$gpgme_version_micro" -ge "$req_micro"; then +- ok=yes +- fi +- fi +- fi +- fi +- fi +- fi +- fi ++ PKG_CHECK_MODULES(GPGME_PTHREAD, [gpgme-pthread >= $min_gpgme_version], [ok=yes], [ok=no]) + if test $ok = yes; then + # If we have a recent GPGME, we should also check that the + # API is compatible. + if test "$req_gpgme_api" -gt 0 ; then +- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` ++ tmp=`$PKG_CONFIG --variable=api_version gpgme-pthread 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + if test "$req_gpgme_api" -ne "$tmp" ; then + ok=no +@@ -198,19 +140,11 @@ AC_DEFUN([AM_PATH_GPGME_PTHREAD], + fi + fi + if test $ok = yes; then +- GPGME_PTHREAD_CFLAGS=`$GPGME_CONFIG --thread=pthread --cflags` +- GPGME_PTHREAD_LIBS=`$GPGME_CONFIG --thread=pthread --libs` +- AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + _AM_PATH_GPGME_CONFIG_HOST_CHECK + else +- GPGME_PTHREAD_CFLAGS="" +- GPGME_PTHREAD_LIBS="" +- AC_MSG_RESULT(no) + ifelse([$3], , :, [$3]) + fi +- AC_SUBST(GPGME_PTHREAD_CFLAGS) +- AC_SUBST(GPGME_PTHREAD_LIBS) + ]) + + +@@ -229,36 +163,12 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], + min_gpgme_version="$tmp" + fi + +- AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version) +- ok=no +- if test "$GPGME_CONFIG" != "no" ; then +- req_major=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` +- req_minor=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` +- req_micro=`echo $min_gpgme_version | \ +- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` +- if test "$gpgme_version_major" -gt "$req_major"; then +- ok=yes +- else +- if test "$gpgme_version_major" -eq "$req_major"; then +- if test "$gpgme_version_minor" -gt "$req_minor"; then +- ok=yes +- else +- if test "$gpgme_version_minor" -eq "$req_minor"; then +- if test "$gpgme_version_micro" -ge "$req_micro"; then +- ok=yes +- fi +- fi +- fi +- fi +- fi +- fi ++ PKG_CHECK_MODULES(GPGME_GLIB, [gpgme >= $min_gpgme_version glib-2.0], [ok=yes], [ok=no]) + if test $ok = yes; then + # If we have a recent GPGME, we should also check that the + # API is compatible. + if test "$req_gpgme_api" -gt 0 ; then +- tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0` ++ tmp=`$PKG_CONFIG --variable=api_version gpgme 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + if test "$req_gpgme_api" -ne "$tmp" ; then + ok=no +@@ -267,17 +177,9 @@ AC_DEFUN([AM_PATH_GPGME_GLIB], + 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 + else +- GPGME_GLIB_CFLAGS="" +- GPGME_GLIB_LIBS="" +- AC_MSG_RESULT(no) + ifelse([$3], , :, [$3]) + fi +- AC_SUBST(GPGME_GLIB_CFLAGS) +- 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 ++++ 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 ++Cflags: -I${includedir} ++Requires: libassuan gpg-error +\ No newline at end of file +-- +1.8.3.1 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch new file mode 100644 index 000000000..d20271e31 --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch @@ -0,0 +1,51 @@ +From 30f7a694cc4568ecb24f77c83a6123ed3f4075fa Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +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 + +Rework to 1.10.0 + +Signed-off-by: Hongxu Jia +--- + 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 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch b/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch new file mode 100644 index 000000000..7c9cccc0e --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch @@ -0,0 +1,33 @@ +From 93aae34ee70b8d50b31a19a65d6ac8290cb148ae Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 30 Jan 2018 15:28:49 +0800 +Subject: [PATCH 2/4] Correctly install python modules + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin + +Rebase to 1.9.0 + +Signed-off-by: Hongxu Jia + +Rebase to 1.10.0 +Signed-off-by: Hongxu Jia +--- + lang/python/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am +index 8d74cbd..ce4f0a5 100644 +--- a/lang/python/Makefile.am ++++ b/lang/python/Makefile.am +@@ -91,6 +91,7 @@ install-exec-local: + --build-base="$$(basename "$${PYTHON}")-gpg" \ + install \ + --prefix "$(DESTDIR)$(prefix)" \ ++ --install-lib=$(DESTDIR)${pythondir} \ + --verbose ; \ + done + +-- +1.8.3.1 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch b/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch new file mode 100644 index 000000000..d2b039dac --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0004-python-import.patch @@ -0,0 +1,34 @@ +From 32ecc3f058307060e40af86127cd226248a73c41 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 16 Aug 2017 02:06:45 -0400 +Subject: [PATCH 3/4] 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 + +Rebase to 1.9.0 + +Signed-off-by: Hongxu Jia +--- + 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]) +-- +1.8.3.1 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch b/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch new file mode 100644 index 000000000..963ae874c --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch @@ -0,0 +1,31 @@ +From 6dcedc4dd055af902719b1a1cb10daa935a27f58 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 13 Apr 2017 16:40:27 +0300 +Subject: [PATCH 4/4] 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 +--- + 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*) +-- +1.8.3.1 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch b/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch new file mode 100644 index 000000000..8cc8983e2 --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch @@ -0,0 +1,37 @@ +From 180a5669e4a13a550b1b0dcef1689b6c0470fe54 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 31 Jan 2018 11:01:09 +0800 +Subject: [PATCH] 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 +--- + 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 ce4f0a5..5a468f1 100644 +--- a/lang/python/Makefile.am ++++ b/lang/python/Makefile.am +@@ -90,8 +90,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 + +-- +1.8.3.1 + diff --git a/poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch b/poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch new file mode 100644 index 000000000..ce3745cca --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme/0007-qt-python-Add-variables-to-tests.patch @@ -0,0 +1,78 @@ +From f47e8c6f9e461803468a64581d3640d873352eaa Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Thu, 1 Feb 2018 10:14:30 +0800 +Subject: [PATCH] qt/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 + +* configure.ac, lang/qt/Makefile.am: + New variable to `lang/qt', set to `lang/qt' if RUN_LANG_QT_TESTS + +Upstream-Status: Submitted [gnupg-devel@gnupg.org] + +Signed-off-by: Hongxu Jia +--- + configure.ac | 11 +++++++++++ + lang/python/Makefile.am | 3 +++ + lang/qt/Makefile.am | 8 +++++++- + 3 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 608c376..fad7467 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -536,6 +536,17 @@ 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") ++ ++run_lang_qt_test="yes" ++AC_ARG_ENABLE(lang-qt-test, ++ AC_HELP_STRING([--disable-lang-qt-test], [disable Qt regression test]), ++ run_lang_qt_test=$enableval) ++AM_CONDITIONAL(RUN_LANG_QT_TESTS, test "$run_lang_qt_test" = "yes") + + # Checks for header files. + AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h +diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am +index 8d74cbd..43b5d1e 100644 +--- a/lang/python/Makefile.am ++++ b/lang/python/Makefile.am +@@ -24,7 +24,10 @@ EXTRA_DIST = \ + examples \ + src + ++if RUN_LANG_PYTHON_TESTS + SUBDIRS = . tests ++endif ++ + + .PHONY: prepare + prepare: copystamp +diff --git a/lang/qt/Makefile.am b/lang/qt/Makefile.am +index ab85960..a244ede 100644 +--- a/lang/qt/Makefile.am ++++ b/lang/qt/Makefile.am +@@ -19,6 +19,12 @@ + # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + # 02111-1307, USA + +-SUBDIRS = src tests doc ++if RUN_LANG_QT_TESTS ++qttests = tests ++else ++qttests = ++endif ++ ++SUBDIRS = src ${qttests} doc + + EXTRA_DIST = README +-- +1.8.3.1 + diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.10.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.10.0.bb new file mode 100644 index 000000000..f015f3ad7 --- /dev/null +++ b/poky/meta/recipes-support/gpgme/gpgme_1.10.0.bb @@ -0,0 +1,86 @@ +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=9d157d08a69059344e6f82abd2d25781 \ + 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-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-qt-python-Add-variables-to-tests.patch \ + " + +SRC_URI[md5sum] = "78b1533c593478982ee2fc548260c563" +SRC_URI[sha256sum] = "1a8fed1197c3b99c35f403066bb344a26224d292afc048cfdfc4ccd5690a0693" + +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}" +LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python2', ' python2', '', d)}" +LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', ' python3', '', d)}" + +PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}" +PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}" + +EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \ + --disable-gpgconf-test \ + --disable-gpg-test \ + --disable-gpgsm-test \ + --disable-g13-test \ + --disable-lang-qt-test \ + --disable-lang-python-test \ +' + +inherit autotools texinfo binconfig-disabled pkgconfig ${PYTHON_INHERIT} + +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/* \ + ${libdir}/cmake/* \ +" + +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 +} -- cgit v1.2.3