commit:     ac0f65d03b6f38d3ef45174ce36a39e8ed4247f0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 20 21:33:50 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Nov 20 21:38:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac0f65d0

kde-misc/kdeconnect: Fix build with Qt 6.10

Closes: https://bugs.gentoo.org/966280
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/kdeconnect-25.08.3-qt6.10.patch          | 123 +++++++++++++++++++++
 kde-misc/kdeconnect/kdeconnect-25.08.3-r2.ebuild   | 110 ++++++++++++++++++
 2 files changed, 233 insertions(+)

diff --git a/kde-misc/kdeconnect/files/kdeconnect-25.08.3-qt6.10.patch 
b/kde-misc/kdeconnect/files/kdeconnect-25.08.3-qt6.10.patch
new file mode 100644
index 000000000000..06b0e5b006aa
--- /dev/null
+++ b/kde-misc/kdeconnect/files/kdeconnect-25.08.3-qt6.10.patch
@@ -0,0 +1,123 @@
+From 55e3302d56e1eb22ff174d8f6afd7a7b1c9db819 Mon Sep 17 00:00:00 2001
+From: Albert Vaca Cintora <[email protected]>
+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
+

diff --git a/kde-misc/kdeconnect/kdeconnect-25.08.3-r2.ebuild 
b/kde-misc/kdeconnect/kdeconnect-25.08.3-r2.ebuild
new file mode 100644
index 000000000000..0a89ab9d80ab
--- /dev/null
+++ b/kde-misc/kdeconnect/kdeconnect-25.08.3-r2.ebuild
@@ -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/";
+}

Reply via email to