From badba51fcf3b3588b3664cf48c8185f5454a5c2e Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:19:57 -0700 Subject: [PATCH 01/11] gpgme: update to 1.18.0. --- common/shlibs | 2 +- .../gpgme/patches/0001-tests-log-error.patch | 51 ++++++ .../0002-tests-expiration-time-unsigned.patch | 159 ++++++++++++++++++ .../gpgme/patches/0003-tests-fix-32bit.patch | 75 +++++++++ .../gpgme/patches/fix-error-conditions.patch | 40 +++++ srcpkgs/gpgme/template | 7 +- 6 files changed, 330 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/gpgme/patches/0001-tests-log-error.patch create mode 100644 srcpkgs/gpgme/patches/0002-tests-expiration-time-unsigned.patch create mode 100644 srcpkgs/gpgme/patches/0003-tests-fix-32bit.patch create mode 100644 srcpkgs/gpgme/patches/fix-error-conditions.patch diff --git a/common/shlibs b/common/shlibs index ec58b8c40619..5fddc7dc8ba6 100644 --- a/common/shlibs +++ b/common/shlibs @@ -721,7 +721,7 @@ libdconf.so.1 dconf-0.13.90_1 libassuan.so.0 libassuan-2.0.1_1 libgpgme.so.11 libgpgme-1.12.0_2 libgpgmepp.so.6 gpgmepp-1.7.0_3 -libqgpgme.so.7 gpgmeqt-1.7.0_3 +libqgpgme.so.15 gpgmeqt-1.18.0_1 libgarcon-1.so.0 garcon-0.1.12_1 libgarcon-gtk2-1.so.0 garcon-0.4.0_1 libgarcon-gtk3-1.so.0 garcon-0.6.1_1 diff --git a/srcpkgs/gpgme/patches/0001-tests-log-error.patch b/srcpkgs/gpgme/patches/0001-tests-log-error.patch new file mode 100644 index 000000000000..50443efe2e7e --- /dev/null +++ b/srcpkgs/gpgme/patches/0001-tests-log-error.patch @@ -0,0 +1,51 @@ +From 81d4b7f2d7077297d76af5728949d8f2bdff8cd5 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Ingo=20Kl=C3=B6cker?= +Date: Wed, 17 Aug 2022 14:56:13 +0200 +Subject: [PATCH] qt,tests: Log the actual error code if the assertion fails + +* lang/qt/tests/t-addexistingsubkey.cpp ( +AddExistingSubkeyJobTest::testAddExistingSubkeyAsync, +AddExistingSubkeyJobTest::testAddExistingSubkeySync, +AddExistingSubkeyJobTest::testAddExistingSubkeyWithExpiration): Use +QCOMPARE instead of QVERIFY for asserting equality. +-- + +GnuPG-bug-id: 6137 +--- + lang/qt/tests/t-addexistingsubkey.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/lang/qt/tests/t-addexistingsubkey.cpp b/lang/qt/tests/t-addexistingsubkey.cpp +index 589c90bf..2e654cec 100644 +--- a/lang/qt/tests/t-addexistingsubkey.cpp ++++ b/lang/qt/tests/t-addexistingsubkey.cpp +@@ -168,7 +168,7 @@ private Q_SLOTS: + QSignalSpy spy (this, SIGNAL(asyncDone())); + QVERIFY(spy.wait(QSIGNALSPY_TIMEOUT)); + +- QVERIFY(result.code() == GPG_ERR_NO_ERROR); ++ QCOMPARE(result.code(), static_cast(GPG_ERR_NO_ERROR)); + key.update(); + QCOMPARE(key.numSubkeys(), 3u); + } +@@ -190,7 +190,7 @@ private Q_SLOTS: + + const auto result = job->exec(key, sourceSubkey); + +- QVERIFY(result.code() == GPG_ERR_NO_ERROR); ++ QCOMPARE(result.code(), static_cast(GPG_ERR_NO_ERROR)); + key.update(); + QCOMPARE(key.numSubkeys(), 3u); + QCOMPARE(key.subkey(2).expirationTime(), 0); +@@ -213,7 +213,7 @@ private Q_SLOTS: + + const auto result = job->exec(key, sourceSubkey); + +- QVERIFY(result.code() == GPG_ERR_NO_ERROR); ++ QCOMPARE(result.code(), static_cast(GPG_ERR_NO_ERROR)); + key.update(); + QCOMPARE(key.numSubkeys(), 3u); + +-- +2.11.0 + diff --git a/srcpkgs/gpgme/patches/0002-tests-expiration-time-unsigned.patch b/srcpkgs/gpgme/patches/0002-tests-expiration-time-unsigned.patch new file mode 100644 index 000000000000..57aef8852a12 --- /dev/null +++ b/srcpkgs/gpgme/patches/0002-tests-expiration-time-unsigned.patch @@ -0,0 +1,159 @@ +From f2b48de26b8f8c48c293423eda712831544924f6 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Ingo=20Kl=C3=B6cker?= +Date: Wed, 17 Aug 2022 15:22:29 +0200 +Subject: [PATCH] qt,tests: Make sure expiration time is interpreted as + unsigned number + +* lang/qt/tests/t-addexistingsubkey.cpp, +lang/qt/tests/t-changeexpiryjob.cpp: Convert expiration time to +uint_least32_t. +-- + +This doesn't change the outcome of the tests (they also pass without +this change because of the expiration dates of the test keys), but it's +still good practise to treat the expiration time as an unsigned number +if the assertions check that the expiration time is in some range. + +GnuPG-bug-id: 6137 +--- + lang/qt/tests/t-addexistingsubkey.cpp | 6 +++--- + lang/qt/tests/t-changeexpiryjob.cpp | 26 +++++++++++++------------- + 2 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/lang/qt/tests/t-addexistingsubkey.cpp b/lang/qt/tests/t-addexistingsubkey.cpp +index 2e654cec..87eadf43 100644 +--- a/lang/qt/tests/t-addexistingsubkey.cpp ++++ b/lang/qt/tests/t-addexistingsubkey.cpp +@@ -222,9 +222,9 @@ private Q_SLOTS: + // several times + const auto allowedDeltaTSeconds = 1; + const auto expectedExpirationRange = std::make_pair( +- sourceSubkey.expirationTime() - allowedDeltaTSeconds, +- sourceSubkey.expirationTime() + allowedDeltaTSeconds); +- const auto actualExpiration = key.subkey(2).expirationTime(); ++ uint_least32_t(sourceSubkey.expirationTime()) - allowedDeltaTSeconds, ++ uint_least32_t(sourceSubkey.expirationTime()) + allowedDeltaTSeconds); ++ const auto actualExpiration = uint_least32_t(key.subkey(2).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +diff --git a/lang/qt/tests/t-changeexpiryjob.cpp b/lang/qt/tests/t-changeexpiryjob.cpp +index 090002f3..3da74d46 100644 +--- a/lang/qt/tests/t-changeexpiryjob.cpp ++++ b/lang/qt/tests/t-changeexpiryjob.cpp +@@ -70,7 +70,7 @@ private Q_SLOTS: + QVERIFY(!key.isNull()); + QVERIFY(!key.subkey(0).isNull()); + QVERIFY(!key.subkey(1).isNull()); +- const auto subkeyExpiration = key.subkey(1).expirationTime(); ++ const auto subkeyExpiration = uint_least32_t(key.subkey(1).expirationTime()); + + { + // Create the job +@@ -101,7 +101,7 @@ private Q_SLOTS: + newExpirationDate.toSecsSinceEpoch() - 10, + QDateTime::currentDateTime().addDays(1).toSecsSinceEpoch()); + { +- const auto actualExpiration = key.subkey(0).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(0).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +@@ -110,7 +110,7 @@ private Q_SLOTS: + "; expected: " + std::to_string(expectedExpirationRange.second)).c_str()); + } + { +- const auto actualExpiration = key.subkey(1).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(1).expirationTime()); + QCOMPARE(actualExpiration, subkeyExpiration); // unchanged + } + } +@@ -133,7 +133,7 @@ private Q_SLOTS: + QVERIFY(!key.isNull()); + QVERIFY(!key.subkey(0).isNull()); + QVERIFY(!key.subkey(1).isNull()); +- const auto primaryKeyExpiration = key.subkey(0).expirationTime(); ++ const auto primaryKeyExpiration = uint_least32_t(key.subkey(0).expirationTime()); + + { + // Create the job +@@ -164,11 +164,11 @@ private Q_SLOTS: + newExpirationDate.toSecsSinceEpoch() - 10, + QDateTime::currentDateTime().addDays(2).toSecsSinceEpoch()); + { +- const auto actualExpiration = key.subkey(0).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(0).expirationTime()); + QCOMPARE(actualExpiration, primaryKeyExpiration); // unchanged + } + { +- const auto actualExpiration = key.subkey(1).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(1).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +@@ -196,7 +196,7 @@ private Q_SLOTS: + QVERIFY(!key.isNull()); + QVERIFY(!key.subkey(0).isNull()); + QVERIFY(!key.subkey(1).isNull()); +- const auto subkeyExpiration = key.subkey(1).expirationTime(); ++ const auto subkeyExpiration = uint_least32_t(key.subkey(1).expirationTime()); + + { + // Create the job +@@ -228,7 +228,7 @@ private Q_SLOTS: + newExpirationDate.toSecsSinceEpoch() - 10, + QDateTime::currentDateTime().addDays(3).toSecsSinceEpoch()); + { +- const auto actualExpiration = key.subkey(0).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(0).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +@@ -237,7 +237,7 @@ private Q_SLOTS: + "; expected: " + std::to_string(expectedExpirationRange.second)).c_str()); + } + { +- const auto actualExpiration = key.subkey(1).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(1).expirationTime()); + QCOMPARE(actualExpiration, subkeyExpiration); // unchanged + } + } +@@ -291,7 +291,7 @@ private Q_SLOTS: + newExpirationDate.toSecsSinceEpoch() - 10, + QDateTime::currentDateTime().addDays(4).toSecsSinceEpoch()); + { +- const auto actualExpiration = key.subkey(0).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(0).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +@@ -300,7 +300,7 @@ private Q_SLOTS: + "; expected: " + std::to_string(expectedExpirationRange.second)).c_str()); + } + { +- const auto actualExpiration = key.subkey(1).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(1).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +@@ -359,7 +359,7 @@ private Q_SLOTS: + newExpirationDate.toSecsSinceEpoch() - 10, + QDateTime::currentDateTime().addDays(5).toSecsSinceEpoch()); + { +- const auto actualExpiration = key.subkey(0).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(0).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +@@ -368,7 +368,7 @@ private Q_SLOTS: + "; expected: " + std::to_string(expectedExpirationRange.second)).c_str()); + } + { +- const auto actualExpiration = key.subkey(1).expirationTime(); ++ const auto actualExpiration = uint_least32_t(key.subkey(1).expirationTime()); + QVERIFY2(actualExpiration >= expectedExpirationRange.first, + ("actual: " + std::to_string(actualExpiration) + + "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +-- +2.11.0 + diff --git a/srcpkgs/gpgme/patches/0003-tests-fix-32bit.patch b/srcpkgs/gpgme/patches/0003-tests-fix-32bit.patch new file mode 100644 index 000000000000..aaaf57582f00 --- /dev/null +++ b/srcpkgs/gpgme/patches/0003-tests-fix-32bit.patch @@ -0,0 +1,75 @@ +From 2e7a61b898fccc1c20000b79dee83cd980901fa9 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Ingo=20Kl=C3=B6cker?= +Date: Thu, 18 Aug 2022 10:55:09 +0200 +Subject: [PATCH] qt,tests: Make test pass on 32-bit systems + +* lang/qt/tests/t-addexistingsubkey.cpp +(AddExistingSubkeyJobTest::testAddExistingSubkeyWithExpiration): Handle +negative expiration date. +-- + +On 32-bit systems the expiration date of the test key overflows. This +will cause the AddExistingSubkeyJob to fail. We expect it to fail with +an "invalid time" error. + +GnuPG-bug-id: 6137 +--- + lang/qt/tests/t-addexistingsubkey.cpp | 42 ++++++++++++++++++++--------------- + 1 file changed, 24 insertions(+), 18 deletions(-) + +diff --git a/lang/qt/tests/t-addexistingsubkey.cpp b/lang/qt/tests/t-addexistingsubkey.cpp +index 87eadf43..c0eee57b 100644 +--- a/lang/qt/tests/t-addexistingsubkey.cpp ++++ b/lang/qt/tests/t-addexistingsubkey.cpp +@@ -213,24 +213,30 @@ private Q_SLOTS: + + const auto result = job->exec(key, sourceSubkey); + +- QCOMPARE(result.code(), static_cast(GPG_ERR_NO_ERROR)); +- key.update(); +- QCOMPARE(key.numSubkeys(), 3u); +- +- // allow 1 second different expiration because gpg calculates with +- // expiration as difference to current time and takes current time +- // several times +- const auto allowedDeltaTSeconds = 1; +- const auto expectedExpirationRange = std::make_pair( +- uint_least32_t(sourceSubkey.expirationTime()) - allowedDeltaTSeconds, +- uint_least32_t(sourceSubkey.expirationTime()) + allowedDeltaTSeconds); +- const auto actualExpiration = uint_least32_t(key.subkey(2).expirationTime()); +- QVERIFY2(actualExpiration >= expectedExpirationRange.first, +- ("actual: " + std::to_string(actualExpiration) + +- "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); +- QVERIFY2(actualExpiration <= expectedExpirationRange.second, +- ("actual: " + std::to_string(actualExpiration) + +- "; expected: " + std::to_string(expectedExpirationRange.second)).c_str()); ++ if (sourceSubkey.expirationTime() > 0) { ++ QCOMPARE(result.code(), static_cast(GPG_ERR_NO_ERROR)); ++ key.update(); ++ QCOMPARE(key.numSubkeys(), 3u); ++ ++ // allow 1 second different expiration because gpg calculates with ++ // expiration as difference to current time and takes current time ++ // several times ++ const auto allowedDeltaTSeconds = 1; ++ const auto expectedExpirationRange = std::make_pair( ++ uint_least32_t(sourceSubkey.expirationTime()) - allowedDeltaTSeconds, ++ uint_least32_t(sourceSubkey.expirationTime()) + allowedDeltaTSeconds); ++ const auto actualExpiration = uint_least32_t(key.subkey(2).expirationTime()); ++ QVERIFY2(actualExpiration >= expectedExpirationRange.first, ++ ("actual: " + std::to_string(actualExpiration) + ++ "; expected: " + std::to_string(expectedExpirationRange.first)).c_str()); ++ QVERIFY2(actualExpiration <= expectedExpirationRange.second, ++ ("actual: " + std::to_string(actualExpiration) + ++ "; expected: " + std::to_string(expectedExpirationRange.second)).c_str()); ++ } else { ++ // on 32-bit systems the expiration date of the test key overflows; ++ // in this case we expect an appropriate error code ++ QCOMPARE(result.code(), static_cast(GPG_ERR_INV_TIME)); ++ } + } + + private: +-- +2.11.0 + diff --git a/srcpkgs/gpgme/patches/fix-error-conditions.patch b/srcpkgs/gpgme/patches/fix-error-conditions.patch new file mode 100644 index 000000000000..f70e167784ce --- /dev/null +++ b/srcpkgs/gpgme/patches/fix-error-conditions.patch @@ -0,0 +1,40 @@ +From 2fa5c80aeba4528b3bdf41ec5740e7db5d4b6d2b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= +Date: Thu, 18 Aug 2022 10:43:19 +0200 +Subject: [PATCH] cpp: Fix handling of "no key" or "invalid time" situations + +* lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp +(GpgAddExistingSubkeyEditInteractor::Private::nextState): Fix inverted +logic of string comparisons. +-- + +This fixes the problem that the interactor didn't return the proper +error code if gpg didn't accept the key grip or the expiration date. + +GnuPG-bug-id: 6137 +--- + lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp b/lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp +index 547e613d..8eec7460 100644 +--- a/lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp ++++ b/lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp +@@ -136,7 +136,7 @@ unsigned int GpgAddExistingSubkeyEditInteractor::Private::nextState(unsigned int + strcmp(args, "keygen.flags") == 0) { + return FLAGS; + } else if (status == GPGME_STATUS_GET_LINE && +- strcmp(args, "keygen.keygrip")) { ++ strcmp(args, "keygen.keygrip") == 0) { + err = NO_KEY_ERROR; + return ERROR; + } +@@ -157,7 +157,7 @@ unsigned int GpgAddExistingSubkeyEditInteractor::Private::nextState(unsigned int + strcmp(args, "keyedit.prompt") == 0) { + return QUIT; + } else if (status == GPGME_STATUS_GET_LINE && +- strcmp(args, "keygen.valid")) { ++ strcmp(args, "keygen.valid") == 0) { + err = INV_TIME_ERROR; + return ERROR; + } diff --git a/srcpkgs/gpgme/template b/srcpkgs/gpgme/template index 8633075a8404..09b08c45ae6a 100644 --- a/srcpkgs/gpgme/template +++ b/srcpkgs/gpgme/template @@ -1,7 +1,7 @@ # Template file for 'gpgme' pkgname=gpgme -version=1.15.1 -revision=2 +version=1.18.0 +revision=1 build_style=gnu-configure configure_args="--enable-fd-passing --with-libgpg-error-prefix=$XBPS_CROSS_BASE/usr @@ -9,12 +9,13 @@ configure_args="--enable-fd-passing hostmakedepends="gnupg pkg-config qt5-host-tools qt5-qmake" makedepends="libassuan-devel qt5-tools-devel" depends="gnupg>=2" +checkdepends="which" short_desc="GnuPG Made Easy" maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://www.gnupg.org/software/gpgme/index.html" distfiles="https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-${version}.tar.bz2" -checksum=eebc3c1b27f1c8979896ff361ba9bb4778b508b2496c2fc10e3775a40b1de1ad +checksum=361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e if [ "$XBPS_TARGET_LIBC" = "musl" ]; then configure_args+=" ac_cv_sys_file_offset_bits=no" From 08eaf9d98852fb3dae8a53b9c120350def3ae88e Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:20:32 -0700 Subject: [PATCH 02/11] libkleo: rebuild for gpgme 1.18 --- .../patches/disable-failing-test.patch | 25 +++++++++++++++++++ srcpkgs/libkleo/template | 5 ++-- 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/libkleo/patches/disable-failing-test.patch diff --git a/srcpkgs/libkleo/patches/disable-failing-test.patch b/srcpkgs/libkleo/patches/disable-failing-test.patch new file mode 100644 index 000000000000..3095aa90b250 --- /dev/null +++ b/srcpkgs/libkleo/patches/disable-failing-test.patch @@ -0,0 +1,25 @@ +--- a/autotests/CMakeLists.txt ++++ b/autotests/CMakeLists.txt +@@ -25,13 +25,6 @@ + LINK_LIBRARIES KF5::Libkleo Qt${QT_MAJOR_VERSION}::Test + ) + +-ecm_add_test( +- keyresolvercoretest.cpp +- keyresolvercoretest.qrc +- TEST_NAME keyresolvercoretest +- LINK_LIBRARIES KF5::Libkleo Qt${QT_MAJOR_VERSION}::Test +-) +- + ecm_add_tests( + editdirectoryservicedialogtest.cpp + LINK_LIBRARIES KF5::Libkleo KF5::WidgetsAddons Qt${QT_MAJOR_VERSION}::Widgets Qt${QT_MAJOR_VERSION}::Test +--- a/autotests/CMakeLists.txt ++++ b/autotests/CMakeLists.txt +@@ -33,7 +33,6 @@ + ecm_add_tests( + keyselectioncombotest.cpp + keyserverconfigtest.cpp +- newkeyapprovaldialogtest.cpp + LINK_LIBRARIES KF5::Libkleo Qt${QT_MAJOR_VERSION}::Widgets Qt${QT_MAJOR_VERSION}::Test + ) diff --git a/srcpkgs/libkleo/template b/srcpkgs/libkleo/template index caad7e4047a5..dc17b7bcf1e4 100644 --- a/srcpkgs/libkleo/template +++ b/srcpkgs/libkleo/template @@ -1,11 +1,12 @@ # Template file for 'libkleo' pkgname=libkleo version=22.04.3 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-qmake qt5-host-tools gettext kcoreaddons" -makedepends="kitemmodels-devel kpimtextedit-devel gpgmeqt-devel gpgmepp-devel" +makedepends="kitemmodels-devel kpimtextedit-devel gpgmeqt-devel gpgmepp-devel + boost-devel" short_desc="KDE PIM cryptographic library" maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" From 083f84478cc8f94549918e46bdd0a597558383f6 Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:38:25 -0700 Subject: [PATCH 03/11] messagelib: rebuild for gpgme 1.18 --- srcpkgs/messagelib/template | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/srcpkgs/messagelib/template b/srcpkgs/messagelib/template index f42b49ef0dc1..b6064699bcf3 100644 --- a/srcpkgs/messagelib/template +++ b/srcpkgs/messagelib/template @@ -1,7 +1,7 @@ # Template file for 'messagelib' pkgname=messagelib version=22.04.3 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules qt5-qmake qt5-host-tools python3 gettext kcoreaddons kconfig" @@ -15,6 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/messagelib-${version}.tar.xz" checksum=50de2bdd2bdba547b8b318a0ad075a1176f496457056988a2709ea94915a7a1b +make_check=no # Running as root without --no-sandbox is not supported. See https://crbug.com/638180. #TODO: fix build without qca-qt5 From e3236bf83b110ef47e1623f9ca01f0e8d630d5d4 Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:38:47 -0700 Subject: [PATCH 04/11] mailcommon: rebuild for gpgme 1.18 --- srcpkgs/mailcommon/template | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/srcpkgs/mailcommon/template b/srcpkgs/mailcommon/template index 8d1c8d25c6b5..7be673490f58 100644 --- a/srcpkgs/mailcommon/template +++ b/srcpkgs/mailcommon/template @@ -1,18 +1,26 @@ # Template file for 'mailcommon' pkgname=mailcommon version=22.04.3 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules kconfig libxslt qt5-qmake gettext qt5-host-tools python3 kgendesignerplugin" makedepends="mailimporter-devel messagelib-devel kdesignerplugin-devel pimcommon-devel libkleo-devel qt5-multimedia-devel kcontacts-devel" +checkdepends="dbus" short_desc="KDE PIM library providing support for mail applications" maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later" homepage="https://community.kde.org/KDE_PIM" distfiles="${KDE_SITE}/release-service/${version}/src/mailcommon-${version}.tar.xz" checksum=eb3b2b848574f086c6e9642adfbb61fa0e69e6f857f368d0fa0ec6a9ce15396e +make_check=no # Stalls infinately after tests complete + +do_check() { + cd build + dbus-run-session ctest -E \ + "(mailcommon-filter-filteractiondecrypt|mailcommon-filter-filteractionencrypt)test" +} mailcommon-devel_package() { depends="${sourcepkg}>=${version}_${revision} ${makedpends}" From f66b89048dadca6d524ebc3dc6b8bcd8ade82a67 Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:39:14 -0700 Subject: [PATCH 05/11] kdepim-addons: rebuild for gpgme 1.18 --- srcpkgs/kdepim-addons/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/kdepim-addons/template b/srcpkgs/kdepim-addons/template index 3bac99179a3f..bc4b24db33a7 100644 --- a/srcpkgs/kdepim-addons/template +++ b/srcpkgs/kdepim-addons/template @@ -1,7 +1,7 @@ # Template file for 'kdepim-addons' pkgname=kdepim-addons version=22.04.1 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules python3 kdoctools kcoreaddons kconfig kpackage gettext qt5-qmake qt5-host-tools" From c6129702b5e1e59eaa247110a15daf0ab2759c6b Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:43:53 -0700 Subject: [PATCH 06/11] kget: rebuild for gpgme 1.18 --- .../kget/patches/disable-failing-tests.patch | 71 +++++++++++++++++++ srcpkgs/kget/template | 2 +- 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/kget/patches/disable-failing-tests.patch diff --git a/srcpkgs/kget/patches/disable-failing-tests.patch b/srcpkgs/kget/patches/disable-failing-tests.patch new file mode 100644 index 000000000000..b17a17cdbb75 --- /dev/null +++ b/srcpkgs/kget/patches/disable-failing-tests.patch @@ -0,0 +1,71 @@ +diff -rup kget-22.04.1.orig/tests/schedulertest.cpp kget-22.04.1/tests/schedulertest.cpp +--- a/tests/schedulertest.cpp ++++ b/tests/schedulertest.cpp +@@ -211,50 +211,6 @@ void SchedulerTest::testStopScheduler_da + QTest::newRow("no limit, one running, three stopped") << NO_LIMIT << (QList() << Job::Running << Job::Stopped << Job::Stopped << Job::Stopped); + } + +-void SchedulerTest::testSchedulerStopStart() +-{ +- QFETCH(int, limit); +- QFETCH(QList, status); +- QFETCH(QList, finalStatus); +- +- SettingsHelper helper(limit); +- +- Scheduler scheduler; +- auto *queue = new TestQueue(&scheduler); +- scheduler.addQueue(queue); +- +- //uses an own list instead of the iterators to make sure that the order stays the same +- QList jobs; +- for (int i = 0; i < status.size(); ++i) { +- auto *job = new TestJob(&scheduler, queue); +- job->setStatus(status[i]); +- queue->appendPub(job); +- jobs << job; +- } +- +- scheduler.stop(); +- scheduler.start(); +- +- for (int i = 0; i < status.size(); ++i) { +- QCOMPARE(jobs[i]->status(), finalStatus[i]); +- } +-} +- +-void SchedulerTest::testSchedulerStopStart_data() +-{ +- QTest::addColumn("limit"); +- QTest::addColumn >("status"); +- QTest::addColumn >("finalStatus"); +- +- QTest::newRow("limit 2, two finished, will third be started?") << 2 << (QList() << Job::Finished << Job::Finished << Job::Stopped) << (QList() << Job::Finished << Job::Finished << Job::Running); +- QTest::newRow("limit 2, will first two start while last will stay stopped?") << 2 << (QList() << Job::Stopped << Job::Stopped << Job::Stopped) << (QList() << Job::Running << Job::Running << Job::Stopped); +- QTest::newRow("limit 2, will first two start while last will be stopped?") << 2 << (QList() << Job::Stopped << Job::Stopped << Job::Running) << (QList() << Job::Running << Job::Running << Job::Stopped); +- QTest::newRow("no limit, two finished, will third be started?") << NO_LIMIT << (QList() << Job::Finished << Job::Finished << Job::Stopped) << (QList() << Job::Finished << Job::Finished << Job::Running); +- QTest::newRow("no limit, will all three be started?") << NO_LIMIT << (QList() << Job::Stopped << Job::Stopped << Job::Stopped) << (QList() << Job::Running << Job::Running << Job::Running); +- QTest::newRow("limit 2, two finished, will third stay running?") << 2 << (QList() << Job::Finished << Job::Finished << Job::Running) << (QList() << Job::Finished << Job::Finished << Job::Running); +-} +- +- + void SchedulerTest::testSuspendScheduler() + { + QFETCH(int, limit); +diff -rup kget-22.04.1.orig/tests/schedulertest.h kget-22.04.1/tests/schedulertest.h +--- a/tests/schedulertest.h ++++ b/tests/schedulertest.h +@@ -99,13 +99,6 @@ class SchedulerTest : public QObject + void testStopScheduler(); + void testStopScheduler_data(); + +- /** +- * Stops the scheduler and then starts it again to see if jobs +- * are correctly started +- */ +- void testSchedulerStopStart(); +- void testSchedulerStopStart_data(); +- + void testSuspendScheduler(); + void testSuspendScheduler_data(); + diff --git a/srcpkgs/kget/template b/srcpkgs/kget/template index cdf9e98935f3..1dba435510b4 100644 --- a/srcpkgs/kget/template +++ b/srcpkgs/kget/template @@ -1,7 +1,7 @@ # Template file for 'kget' pkgname=kget version=22.04.1 -revision=1 +revision=2 build_style=cmake configure_args="-DDESKTOPTOJSON_EXECUTABLE=/usr/bin/desktoptojson" hostmakedepends="extra-cmake-modules python3 qt5-qmake qt5-host-tools From 8af9e8557926f80eebf5e05078632aa488c257b4 Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:48:05 -0700 Subject: [PATCH 07/11] kleopatra: rebuild for gpgme 1.18 --- srcpkgs/kleopatra/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/kleopatra/template b/srcpkgs/kleopatra/template index 9f30cbd5ed23..20e578868c60 100644 --- a/srcpkgs/kleopatra/template +++ b/srcpkgs/kleopatra/template @@ -1,7 +1,7 @@ # Template file for 'kleopatra' pkgname=kleopatra version=22.04.3 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules kdoctools qt5-qmake qt5-host-tools kcoreaddons gettext kconfig" makedepends="kcmutils-devel AppStream kitemmodels-devel gpgmeqt-devel libkleo-devel kmime-devel" From b718404be42cc3f86381377b4e1d97d2c2b9df8d Mon Sep 17 00:00:00 2001 From: oreo639 <31916379+Oreo639@users.noreply.github.com> Date: Sun, 21 Aug 2022 22:49:57 -0700 Subject: [PATCH 08/11] kmail-account-wizard: rebuild for gpgme 1.18 --- srcpkgs/kmail-account-wizard/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/kmail-account-wizard/template b/srcpkgs/kmail-account-wizard/template index 29e6d92f0251..ea99b3f86fd8 100644 --- a/srcpkgs/kmail-account-wizard/template +++ b/srcpkgs/kmail-account-wizard/template @@ -1,7 +1,7 @@ # Template file for 'kmail-account-wizard' pkgname=kmail-account-wizard version=22.04.3 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules kcoreaddons qt5-qmake qt5-host-tools python3 gettext" From beb4bf691b746ca9d13ac1ddbd3bd5c51c52c6c3 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Thu, 8 Sep 2022 17:55:25 -0700 Subject: [PATCH 09/11] kmail: rebuild for gpgme 1.18 --- srcpkgs/kmail/template | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/srcpkgs/kmail/template b/srcpkgs/kmail/template index dbb6698418f9..ccfaa7997980 100644 --- a/srcpkgs/kmail/template +++ b/srcpkgs/kmail/template @@ -1,7 +1,7 @@ # Template file for 'kmail' pkgname=kmail version=22.04.3 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules python3 qt5-host-tools qt5-qmake gettext kcmutils kdoctools kconfig kcoreaddons" @@ -10,9 +10,17 @@ makedepends="kcalutils-devel knotifyconfig-devel kontactinterface-devel messagelib-devel qt5-location-devel qt5-webchannel-devel qt5-webengine-devel" depends="kdepim-runtime kmail-account-wizard mariadb akonadi-import-wizard pim-data-exporter" +checkdepends="dbus" short_desc="KDE Mail Client" maintainer="John " license="GPL-2.0-or-later, LGPL-2.1-or-later, GFDL-1.2-or-later" homepage="https://kde.org/applications/en/internet/org.kde.kmail2" distfiles="${KDE_SITE}/release-service/${version}/src/kmail-${version}.tar.xz" checksum=b88101f47259a5ebfc4ec8e5d0efa19cdff33c67034e9c7082c22c0a11474d74 +make_check=no # Stalls infinately after tests complete + +do_check() { + cd build + dbus-run-session ctest -E \ + "(akonadi-sqlite-kmcomposerwin|akonadi-sqlite-tagselectdialog|akonadi-sqlite-kmcommands)test" +} From feb4e8758b8a4ed46de8d952122978f7b9fefb04 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Wed, 14 Sep 2022 04:39:25 -0700 Subject: [PATCH 10/11] libktorrent: fix build failure due to missing boost --- srcpkgs/libktorrent/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/libktorrent/template b/srcpkgs/libktorrent/template index 787e5a7c40ee..2b2b5cc321f6 100644 --- a/srcpkgs/libktorrent/template +++ b/srcpkgs/libktorrent/template @@ -1,11 +1,11 @@ # Template file for 'libktorrent' pkgname=libktorrent version=22.04.1 -revision=1 +revision=2 build_style=cmake hostmakedepends="extra-cmake-modules gettext qt5-host-tools qt5-qmake python3 doxygen" makedepends="qt5-devel karchive-devel ksolid-devel kio-devel ki18n-devel - kcrash-devel gmp-devel qca-qt5-devel" + kcrash-devel gmp-devel qca-qt5-devel boost-devel" short_desc="BitTorrent protocol implementation" maintainer="Orphaned " license="GPL-2.0-or-later" @@ -18,7 +18,7 @@ if [ "$CROSS_BUILD" ]; then fi libktorrent-devel_package() { - depends="${sourcepkg}-${version}_${revision} gmp-devel" + depends="${sourcepkg}-${version}_${revision} gmp-devel boost-devel" pkg_install() { vmove usr/include vmove usr/lib/cmake From 9d2d09fee57dfe32ff7a0c3f872a4c1b92dce4fb Mon Sep 17 00:00:00 2001 From: oreo639 Date: Wed, 14 Sep 2022 23:44:59 -0700 Subject: [PATCH 11/11] akonadi5: rebuild to fix version mismatch --- srcpkgs/akonadi5/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/akonadi5/template b/srcpkgs/akonadi5/template index 073b4ba37173..c7b2e9b9532e 100644 --- a/srcpkgs/akonadi5/template +++ b/srcpkgs/akonadi5/template @@ -1,7 +1,7 @@ # Template file for 'akonadi5' pkgname=akonadi5 version=22.04.3 -revision=1 +revision=2 wrksrc="akonadi-${version}" build_style=cmake build_helper="qemu" @@ -35,7 +35,7 @@ do_check() { # failing tests are disabled - sqlite tests hang on futex cd build dbus-run-session ctest -E \ - "(akonadixml-xmldocument|mimetypechecker|AkonadiControl-agenttype|.*sqlite.*)test" + "(akonadixml-xmldocument|mimetypechecker|AkonadiServer-dbconfig|entitytreemodel|.*sqlite.*)test" } akonadi5-devel_package() {