Drop support for Unicode "aspirational scripts", fixes #error with ICU >= 60

* Sat Dec 02 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.9.3-3
- Drop support for Unicode "aspirational scripts", fixes #error with ICU >= 60
This commit is contained in:
Kevin Kofler 2017-12-02 03:22:28 +01:00
parent 5ebf676d5a
commit 210c122c32
2 changed files with 88 additions and 1 deletions

View File

@ -56,7 +56,7 @@
Summary: Qt5 - QtWebEngine components
Name: qt5-qtwebengine
Version: 5.9.3
Release: 2%{?dist}
Release: 3%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
@ -115,6 +115,12 @@ Patch12: qtwebengine-opensource-src-5.9.0-webrtc-neon-detect.patch
Patch21: qtwebengine-opensource-src-5.9.0-gn-bootstrap-verbose.patch
# Fix FTBFS with Qt 5.7
Patch22: qtwebengine-opensource-src-5.9.2-qt57.patch
# drop support for obsolete Unicode "aspirational scripts" (dropped in UTS 31),
# fixes #error with ICU >= 60 (which was a reminder to double-check the list)
# see: http://www.unicode.org/reports/tr31/#Aspirational_Use_Scripts
# backport of: https://chromium-review.googlesource.com/c/chromium/src/+/731871
# For 5.10, refetch the patch instead of forward-porting the backport.
Patch100: qtwebengine-opensource-src-5.9.3-no-aspirational-scripts.patch
%if 0%{?fedora} && 0%{?fedora} < 25
# work around missing qt5_qtwebengine_arches macro on F24
@ -361,6 +367,7 @@ BuildArch: noarch
%patch12 -p1 -b .webrtc-neon-detect
%patch21 -p1 -b .gn-bootstrap-verbose
%patch22 -p1 -b .qt57
%patch100 -p1 -b .no-aspirational-scripts
# fix // in #include in content/renderer/gpu to avoid debugedit failure
sed -i -e 's!gpu//!gpu/!g' \
src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc
@ -567,6 +574,9 @@ done
%changelog
* Sat Dec 02 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.9.3-3
- Drop support for Unicode "aspirational scripts", fixes #error with ICU >= 60
* Thu Nov 30 2017 Pete Walter <pwalter@fedoraproject.org> - 5.9.3-2
- Rebuild for ICU 60.1

View File

@ -0,0 +1,77 @@
diff -ur qtwebengine-opensource-src-5.9.3/src/3rdparty/chromium/components/url_formatter/url_formatter.cc qtwebengine-opensource-src-5.9.3-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/url_formatter.cc
--- qtwebengine-opensource-src-5.9.3/src/3rdparty/chromium/components/url_formatter/url_formatter.cc 2017-11-08 20:13:31.000000000 +0100
+++ qtwebengine-opensource-src-5.9.3-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/url_formatter.cc 2017-12-02 03:07:07.447476275 +0100
@@ -478,39 +478,6 @@
const icu::UnicodeSet* inclusion_set = uspoof_getInclusionUnicodeSet(status);
allowed_set.addAll(*inclusion_set);
- // Five aspirational scripts are taken from UTR 31 Table 6 at
- // http://www.unicode.org/reports/tr31/#Aspirational_Use_Scripts .
- // Not all the characters of aspirational scripts are suitable for
- // identifiers. Therefore, only characters belonging to
- // [:Identifier_Type=Aspirational:] (listed in 'Status/Type=Aspirational'
- // section at
- // http://www.unicode.org/Public/security/latest/xidmodifications.txt) are
- // are added to the allowed set. The list has to be updated when a new
- // version of Unicode is released. The current version is 9.0.0 and ICU 60
- // will have Unicode 10.0 data.
-#if U_ICU_VERSION_MAJOR_NUM < 60
- const icu::UnicodeSet aspirational_scripts(
- icu::UnicodeString(
- // Unified Canadian Syllabics
- "[\\u1401-\\u166C\\u166F-\\u167F"
- // Mongolian
- "\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA"
- // Unified Canadian Syllabics
- "\\u18B0-\\u18F5"
- // Tifinagh
- "\\u2D30-\\u2D67\\u2D7F"
- // Yi
- "\\uA000-\\uA48C"
- // Miao
- "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7E"
- "\\U00016F8F-\\U00016F9F]",
- -1, US_INV),
- *status);
- allowed_set.addAll(aspirational_scripts);
-#else
-#error "Update aspirational_scripts per Unicode 10.0"
-#endif
-
// U+0338 is included in the recommended set, while U+05F4 and U+2027 are in
// the inclusion set. However, they are blacklisted as a part of Mozilla's
// IDN blacklist (http://kb.mozillazine.org/Network.IDN.blacklist_chars).
diff -ur qtwebengine-opensource-src-5.9.3/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc qtwebengine-opensource-src-5.9.3-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc
--- qtwebengine-opensource-src-5.9.3/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc 2017-11-08 20:13:31.000000000 +0100
+++ qtwebengine-opensource-src-5.9.3-no-aspirational-scripts/src/3rdparty/chromium/components/url_formatter/url_formatter_unittest.cc 2017-12-02 03:08:51.073912562 +0100
@@ -102,22 +102,24 @@
{"xn---123-kbjl2j0bl2k.in",
L"\x0939\x093f\x0928\x094d\x0926\x0940-123.in", true},
- // 5 Aspirational scripts
+ // What used to be 5 Aspirational scripts in the earlier versions of UAX 31.
+ // UAX 31 does not define aspirational scripts any more.
+ // See http://www.unicode.org/reports/tr31/#Aspirational_Use_Scripts .
// Unifieid Canadian Syllabary
- {"xn--dfe0tte.ca", L"\x1456\x14c2\x14ef.ca", true},
+ {"xn--dfe0tte.ca", L"\x1456\x14c2\x14ef.ca", false},
// Tifinagh
{"xn--4ljxa2bb4a6bxb.ma",
- L"\x2d5c\x2d49\x2d3c\x2d49\x2d4f\x2d30\x2d56.ma", true},
+ L"\x2d5c\x2d49\x2d3c\x2d49\x2d4f\x2d30\x2d56.ma", false},
// Tifinagh with a disallowed character(U+2D6F)
{"xn--hmjzaby5d5f.ma", L"\x2d5c\x2d49\x2d3c\x2d6f\x2d49\x2d4f.ma", false},
// Yi
- {"xn--4o7a6e1x64c.cn", L"\xa188\xa320\xa071\xa0b7.cn", true},
+ {"xn--4o7a6e1x64c.cn", L"\xa188\xa320\xa071\xa0b7.cn", false},
// Mongolian - 'ordu' (place, camp)
- {"xn--56ec8bp.cn", L"\x1823\x1837\x1833\x1824.cn", true},
+ {"xn--56ec8bp.cn", L"\x1823\x1837\x1833\x1824.cn", false},
// Mongolian with a disallowed character
{"xn--95e5de3ds.cn", L"\x1823\x1837\x1804\x1833\x1824.cn", false},
// Miao/Pollad
- {"xn--2u0fpf0a.cn", L"\U00016f04\U00016f62\U00016f59.cn", true},
+ {"xn--2u0fpf0a.cn", L"\U00016f04\U00016f62\U00016f59.cn", false},
// Script mixing tests
// The following script combinations are allowed.