summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2022-02-02 23:56:29 +0000
committerZach van Rijn <me@zv.io>2022-10-21 18:33:57 -0500
commit028da0dcb535be96e8296967e3b3c4f88f5c773d (patch)
tree7bda33cfff8c8c04c7db20319eb83101011f6c15
parent289427675ea063b92d60ffc93f521121b424769b (diff)
downloadpackages-028da0dcb535be96e8296967e3b3c4f88f5c773d.tar.gz
packages-028da0dcb535be96e8296967e3b3c4f88f5c773d.tar.bz2
packages-028da0dcb535be96e8296967e3b3c4f88f5c773d.tar.xz
packages-028da0dcb535be96e8296967e3b3c4f88f5c773d.zip
user/gpgme: allow build with Python 3.10.
-rw-r--r--user/gpgme/0001-core-Fix-use-after-free-issue-in-test.patch123
-rw-r--r--user/gpgme/0002-Make-sure-expiration-time-is-interpreted-as-unsigned.patch30
-rw-r--r--user/gpgme/0003-python310.patch335
-rw-r--r--user/gpgme/APKBUILD13
4 files changed, 498 insertions, 3 deletions
diff --git a/user/gpgme/0001-core-Fix-use-after-free-issue-in-test.patch b/user/gpgme/0001-core-Fix-use-after-free-issue-in-test.patch
new file mode 100644
index 000000000..86c5110fe
--- /dev/null
+++ b/user/gpgme/0001-core-Fix-use-after-free-issue-in-test.patch
@@ -0,0 +1,123 @@
+From 81a33ea5e1b86d586b956e893a5b25c4cd41c969 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
+Date: Sat, 26 Jun 2021 18:02:47 +0200
+Subject: [PATCH] core: Fix use-after-free issue in test
+
+* tests/gpg/t-edit-sign.c (sign_key, verify_key_signature): New.
+(main): Factored out signing and verifying the result.
+--
+
+Factoring the two steps of the test into different functions fixes the
+use-after-free issue that was caused by accidentaly using a variable
+of the first step in the second step.
+
+GnuPG-bug-id: 5509
+---
+ tests/gpg/t-edit-sign.c | 54 ++++++++++++++++++++++++++++-------------
+ 1 file changed, 37 insertions(+), 17 deletions(-)
+
+diff --git a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c
+index 2f983622..e0494c54 100644
+--- a/tests/gpg/t-edit-sign.c
++++ b/tests/gpg/t-edit-sign.c
+@@ -107,31 +107,19 @@ interact_fnc (void *opaque, const char *status, const char *args, int fd)
+ }
+
+
+-int
+-main (int argc, char **argv)
++void
++sign_key (const char *key_fpr, const char *signer_fpr)
+ {
+ gpgme_ctx_t ctx;
+ gpgme_error_t err;
+ gpgme_data_t out = NULL;
+- const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
+ gpgme_key_t signing_key = NULL;
+- const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
+ gpgme_key_t key = NULL;
+- gpgme_key_t signed_key = NULL;
+- gpgme_user_id_t signed_uid = NULL;
+- gpgme_key_sig_t key_sig = NULL;
+ char *agent_info;
+- int mode;
+-
+- (void)argc;
+- (void)argv;
+-
+- init_gpgme (GPGME_PROTOCOL_OpenPGP);
+
+ err = gpgme_new (&ctx);
+ fail_if_err (err);
+
+- /* Sign the key */
+ agent_info = getenv("GPG_AGENT_INFO");
+ if (!(agent_info && strchr (agent_info, ':')))
+ gpgme_set_passphrase_cb (ctx, passphrase_cb, 0);
+@@ -159,8 +147,23 @@ main (int argc, char **argv)
+ gpgme_data_release (out);
+ gpgme_key_unref (key);
+ gpgme_key_unref (signing_key);
++ gpgme_release (ctx);
++}
++
++
++void
++verify_key_signature (const char *key_fpr, const char *signer_keyid)
++{
++ gpgme_ctx_t ctx;
++ gpgme_error_t err;
++ gpgme_key_t signed_key = NULL;
++ gpgme_user_id_t signed_uid = NULL;
++ gpgme_key_sig_t key_sig = NULL;
++ int mode;
++
++ err = gpgme_new (&ctx);
++ fail_if_err (err);
+
+- /* Verify the key signature */
+ mode = gpgme_get_keylist_mode (ctx);
+ mode |= GPGME_KEYLIST_MODE_SIGS;
+ err = gpgme_set_keylist_mode (ctx, mode);
+@@ -168,7 +171,7 @@ main (int argc, char **argv)
+ err = gpgme_get_key (ctx, key_fpr, &signed_key, 0);
+ fail_if_err (err);
+
+- signed_uid = key->uids;
++ signed_uid = signed_key->uids;
+ if (!signed_uid)
+ {
+ fprintf (stderr, "Signed key has no user IDs\n");
+@@ -180,7 +183,7 @@ main (int argc, char **argv)
+ exit (1);
+ }
+ key_sig = signed_uid->signatures->next;
+- if (strcmp ("2D727CC768697734", key_sig->keyid))
++ if (strcmp (signer_keyid, key_sig->keyid))
+ {
+ fprintf (stderr, "Unexpected key ID in second user ID sig: %s\n",
+ key_sig->keyid);
+@@ -196,6 +199,23 @@ main (int argc, char **argv)
+
+ gpgme_key_unref (signed_key);
+ gpgme_release (ctx);
++}
++
++
++int
++main (int argc, char **argv)
++{
++ const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
++ const char *signer_keyid = signer_fpr + strlen(signer_fpr) - 16;
++ const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
++
++ (void)argc;
++ (void)argv;
++
++ init_gpgme (GPGME_PROTOCOL_OpenPGP);
++
++ sign_key (key_fpr, signer_fpr);
++ verify_key_signature (key_fpr, signer_keyid);
+
+ return 0;
+ }
diff --git a/user/gpgme/0002-Make-sure-expiration-time-is-interpreted-as-unsigned.patch b/user/gpgme/0002-Make-sure-expiration-time-is-interpreted-as-unsigned.patch
new file mode 100644
index 000000000..558cacda0
--- /dev/null
+++ b/user/gpgme/0002-Make-sure-expiration-time-is-interpreted-as-unsigned.patch
@@ -0,0 +1,30 @@
+From 6a79e90dedc19877ae1c520fed875b57089a5425 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
+Date: Thu, 8 Jul 2021 11:54:06 +0200
+Subject: [PATCH] Make sure expiration time is interpreted as unsigned number
+
+* lang/qt/tests/t-various.cpp (testSignKeyWithExpiration): Convert
+expiration time to uint_least32_t.
+--
+
+This fixes the test on 32-bit systems where time_t (the return type of
+expirationTime()) is a signed 32-bit integer type.
+
+GnuPG-bug-id: 5522
+---
+ lang/qt/tests/t-various.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lang/qt/tests/t-various.cpp b/lang/qt/tests/t-various.cpp
+index 8563b681..72a2487a 100644
+--- a/lang/qt/tests/t-various.cpp
++++ b/lang/qt/tests/t-various.cpp
+@@ -355,7 +355,7 @@ private Q_SLOTS:
+ target.update();
+ const auto keySignature = target.userID(0).signature(target.userID(0).numSignatures() - 1);
+ QVERIFY(!keySignature.neverExpires());
+- const auto expirationDate = QDateTime::fromSecsSinceEpoch(keySignature.expirationTime()).date();
++ const auto expirationDate = QDateTime::fromSecsSinceEpoch(uint_least32_t(keySignature.expirationTime())).date();
+ QCOMPARE(expirationDate, QDate(2106, 2, 6)); // expiration date is capped at 2106-02-06
+ }
+
diff --git a/user/gpgme/0003-python310.patch b/user/gpgme/0003-python310.patch
new file mode 100644
index 000000000..e607cc457
--- /dev/null
+++ b/user/gpgme/0003-python310.patch
@@ -0,0 +1,335 @@
+Taken from the Arch Repo
+GPGME fails to detect python 3.10 currently, this patch fixes that
+Patch has not been upstreamed as of right now
+diff -upr gpgme-1.16.0.orig/configure gpgme-1.16.0/configure
+--- gpgme-1.16.0.orig/configure 2021-06-24 20:10:50.000000000 +0300
++++ gpgme-1.16.0/configure 2021-12-01 00:12:24.383952330 +0200
+@@ -19625,7 +19625,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -19666,7 +19666,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -19875,7 +19875,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -19933,7 +19933,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -20255,7 +20255,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -20296,7 +20296,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -20505,7 +20505,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -20563,7 +20563,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -20885,7 +20885,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -20926,7 +20926,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -21135,7 +21135,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -21193,7 +21193,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -21515,7 +21515,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -21556,7 +21556,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -21765,7 +21765,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -21823,7 +21823,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -22145,7 +22145,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -22186,7 +22186,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -22395,7 +22395,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -22453,7 +22453,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -22775,7 +22775,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -22816,7 +22816,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -23025,7 +23025,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -23083,7 +23083,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -23291,13 +23291,13 @@ $as_echo "$as_me: WARNING:
+
+ if test -n "$PYTHON"; then
+ # If the user set $PYTHON, use it and don't search something else.
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.9" >&5
+-$as_echo_n "checking whether $PYTHON version is >= 3.9... " >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.10" >&5
++$as_echo_n "checking whether $PYTHON version is >= 3.10... " >&6; }
+ prog="import sys
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+ # map returns an iterator in Python 3.0 and a list in 2.x
+-minver = list(map(int, '3.9'.split('.'))) + [0, 0, 0]
++minver = list(map(int, '3.10'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+ # xrange is not present in Python 3.0 and range returns an iterator
+ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
+@@ -23318,19 +23318,19 @@ fi
+ else
+ # Otherwise, try each interpreter until we find one that satisfies
+ # VERSION.
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.9" >&5
+-$as_echo_n "checking for a Python interpreter with version >= 3.9... " >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.10" >&5
++$as_echo_n "checking for a Python interpreter with version >= 3.10... " >&6; }
+ if ${am_cv_pathless_PYTHON+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+
+- for am_cv_pathless_PYTHON in python3.9 none; do
++ for am_cv_pathless_PYTHON in python3.10 none; do
+ test "$am_cv_pathless_PYTHON" = none && break
+ prog="import sys
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+ # map returns an iterator in Python 3.0 and a list in 2.x
+-minver = list(map(int, '3.9'.split('.'))) + [0, 0, 0]
++minver = list(map(int, '3.10'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+ # xrange is not present in Python 3.0 and range returns an iterator
+ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
+@@ -23405,7 +23405,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -23446,7 +23446,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -23655,7 +23655,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -23713,7 +23713,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
+@@ -24035,7 +24035,7 @@ $as_echo_n "checking for $am_display_PYT
+ if ${am_cv_python_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
+ $as_echo "$am_cv_python_version" >&6; }
+@@ -24076,7 +24076,7 @@ else:
+ # <https://github.com/pypa/virtualenv/issues/118>
+ try:
+ from platform import python_implementation
+- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7':
+ can_use_sysconfig = 0
+ except ImportError:
+ pass"
+@@ -24285,7 +24285,7 @@ variable to configure. See \`\`configure
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+ $as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+- if test -z "$ac_distutils_result"; then
++ if test $? -eq 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+ else
+@@ -24343,7 +24343,7 @@ EOD`
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+- print (sys.version[:3])"`
++ print (sys.version[:4])"`
+ fi
+ fi
+
diff --git a/user/gpgme/APKBUILD b/user/gpgme/APKBUILD
index ca8ea840e..5bbe1cb0e 100644
--- a/user/gpgme/APKBUILD
+++ b/user/gpgme/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gpgme
pkgver=1.16.0
-pkgrel=0
+pkgrel=1
pkgdesc="GnuPG Made Easy"
url="https://www.gnupg.org/related_software/gpgme/"
arch="all"
@@ -13,7 +13,11 @@ depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev doxygen libassuan-dev libgpg-error-dev python3-dev
swig cmd:which"
subpackages="$pkgname-dev $pkgname-doc gpgmepp qgpgme py3-gpg:_py"
-source="https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2"
+source="https://gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2
+ 0001-core-Fix-use-after-free-issue-in-test.patch
+ 0002-Make-sure-expiration-time-is-interpreted-as-unsigned.patch
+ 0003-python310.patch
+ "
build() {
./configure \
@@ -56,4 +60,7 @@ _py() {
mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
}
-sha512sums="69487be69612e9bf0221ff56ae687248bd13635db1b7087130e93c1670e38f3c810bbca17723555c04fe207976c35871bbc3da005179ce099504321cf33636e4 gpgme-1.16.0.tar.bz2"
+sha512sums="69487be69612e9bf0221ff56ae687248bd13635db1b7087130e93c1670e38f3c810bbca17723555c04fe207976c35871bbc3da005179ce099504321cf33636e4 gpgme-1.16.0.tar.bz2
+8e455ffa6590ab976ec52e47a8adf28ddc7fe5cfe6a191375bf19ff0ca3b9dd1a5788f2d33ecd4214eaf59cf7668b64f87add305da169775ad59ebd048e93303 0001-core-Fix-use-after-free-issue-in-test.patch
+774e2c28168353c5933293d4ed17ed7c5c88426290ed3500cbf2d3131dd406d2e6944bdc1b3db90c8310c71cd6db67aaae0f3459eadf47484c9cbfaaf1e712de 0002-Make-sure-expiration-time-is-interpreted-as-unsigned.patch
+d62367b69f31b507f0bbdfd6778a1491892f0ec26f8345a2186af78b8123e6d4e9687a90b0425a8cd5fb074e62d24f849d121c58b004ae68bed4e8260f7d5c6b 0003-python310.patch"