kde-misc/kdeconnect: Fix build with Qt 6.10

Closes: https://bugs.gentoo.org/966280
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner 2025-11-20 22:33:50 +01:00
parent 861b22d74b
commit ac0f65d03b
No known key found for this signature in database
GPG Key ID: AE591BBC73E4DD5E
2 changed files with 233 additions and 0 deletions

View File

@ -0,0 +1,123 @@
From 55e3302d56e1eb22ff174d8f6afd7a7b1c9db819 Mon Sep 17 00:00:00 2001
From: Albert Vaca Cintora <albertvaka@gmail.com>
Date: Sun, 19 Oct 2025 11:17:04 +0200
Subject: [PATCH] Fix build in latest Qt
---
interfaces/conversationmessage.h | 93 ++++++++++++++++----------------
1 file changed, 45 insertions(+), 48 deletions(-)
diff --git a/interfaces/conversationmessage.h b/interfaces/conversationmessage.h
index b60daea13..3b6c2a15a 100644
--- a/interfaces/conversationmessage.h
+++ b/interfaces/conversationmessage.h
@@ -11,8 +11,51 @@
#include "kdeconnectinterfaces_export.h"
-class ConversationAddress;
-class Attachment;
+class KDECONNECTINTERFACES_EXPORT ConversationAddress
+{
+public:
+ ConversationAddress(QString address = QString());
+
+ QString address() const
+ {
+ return m_address;
+ }
+
+private:
+ QString m_address;
+};
+
+class KDECONNECTINTERFACES_EXPORT Attachment
+{
+public:
+ Attachment()
+ {
+ }
+ Attachment(qint64 prtID, QString mimeType, QString base64EncodedFile, QString uniqueIdentifier);
+
+ qint64 partID() const
+ {
+ return m_partID;
+ }
+ QString mimeType() const
+ {
+ return m_mimeType;
+ }
+ QString base64EncodedFile() const
+ {
+ return m_base64EncodedFile;
+ }
+ QString uniqueIdentifier() const
+ {
+ return m_uniqueIdentifier;
+ }
+
+private:
+ qint64 m_partID; // Part ID of the attachment of the message
+ QString m_mimeType; // Type of attachment (image, video, audio etc.)
+ QString m_base64EncodedFile; // Base64 encoded string of a file
+ QString m_uniqueIdentifier; // unique name of the attachment
+};
class KDECONNECTINTERFACES_EXPORT ConversationMessage
{
@@ -179,52 +222,6 @@ protected:
QList<Attachment> m_attachments;
};
-class KDECONNECTINTERFACES_EXPORT ConversationAddress
-{
-public:
- ConversationAddress(QString address = QString());
-
- QString address() const
- {
- return m_address;
- }
-
-private:
- QString m_address;
-};
-
-class KDECONNECTINTERFACES_EXPORT Attachment
-{
-public:
- Attachment()
- {
- }
- Attachment(qint64 prtID, QString mimeType, QString base64EncodedFile, QString uniqueIdentifier);
-
- qint64 partID() const
- {
- return m_partID;
- }
- QString mimeType() const
- {
- return m_mimeType;
- }
- QString base64EncodedFile() const
- {
- return m_base64EncodedFile;
- }
- QString uniqueIdentifier() const
- {
- return m_uniqueIdentifier;
- }
-
-private:
- qint64 m_partID; // Part ID of the attachment of the message
- QString m_mimeType; // Type of attachment (image, video, audio etc.)
- QString m_base64EncodedFile; // Base64 encoded string of a file
- QString m_uniqueIdentifier; // unique name of the attachment
-};
-
inline QDBusArgument &operator<<(QDBusArgument &argument, const ConversationMessage &message)
{
argument.beginStructure();
--
GitLab

View File

@ -0,0 +1,110 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_TEST="true"
KDE_ORG_NAME="${PN}-kde"
KDE_SELINUX_MODULE="${PN}"
KFMIN=6.16.0
QTMIN=6.9.1
inherit ecm flag-o-matic gear.kde.org xdg
DESCRIPTION="Adds communication between KDE Plasma and your smartphone"
HOMEPAGE="https://kdeconnect.kde.org/ https://apps.kde.org/kdeconnect/"
LICENSE="GPL-2+"
SLOT="6"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE="bluetooth pulseaudio telephony zeroconf X"
RESTRICT="test"
# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h
# TODO: make conditional on X upstream
COMMON_DEPEND="
dev-libs/openssl:=
>=dev-libs/wayland-1.15.0
>=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,network,wayland,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
>=dev-qt/qtmultimedia-${QTMIN}:6
>=kde-frameworks/kcolorscheme-${KFMIN}:6
>=kde-frameworks/kconfig-${KFMIN}:6[qml]
>=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/kirigami-${KFMIN}:6
>=kde-frameworks/kitemmodels-${KFMIN}:6
>=kde-frameworks/knotifications-${KFMIN}:6
>=kde-frameworks/kpeople-${KFMIN}:6
>=kde-frameworks/kservice-${KFMIN}:6
>=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
>=kde-frameworks/kwindowsystem-${KFMIN}:6
>=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
>=kde-frameworks/solid-${KFMIN}:6
sys-apps/dbus
x11-libs/libxkbcommon
bluetooth? ( >=dev-qt/qtconnectivity-${QTMIN}:6[bluetooth] )
pulseaudio? ( >=media-libs/pulseaudio-qt-1.4:= )
telephony? ( >=kde-frameworks/modemmanager-qt-${KFMIN}:6 )
zeroconf? ( >=kde-frameworks/kdnssd-${KFMIN}:6 )
X? (
x11-libs/libfakekey
x11-libs/libX11
x11-libs/libXtst
)
"
DEPEND="${COMMON_DEPEND}
dev-libs/wayland-protocols
"
RDEPEND="${COMMON_DEPEND}
dev-libs/kirigami-addons:6
>=dev-qt/qt5compat-${QTMIN}:6[qml]
>=dev-qt/qtmultimedia-${QTMIN}:6[qml]
>=dev-qt/qttools-${QTMIN}:6[qdbus]
>=kde-frameworks/kdeclarative-${KFMIN}:6
kde-plasma/libplasma:6
net-fs/sshfs
"
RDEPEND+=" || ( >=dev-qt/qtbase-6.10:6[wayland] <dev-qt/qtwayland-6.10:6 )"
BDEPEND="
>=dev-qt/qtbase-${QTMIN}:6[wayland]
dev-util/wayland-scanner
virtual/pkgconfig
"
BDEPEND+=" || ( >=dev-qt/qtbase-6.10:6[wayland] <dev-qt/qtwayland-6.10:6 )"
PATCHES=(
"${FILESDIR}/${PN}-25.08.2-check-dev-ID-no-change.patch"
"${FILESDIR}/${P}-qt6.10.patch" # bug 966280
)
src_configure() {
# -Werror=lto-type-mismatch
# https://bugs.gentoo.org/921648
# https://bugs.kde.org/show_bug.cgi?id=480522
filter-lto
local mycmakeargs=(
-DBLUETOOTH_ENABLED=$(usex bluetooth)
-DWITH_PULSEAUDIO=$(usex pulseaudio)
$(cmake_use_find_package telephony KF6ModemManagerQt)
-DWITH_X11=$(usex X)
-DMDNS_ENABLED=$(usex zeroconf)
)
ecm_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
elog "The Android .apk file is available via"
elog "https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp"
elog "or via"
elog "https://f-droid.org/packages/org.kde.kdeconnect_tp/"
}