Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/qt:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/
Date: Mon, 28 Oct 2019 21:24:00
Message-Id: 1572287546.af39f7cd56505da2e3fe4a75a63a3a4bc7d3a456.asturm@gentoo
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 )