author | Antonio Rojas
<arojas@archlinux.org> 2020-07-06 20:34:03 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2020-07-06 20:34:03 UTC |
parent | 7c0cce793f5fba43782441b3d91466676461bbbf |
PKGBUILD | +26 | -10 |
icu67.patch | +0 | -169 |
qt5-webengine-gcc10.patch | +2 | -2 |
diff --git a/PKGBUILD b/PKGBUILD index 47d72ec..b2577e7 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,7 +4,7 @@ pkgname=qt5-webengine _qtver=5.15.0 pkgver=${_qtver/-/} -pkgrel=2 +pkgrel=3 arch=('x86_64') url='https://www.qt.io' license=('LGPL3' 'LGPL2.1' 'BSD') @@ -15,22 +15,38 @@ makedepends=('python2' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler') groups=('qt' 'qt5') _pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" - icu67.patch + qt5-webengine-icu67.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=e941f2bd" qt5-webengine-gcc10.patch - dark-mode-crash.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=4e8ca195") + dark-mode-crash.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=4e8ca195" + qtbug-85119.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=c91f4d20" + qtbug-85120.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=242802ab" + qtbug-85118.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=e42ccdad" + qtbug-62957.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=f341988f" + qtbug-62957-pre.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch?id=75412200" + ) sha256sums=('c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df' - '5315977307e69d20b3e856d3f8724835b08e02085a4444a5c5cefea83fd7d006' - '8d73112da8bb95ae9b1c84e403e08563a5dbf3dc02f79cd931e1b0ac15a3be37' - '7ea054a95045635fcee9ee50a6a28e9aedf182ca97a76cc6dd680fb1a91748e1') + '22a2265c81bc73dba6843279407ccaec9f192d0987c54a0d9533be7c49b37f29' + '8a6e0c41f708d6a8f1febb751157642ab985b58c07ada1447b73b71cd31b4d99' + '7ea054a95045635fcee9ee50a6a28e9aedf182ca97a76cc6dd680fb1a91748e1' + '758561a5bd52feca16751c37def8e7cd3388073bf5bd072eb0862830c174decc' + '4bb12a72d40e69052946a6b66fff621f28e40c3d3c11ddeec155133a9204f352' + 'fc976a6a7198121a4c1b6026318098de278412d73634db31b1815a3cc7502657' + '1a07ab59daa9552ad1a70abd03b00d40e542d9dd64fa6d7404d31c9a51e5eeba' + 'd47ec2111c9713312158f800c01ca9358400b4e11273e470d57a53c36b7565c0') prepare() { mkdir -p build cd $_pkgfqn - patch -Np3 -d src/3rdparty/chromium/v8 < ../icu67.patch # Fix build with ICU 67 - cd src/3rdparty/chromium - patch -p1 -i "$srcdir"/qt5-webengine-gcc10.patch - patch -p2 -i "$srcdir"/dark-mode-crash.patch # Fix crash in qutebrowser when using dark mode + patch -d src/3rdparty -p1 -i "$srcdir"/qt5-webengine-icu67.patch # Fix build with ICU 67 + patch -d src/3rdparty -p1 -i "$srcdir"/qt5-webengine-gcc10.patch + patch -d src/3rdparty -p1 -i "$srcdir"/dark-mode-crash.patch # Fix crash in qutebrowser when using dark mode + patch -d src/3rdparty -p1 -i "$srcdir"/qtbug-85119.patch # Extend url library for WebEngine custom schemes + patch -d src/3rdparty -p1 -i "$srcdir"/qtbug-85120.patch # Make XScrnSaver optional + + patch -p1 -i ../qtbug-85118.patch # Fix recentlyAudible signal + patch -p1 -i ../qtbug-62957-pre.patch # Avoid the network context reset during http cache clear + patch -p1 -i ../qtbug-62957.patch # Return valid path in Profile::GetPath() for incognito profiles } build() { diff --git a/icu67.patch b/icu67.patch deleted file mode 100644 index bcfcb18..0000000 --- a/icu67.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 2b107e7670ffb43719a66ee4a55ab408a5dcf2a5 Mon Sep 17 00:00:00 2001 -From: Ujjwal Sharma <ryzokuken@disroot.org> -Date: Wed, 22 Apr 2020 12:20:17 +0530 -Subject: [PATCH] deps: V8: backport 3f8dc4b2e5ba - -Original commit message: - - [intl] Remove soon-to-be removed getAllFieldPositions - - Needed to land ICU67.1 soon. - - Bug: v8:10393 - Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618 - Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489 - Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> - Commit-Queue: Frank Tang <ftang@chromium.org> - Cr-Commit-Position: refs/heads/master@{#67027} - -Refs: https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463 ---- - common.gypi | 2 +- - deps/v8/src/objects/js-number-format.cc | 72 +++++++++++++------------ - 2 files changed, 38 insertions(+), 36 deletions(-) - -diff --git a/deps/v8/src/objects/js-number-format.cc b/deps/v8/src/objects/js-number-format.cc -index 92d3e2fb82e..ced408aa173 100644 ---- a/deps/v8/src/objects/js-number-format.cc -+++ b/deps/v8/src/objects/js-number-format.cc -@@ -1197,42 +1197,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate, - } - - namespace { --Maybe<icu::UnicodeString> IcuFormatNumber( -+Maybe<bool> IcuFormatNumber( - Isolate* isolate, - const icu::number::LocalizedNumberFormatter& number_format, -- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) { -+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) { - // If it is BigInt, handle it differently. - UErrorCode status = U_ZERO_ERROR; -- icu::number::FormattedNumber formatted; - if (numeric_obj->IsBigInt()) { - Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj); - Handle<String> big_int_string; - ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, - BigInt::ToString(isolate, big_int), -- Nothing<icu::UnicodeString>()); -- formatted = number_format.formatDecimal( -+ Nothing<bool>()); -+ *formatted = number_format.formatDecimal( - {big_int_string->ToCString().get(), big_int_string->length()}, status); - } else { - double number = numeric_obj->Number(); -- formatted = number_format.formatDouble(number, status); -+ *formatted = number_format.formatDouble(number, status); - } - if (U_FAILURE(status)) { - // This happen because of icu data trimming trim out "unit". - // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing<icu::UnicodeString>()); -- } -- if (fp_iter) { -- formatted.getAllFieldPositions(*fp_iter, status); -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>()); - } -- icu::UnicodeString result = formatted.toString(status); -- if (U_FAILURE(status)) { -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing<icu::UnicodeString>()); -- } -- return Just(result); -+ return Just(true); - } - - } // namespace -@@ -1243,10 +1232,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric( - Handle<Object> numeric_obj) { - DCHECK(numeric_obj->IsNumeric()); - -- Maybe<icu::UnicodeString> maybe_format = -- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); -+ icu::number::FormattedNumber formatted; -+ Maybe<bool> maybe_format = -+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle<String>()); -- return Intl::ToString(isolate, maybe_format.FromJust()); -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString result = formatted.toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); -+ } -+ return Intl::ToString(isolate, result); - } - - namespace { -@@ -1359,12 +1354,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts( - } - - namespace { --Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, -- icu::FieldPositionIterator* fp_iter, -+Maybe<int> ConstructParts(Isolate* isolate, -+ icu::number::FormattedNumber* formatted, - Handle<JSArray> result, int start_index, - Handle<Object> numeric_obj, bool style_is_unit) { -+ UErrorCode status = U_ZERO_ERROR; -+ icu::UnicodeString formatted_text = formatted->toString(status); -+ if (U_FAILURE(status)) { -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>()); -+ } - DCHECK(numeric_obj->IsNumeric()); -- int32_t length = formatted.length(); -+ int32_t length = formatted_text.length(); - int index = start_index; - if (length == 0) return Just(index); - -@@ -1373,13 +1374,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - // other region covers some part of the formatted string. It's possible - // there's another field with exactly the same begin and end as this backdrop, - // in which case the backdrop's field_id of -1 will give it lower priority. -- regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); -+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); - - { -- icu::FieldPosition fp; -- while (fp_iter->next(fp)) { -- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), -- fp.getEndIndex())); -+ icu::ConstrainedFieldPosition cfp; -+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); -+ while (formatted->nextPosition(cfp, status)) { -+ regions.push_back( -+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); - } - } - -@@ -1401,7 +1403,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - Handle<String> substring; - ASSIGN_RETURN_ON_EXCEPTION_VALUE( - isolate, substring, -- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), -+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), - Nothing<int>()); - Intl::AddElement(isolate, result, index, field_type_string, substring); - ++index; -@@ -1421,14 +1423,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts( - number_format->icu_number_formatter().raw(); - CHECK_NOT_NULL(fmt); - -- icu::FieldPositionIterator fp_iter; -- Maybe<icu::UnicodeString> maybe_format = -- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); -+ icu::number::FormattedNumber formatted; -+ Maybe<bool> maybe_format = -+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle<JSArray>()); - - Handle<JSArray> result = factory->NewJSArray(0); - Maybe<int> maybe_format_to_parts = ConstructParts( -- isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj, -+ isolate, &formatted, result, 0, numeric_obj, - number_format->style() == JSNumberFormat::Style::UNIT); - MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>()); - diff --git a/qt5-webengine-gcc10.patch b/qt5-webengine-gcc10.patch index e2ed0c3..6c10e53 100644 --- a/qt5-webengine-gcc10.patch +++ b/qt5-webengine-gcc10.patch @@ -1,7 +1,7 @@ diff --git a/base/trace_event/trace_event_memory_overhead.h b/base/trace_event/trace_event_memory_overhead.h index 69468d4..3f5b786 100644 ---- a/base/trace_event/trace_event_memory_overhead.h -+++ b/base/trace_event/trace_event_memory_overhead.h +--- a/chromium/base/trace_event/trace_event_memory_overhead.h ++++ b/chromium/base/trace_event/trace_event_memory_overhead.h @@ -9,6 +9,7 @@ #include <stdint.h>