commit:     5a6d71b1fc770c6a4d63a0a5338854741ca7dd45
Author:     Johannes Huber <johu <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 19 17:29:13 2014 +0000
Commit:     Johannes Huber <johu <AT> gentoo <DOT> org>
CommitDate: Fri Sep 19 17:30:08 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=5a6d71b1

[kde-base/plasma-desktop] Add upstream patch, fixes build with Qt 5.4

Spotted by Franz Fellner <alpine.art.de <AT> gmail.com>, bug #523222.

Package-Manager: portage-2.2.13

---
 .../files/plasma-desktop-5.0.2-qt54.patch          | 93 ++++++++++++++++++++++
 .../plasma-desktop/plasma-desktop-5.0.2.ebuild     |  2 +
 2 files changed, 95 insertions(+)

diff --git a/kde-base/plasma-desktop/files/plasma-desktop-5.0.2-qt54.patch 
b/kde-base/plasma-desktop/files/plasma-desktop-5.0.2-qt54.patch
new file mode 100644
index 0000000..28a92b7
--- /dev/null
+++ b/kde-base/plasma-desktop/files/plasma-desktop-5.0.2-qt54.patch
@@ -0,0 +1,93 @@
+From: Aleix Pol <aleix...@kde.org>
+Date: Fri, 01 Aug 2014 16:35:40 +0000
+Subject: Fix build in Qt 5.4
+X-Git-Url: 
http://quickgit.kde.org/?p=plasma-desktop.git&a=commitdiff&h=2ca1f09aea56eb55a508a6c6bb55b2456950f42b
+---
+Fix build in Qt 5.4
+---
+
+
+--- a/applets/kickoff/core/applicationmodel.cpp
++++ b/applets/kickoff/core/applicationmodel.cpp
+@@ -185,7 +185,7 @@
+         const KSycocaEntry::Ptr p = (*it);
+ 
+         if (p->isType(KST_KService)) {
+-            const KService::Ptr service = p;
++            const KService::Ptr service = 
KService::Ptr(static_cast<KService*>(p.data()));
+ 
+             if (service->noDisplay()) {
+                 continue;
+@@ -235,7 +235,7 @@
+ 
+             existingServices[appName] = service;
+         } else if (p->isType(KST_KServiceGroup)) {
+-            const KServiceGroup::Ptr serviceGroup = p;
++            const KServiceGroup::Ptr serviceGroup = 
KServiceGroup::Ptr(static_cast<KServiceGroup*>(p.data()));
+ 
+             if (serviceGroup->noDisplay() || serviceGroup->childCount() == 0) 
{
+                 continue;
+@@ -612,13 +612,13 @@
+         KSycocaEntry::Ptr e = (*it);
+ 
+         if (e->isType(KST_KServiceGroup)) {
+-            KServiceGroup::Ptr g(e);
++            KServiceGroup::Ptr 
g(KServiceGroup::Ptr(static_cast<KServiceGroup*>(e.data())));
+             if (!g->noDisplay()) {
+                 if (createNewProgramListForPath(g->relPath()))
+                     seenProgramsChanged = true;
+             }
+         } else if (e->isType(KST_KService)) {
+-            KService::Ptr s(e);
++            KService::Ptr s(KService::Ptr(static_cast<KService*>(e.data())));
+             if (s->isApplication() && !s->noDisplay()) {
+                 QString shortStorageId = s->storageId().remove(".desktop");
+                 QHash<QString, QDate>::Iterator it_find = 
d->seenPrograms.find(shortStorageId);
+
+From: Kevin Funk <kf...@kde.org>
+Date: Wed, 06 Aug 2014 06:30:39 +0000
+Subject: Make compile with Qt 5.4
+X-Git-Url: 
http://quickgit.kde.org/?p=plasma-desktop.git&a=commitdiff&h=ee4927f4f6ba794afaa256ac2e66e46659d6f4e8
+---
+Make compile with Qt 5.4
+
+BUG: 337932
+---
+
+
+--- a/applets/kicker/plugin/appsmodel.cpp
++++ b/applets/kicker/plugin/appsmodel.cpp
+@@ -252,7 +252,7 @@
+             const KSycocaEntry::Ptr p = (*it);
+ 
+             if (p->isType(KST_KServiceGroup)) {
+-                KServiceGroup::Ptr subGroup = static_cast<KServiceGroup::Ptr 
>(p);
++                KServiceGroup::Ptr 
subGroup(static_cast<KServiceGroup*>(p.data()));
+ 
+                 if (!subGroup->noDisplay() && subGroup->childCount() > 0) {
+                     m_entryList << new AppGroupEntry(subGroup, this, m_flat, 
m_appNameFormat);
+@@ -295,7 +295,7 @@
+         const KSycocaEntry::Ptr p = (*it);
+ 
+         if (p->isType(KST_KService)) {
+-            const KService::Ptr service = static_cast<KService::Ptr>(p);
++            const KService::Ptr service(static_cast<KService*>(p.data()));
+ 
+             if (!service->noDisplay()) {
+                 bool found = false;
+@@ -314,11 +314,12 @@
+ 
+         } else if (p->isType(KST_KServiceGroup)) {
+             if (m_flat) {
+-                processServiceGroup(static_cast<KServiceGroup::Ptr>(p));
++                const KServiceGroup::Ptr 
serviceGroup(static_cast<KServiceGroup*>(p.data()));
++                processServiceGroup(serviceGroup);
+ 
+                 m_sortNeeded = true;
+             } else {
+-                const KServiceGroup::Ptr subGroup = 
static_cast<KServiceGroup::Ptr>(p);
++                const KServiceGroup::Ptr 
subGroup(static_cast<KServiceGroup*>(p.data()));
+ 
+                 if (!subGroup->noDisplay() && subGroup->childCount() > 0) {
+                     m_entryList << new AppGroupEntry(subGroup, this, m_flat, 
m_appNameFormat);
+

diff --git a/kde-base/plasma-desktop/plasma-desktop-5.0.2.ebuild 
b/kde-base/plasma-desktop/plasma-desktop-5.0.2.ebuild
index feb7aa4..960d140 100644
--- a/kde-base/plasma-desktop/plasma-desktop-5.0.2.ebuild
+++ b/kde-base/plasma-desktop/plasma-desktop-5.0.2.ebuild
@@ -99,6 +99,8 @@ DEPEND="${COMMON_DEPEND}
        fontconfig? ( x11-libs/libXrender )
 "
 
+PATCHES=( "${FILESDIR}/${P}-qt54.patch" )
+
 src_configure() {
        local mycmakeargs=(
                $(cmake-utils_use_find_package fontconfig Fontconfig)

Reply via email to