commit: af39f7cd56505da2e3fe4a75a63a3a4bc7d3a456 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Mon Oct 28 18:32:26 2019 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Mon Oct 28 18:32:26 2019 +0000 URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=af39f7cd
dev-qt/qtwebengine: Fix 5.14.0_beta2 build against ICU-65 Package-Manager: Portage-2.3.78, Repoman-2.3.17 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../files/qtwebengine-5.14.0_beta2-icu-65.patch | 157 +++++++++++++++++++++ dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild | 1 + 2 files changed, 158 insertions(+) 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 new file mode 100644 index 00000000..028b26b5 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-5.14.0_beta2-icu-65.patch @@ -0,0 +1,157 @@ +From 27947d92157b0987ceef9ae31fe0d3e7f8b653df Mon Sep 17 00:00:00 2001 +From: Kirill Burtsev <kirill.burt...@qt.io> +Date: Fri, 23 Aug 2019 15:09:25 +0200 +Subject: Fix compilation with system ICU + +1. system_icu_config is missing default type for UCHAR_TYPE, that causes +a mismatch of types all over Chromium. uint16_t is defined as a base type +under linux in chromium/build/linux/unbundle/icu.gn. +Necessary constructions were lost during recent refactorings, +and seems to be restored in later chromium > 77. + +2. Update shim headers + +3. ICU upstream now requires that ICU4C API macros are used with a +trailing semicolon. + +- https://unicode-org.atlassian.net/browse/ICU-20601 +- https://github.com/unicode-org/icu/pull/759 + +Change-Id: Ie05c005ebcded9a228386db5d9abe9863787ec2b +Fixes: QTBUG-78911 +Reviewed-by: Jimi Huotari <chii...@gentoo.org> +Reviewed-by: Allan Sandfeld Jensen <allan.jen...@qt.io> +--- + .../blink/renderer/core/dom/document.cc | 2 +- + chromium/third_party/icu/BUILD.gn | 28 +++++++++++++++------- + 2 files changed, 21 insertions(+), 9 deletions(-) + +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 +index 920dab7c48d..43fd422393c 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/dom/document.cc +@@ -6065,7 +6065,7 @@ static ParseQualifiedNameResult ParseQualifiedNameInternal( + + for (unsigned i = 0; i < length;) { + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (c == ':') { + if (saw_colon) + return ParseQualifiedNameResult(kQNMultipleColons); +diff --git a/src/3rdparty/chromium/third_party/icu/BUILD.gn b/src/3rdparty/chromium/third_party/icu/BUILD.gn +index 8809dcfbcd4..489a87e6080 100644 +--- a/src/3rdparty/chromium/third_party/icu/BUILD.gn ++++ b/src/3rdparty/chromium/third_party/icu/BUILD.gn +@@ -1176,6 +1176,12 @@ config("system_icu_config") { + "USING_SYSTEM_ICU=1", + "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", + ] ++ ++ if (is_win) { ++ defines += [ "UCHAR_TYPE=wchar_t" ] ++ } else { ++ defines += [ "UCHAR_TYPE=uint16_t" ] ++ } + } + + if (use_system_icu) { +@@ -1193,9 +1199,7 @@ shim_headers("icui18n_shim") { + prefix = "unicode/" + headers = [ + # This list can easily be updated using the command below: +- # find third_party/icu/source/i18n/unicode \ +- # -iname '*.h' -printf '"%p",\n' | \ +- # sed -e 's|third_party/icu/source/i18n/unicode/||' | sort -u ++ # find third_party/icu/source/i18n/unicode -iname '*.h' -printf '%f\n' | sort -Vu | sed -e 's/.*/"&",/' + "alphaindex.h", + "basictz.h", + "calendar.h", +@@ -1217,15 +1221,18 @@ shim_headers("icui18n_shim") { + "fieldpos.h", + "fmtable.h", + "format.h", ++ "formattedvalue.h", + "fpositer.h", + "gender.h", + "gregocal.h", ++ "listformatter.h", + "measfmt.h", + "measunit.h", + "measure.h", + "msgfmt.h", + "nounit.h", + "numberformatter.h", ++ "numberrangeformatter.h", + "numfmt.h", + "numsys.h", + "plurfmt.h", +@@ -1261,11 +1268,14 @@ shim_headers("icui18n_shim") { + "udatpg.h", + "ufieldpositer.h", + "uformattable.h", ++ "uformattedvalue.h", + "ugender.h", ++ "ulistformatter.h", + "ulocdata.h", + "umsg.h", + "unirepl.h", + "unum.h", ++ "unumberformatter.h", + "unumsys.h", + "upluralrules.h", + "uregex.h", +@@ -1284,9 +1294,7 @@ shim_headers("icuuc_shim") { + prefix = "unicode/" + headers = [ + # This list can easily be updated using the command below: +- # find third_party/icu/source/common/unicode \ +- # -iname '*.h' -printf '"%p",\n' | \ +- # sed -e 's|third_party/icu/source/common/unicode/||' | sort -u ++ # find third_party/icu/source/common/unicode -iname '*.h' -printf '%f\n' | sort -Vu | sed -e 's/.*/"&",/' + "appendable.h", + "brkiter.h", + "bytestream.h", +@@ -1306,6 +1314,7 @@ shim_headers("icuuc_shim") { + "icudataver.h", + "icuplug.h", + "idna.h", ++ "localebuilder.h", + "localpointer.h", + "locdspnm.h", + "locid.h", +@@ -1339,10 +1348,12 @@ shim_headers("icuuc_shim") { + "uchriter.h", + "uclean.h", + "ucnv.h", ++ "ucnvsel.h", + "ucnv_cb.h", + "ucnv_err.h", +- "ucnvsel.h", + "uconfig.h", ++ "ucpmap.h", ++ "ucptrie.h", + "ucurr.h", + "udata.h", + "udisplaycontext.h", +@@ -1353,6 +1364,7 @@ shim_headers("icuuc_shim") { + "uloc.h", + "umachine.h", + "umisc.h", ++ "umutablecptrie.h", + "unifilt.h", + "unifunct.h", + "unimatch.h", +@@ -1373,9 +1385,9 @@ shim_headers("icuuc_shim") { + "ustringtrie.h", + "utext.h", + "utf.h", ++ "utf8.h", + "utf16.h", + "utf32.h", +- "utf8.h", + "utf_old.h", + "utrace.h", + "utypes.h", +-- +cgit v1.2.1 diff --git a/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild index 35adda04..8ef8814c 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.14.0_beta2.ebuild @@ -79,6 +79,7 @@ DEPEND="${RDEPEND} " PATCHES+=( + "${FILESDIR}/${P}-icu-65.patch" # bug 693668, upstream(?) TODO: "${FILESDIR}/${PN}-5.13.1-no-kcrash-reporting.patch" )