1 |
commit: af39f7cd56505da2e3fe4a75a63a3a4bc7d3a456 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Oct 28 18:32:26 2019 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Oct 28 18:32:26 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=af39f7cd |
7 |
|
8 |
dev-qt/qtwebengine: Fix 5.14.0_beta2 build against ICU-65 |
9 |
|
10 |
Package-Manager: Portage-2.3.78, Repoman-2.3.17 |
11 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
12 |
|
13 |
.../files/qtwebengine-5.14.0_beta2-icu-65.patch | 157 +++++++++++++++++++++ |
14 |
dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild | 1 + |
15 |
2 files changed, 158 insertions(+) |
16 |
|
17 |
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.14.0_beta2-icu-65.patch b/dev-qt/qtwebengine/files/qtwebengine-5.14.0_beta2-icu-65.patch |
18 |
new file mode 100644 |
19 |
index 00000000..028b26b5 |
20 |
--- /dev/null |
21 |
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.14.0_beta2-icu-65.patch |
22 |
@@ -0,0 +1,157 @@ |
23 |
+From 27947d92157b0987ceef9ae31fe0d3e7f8b653df Mon Sep 17 00:00:00 2001 |
24 |
+From: Kirill Burtsev <kirill.burtsev@××.io> |
25 |
+Date: Fri, 23 Aug 2019 15:09:25 +0200 |
26 |
+Subject: Fix compilation with system ICU |
27 |
+ |
28 |
+1. system_icu_config is missing default type for UCHAR_TYPE, that causes |
29 |
+a mismatch of types all over Chromium. uint16_t is defined as a base type |
30 |
+under linux in chromium/build/linux/unbundle/icu.gn. |
31 |
+Necessary constructions were lost during recent refactorings, |
32 |
+and seems to be restored in later chromium > 77. |
33 |
+ |
34 |
+2. Update shim headers |
35 |
+ |
36 |
+3. ICU upstream now requires that ICU4C API macros are used with a |
37 |
+trailing semicolon. |
38 |
+ |
39 |
+- https://unicode-org.atlassian.net/browse/ICU-20601 |
40 |
+- https://github.com/unicode-org/icu/pull/759 |
41 |
+ |
42 |
+Change-Id: Ie05c005ebcded9a228386db5d9abe9863787ec2b |
43 |
+Fixes: QTBUG-78911 |
44 |
+Reviewed-by: Jimi Huotari <chiitoo@g.o> |
45 |
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@××.io> |
46 |
+--- |
47 |
+ .../blink/renderer/core/dom/document.cc | 2 +- |
48 |
+ chromium/third_party/icu/BUILD.gn | 28 +++++++++++++++------- |
49 |
+ 2 files changed, 21 insertions(+), 9 deletions(-) |
50 |
+ |
51 |
+diff --git a/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc b/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc |
52 |
+index 920dab7c48d..43fd422393c 100644 |
53 |
+--- a/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc |
54 |
++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc |
55 |
+@@ -6065,7 +6065,7 @@ static ParseQualifiedNameResult ParseQualifiedNameInternal( |
56 |
+ |
57 |
+ for (unsigned i = 0; i < length;) { |
58 |
+ UChar32 c; |
59 |
+- U16_NEXT(characters, i, length, c) |
60 |
++ U16_NEXT(characters, i, length, c); |
61 |
+ if (c == ':') { |
62 |
+ if (saw_colon) |
63 |
+ return ParseQualifiedNameResult(kQNMultipleColons); |
64 |
+diff --git a/src/3rdparty/chromium/third_party/icu/BUILD.gn b/src/3rdparty/chromium/third_party/icu/BUILD.gn |
65 |
+index 8809dcfbcd4..489a87e6080 100644 |
66 |
+--- a/src/3rdparty/chromium/third_party/icu/BUILD.gn |
67 |
++++ b/src/3rdparty/chromium/third_party/icu/BUILD.gn |
68 |
+@@ -1176,6 +1176,12 @@ config("system_icu_config") { |
69 |
+ "USING_SYSTEM_ICU=1", |
70 |
+ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", |
71 |
+ ] |
72 |
++ |
73 |
++ if (is_win) { |
74 |
++ defines += [ "UCHAR_TYPE=wchar_t" ] |
75 |
++ } else { |
76 |
++ defines += [ "UCHAR_TYPE=uint16_t" ] |
77 |
++ } |
78 |
+ } |
79 |
+ |
80 |
+ if (use_system_icu) { |
81 |
+@@ -1193,9 +1199,7 @@ shim_headers("icui18n_shim") { |
82 |
+ prefix = "unicode/" |
83 |
+ headers = [ |
84 |
+ # This list can easily be updated using the command below: |
85 |
+- # find third_party/icu/source/i18n/unicode \ |
86 |
+- # -iname '*.h' -printf '"%p",\n' | \ |
87 |
+- # sed -e 's|third_party/icu/source/i18n/unicode/||' | sort -u |
88 |
++ # find third_party/icu/source/i18n/unicode -iname '*.h' -printf '%f\n' | sort -Vu | sed -e 's/.*/"&",/' |
89 |
+ "alphaindex.h", |
90 |
+ "basictz.h", |
91 |
+ "calendar.h", |
92 |
+@@ -1217,15 +1221,18 @@ shim_headers("icui18n_shim") { |
93 |
+ "fieldpos.h", |
94 |
+ "fmtable.h", |
95 |
+ "format.h", |
96 |
++ "formattedvalue.h", |
97 |
+ "fpositer.h", |
98 |
+ "gender.h", |
99 |
+ "gregocal.h", |
100 |
++ "listformatter.h", |
101 |
+ "measfmt.h", |
102 |
+ "measunit.h", |
103 |
+ "measure.h", |
104 |
+ "msgfmt.h", |
105 |
+ "nounit.h", |
106 |
+ "numberformatter.h", |
107 |
++ "numberrangeformatter.h", |
108 |
+ "numfmt.h", |
109 |
+ "numsys.h", |
110 |
+ "plurfmt.h", |
111 |
+@@ -1261,11 +1268,14 @@ shim_headers("icui18n_shim") { |
112 |
+ "udatpg.h", |
113 |
+ "ufieldpositer.h", |
114 |
+ "uformattable.h", |
115 |
++ "uformattedvalue.h", |
116 |
+ "ugender.h", |
117 |
++ "ulistformatter.h", |
118 |
+ "ulocdata.h", |
119 |
+ "umsg.h", |
120 |
+ "unirepl.h", |
121 |
+ "unum.h", |
122 |
++ "unumberformatter.h", |
123 |
+ "unumsys.h", |
124 |
+ "upluralrules.h", |
125 |
+ "uregex.h", |
126 |
+@@ -1284,9 +1294,7 @@ shim_headers("icuuc_shim") { |
127 |
+ prefix = "unicode/" |
128 |
+ headers = [ |
129 |
+ # This list can easily be updated using the command below: |
130 |
+- # find third_party/icu/source/common/unicode \ |
131 |
+- # -iname '*.h' -printf '"%p",\n' | \ |
132 |
+- # sed -e 's|third_party/icu/source/common/unicode/||' | sort -u |
133 |
++ # find third_party/icu/source/common/unicode -iname '*.h' -printf '%f\n' | sort -Vu | sed -e 's/.*/"&",/' |
134 |
+ "appendable.h", |
135 |
+ "brkiter.h", |
136 |
+ "bytestream.h", |
137 |
+@@ -1306,6 +1314,7 @@ shim_headers("icuuc_shim") { |
138 |
+ "icudataver.h", |
139 |
+ "icuplug.h", |
140 |
+ "idna.h", |
141 |
++ "localebuilder.h", |
142 |
+ "localpointer.h", |
143 |
+ "locdspnm.h", |
144 |
+ "locid.h", |
145 |
+@@ -1339,10 +1348,12 @@ shim_headers("icuuc_shim") { |
146 |
+ "uchriter.h", |
147 |
+ "uclean.h", |
148 |
+ "ucnv.h", |
149 |
++ "ucnvsel.h", |
150 |
+ "ucnv_cb.h", |
151 |
+ "ucnv_err.h", |
152 |
+- "ucnvsel.h", |
153 |
+ "uconfig.h", |
154 |
++ "ucpmap.h", |
155 |
++ "ucptrie.h", |
156 |
+ "ucurr.h", |
157 |
+ "udata.h", |
158 |
+ "udisplaycontext.h", |
159 |
+@@ -1353,6 +1364,7 @@ shim_headers("icuuc_shim") { |
160 |
+ "uloc.h", |
161 |
+ "umachine.h", |
162 |
+ "umisc.h", |
163 |
++ "umutablecptrie.h", |
164 |
+ "unifilt.h", |
165 |
+ "unifunct.h", |
166 |
+ "unimatch.h", |
167 |
+@@ -1373,9 +1385,9 @@ shim_headers("icuuc_shim") { |
168 |
+ "ustringtrie.h", |
169 |
+ "utext.h", |
170 |
+ "utf.h", |
171 |
++ "utf8.h", |
172 |
+ "utf16.h", |
173 |
+ "utf32.h", |
174 |
+- "utf8.h", |
175 |
+ "utf_old.h", |
176 |
+ "utrace.h", |
177 |
+ "utypes.h", |
178 |
+-- |
179 |
+cgit v1.2.1 |
180 |
|
181 |
diff --git a/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild |
182 |
index 35adda04..8ef8814c 100644 |
183 |
--- a/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild |
184 |
+++ b/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild |
185 |
@@ -79,6 +79,7 @@ DEPEND="${RDEPEND} |
186 |
" |
187 |
|
188 |
PATCHES+=( |
189 |
+ "${FILESDIR}/${P}-icu-65.patch" |
190 |
# bug 693668, upstream(?) TODO: |
191 |
"${FILESDIR}/${PN}-5.13.1-no-kcrash-reporting.patch" |
192 |
) |