commit:     99ec5f37f59f0c3d5077988b765d2b93896c6c73
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  7 22:30:22 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  9 21:36:26 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99ec5f37

kde-apps/dolphin: Fix crashes with Qt 5.14.2

Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-apps/dolphin/dolphin-19.12.3-r1.ebuild         | 102 +++++++++++++++++++++
 .../dolphin-19.12.3-fix-crash-w-qt-5.14.2.patch    |  22 +++++
 2 files changed, 124 insertions(+)

diff --git a/kde-apps/dolphin/dolphin-19.12.3-r1.ebuild 
b/kde-apps/dolphin/dolphin-19.12.3-r1.ebuild
new file mode 100644
index 00000000000..4f5ca6b530c
--- /dev/null
+++ b/kde-apps/dolphin/dolphin-19.12.3-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.63.0
+QTMIN=5.12.3
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Plasma filemanager focusing on usability"
+HOMEPAGE="https://kde.org/applications/system/org.kde.dolphin
+https://userbase.kde.org/Dolphin";
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="activities semantic-desktop"
+
+DEPEND="
+       >=kde-frameworks/kbookmarks-${KFMIN}:5
+       >=kde-frameworks/kcmutils-${KFMIN}:5
+       >=kde-frameworks/kcodecs-${KFMIN}:5
+       >=kde-frameworks/kcompletion-${KFMIN}:5
+       >=kde-frameworks/kconfig-${KFMIN}:5
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+       >=kde-frameworks/kcoreaddons-${KFMIN}:5
+       >=kde-frameworks/kcrash-${KFMIN}:5
+       >=kde-frameworks/kdbusaddons-${KFMIN}:5
+       >=kde-frameworks/ki18n-${KFMIN}:5
+       >=kde-frameworks/kiconthemes-${KFMIN}:5
+       >=kde-frameworks/kinit-${KFMIN}:5
+       >=kde-frameworks/kio-${KFMIN}:5
+       >=kde-frameworks/kitemviews-${KFMIN}:5
+       >=kde-frameworks/kjobwidgets-${KFMIN}:5
+       >=kde-frameworks/knewstuff-${KFMIN}:5
+       >=kde-frameworks/knotifications-${KFMIN}:5
+       >=kde-frameworks/kparts-${KFMIN}:5
+       >=kde-frameworks/kservice-${KFMIN}:5
+       >=kde-frameworks/ktextwidgets-${KFMIN}:5
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+       >=kde-frameworks/kwindowsystem-${KFMIN}:5
+       >=kde-frameworks/kxmlgui-${KFMIN}:5
+       >=kde-frameworks/solid-${KFMIN}:5
+       >=dev-qt/qtconcurrent-${QTMIN}:5
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       media-libs/phonon[qt5(+)]
+       activities? ( >=kde-frameworks/kactivities-${KFMIN}:5 )
+       semantic-desktop? (
+               >=kde-frameworks/baloo-${KFMIN}:5
+               >=kde-frameworks/kfilemetadata-${KFMIN}:5
+               >=kde-apps/baloo-widgets-${PVCUT}:5
+       )
+"
+RDEPEND="${DEPEND}
+       >=kde-apps/kio-extras-${PVCUT}:5
+"
+
+RESTRICT+=" test"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-19.12.2-create-new-consistency.patch" # from 20.04
+       "${FILESDIR}/${P}-fix-crash-w-qt-5.14.2.patch" # KDE-Bug 419585
+)
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package activities KF5Activities)
+               $(cmake_use_find_package semantic-desktop KF5Baloo)
+               $(cmake_use_find_package semantic-desktop KF5BalooWidgets)
+               $(cmake_use_find_package semantic-desktop KF5FileMetaData)
+       )
+
+       ecm_src_configure
+}
+
+pkg_postinst() {
+       ecm_pkg_postinst
+
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               has_version "kde-apps/ark:${SLOT}" || \
+                       elog "For compress/extract and other actions install 
kde-apps/ark:${SLOT}"
+
+               has_version "kde-apps/kleopatra:${SLOT}" || \
+                       elog "For crypto actions install 
kde-apps/kleopatra:${SLOT}"
+
+               has_version "kde-apps/ffmpegthumbs:${SLOT}" || \
+                       elog "For video file thumbnails install 
kde-apps/ffmpegthumbs:${SLOT}"
+
+               has_version "kde-apps/thumbnailers:${SLOT}" || \
+                       elog "For graphics file thumbnails install 
kde-apps/thumbnailers:${SLOT}"
+
+               has_version "kde-frameworks/purpose:${SLOT}" || \
+                       elog "For 'Share' context menu actions install 
kde-frameworks/purpose:${SLOT}"
+       fi
+}

diff --git a/kde-apps/dolphin/files/dolphin-19.12.3-fix-crash-w-qt-5.14.2.patch 
b/kde-apps/dolphin/files/dolphin-19.12.3-fix-crash-w-qt-5.14.2.patch
new file mode 100644
index 00000000000..3e5245001bb
--- /dev/null
+++ b/kde-apps/dolphin/files/dolphin-19.12.3-fix-crash-w-qt-5.14.2.patch
@@ -0,0 +1,22 @@
+diff --git a/src/kitemviews/kfileitemmodel.cpp 
b/src/kitemviews/kfileitemmodel.cpp
+--- a/src/kitemviews/kfileitemmodel.cpp
++++ b/src/kitemviews/kfileitemmodel.cpp
+@@ -33,6 +33,9 @@
+ #include <QMimeData>
+ #include <QTimer>
+ #include <QWidget>
++#include <QMutex>
++
++Q_GLOBAL_STATIC_WITH_ARGS(QMutex, s_collatorMutex, (QMutex::Recursive))
+ 
+ // #define KFILEITEMMODEL_DEBUG
+ 
+@@ -1878,6 +1881,8 @@
+ 
+ int KFileItemModel::stringCompare(const QString& a, const QString& b, const 
QCollator& collator) const
+ {
++    QMutexLocker collatorLock(s_collatorMutex());
++
+     if (m_naturalSorting) {
+         return collator.compare(a, b);
+     }

Reply via email to