commit:     266874cb8439a1ddfcf34c3b28daa66974dd8439
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 19:59:22 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 20:03:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=266874cb

kde-plasma/print-manager: Fix abort when adding a new printer

Kai Uwe Broulik (1):
      DevicesModel: Register QList of QStringList to DBus

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...anager-6.2.3-fix-abort-in-kcm-add-printer.patch | 30 ++++++++++
 .../print-manager/print-manager-6.2.3-r1.ebuild    | 70 ++++++++++++++++++++++
 2 files changed, 100 insertions(+)

diff --git 
a/kde-plasma/print-manager/files/print-manager-6.2.3-fix-abort-in-kcm-add-printer.patch
 
b/kde-plasma/print-manager/files/print-manager-6.2.3-fix-abort-in-kcm-add-printer.patch
new file mode 100644
index 000000000000..29eb1d1c9c24
--- /dev/null
+++ 
b/kde-plasma/print-manager/files/print-manager-6.2.3-fix-abort-in-kcm-add-printer.patch
@@ -0,0 +1,30 @@
+From 2440d1b96b7af95259867b22ba8b4ba677ef0ade Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <[email protected]>
+Date: Fri, 8 Nov 2024 17:43:07 +0000
+Subject: [PATCH] DevicesModel: Register QList of QStringList to DBus
+
+Avoids an abort when adding a new printer from kcmshell.
+
+
+(cherry picked from commit c80a5a0d5e59049c2007264a41228fcfbaeda58b)
+
+Co-authored-by: Kai Uwe Broulik <[email protected]>
+---
+ src/libkcups/DevicesModel.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/libkcups/DevicesModel.cpp b/src/libkcups/DevicesModel.cpp
+index 3ffc90673..8498a719e 100644
+--- a/src/libkcups/DevicesModel.cpp
++++ b/src/libkcups/DevicesModel.cpp
+@@ -45,6 +45,7 @@ DevicesModel::DevicesModel(QObject *parent)
+ 
+     qDBusRegisterMetaType<MapSS>();
+     qDBusRegisterMetaType<MapSMapSS>();
++    qDBusRegisterMetaType<QList<QStringList>>();
+ 
+     // Adds the other device which is meant for manual URI input
+     insertDevice(QLatin1String("other"), QString(), i18nc("@item", "Manual 
Config"), QString(), QLatin1String("other"), QString());
+-- 
+GitLab
+

diff --git a/kde-plasma/print-manager/print-manager-6.2.3-r1.ebuild 
b/kde-plasma/print-manager/print-manager-6.2.3-r1.ebuild
new file mode 100644
index 000000000000..e47067d3d100
--- /dev/null
+++ b/kde-plasma/print-manager/print-manager-6.2.3-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=6.6.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=6.7.2
+inherit ecm plasma.kde.org
+
+DESCRIPTION="Manage CUPS print jobs and printers in Plasma"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+gtk"
+
+DEPEND="
+       >=dev-qt/qt5compat-${QTMIN}:6
+       >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets]
+       >=dev-qt/qtdeclarative-${QTMIN}:6
+       >=kde-frameworks/kcmutils-${KFMIN}:6
+       >=kde-frameworks/kconfig-${KFMIN}:6
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+       >=kde-frameworks/kcoreaddons-${KFMIN}:6
+       >=kde-frameworks/kdbusaddons-${KFMIN}:6
+       >=kde-frameworks/ki18n-${KFMIN}:6
+       >=kde-frameworks/kiconthemes-${KFMIN}:6
+       >=kde-frameworks/kio-${KFMIN}:6
+       >=kde-frameworks/kirigami-${KFMIN}:6
+       >=kde-frameworks/knotifications-${KFMIN}:6
+       >=kde-frameworks/kservice-${KFMIN}:6
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+       >=kde-frameworks/kwindowsystem-${KFMIN}:6
+       >=kde-plasma/libplasma-${PVCUT}:6
+       >=net-print/cups-2.4
+"
+RDEPEND="${DEPEND}
+       !<kde-plasma/print-manager-23.08.5-r100:5
+       >=kde-frameworks/kdeclarative-${KFMIN}:6
+       gtk? ( app-admin/system-config-printer )
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6"
+
+PATCHES=( "${FILESDIR}/${P}-fix-abort-in-kcm-add-printer.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged
+       )
+
+       ecm_src_configure
+}
+
+pkg_postinst() {
+       ecm_pkg_postinst
+
+       if [[ -z "${REPLACING_VERSIONS}" ]] && ! use gtk ; then
+               ewarn "By switching off \"gtk\" USE flag, you have chosen to do 
without"
+               ewarn "an important, though optional, runtime dependency:"
+               ewarn
+               ewarn "app-admin/system-config-printer"
+               ewarn
+               ewarn "${PN} will work nevertheless, but is going to be less 
comfortable"
+               ewarn "and will show the following error status during runtime:"
+               ewarn
+               ewarn "\"Failed to group devices: 'The name 
org.fedoraproject.Config.Printing"
+               ewarn "was not provided by any .service files'\""
+       fi
+}

Reply via email to