From e5ae5bcf1a127eecae90a627af8e525fc3db28d9 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Thu, 10 Sep 2020 22:30:24 +0200 Subject: [PATCH] up to 5.15.1 --- binutils-2.35.patch | 35 --------- bison-3.7.patch | 42 ----------- icu67.patch | 169 ------------------------------------------- qt5-qtwebengine.spec | 21 ++---- webauthn.patch | 137 ----------------------------------- 5 files changed, 8 insertions(+), 396 deletions(-) delete mode 100644 binutils-2.35.patch delete mode 100644 bison-3.7.patch delete mode 100644 icu67.patch delete mode 100644 webauthn.patch diff --git a/binutils-2.35.patch b/binutils-2.35.patch deleted file mode 100644 index dedb0f2..0000000 --- a/binutils-2.35.patch +++ /dev/null @@ -1,35 +0,0 @@ -Description: build openh264 with -DX86_32_PICASM on x86 - To fix linker errors with new binutils, see #965328. -Author: Dmitry Shachnev -Forwarded: not-yet -Last-Update: 2020-07-20 - ---- a/src/3rdparty/chromium/third_party/openh264/BUILD.gn -+++ b/src/3rdparty/chromium/third_party/openh264/BUILD.gn -@@ -67,7 +67,7 @@ if (use_assembler) { - sources = openh264_common_sources_asm_x86 - defines = yasm_defines - if (target_cpu == "x86") { -- defines += [ "X86_32" ] -+ defines += [ "X86_32", "X86_32_PICASM" ] - } else { # x64 - if (is_mac) { - defines += [ -@@ -88,7 +88,7 @@ if (use_assembler) { - sources = openh264_processing_sources_asm_x86 - defines = yasm_defines - if (target_cpu == "x86") { -- defines += [ "X86_32" ] -+ defines += [ "X86_32", "X86_32_PICASM" ] - } else { # x64 - if (is_mac) { - defines += [ -@@ -109,7 +109,7 @@ if (use_assembler) { - sources = openh264_encoder_sources_asm_x86 - defines = yasm_defines - if (target_cpu == "x86") { -- defines += [ "X86_32" ] -+ defines += [ "X86_32", "X86_32_PICASM" ] - } else { # x64 - if (is_mac) { - defines += [ diff --git a/bison-3.7.patch b/bison-3.7.patch deleted file mode 100644 index 876eb7a..0000000 --- a/bison-3.7.patch +++ /dev/null @@ -1,42 +0,0 @@ -Description: use .hh extension for Bison header file - Previously Bison generated an .hh header and rule_bison.py changed it to .h. - That used to work fine, but with Bison 3.7 the generated .cc file #includes - that header (instead of duplicating it), so we need to keep the original - extension. -Author: Dmitry Shachnev -Forwarded: no -Last-Update: 2020-07-28 - ---- a/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/rule_bison.py -+++ b/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/rule_bison.py -@@ -104,7 +104,7 @@ outputHFile.close() - os.unlink(outputHTmp) - - # Rewrite the generated header with #include guards. --outputH = os.path.join(outputDir, inputRoot + '.h') -+outputH = outputHTmp - - outputHInGen = outputH.replace('gen/', '') - headerGuard = NameStyleConverter(outputHInGen).to_header_guard() ---- a/src/3rdparty/chromium/third_party/blink/renderer/core/BUILD.gn -+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/BUILD.gn -@@ -952,7 +952,7 @@ action_foreach("make_core_generated_biso - ] - outputs = [ - "$blink_core_output_dir/{{source_name_part}}.cc", -- "$blink_core_output_dir/{{source_name_part}}.h", -+ "$blink_core_output_dir/{{source_name_part}}.hh", - ] - args = [ - "{{source}}", ---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xpath_parser.cc -+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xpath_parser.cc -@@ -31,7 +31,7 @@ - #include "third_party/blink/renderer/core/xml/xpath_evaluator.h" - #include "third_party/blink/renderer/core/xml/xpath_ns_resolver.h" - #include "third_party/blink/renderer/core/xml/xpath_path.h" --#include "third_party/blink/renderer/core/xpath_grammar.h" -+#include "third_party/blink/renderer/core/xpath_grammar.hh" - #include "third_party/blink/renderer/platform/bindings/exception_state.h" - #include "third_party/blink/renderer/platform/wtf/std_lib_extras.h" - #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" 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 -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 - Commit-Queue: Frank Tang - 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::New(Isolate* isolate, - } - - namespace { --Maybe IcuFormatNumber( -+Maybe IcuFormatNumber( - Isolate* isolate, - const icu::number::LocalizedNumberFormatter& number_format, -- Handle numeric_obj, icu::FieldPositionIterator* fp_iter) { -+ Handle 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 big_int = Handle::cast(numeric_obj); - Handle big_int_string; - ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, - BigInt::ToString(isolate, big_int), -- Nothing()); -- formatted = number_format.formatDecimal( -+ Nothing()); -+ *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()); -- } -- if (fp_iter) { -- formatted.getAllFieldPositions(*fp_iter, status); -+ THROW_NEW_ERROR_RETURN_VALUE( -+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); - } -- icu::UnicodeString result = formatted.toString(status); -- if (U_FAILURE(status)) { -- THROW_NEW_ERROR_RETURN_VALUE(isolate, -- NewTypeError(MessageTemplate::kIcuError), -- Nothing()); -- } -- return Just(result); -+ return Just(true); - } - - } // namespace -@@ -1243,10 +1232,16 @@ MaybeHandle JSNumberFormat::FormatNumeric( - Handle numeric_obj) { - DCHECK(numeric_obj->IsNumeric()); - -- Maybe maybe_format = -- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); -+ icu::number::FormattedNumber formatted; -+ Maybe maybe_format = -+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle()); -- 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 FlattenRegionsToParts( - } - - namespace { --Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, -- icu::FieldPositionIterator* fp_iter, -+Maybe ConstructParts(Isolate* isolate, -+ icu::number::FormattedNumber* formatted, - Handle result, int start_index, - Handle 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()); -+ } - 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 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 ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - Handle 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()); - Intl::AddElement(isolate, result, index, field_type_string, substring); - ++index; -@@ -1421,14 +1423,14 @@ MaybeHandle JSNumberFormat::FormatToParts( - number_format->icu_number_formatter().raw(); - CHECK_NOT_NULL(fmt); - -- icu::FieldPositionIterator fp_iter; -- Maybe maybe_format = -- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); -+ icu::number::FormattedNumber formatted; -+ Maybe maybe_format = -+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); - MAYBE_RETURN(maybe_format, Handle()); - - Handle result = factory->NewJSArray(0); - Maybe 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()); - diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec index b48dd56..cbb223f 100644 --- a/qt5-qtwebengine.spec +++ b/qt5-qtwebengine.spec @@ -7,17 +7,13 @@ Summary: The Qt5 WebEngine library Summary(pl.UTF-8): Biblioteka Qt5 WebEngine Name: qt5-%{orgname} -Version: 5.15.0 -Release: 6 +Version: 5.15.1 +Release: 1 License: LGPL v3 or GPL v2+ or commercial Group: X11/Libraries Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz -# Source0-md5: 738478b9409f8615ca0f63738b73bbae +# Source0-md5: e37c44664e8a55471b92b07695f7f7db Patch0: x32.patch -Patch1: webauthn.patch -Patch2: bison-3.7.patch -Patch3: binutils-2.35.patch -Patch4: icu67.patch URL: http://www.qt.io/ BuildRequires: Mesa-khrplatform-devel BuildRequires: Qt5Core-devel >= %{version} @@ -59,6 +55,7 @@ BuildRequires: libxml2-devel BuildRequires: libxslt-devel BuildRequires: minizip-devel BuildRequires: ninja +BuildRequires: nodejs BuildRequires: nss-devel >= 3.26 BuildRequires: opus-devel >= 1.3.1 BuildRequires: pkgconfig @@ -227,11 +224,6 @@ Biblioteka Qt5 Pdf - pliki programistyczne. %ifarch x32 %patch0 -p1 %endif -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -cd ./src/3rdparty/chromium -%patch4 -p2 %build %ifarch x32 @@ -240,7 +232,10 @@ export V8_TARGET_ARCH="x32" qmake-qt5 -- \ -webengine-ffmpeg \ -webengine-icu \ - -webengine-proprietary-codecs + -webengine-opus \ + -webengine-proprietary-codecs \ + -webengine-webp \ + -webengine-webrtc %{?__jobs:NINJAJOBS="-j %__jobs"} \ %{__make} %{?with_doc:%{__make} docs} diff --git a/webauthn.patch b/webauthn.patch deleted file mode 100644 index 3d597ba..0000000 --- a/webauthn.patch +++ /dev/null @@ -1,137 +0,0 @@ -From d61a4348c475ab6867334ef3ab4b5709cae15bb2 Mon Sep 17 00:00:00 2001 -From: Tamas Zakor -Date: Wed, 15 Jul 2020 15:58:44 +0200 -Subject: [PATCH] Fix WebAuth build - -- Enable typemaps.gni for WebAuth. -- Workaround a gcc 6 compiler error when flat_map is uncopyable. -- Also fix the build with gcc 6 and gcc 7. - -Task-number: QTBUG-54720 -Task-number: QTBUG-85117 -Change-Id: If73ce3fccdb7fc3dc2cddd39bba998f51956e45a -Reviewed-by: Allan Sandfeld Jensen ---- - chromium/base/containers/flat_map.h | 6 ++++++ - chromium/device/fido/bio/enrollment.cc | 4 ++-- - chromium/device/fido/cable/fido_cable_discovery.cc | 2 +- - .../mojo/public/tools/bindings/chromium_bindings_configuration.gni | 2 +- - 4 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/chromium/base/containers/flat_map.h b/chromium/base/containers/flat_map.h -index 41682d5958d..8fbf554b38f 100644 ---- a/src/3rdparty/hromium/base/containers/flat_map.h -+++ b/src/3rdparty/chromium/base/containers/flat_map.h -@@ -240,6 +240,12 @@ class flat_map : public ::base::internal::flat_tree< - friend void swap(flat_map& lhs, flat_map& rhs) noexcept { lhs.swap(rhs); } - }; - -+ -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#endif -+ - // ---------------------------------------------------------------------------- - // Lifetime. - -diff --git a/chromium/device/fido/bio/enrollment.cc b/chromium/device/fido/bio/enrollment.cc -index 981c4397ca2..a1749e35d06 100644 ---- a/src/3rdparty/chromium/device/fido/bio/enrollment.cc -+++ b/src/3rdparty/chromium/device/fido/bio/enrollment.cc -@@ -131,7 +131,7 @@ base::Optional BioEnrollmentResponse::Parse( - BioEnrollmentResponse response; - - if (!cbor_response || !cbor_response->is_map()) { -- return response; -+ return base::make_optional(std::move(response)); - } - - const auto& response_map = cbor_response->GetMap(); -@@ -252,7 +252,7 @@ base::Optional BioEnrollmentResponse::Parse( - response.template_infos = std::move(template_infos); - } - -- return std::move(response); -+ return base::make_optional(std::move(response)); - } - - BioEnrollmentResponse::BioEnrollmentResponse() = default; -diff --git a/chromium/device/fido/cable/fido_cable_discovery.cc b/chromium/device/fido/cable/fido_cable_discovery.cc -index aa130900be2..ac8a4b4b099 100644 ---- a/src/3rdparty/chromium/device/fido/cable/fido_cable_discovery.cc -+++ b/src/3rdparty/chromium/device/fido/cable/fido_cable_discovery.cc -@@ -348,7 +348,7 @@ FidoCableDiscovery::CreateHandshakeHandler( - return base::nullopt; - } - -- return handler; -+ return base::make_optional >(std::move(handler)); - } - - void FidoCableDiscovery::DeviceAdded(BluetoothAdapter* adapter, -diff --git a/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni b/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni -index 1ad43c69c92..35840baac15 100644 ---- a/src/3rdparty/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni -+++ b/src/3rdparty/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni -@@ -18,7 +18,7 @@ _typemap_imports = [ - "//components/chromeos_camera/common/typemaps.gni", - "//components/sync/mojom/typemaps.gni", - "//components/typemaps.gni", --# "//content/browser/typemaps.gni", -+ "//content/browser/typemaps.gni", - "//content/common/typemaps.gni", - "//content/public/common/typemaps.gni", - "//device/bluetooth/public/mojom/typemaps.gni", --- -2.16.3 - -From 904330c3a39a29ef078c9c1ddc2a1d1580fa2c32 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen -Date: Tue, 21 Jul 2020 09:11:30 +0200 -Subject: [PATCH] Do not turn web auth off - -Submodule src/3rdparty 0a4240a9..4a996760: - > Fix building FIDO with gcc5 - > [Backport] CVE-2020-6512: Type Confusion in V8 (3/3) - -Fixes: QTBUG-85117 -Task-number: QTBUG-54720 -Change-Id: I074831454b469c17a71f2ca75a075ee48157970d -Reviewed-by: Tamas Zakor -Reviewed-by: Michal Klocek ---- - src/3rdparty | 2 +- - src/buildtools/config/common.pri | 2 +- - src/core/web_engine_context.cpp | 2 -- - 3 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri -index 8aeeb38945..ddcd225cc9 100644 ---- a/src/buildtools/config/common.pri -+++ b/src/buildtools/config/common.pri -@@ -17,7 +17,7 @@ gn_args += \ - enable_resource_whitelist_generation=false \ - enable_swiftshader=false \ - angle_enable_swiftshader=false \ -- enable_web_auth=false \ -+ enable_web_auth=true \ - enable_web_speech=false \ - enable_widevine=true \ - has_native_accessibility=false \ -diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp -index 01d55a5a1c..11365de625 100644 ---- a/src/core/web_engine_context.cpp -+++ b/src/core/web_engine_context.cpp -@@ -649,8 +649,6 @@ WebEngineContext::WebEngineContext() - // Explicitly tell Chromium about default-on features we do not support - appendToFeatureList(disableFeatures, features::kBackgroundFetch.name); - appendToFeatureList(disableFeatures, features::kSmsReceiver.name); -- appendToFeatureList(disableFeatures, features::kWebAuth.name); -- appendToFeatureList(disableFeatures, features::kWebAuthCable.name); - appendToFeatureList(disableFeatures, features::kWebPayments.name); - appendToFeatureList(disableFeatures, features::kWebUsb.name); - appendToFeatureList(disableFeatures, media::kPictureInPicture.name); --- -2.16.3 - -- 2.44.0