Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/gpgme/PKGBUILD32
-rw-r--r--core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch12
-rw-r--r--core/gpgme/fix-qt-test-t-various-for-i386.patch16
3 files changed, 60 insertions, 0 deletions
diff --git a/core/gpgme/PKGBUILD b/core/gpgme/PKGBUILD
index fe37c199..463f9bd5 100644
--- a/core/gpgme/PKGBUILD
+++ b/core/gpgme/PKGBUILD
@@ -22,3 +22,35 @@ eval "$(
s/lib.linux-x86_64/lib.linux-i686/g
'
)"
+
+# https://dev.gnupg.org/T5526: t-various which fails on 32-bit (i386)
+
+source+=(fix-qt-test-t-various-for-i386.patch)
+sha256sums+=('e64d08a6035ad4f856d36658580b909a0828c023b71589be5fb226d468de9415')
+
+eval "$(
+ {
+ declare -f prepare || \
+ printf 'prepare() {\n}\n'
+ } \
+ | sed '
+ $i cd "${srcdir}/${pkgbase}-${pkgver}" \
+ patch -Np1 -i "$srcdir/fix-qt-test-t-various-for-i386.patch"
+ '
+)"
+
+# https://dev.gnupg.org/T5509, t-edit-sign does a member access on a freed object
+
+source+=(fix-gpg-test-t-edit-sign-signed_key_uids.patch)
+sha256sums+=('f3bb1aafd99d317c18130cc475f8911c9323ae005f118d10fdafd3e11ca799a8')
+
+eval "$(
+ {
+ declare -f prepare || \
+ printf 'prepare() {\n}\n'
+ } \
+ | sed '
+ $i cd "${srcdir}/${pkgbase}-${pkgver}" \
+ patch -Np1 -i "$srcdir/fix-gpg-test-t-edit-sign-signed_key_uids.patch"
+ '
+)"
diff --git a/core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch b/core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch
new file mode 100644
index 00000000..dcf1f1bd
--- /dev/null
+++ b/core/gpgme/fix-gpg-test-t-edit-sign-signed_key_uids.patch
@@ -0,0 +1,12 @@
+diff -rauN a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c
+--- a/tests/gpg/t-edit-sign.c 2021-06-24 18:05:12.000000000 +0200
++++ b/tests/gpg/t-edit-sign.c 2021-07-18 09:43:58.310772661 +0200
+@@ -168,7 +168,7 @@
+ 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");
diff --git a/core/gpgme/fix-qt-test-t-various-for-i386.patch b/core/gpgme/fix-qt-test-t-various-for-i386.patch
new file mode 100644
index 00000000..26b64fd5
--- /dev/null
+++ b/core/gpgme/fix-qt-test-t-various-for-i386.patch
@@ -0,0 +1,16 @@
+ 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 8563b68..059462e 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::fromTime_t(keySignature.expirationTime()).date();
+ QCOMPARE(expirationDate, QDate(2106, 2, 6)); // expiration date is capped at 2106-02-06
+ }
+