kde-apps/akregator: Fix file corruption, crashes
authorAndreas Sturmlechner <asturm@gentoo.org>
Wed, 13 Sep 2017 17:57:49 +0000 (19:57 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 13 Sep 2017 18:06:50 +0000 (20:06 +0200)
Package-Manager: Portage-2.3.8, Repoman-2.3.3

kde-apps/akregator/akregator-17.08.1-r1.ebuild [new file with mode: 0644]
kde-apps/akregator/files/akregator-17.08.1-corruption.patch [new file with mode: 0644]

diff --git a/kde-apps/akregator/akregator-17.08.1-r1.ebuild b/kde-apps/akregator/akregator-17.08.1-r1.ebuild
new file mode 100644 (file)
index 0000000..de2fc23
--- /dev/null
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="forceoptional"
+KDE_TEST="forceoptional"
+inherit kde5
+
+DESCRIPTION="News feed aggregator"
+HOMEPAGE="https://www.kde.org/applications/internet/akregator"
+LICENSE="GPL-2+ handbook? ( FDL-1.2+ )"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+# drop qtwebengine subslot operator when QT_MINIMAL >= 5.8.0
+COMMON_DEPEND="
+       $(add_frameworks_dep kcmutils)
+       $(add_frameworks_dep kcodecs)
+       $(add_frameworks_dep kcompletion)
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kcrash)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep kjobwidgets)
+       $(add_frameworks_dep knotifications)
+       $(add_frameworks_dep knotifyconfig)
+       $(add_frameworks_dep kparts)
+       $(add_frameworks_dep kservice)
+       $(add_frameworks_dep ktextwidgets)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kxmlgui)
+       $(add_kdeapps_dep grantleetheme)
+       $(add_kdeapps_dep kontactinterface)
+       $(add_kdeapps_dep kpimtextedit)
+       $(add_kdeapps_dep libkdepim)
+       $(add_kdeapps_dep messagelib)
+       $(add_kdeapps_dep pimcommon)
+       $(add_kdeapps_dep syndication)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtnetwork)
+       $(add_qt_dep qtwebengine '' '' '5=')
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtxml)
+"
+DEPEND="${COMMON_DEPEND}
+       dev-libs/grantlee:5
+"
+RDEPEND="${COMMON_DEPEND}
+       !kde-apps/kdepim-l10n
+"
+
+PATCHES=( "${FILESDIR}/${P}-corruption.patch" )
diff --git a/kde-apps/akregator/files/akregator-17.08.1-corruption.patch b/kde-apps/akregator/files/akregator-17.08.1-corruption.patch
new file mode 100644 (file)
index 0000000..f2e9d75
--- /dev/null
@@ -0,0 +1,44 @@
+From d0a5f4159cddcca656ca8bbcbd6e551e3499c166 Mon Sep 17 00:00:00 2001
+From: Anthony Fieroni <bvbfan@abv.bg>
+Date: Sun, 10 Sep 2017 21:59:35 +0300
+Subject: [akregator] Make sure part is created before main windows is restored
+
+DIfferential Revision: https://phabricator.kde.org/D6739
+
+BUG: 381822
+BUG: 378513
+BUG: 381825
+BUG: 377129
+
+Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
+---
+ src/main.cpp | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/src/main.cpp b/src/main.cpp
+index b80b198..aa1bb08 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -113,14 +113,11 @@ int main(int argc, char **argv)
+ 
+     // see if we are starting with session management
+     if (app.isSessionRestored()) {
+-#undef RESTORE
+-#define RESTORE(type) { int n = 1; \
+-                        while (KMainWindow::canBeRestored(n)) { \
+-                            (new type)->restore(n, false); \
+-                            n++;} \
+-}
+-
+-        RESTORE(Akregator::MainWindow);
++        auto mainWindow = new Akregator::MainWindow();
++        mainWindow->loadPart();
++        if (KMainWindow::canBeRestored(1)) {
++            mainWindow->restore(1, false);
++        }
+     }
+ 
+     return app.exec();
+-- 
+cgit v0.11.2
+