commit: 805cb83c26008cf37adb596e924e19c8ae8e760c Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Aug 11 10:00:06 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Aug 11 10:00:41 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=805cb83c
kde-apps/kleopatra: fix build w/ gpgme-2 New revision as there's a chance it may break older gpgme compat. Closes: https://bugs.gentoo.org/961317 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/kleopatra-25.04.3-gpgme-2.patch | 121 +++++++++++++++++++++ kde-apps/kleopatra/kleopatra-25.04.3-r1.ebuild | 72 ++++++++++++ 2 files changed, 193 insertions(+) diff --git a/kde-apps/kleopatra/files/kleopatra-25.04.3-gpgme-2.patch b/kde-apps/kleopatra/files/kleopatra-25.04.3-gpgme-2.patch new file mode 100644 index 000000000000..3cc2e56a23fe --- /dev/null +++ b/kde-apps/kleopatra/files/kleopatra-25.04.3-gpgme-2.patch @@ -0,0 +1,121 @@ +https://bugs.gentoo.org/961317 +https://invent.kde.org/pim/kleopatra/-/commit/10b618703d74618c09b5e2b16e2db9d829aed93b +https://invent.kde.org/pim/kleopatra/-/commit/b1f3736de7ed3c2d4f58aa454064a4cd0f423250 +https://invent.kde.org/pim/kleopatra/-/commit/d4f777ffa137148302ca39d5a2238c01c896605d + +From 10b618703d74618c09b5e2b16e2db9d829aed93b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <[email protected]> +Date: Wed, 14 May 2025 17:29:18 +0200 +Subject: [PATCH] Include QGpgME/Debug for QDebug operator for GpgME::Error + +The missing QDebug operator was caught by the new explicit +conversion-to-bool operator for GpgME::Error. The safe-bool idiom didn't +prevent conversion of GpgME::Error to bool when passed to QDebug's +operator<<. +--- + src/dialogs/useridswidget.cpp | 1 + + src/view/cardkeysview.cpp | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/dialogs/useridswidget.cpp b/src/dialogs/useridswidget.cpp +index bcb540bc4..fc26e7b9e 100644 +--- a/src/dialogs/useridswidget.cpp ++++ b/src/dialogs/useridswidget.cpp +@@ -33,6 +33,7 @@ + #include <QPushButton> + #include <QVBoxLayout> + ++#include <QGpgME/Debug> + #include <QGpgME/KeyListJob> + #include <QGpgME/Protocol> + +diff --git a/src/view/cardkeysview.cpp b/src/view/cardkeysview.cpp +index eee754f7b..1f5a233aa 100644 +--- a/src/view/cardkeysview.cpp ++++ b/src/view/cardkeysview.cpp +@@ -34,6 +34,7 @@ + #include <KLocalizedString> + #include <KSharedConfig> + ++#include <QGpgME/Debug> + #include <QGpgME/KeyListJob> + #include <QGpgME/Protocol> + +-- +GitLab + +From b1f3736de7ed3c2d4f58aa454064a4cd0f423250 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <[email protected]> +Date: Wed, 14 May 2025 17:31:47 +0200 +Subject: [PATCH] Use Error::isError() to check if an error occurred + +The new explicit conversion-to-bool operator for Error prevents +implicit conversion of Error to bool. +--- + src/crypto/signencrypttask.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/crypto/signencrypttask.cpp b/src/crypto/signencrypttask.cpp +index 483353f59..788a8865b 100644 +--- a/src/crypto/signencrypttask.cpp ++++ b/src/crypto/signencrypttask.cpp +@@ -27,6 +27,7 @@ + #include <QGpgME/SignEncryptArchiveJob> + #include <QGpgME/SignEncryptJob> + #include <QGpgME/SignJob> ++#include <qgpgme/qgpgme_version.h> + + #include <gpgme++/encryptionresult.h> + #include <gpgme++/key.h> +@@ -1009,9 +1010,15 @@ QString SignEncryptFilesResult::overview() const + m_output.label, + !m_sresult.isNull(), + !m_eresult.isNull(), ++#if QGPGME_VERSION >= QT_VERSION_CHECK(2, 0, 0) ++ m_sresult.error().isError(), ++ m_eresult.error().isError(), ++ m_sresult.error().isError() ? m_sresult.error() : m_eresult.error()); ++#else + m_sresult.error(), + m_eresult.error(), + m_sresult.error().code() ? m_sresult.error() : m_eresult.error()); ++#endif + } + + QString SignEncryptFilesResult::details() const +-- +GitLab + +From d4f777ffa137148302ca39d5a2238c01c896605d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <[email protected]> +Date: Wed, 14 May 2025 16:37:23 +0200 +Subject: [PATCH] Remove long obsolete feature check + +--- + src/selftest/gpgagentcheck.cpp | 11 +---------- + 1 file changed, 1 insertion(+), 10 deletions(-) + +diff --git a/src/selftest/gpgagentcheck.cpp b/src/selftest/gpgagentcheck.cpp +index 7f15d1c71..285635b83 100644 +--- a/src/selftest/gpgagentcheck.cpp ++++ b/src/selftest/gpgagentcheck.cpp +@@ -37,16 +37,7 @@ public: + { + m_skipped = true; + +- if (!hasFeature(AssuanEngineFeature, 0)) { +- m_error = i18n("GpgME library too old"); +- m_explanation = i18nc("@info", +- "Either the GpgME library itself is too old, " +- "or the GpgME++ library was compiled against " +- "an older GpgME that did not support connecting to gpg-agent."); +- m_proposedFix = xi18nc("@info", +- "Upgrade to <application>gpgme</application> 1.2.0 or higher, " +- "and ensure that gpgme++ was compiled against it."); +- } else if (ensureEngineVersion(GpgME::GpgConfEngine, 2, 1, 0)) { ++ if (ensureEngineVersion(GpgME::GpgConfEngine, 2, 1, 0)) { + // 2.1 starts the agent on demand and requires it. So for 2.1.0 we can assume + // autostart works and we don't need to care about the agent. + m_skipped = false; +-- +GitLab diff --git a/kde-apps/kleopatra/kleopatra-25.04.3-r1.ebuild b/kde-apps/kleopatra/kleopatra-25.04.3-r1.ebuild new file mode 100644 index 000000000000..d221eb198c2a --- /dev/null +++ b/kde-apps/kleopatra/kleopatra-25.04.3-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="optional" +ECM_TEST="forceoptional" +PVCUT=$(ver_cut 1-3) +KFMIN=6.13.0 +QTMIN=6.7.2 +inherit ecm gear.kde.org xdg + +DESCRIPTION="Certificate manager and GUI for OpenPGP and CMS cryptography" +HOMEPAGE="https://apps.kde.org/kleopatra/" + +LICENSE="GPL-2+ handbook? ( FDL-1.2+ )" +SLOT="6" +KEYWORDS="~amd64 ~arm64" +IUSE="pim" + +# tests completely broken, bug #641720 +RESTRICT="test" + +DEPEND=" + dev-cpp/gpgmepp:= + dev-libs/qgpgme:= + dev-libs/libassuan:= + dev-libs/libgpg-error + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets] + >=kde-apps/kmime-${PVCUT}:6= + >=kde-apps/libkleo-${PVCUT}:6= + >=kde-apps/mimetreeparser-${PVCUT}:6= + >=kde-frameworks/kcodecs-${KFMIN}:6 + >=kde-frameworks/kcolorscheme-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/kdbusaddons-${KFMIN}:6 + >=kde-frameworks/kguiaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kiconthemes-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/kitemmodels-${KFMIN}:6 + >=kde-frameworks/knotifications-${KFMIN}:6 + >=kde-frameworks/ktextwidgets-${KFMIN}:6 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 + >=kde-frameworks/kwindowsystem-${KFMIN}:6 + >=kde-frameworks/kxmlgui-${KFMIN}:6 + pim? ( + >=kde-apps/akonadi-mime-${PVCUT}:6= + >=kde-apps/kidentitymanagement-${PVCUT}:6= + >=kde-apps/kmailtransport-${PVCUT}:6= + ) +" +RDEPEND="${DEPEND} + >=app-crypt/gnupg-2.1 + app-crypt/paperkey +" + +PATCHES=( + "${FILESDIR}"/${PN}-25.04.3-gpgme-2.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package pim KPim6AkonadiMime) + $(cmake_use_find_package pim KPim6IdentityManagementCore) + $(cmake_use_find_package pim KPim6MailTransport) + ) + ecm_src_configure +}
