kde-frameworks/plasma: Fix systemsettings crashes
authorAndreas Sturmlechner <asturm@gentoo.org>
Thu, 13 Feb 2020 19:20:22 +0000 (20:20 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Thu, 13 Feb 2020 21:26:36 +0000 (22:26 +0100)
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=417548
Thanks-to: Julien Delquié <julien.dlq@gmail.com>
Tested-by: Lars Wendler <polynomial-c@gentoo.org>
Closes: https://bugs.gentoo.org/709484
Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
kde-frameworks/plasma/files/plasma-5.67.0-construct-nullengine-w-KPluginMetadata.patch [new file with mode: 0644]
kde-frameworks/plasma/plasma-5.67.0-r1.ebuild [new file with mode: 0644]

diff --git a/kde-frameworks/plasma/files/plasma-5.67.0-construct-nullengine-w-KPluginMetadata.patch b/kde-frameworks/plasma/files/plasma-5.67.0-construct-nullengine-w-KPluginMetadata.patch
new file mode 100644 (file)
index 0000000..3330109
--- /dev/null
@@ -0,0 +1,29 @@
+From 1dc36bc2cee489e621a52fb4456ff28cf6a64685 Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Thu, 13 Feb 2020 15:21:22 +0100
+Subject: Construct NullEngine with KPluginMetaData()
+
+The deprecated constructor taking a KPluginInfo unconditionally calls toMetaData() and then asserts.
+
+BUG: 417548
+
+Differential Revision: https://phabricator.kde.org/D27366
+---
+ src/plasma/private/dataenginemanager.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plasma/private/dataenginemanager.cpp b/src/plasma/private/dataenginemanager.cpp
+index 221440c..852c17a 100644
+--- a/src/plasma/private/dataenginemanager.cpp
++++ b/src/plasma/private/dataenginemanager.cpp
+@@ -40,7 +40,7 @@ class NullEngine : public DataEngine
+ {
+ public:
+     explicit NullEngine(QObject *parent = nullptr)
+-        : DataEngine(KPluginInfo(), parent)
++        : DataEngine(KPluginMetaData(), parent)
+     {
+         setValid(false);
+-- 
+cgit v1.1
diff --git a/kde-frameworks/plasma/plasma-5.67.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.67.0-r1.ebuild
new file mode 100644 (file)
index 0000000..3c9fff3
--- /dev/null
@@ -0,0 +1,77 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_ORG_NAME="${PN}-framework"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Plasma framework"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="gles2 wayland X"
+
+# drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
+BDEPEND="
+       >=kde-frameworks/kdoctools-${PVCUT}:5
+"
+RDEPEND="
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtdeclarative-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5=[gles2=]
+       >=dev-qt/qtquickcontrols-${QTMIN}:5
+       >=dev-qt/qtsql-${QTMIN}:5
+       >=dev-qt/qtsvg-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       =kde-frameworks/kactivities-${PVCUT}*:5
+       =kde-frameworks/karchive-${PVCUT}*:5
+       =kde-frameworks/kconfig-${PVCUT}*:5
+       =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+       =kde-frameworks/kcoreaddons-${PVCUT}*:5
+       =kde-frameworks/kdeclarative-${PVCUT}*:5
+       =kde-frameworks/kglobalaccel-${PVCUT}*:5
+       =kde-frameworks/kguiaddons-${PVCUT}*:5
+       =kde-frameworks/ki18n-${PVCUT}*:5
+       =kde-frameworks/kiconthemes-${PVCUT}*:5
+       =kde-frameworks/kio-${PVCUT}*:5
+       =kde-frameworks/kirigami-${PVCUT}*:5
+       =kde-frameworks/knotifications-${PVCUT}*:5
+       =kde-frameworks/kpackage-${PVCUT}*:5
+       =kde-frameworks/kservice-${PVCUT}*:5
+       =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+       =kde-frameworks/kwindowsystem-${PVCUT}*:5
+       =kde-frameworks/kxmlgui-${PVCUT}*:5
+       !gles2? ( virtual/opengl )
+       wayland? (
+               =kde-frameworks/kwayland-${PVCUT}*:5
+               media-libs/mesa[egl]
+       )
+       X? (
+               >=dev-qt/qtx11extras-${QTMIN}:5
+               x11-libs/libX11
+               x11-libs/libxcb
+       )
+"
+DEPEND="${RDEPEND}
+       X? ( x11-base/xorg-proto )
+"
+
+RESTRICT+=" test"
+
+PATCHES=( "${FILESDIR}/${P}-construct-nullengine-w-KPluginMetadata.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package !gles2 OpenGL)
+               $(cmake_use_find_package wayland EGL)
+               $(cmake_use_find_package wayland KF5Wayland)
+               $(cmake_use_find_package X X11)
+               $(cmake_use_find_package X XCB)
+       )
+
+       ecm_src_configure
+}