diff options
Diffstat (limited to 'kde-base/ark')
-rw-r--r-- | kde-base/ark/ChangeLog | 8 | ||||
-rw-r--r-- | kde-base/ark/ark-4.14.3-r1.ebuild | 43 | ||||
-rw-r--r-- | kde-base/ark/files/ark-4.14.3-crash.patch | 81 |
3 files changed, 131 insertions, 1 deletions
diff --git a/kde-base/ark/ChangeLog b/kde-base/ark/ChangeLog index 2185200dff35..1c72968e0d3d 100644 --- a/kde-base/ark/ChangeLog +++ b/kde-base/ark/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for kde-base/ark # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/ark/ChangeLog,v 1.344 2014/12/11 15:44:58 mrueg Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/ark/ChangeLog,v 1.345 2014/12/26 15:19:04 kensington Exp $ + +*ark-4.14.3-r1 (26 Dec 2014) + + 26 Dec 2014; Michael Palimaka <kensington@gentoo.org> +ark-4.14.3-r1.ebuild, + +files/ark-4.14.3-crash.patch: + Backport patch from upstream solving a crash wrt bug #533612. 11 Dec 2014; Manuel Rüger <mrueg@gentoo.org> -ark-4.14.2.ebuild: Remove KDE SC 4.14.2 diff --git a/kde-base/ark/ark-4.14.3-r1.ebuild b/kde-base/ark/ark-4.14.3-r1.ebuild new file mode 100644 index 000000000000..f850a52e396c --- /dev/null +++ b/kde-base/ark/ark-4.14.3-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/kde-base/ark/ark-4.14.3-r1.ebuild,v 1.1 2014/12/26 15:19:04 kensington Exp $ + +EAPI=5 + +KDE_HANDBOOK="optional" +inherit kde4-base + +DESCRIPTION="KDE Archiving tool" +HOMEPAGE="http://www.kde.org/applications/utilities/ark +http://utils.kde.org/projects/ark" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+archive +bzip2 debug lzma" + +DEPEND=" + $(add_kdebase_dep libkonq) + sys-libs/zlib + archive? ( >=app-arch/libarchive-2.6.1:=[bzip2?,lzma?,zlib] ) +" +RDEPEND="${DEPEND}" + +RESTRICT="test" +# dbus problem + +PATCHES=( "${FILESDIR}/${P}-crash.patch" ) + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_with archive LibArchive) + $(cmake-utils_use_with bzip2 BZip2) + $(cmake-utils_use_with lzma LibLZMA) + ) + kde4-base_src_configure +} + +pkg_postinst() { + kde4-base_pkg_postinst + + if ! has_version app-arch/rar ; then + elog "For creating rar archives, install app-arch/rar" + fi +} diff --git a/kde-base/ark/files/ark-4.14.3-crash.patch b/kde-base/ark/files/ark-4.14.3-crash.patch new file mode 100644 index 000000000000..5eccf82062fd --- /dev/null +++ b/kde-base/ark/files/ark-4.14.3-crash.patch @@ -0,0 +1,81 @@ +From cd8ad2761d41d1ec0a18cff7f4d166b53c899fc2 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <rakuco@FreeBSD.org> +Date: Mon, 24 Nov 2014 01:37:06 +0200 +Subject: [PATCH] Stop crashing on exit when being used solely as a KPart. + +This change fixes a crash introduced by commit 3b981ca ("Remove Part +from KXMLGUIFactory on exit"). + +Part::~Part() is the wrong place to call KXMLGUIFactory::removeClient(), +as it assumes addClient() had been called in the first place. + +This is only true if Ark is called as a standalone program, since that +is done in MainWindow::loadPart()'s call to KXMLGuiWindow::createGUI(). + +Conversely, if the Ark KPart is being used as an embedded viewer in, +say, Konqueror or to preview an archive inside an archive (ie. Ark +inside Ark) that does not hold true and we try to access a +KXMLGUIFactory that does not exist. + +Instead, call KXMLGuiWindow::removeClient() in MainWindow's destructor, +since in this case we are certain that addClient() was been called +before. + +CCBUG: 341187 + +(cherry picked from commit 9c30f30b38c36a31e6fcb3aa047a0247ac5a22fb) +This was committed for completeness, as there will be no additional +releases from the KDE/4.14 branch. + +Conflicts: + part/part.cpp +--- + app/mainwindow.cpp | 3 +++ + part/part.cpp | 3 --- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp +index aee8231..181fe76 100644 +--- a/app/mainwindow.cpp ++++ b/app/mainwindow.cpp +@@ -38,6 +38,7 @@ + #include <KDebug> + #include <KEditToolBar> + #include <KShortcutsDialog> ++#include <KXMLGUIFactory> + + #include <QDragEnterEvent> + #include <QDragMoveEvent> +@@ -69,6 +70,8 @@ MainWindow::~MainWindow() + if (m_recentFilesAction) { + m_recentFilesAction->saveEntries(KGlobal::config()->group("Recent Files")); + } ++ ++ guiFactory()->removeClient(m_part); + delete m_part; + m_part = 0; + } +diff --git a/part/part.cpp b/part/part.cpp +index bae4882..09fe1cb 100644 +--- a/part/part.cpp ++++ b/part/part.cpp +@@ -53,7 +53,6 @@ + #include <KStandardGuiItem> + #include <KTempDir> + #include <KToggleAction> +-#include <KXMLGUIFactory> + + #include <QAction> + #include <QCursor> +@@ -138,8 +137,6 @@ Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList& args) + + Part::~Part() + { +- factory()->removeClient(this); +- + saveSplitterSizes(); + + m_extractFilesAction->menu()->deleteLater(); +-- +2.0.5 + |