1 |
commit: 2dcff392b8f28d8eaa874c352873065ef70a9946 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Nov 26 18:51:54 2017 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Nov 26 18:56:22 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dcff392 |
7 |
|
8 |
kde-frameworks/kio: Fix mkpath with >=Qt-5.9.3 |
9 |
|
10 |
See also: |
11 |
https://mail.kde.org/pipermail/kde-distro-packagers/2017-November/000297.html |
12 |
|
13 |
Package-Manager: Portage-2.3.16, Repoman-2.3.6 |
14 |
|
15 |
kde-frameworks/kio/Manifest | 2 +- |
16 |
.../kio/files/kio-5.40.0-mkpath-qt-5.9.3.patch | 65 ++++++++++++++++++ |
17 |
kde-frameworks/kio/kio-5.40.0-r1.ebuild | 80 ++++++++++++++++++++++ |
18 |
3 files changed, 146 insertions(+), 1 deletion(-) |
19 |
|
20 |
diff --git a/kde-frameworks/kio/Manifest b/kde-frameworks/kio/Manifest |
21 |
index 6cdc8304cb1..20bed421afa 100644 |
22 |
--- a/kde-frameworks/kio/Manifest |
23 |
+++ b/kde-frameworks/kio/Manifest |
24 |
@@ -1,2 +1,2 @@ |
25 |
DIST kio-5.37.0.tar.xz 3084204 SHA256 49448ebcfe182805f8f9cd40c1e2c8e686578cc2e7fa3688204d5ca4e182ac5b SHA512 42b2cbf6cbc414a0b69fdb36984d13574b1aee033170761dc55835cace44abead82f387f8afb35d8a82ee93a1909854ef43cff29d45c5881c4b13ca8862d2a64 WHIRLPOOL 649b16ebf5708d410d826a70726a9fdfd3668e00784246e7cb4d193b1951525e821046121886580bc16004280170277ac0344d1ee18afb91722e095118b1ccd6 |
26 |
-DIST kio-5.40.0.tar.xz 3100424 SHA256 30ea0b231b995faaf4283b9c9ecfaffb589268f5d7b5b805f69ed95601ac389b SHA512 e35a7fed3c38f91c056d5ac04b4839ebbf199e4509187e997d6d8a217175a9dc442c7beacccf333ec092c0d110f8f008144293364006888f25b570d697c10bed WHIRLPOOL cfae3b3dc85f1398217c934943829dc28d2b7bfefe6d8adb5a082593f66127b313652b34278e6e4d612b266f7df8b03462a5ae8ac71af5685ad9641c08181b3a |
27 |
+DIST kio-5.40.0.tar.xz 3100424 BLAKE2B 27f69f10febc327d1f935e2b8f3c24dc8b64e85ef35830841f99fdefb6238f590dc8a1284bd0896d6e0e2eb86f123e6788ebd277ca208df18312e8ac475221dc SHA512 e35a7fed3c38f91c056d5ac04b4839ebbf199e4509187e997d6d8a217175a9dc442c7beacccf333ec092c0d110f8f008144293364006888f25b570d697c10bed |
28 |
|
29 |
diff --git a/kde-frameworks/kio/files/kio-5.40.0-mkpath-qt-5.9.3.patch b/kde-frameworks/kio/files/kio-5.40.0-mkpath-qt-5.9.3.patch |
30 |
new file mode 100644 |
31 |
index 00000000000..d9cf7402741 |
32 |
--- /dev/null |
33 |
+++ b/kde-frameworks/kio/files/kio-5.40.0-mkpath-qt-5.9.3.patch |
34 |
@@ -0,0 +1,65 @@ |
35 |
+From 2353119aae8f03565bc7779ed1d597d266f5afda Mon Sep 17 00:00:00 2001 |
36 |
+From: Elvis Angelaccio <elvis.angelaccio@×××.org> |
37 |
+Date: Thu, 16 Nov 2017 10:41:19 +0100 |
38 |
+Subject: Fix KIO::mkpath with qtbase 5.10 beta 4 |
39 |
+ |
40 |
+Summary: |
41 |
+The latest Qt 5.10 beta includes [1] which breaks a bunch of unit tests, |
42 |
+since `url.setPath("//foo")` will now result in an invalid (empty) QUrl. |
43 |
+ |
44 |
+This patch fixes the KIO::mkpath() case. |
45 |
+ |
46 |
+[1]: http://code.qt.io/cgit/qt/qtbase.git/commit/?id=f62768d046528636789f901ac79e2cfa1843a7b7 |
47 |
+ |
48 |
+Test Plan: |
49 |
+ |
50 |
+* I can now create folders from dolphin and plasma. |
51 |
+* fileundomanagertest and mkpathjobtest no longer fail |
52 |
+ |
53 |
+Reviewers: #frameworks, dfaure |
54 |
+ |
55 |
+Tags: #frameworks |
56 |
+ |
57 |
+Differential Revision: https://phabricator.kde.org/D8836 |
58 |
+--- |
59 |
+ src/core/mkpathjob.cpp | 17 ++++++++++++++--- |
60 |
+ 1 file changed, 14 insertions(+), 3 deletions(-) |
61 |
+ |
62 |
+diff --git a/src/core/mkpathjob.cpp b/src/core/mkpathjob.cpp |
63 |
+index bff46ca..a177805 100644 |
64 |
+--- a/src/core/mkpathjob.cpp |
65 |
++++ b/src/core/mkpathjob.cpp |
66 |
+@@ -43,8 +43,13 @@ public: |
67 |
+ m_url.setPath(QStringLiteral("/")); |
68 |
+ int i = 0; |
69 |
+ for (; i < basePathComponents.count() && i < m_pathComponents.count(); ++i) { |
70 |
+- if (m_pathComponents.at(i) == basePathComponents.at(i)) { |
71 |
+- m_url.setPath(m_url.path() + '/' + m_pathComponents.at(i)); |
72 |
++ const QString pathComponent = m_pathComponents.at(i); |
73 |
++ if (pathComponent == basePathComponents.at(i)) { |
74 |
++ if (m_url.path() == QLatin1Char('/')) { |
75 |
++ m_url.setPath(m_url.path() + pathComponent); |
76 |
++ } else { |
77 |
++ m_url.setPath(m_url.path() + '/' + pathComponent); |
78 |
++ } |
79 |
+ } else { |
80 |
+ break; |
81 |
+ } |
82 |
+@@ -57,7 +62,13 @@ public: |
83 |
+ if (m_url.isLocalFile()) { |
84 |
+ i = 0; |
85 |
+ for (; i < m_pathComponents.count(); ++i) { |
86 |
+- QString testDir = m_url.toLocalFile() + '/' + m_pathComponents.at(i); |
87 |
++ const QString localFile = m_url.toLocalFile(); |
88 |
++ QString testDir; |
89 |
++ if (localFile == QLatin1Char('/')) { |
90 |
++ testDir = localFile + m_pathComponents.at(i); |
91 |
++ } else { |
92 |
++ testDir = localFile + '/' + m_pathComponents.at(i); |
93 |
++ } |
94 |
+ if (QFileInfo(testDir).isDir()) { |
95 |
+ m_url.setPath(testDir); |
96 |
+ } else { |
97 |
+-- |
98 |
+cgit v0.11.2 |
99 |
+ |
100 |
|
101 |
diff --git a/kde-frameworks/kio/kio-5.40.0-r1.ebuild b/kde-frameworks/kio/kio-5.40.0-r1.ebuild |
102 |
new file mode 100644 |
103 |
index 00000000000..014388b9935 |
104 |
--- /dev/null |
105 |
+++ b/kde-frameworks/kio/kio-5.40.0-r1.ebuild |
106 |
@@ -0,0 +1,80 @@ |
107 |
+# Copyright 1999-2017 Gentoo Foundation |
108 |
+# Distributed under the terms of the GNU General Public License v2 |
109 |
+ |
110 |
+EAPI=6 |
111 |
+ |
112 |
+KDE_TEST="forceoptional" |
113 |
+VIRTUALX_REQUIRED="test" |
114 |
+inherit kde5 |
115 |
+ |
116 |
+DESCRIPTION="Framework providing transparent file and data management" |
117 |
+LICENSE="LGPL-2+" |
118 |
+KEYWORDS="~amd64 ~arm ~arm64 ~x86" |
119 |
+IUSE="acl +handbook kerberos +kwallet X" |
120 |
+ |
121 |
+RDEPEND=" |
122 |
+ $(add_frameworks_dep karchive) |
123 |
+ $(add_frameworks_dep kbookmarks) |
124 |
+ $(add_frameworks_dep kcodecs) |
125 |
+ $(add_frameworks_dep kcompletion) |
126 |
+ $(add_frameworks_dep kconfig) |
127 |
+ $(add_frameworks_dep kconfigwidgets) |
128 |
+ $(add_frameworks_dep kcoreaddons) |
129 |
+ $(add_frameworks_dep kdbusaddons) |
130 |
+ $(add_frameworks_dep ki18n) |
131 |
+ $(add_frameworks_dep kiconthemes) |
132 |
+ $(add_frameworks_dep kitemviews) |
133 |
+ $(add_frameworks_dep kjobwidgets) |
134 |
+ $(add_frameworks_dep knotifications) |
135 |
+ $(add_frameworks_dep kservice) |
136 |
+ $(add_frameworks_dep ktextwidgets) |
137 |
+ $(add_frameworks_dep kwidgetsaddons) |
138 |
+ $(add_frameworks_dep kwindowsystem) |
139 |
+ $(add_frameworks_dep kxmlgui) |
140 |
+ $(add_frameworks_dep solid) |
141 |
+ $(add_qt_dep qtdbus) |
142 |
+ $(add_qt_dep qtgui) |
143 |
+ $(add_qt_dep qtnetwork 'ssl') |
144 |
+ $(add_qt_dep qtscript) |
145 |
+ $(add_qt_dep qtwidgets) |
146 |
+ $(add_qt_dep qtxml) |
147 |
+ dev-libs/libxml2 |
148 |
+ dev-libs/libxslt |
149 |
+ acl? ( |
150 |
+ sys-apps/attr |
151 |
+ virtual/acl |
152 |
+ ) |
153 |
+ kerberos? ( virtual/krb5 ) |
154 |
+ kwallet? ( $(add_frameworks_dep kwallet) ) |
155 |
+ X? ( $(add_qt_dep qtx11extras) ) |
156 |
+" |
157 |
+DEPEND="${RDEPEND} |
158 |
+ $(add_qt_dep qtconcurrent) |
159 |
+ handbook? ( $(add_frameworks_dep kdoctools) ) |
160 |
+ test? ( sys-libs/zlib ) |
161 |
+ X? ( |
162 |
+ x11-libs/libX11 |
163 |
+ x11-libs/libXrender |
164 |
+ x11-proto/xproto |
165 |
+ ) |
166 |
+" |
167 |
+PDEPEND=" |
168 |
+ $(add_frameworks_dep kded) |
169 |
+" |
170 |
+ |
171 |
+PATCHES=( "${FILESDIR}/${P}-mkpath-qt-5.9.3.patch" ) |
172 |
+ |
173 |
+# tests hang |
174 |
+RESTRICT+=" test" |
175 |
+ |
176 |
+src_configure() { |
177 |
+ local mycmakeargs=( |
178 |
+ $(cmake-utils_use_find_package acl ACL) |
179 |
+ $(cmake-utils_use_find_package handbook KF5DocTools) |
180 |
+ $(cmake-utils_use_find_package kerberos GSSAPI) |
181 |
+ $(cmake-utils_use_find_package kwallet KF5Wallet) |
182 |
+ $(cmake-utils_use_find_package X X11) |
183 |
+ ) |
184 |
+ |
185 |
+ kde5_src_configure |
186 |
+} |