Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nodejs-electron for openSUSE:Factory
checked in at 2024-04-21 20:26:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.26366 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Sun Apr 21 20:26:07 2024 rev:113 rq:1169279 version:29.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes
2024-04-12 17:39:36.166398151 +0200
+++
/work/SRC/openSUSE:Factory/.nodejs-electron.new.26366/nodejs-electron.changes
2024-04-21 20:27:11.733733097 +0200
@@ -1,0 +2,64 @@
+Fri Apr 19 20:11:24 UTC 2024 - Bruno Pitrus <[email protected]>
+
+- Update to electron 29.3.1
+ * ABI break: NODE_MODULE_VERSION is now 121
+ * Chromium 122.0.6261.156
+ * Node 20.9.0
+ * V8 12.2
+ * The deprecated gpu-process-crashed event on app has been removed.
+ * The deprecated renderer-process-crashed event on app and crashed
+ event on WebContents and <webview> have been removed.
+ * Added WebContentsView and BaseWindow, replacing the now-deprecated
BrowserView APIs.
+ * Added new webUtils.getPathForFile method to replace File.path
augmentation.
+ * see https://www.electronjs.org/blog/electron-29-0 and
https://github.com/electron/electron/releases/tag/v29.0.0 for more
+ * Security fixes for Angle (CVE-2024-3516) and Compositing (CVE-2024-3157)
+- Drop upstreamed patches
+ * atspi.patch
+ * chromium-117-blink-BUILD-mnemonic.patch
+ *
local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
+ * node-upgrade-llhttp-to-8.patch
+ * policy_templates-deterministic.patch
+ * v8-hide-private-symbols.patch
+ * web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
+- Add patches to fix build errors
+ * aarch64-Xclang.patch
+ * absl2023-encapsulated_web_transport-StrCat.patch
+ * boringssl-internal-addc-cxx.patch
+ * chromium-122-avoid-SFINAE-TypeConverter.patch
+ * chromium-122-BookmarkNode-missing-operator.patch
+ * distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
+ * distributed_point_functions-evaluate_prg_hwy-signature.patch
+ * fake_ssl_socket_client-Wlto-type-mismatch.patch
+ * grid_sizing_tree-Wchanges-meaning.patch
+ * hit_test_request-missing-optional.patch
+ * InternalAllocator-too-many-initializers.patch
+ * mt21_util-flax-vector-conversions.patch
+ * plus_address_types-missing-optional.patch
+ * race_network_request_write_buffer_manager-missing-optional.patch
+ * resolution_monitor-missing-bitset.patch
+ * script_promise_resolver-explicit-specialization.patch
+ * search_engine_choice_service-missing-optional.patch
+ * system-yuv.patch
+- Replace abseil-remove-unused-targets.patch with
chromium-122-abseil-shims.patch
+- Remove dead code from third_party/
+ * aom-vpx-no-thread-wrapper.patch
+ * remove-dawn.patch
+ * remove-openscreen.patch
+ * remove-password-manager-and-policy.patch
+ * remove-puffin.patch
+ * remove-rust.patch
+ * remove AFL-2.0, BSD-Protection and IJG from licence list,
+ because the relevant libraries (xdg-mime, bsdiff and iccjpeg)
+ are no longer shipped.
+- Leap, Fedora: use bundled re2
+ * drop replace-StringPiece-with-string_view.patch
+- Fedora 38: use bundled abseil
+ * drop pending_task_safety_flag-abseil-2022-nullability.patch
+ * drop thread_annotations-fix-build-with-system-abseil.patch
+- Leap 15.5: Reverse upstream changes to build with old wayland
+ * wayland-proto-31-cursor-shape.patch
+- Leap 15.5/6: Reverse upstream changes to build with old ffmpeg
+ * Cr122-ffmpeg-new-channel-layout.patch
+- aarch64: reduce debuginfo due to linker OOM
+
+-------------------------------------------------------------------
Old:
----
abseil-remove-unused-targets.patch
atspi.patch
chromium-117-blink-BUILD-mnemonic.patch
electron-28.3.0.tar.zst
local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
node-upgrade-llhttp-to-8.patch
pending_task_safety_flag-abseil-2022-nullability.patch
policy_templates-deterministic.patch
replace-StringPiece-with-string_view.patch
thread_annotations-fix-build-with-system-abseil.patch
v8-hide-private-symbols.patch
web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
New:
----
Cr122-ffmpeg-new-channel-layout.patch
InternalAllocator-too-many-initializers.patch
aarch64-Xclang.patch
absl2023-encapsulated_web_transport-StrCat.patch
aom-vpx-no-thread-wrapper.patch
boringssl-internal-addc-cxx.patch
chromium-122-BookmarkNode-missing-operator.patch
chromium-122-abseil-shims.patch
chromium-122-avoid-SFINAE-TypeConverter.patch
distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
distributed_point_functions-evaluate_prg_hwy-signature.patch
electron-29.3.1.tar.zst
fake_ssl_socket_client-Wlto-type-mismatch.patch
grid_sizing_tree-Wchanges-meaning.patch
hit_test_request-missing-optional.patch
mt21_util-flax-vector-conversions.patch
plus_address_types-missing-optional.patch
race_network_request_write_buffer_manager-missing-optional.patch
remove-dawn.patch
remove-openscreen.patch
remove-password-manager-and-policy.patch
remove-puffin.patch
remove-rust.patch
resolution_monitor-missing-bitset.patch
script_promise_resolver-explicit-specialization.patch
search_engine_choice_service-missing-optional.patch
system-yuv.patch
wayland-proto-31-cursor-shape.patch
BETA DEBUG BEGIN:
Old: * system-yuv.patch
- Replace abseil-remove-unused-targets.patch with
chromium-122-abseil-shims.patch
- Remove dead code from third_party/
Old:- Drop upstreamed patches
* atspi.patch
* chromium-117-blink-BUILD-mnemonic.patch
Old: * atspi.patch
* chromium-117-blink-BUILD-mnemonic.patch
*
local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
Old: * chromium-117-blink-BUILD-mnemonic.patch
*
local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
* node-upgrade-llhttp-to-8.patch
Old: *
local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
* node-upgrade-llhttp-to-8.patch
* policy_templates-deterministic.patch
Old:- Fedora 38: use bundled abseil
* drop pending_task_safety_flag-abseil-2022-nullability.patch
* drop thread_annotations-fix-build-with-system-abseil.patch
Old: * node-upgrade-llhttp-to-8.patch
* policy_templates-deterministic.patch
* v8-hide-private-symbols.patch
Old:- Leap, Fedora: use bundled re2
* drop replace-StringPiece-with-string_view.patch
- Fedora 38: use bundled abseil
Old: * drop pending_task_safety_flag-abseil-2022-nullability.patch
* drop thread_annotations-fix-build-with-system-abseil.patch
- Leap 15.5: Reverse upstream changes to build with old wayland
Old: * policy_templates-deterministic.patch
* v8-hide-private-symbols.patch
* web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
Old: * v8-hide-private-symbols.patch
* web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
- Add patches to fix build errors
BETA DEBUG END:
BETA DEBUG BEGIN:
New:- Leap 15.5/6: Reverse upstream changes to build with old ffmpeg
* Cr122-ffmpeg-new-channel-layout.patch
- aarch64: reduce debuginfo due to linker OOM
New: * hit_test_request-missing-optional.patch
* InternalAllocator-too-many-initializers.patch
* mt21_util-flax-vector-conversions.patch
New:- Add patches to fix build errors
* aarch64-Xclang.patch
* absl2023-encapsulated_web_transport-StrCat.patch
New: * aarch64-Xclang.patch
* absl2023-encapsulated_web_transport-StrCat.patch
* boringssl-internal-addc-cxx.patch
New:- Remove dead code from third_party/
* aom-vpx-no-thread-wrapper.patch
* remove-dawn.patch
New: * absl2023-encapsulated_web_transport-StrCat.patch
* boringssl-internal-addc-cxx.patch
* chromium-122-avoid-SFINAE-TypeConverter.patch
New: * chromium-122-avoid-SFINAE-TypeConverter.patch
* chromium-122-BookmarkNode-missing-operator.patch
* distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
New: * system-yuv.patch
- Replace abseil-remove-unused-targets.patch with
chromium-122-abseil-shims.patch
- Remove dead code from third_party/
New: * boringssl-internal-addc-cxx.patch
* chromium-122-avoid-SFINAE-TypeConverter.patch
* chromium-122-BookmarkNode-missing-operator.patch
New: * chromium-122-BookmarkNode-missing-operator.patch
* distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
* distributed_point_functions-evaluate_prg_hwy-signature.patch
New: *
distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
* distributed_point_functions-evaluate_prg_hwy-signature.patch
* fake_ssl_socket_client-Wlto-type-mismatch.patch
New: * distributed_point_functions-evaluate_prg_hwy-signature.patch
* fake_ssl_socket_client-Wlto-type-mismatch.patch
* grid_sizing_tree-Wchanges-meaning.patch
New: * fake_ssl_socket_client-Wlto-type-mismatch.patch
* grid_sizing_tree-Wchanges-meaning.patch
* hit_test_request-missing-optional.patch
New: * grid_sizing_tree-Wchanges-meaning.patch
* hit_test_request-missing-optional.patch
* InternalAllocator-too-many-initializers.patch
New: * InternalAllocator-too-many-initializers.patch
* mt21_util-flax-vector-conversions.patch
* plus_address_types-missing-optional.patch
New: * mt21_util-flax-vector-conversions.patch
* plus_address_types-missing-optional.patch
* race_network_request_write_buffer_manager-missing-optional.patch
New: * plus_address_types-missing-optional.patch
* race_network_request_write_buffer_manager-missing-optional.patch
* resolution_monitor-missing-bitset.patch
New: * aom-vpx-no-thread-wrapper.patch
* remove-dawn.patch
* remove-openscreen.patch
New: * remove-dawn.patch
* remove-openscreen.patch
* remove-password-manager-and-policy.patch
New: * remove-openscreen.patch
* remove-password-manager-and-policy.patch
* remove-puffin.patch
New: * remove-password-manager-and-policy.patch
* remove-puffin.patch
* remove-rust.patch
New: * remove-puffin.patch
* remove-rust.patch
* remove AFL-2.0, BSD-Protection and IJG from licence list,
New: * race_network_request_write_buffer_manager-missing-optional.patch
* resolution_monitor-missing-bitset.patch
* script_promise_resolver-explicit-specialization.patch
New: * resolution_monitor-missing-bitset.patch
* script_promise_resolver-explicit-specialization.patch
* search_engine_choice_service-missing-optional.patch
New: * script_promise_resolver-explicit-specialization.patch
* search_engine_choice_service-missing-optional.patch
* system-yuv.patch
New: * search_engine_choice_service-missing-optional.patch
* system-yuv.patch
- Replace abseil-remove-unused-targets.patch with
chromium-122-abseil-shims.patch
New:- Leap 15.5: Reverse upstream changes to build with old wayland
* wayland-proto-31-cursor-shape.patch
- Leap 15.5/6: Reverse upstream changes to build with old ffmpeg
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.486090938 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.486090938 +0200
@@ -22,7 +22,7 @@
%define mod_name electron
# https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
-%define abi_version 119
+%define abi_version 121
# Do not provide libEGL.so, etcâ¦
%define __provides_exclude ^lib.*\\.so.*$
@@ -54,10 +54,24 @@
#the QT ui is currently borderline unusable (too small fonts in menu and wrong
colors)
%bcond_with qt
-%bcond_with vaapi
+%ifarch aarch64 riscv64
+#Video acceleration API to support. Useful for e.g. signal messenger.
+#One cannot enable both, unfortunately.
+#Apparently more arm hardware supports v4l2 than vaapi,
+#but that code does not build on armv{6,7}hl due to too high cpu requirements.
+#bcond_without v4l2
+#bcond_with vaapi
+%else
+#bcond_with v4l2
+#bcond_without vaapi
+%endif
+
+#DISABLING THIS â cannot use video acceleration with system aom/vpx
+%bcond_with v4l2
+%bcond_with vaapi
@@ -74,11 +88,6 @@
%endif
-%bcond_without system_nghttp2
-%bcond_without system_crc32c
-%bcond_without system_dav1d
-%bcond_without system_highway
-%bcond_without system_nvctrl
%if 0%{?suse_version} || 0%{?fedora} < 40
%bcond_without system_minizip
@@ -97,11 +106,13 @@
%bcond_without system_spirv
%bcond_without harfbuzz_5
%bcond_without link_vulkan
+%bcond_without wayland_32
%else
%bcond_with system_aom
%bcond_with system_spirv
%bcond_with harfbuzz_5
%bcond_with link_vulkan
+%bcond_with wayland_32
%endif
@@ -121,20 +132,20 @@
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >=
39
%bcond_without bro_11
+%bcond_without ffmpeg_6
%else
%bcond_with bro_11
+%bcond_with ffmpeg_6
%endif
%if 0%{?fedora}
%bcond_without system_llhttp
-%bcond_without llhttp_8
%bcond_without system_histogram
%bcond_without system_simdutf
%else
%bcond_with system_llhttp
-%bcond_with llhttp_8
%bcond_with system_histogram
%bcond_with system_simdutf
%endif
@@ -146,27 +157,22 @@
%bcond_with system_vma
%endif
+
#requires `imageSequenceTrackPresent` and `enableParsingGainMapMetadata` both
of which are only in post-1.0.0 nightlies
%bcond_with system_avif
# Some chromium code assumes absl::string_view is a typedef for
std::string_view. This is not true on GCC7 systems such as Leap.
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >=
37
-%bcond_without system_abseil
-
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >=
39
-%bcond_without abseil_2023
+%bcond_without system_abseil
%else
-%bcond_with abseil_2023
+%bcond_with system_abseil
%endif
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700
-%bcond_without re2_11
-%else
-%bcond_with re2_11
-%endif
-
+#re2-11 has abseil as a public dependency. If you use system re2 you must use
system abseil.
+%bcond_without system_re2
%else
-%bcond_with system_abseil
+%bcond_with system_re2
%endif
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora}
@@ -201,10 +207,10 @@
Name: nodejs-electron
-Version: 28.3.0
+Version: 29.3.1
Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and
CSS
-License: AFL-2.0 AND Apache-2.0 AND blessing AND BSD-2-Clause AND
BSD-3-Clause AND BSD-Protection AND BSD-Source-Code AND bzip2-1.0.6 AND IJG AND
ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND
MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND
MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND
X11%{!?with_system_minizip: AND Zlib}
+License: Apache-2.0 AND blessing AND BSD-2-Clause AND BSD-3-Clause AND
BSD-Source-Code AND bzip2-1.0.6 AND ISC AND LGPL-2.0-or-later AND
LGPL-2.1-or-later AND MIT AND MIT-CMU AND MIT-open-group AND (MPL-1.1 OR
GPL-2.0-or-later OR LGPL-2.1-or-later) AND MPL-2.0 AND OpenSSL AND SGI-B-2.0
AND SUSE-Public-Domain AND X11%{!?with_system_minizip: AND Zlib}
Group: Development/Languages/NodeJS
URL: https://github.com/electron/electron
Source0: %{mod_name}-%{version}.tar.zst
@@ -216,16 +222,15 @@
# Reverse upstream changes to be able to build against ffmpeg-4
Source400: ffmpeg-new-channel-layout.patch
Source401: audio_file_reader-ffmpeg-AVFrame-duration.patch
+Source402: Cr122-ffmpeg-new-channel-layout.patch
# and against harfbuzz 4
Source415: harfbuzz-replace-chromium-scoped-type.patch
Source416: harfbuzz-replace-HbScopedPointer.patch
# and icu 71
Source417: v8-icu73-alt_calendar.patch
Source418: v8-icu73-simple-case-folding.patch
-# and re2 10
-Source430: replace-StringPiece-with-string_view.patch
-# and abseil 2022
-Source440: pending_task_safety_flag-abseil-2022-nullability.patch
+# and wayland 1.31
+Source450: wayland-proto-31-cursor-shape.patch
# PATCHES for openSUSE-specific things
@@ -252,10 +257,16 @@
Patch76: disable-devtools-tests.patch
Patch77: angle_link_glx.patch
Patch78: rdynamic.patch
-Patch79: v8-hide-private-symbols.patch
Patch80: icon.patch
Patch81: disable-tests.patch
Patch82: node-compiler.patch
+Patch83: remove-rust.patch
+Patch84: aarch64-Xclang.patch
+Patch85: remove-dawn.patch
+Patch86: aom-vpx-no-thread-wrapper.patch
+Patch87: remove-openscreen.patch
+Patch88: remove-password-manager-and-policy.patch
+Patch89: remove-puffin.patch
# PATCHES to use system libs
Patch1000: do-not-build-libvulkan.so.patch
@@ -268,7 +279,6 @@
Patch1047: cares_public_headers.patch
Patch1048: chromium-remove-bundled-roboto-font.patch
Patch1053: swiftshader-use-system-llvm.patch
-Patch1054: thread_annotations-fix-build-with-system-abseil.patch
Patch1063: system-libbsd.patch
Patch1065: base-system-nspr.patch
Patch1066: system-gtest.patch
@@ -283,6 +293,8 @@
Patch1077: system-wayland.patch
Patch1078: system-simdutf.patch
Patch1079: system-libm.patch
+Patch1080: system-yuv.patch
+Patch1081: chromium-122-abseil-shims.patch
# PATCHES to fix interaction with third-party software
@@ -305,18 +317,10 @@
Patch2029: electron-16-webpack-fix-openssl-3.patch
Patch2031: partition_alloc-no-lto.patch
Patch2032: seccomp_bpf-no-lto.patch
-# adjust to llhttp 8 api changes
-%if %{with llhttp_8}
-Patch2033: node-upgrade-llhttp-to-8.patch
-%else
-Source2033: node-upgrade-llhttp-to-8.patch
-%endif
Patch2034: swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch
Patch2035: RenderFrameHostImpl-use-after-free.patch
-Patch2037: abseil-remove-unused-targets.patch
# https://github.com/electron/electron/pull/40032
Patch2040: build-without-extensions.patch
-Patch2041: chromium-117-blink-BUILD-mnemonic.patch
%if %{without bro_11}
Patch2042: brotli-remove-shared-dictionary.patch
%else
@@ -329,8 +333,7 @@
%else
Patch2047: bundled-minizip.patch
%endif
-#
https://sources.debian.org/patches/chromium/119.0.6045.199-1/fixes/atspi.patch/
-Patch2048: atspi.patch
+Patch2048: absl2023-encapsulated_web_transport-StrCat.patch
# PATCHES that should be submitted upstream verbatim or near-verbatim
Patch3016: chromium-98-EnumTable-crash.patch
@@ -346,24 +349,34 @@
Patch3096: remove-date-reproducible-builds.patch
Patch3118: material_color_utilities-tones-missing-round.patch
Patch3126: perfetto-numeric_storage-double_t.patch
-Patch3127: policy_templates-deterministic.patch
Patch3129:
text_break_iterator-icu74-breakAllLineBreakClassTable-should-be-consistent.patch
-Patch3130:
web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
-Patch3131:
local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch
Patch3132: v8-instance-type-inl-constexpr-used-before-its-definition.patch
Patch3133: swiftshader-llvm18-LLVMReactor-getInt8PtrTy.patch
Patch3134: swiftshader-llvm18-LLVMJIT-Host.patch
Patch3135: swiftshader-llvm18-LLVMJIT-CodeGenOptLevel.patch
Patch3136: CVE-2024-30260-undici-clear-proxy-authorization.patch
Patch3137: CVE-2024-30261-undici-fetch-integrity.patch
+Patch3138:
distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
+Patch3139: chromium-122-avoid-SFINAE-TypeConverter.patch
+Patch3140: plus_address_types-missing-optional.patch
+Patch3141: chromium-122-BookmarkNode-missing-operator.patch
+Patch3142: search_engine_choice_service-missing-optional.patch
+Patch3143:
race_network_request_write_buffer_manager-missing-optional.patch
+Patch3144: mt21_util-flax-vector-conversions.patch
+Patch3145: script_promise_resolver-explicit-specialization.patch
+Patch3146: hit_test_request-missing-optional.patch
+Patch3147: grid_sizing_tree-Wchanges-meaning.patch
+Patch3148: resolution_monitor-missing-bitset.patch
+Patch3149: boringssl-internal-addc-cxx.patch
+Patch3150: InternalAllocator-too-many-initializers.patch
+Patch3151: distributed_point_functions-evaluate_prg_hwy-signature.patch
+Patch3152: fake_ssl_socket_client-Wlto-type-mismatch.patch
BuildRequires: brotli
%if %{with system_cares}
BuildRequires: c-ares-devel
%endif
-%if %{with system_crc32c}
BuildRequires: cmake(Crc32c)
-%endif
BuildRequires: double-conversion-devel
BuildRequires: desktop-file-utils
%if 0%{?fedora}
@@ -387,15 +400,9 @@
%endif
BuildRequires: libbsd-devel
BuildRequires: libpng-devel
-%if %{with system_nvctrl}
BuildRequires: libXNVCtrl-devel
-%endif
%if %{with system_llhttp}
-%if %{with llhttp_8}
BuildRequires: llhttp-devel >= 8
-%else
-BuildRequires: llhttp-devel < 8
-%endif
%endif
%if %{with swiftshader} && %{without subzero}
BuildRequires: llvm-devel >= 16
@@ -442,6 +449,7 @@
BuildRequires: wayland-devel >= 1.20
BuildRequires: zstd
%if %{with system_abseil}
+BuildRequires: pkgconfig(absl_absl_check)
BuildRequires: pkgconfig(absl_algorithm_container)
BuildRequires: pkgconfig(absl_any_invocable)
BuildRequires: pkgconfig(absl_base)
@@ -479,15 +487,11 @@
BuildRequires: pkgconfig(absl_type_traits)
BuildRequires: pkgconfig(absl_utility)
BuildRequires: pkgconfig(absl_variant)
-%if %{with abseil_2023}
BuildRequires: pkgconfig(absl_core_headers) >= 20230000
%endif
-%endif
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(cairo) >= 1.6
-%if %{with system_dav1d}
BuildRequires: pkgconfig(dav1d) >= 1
-%endif
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(dri)
BuildRequires: pkgconfig(expat)
@@ -512,6 +516,9 @@
%if 0%{?fedora}
Recommends: (ffmpeg-libs%{_isa} or libavcodec-freeworld%{_isa})
%endif
+%if %{with ffmpeg_6}
+BuildRequires: pkgconfig(libavcodec) >= 60
+%endif
%if %{with ffmpeg_5}
BuildRequires: pkgconfig(libavcodec) >= 59
BuildRequires: pkgconfig(libavformat) >= 59
@@ -543,12 +550,8 @@
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libevent)
-%if %{with system_highway}
BuildRequires: pkgconfig(libhwy) >= 1
-%endif
-%if %{with system_nghttp2}
BuildRequires: pkgconfig(libnghttp2)
-%endif
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(libpulse)
@@ -580,12 +583,8 @@
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
%endif
-BuildRequires: pkgconfig(re2)
-%if %{without system_abseil}
-#re2-11 has abseil as a public dependency. The headers collide with the
bundled ones, causing linker errors.
-BuildRequires: cmake(re2) < 11
-%endif
-%if %{with system_abseil} && %{with re2_11}
+%if %{with system_abseil} && %{with system_re2}
+#re2-11 has abseil as a public dependency. If you use system re2 you must use
system abseil.
BuildRequires: cmake(re2) >= 11
%endif
%if %{with system_spirv}
@@ -600,6 +599,9 @@
BuildRequires: pkgconfig(vulkan) >= 1.3
%endif
BuildRequires: pkgconfig(wayland-protocols)
+%if %{with wayland_32}
+BuildRequires: pkgconfig(wayland-protocols) >= 1.32
+%endif
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xshmfence)
BuildRequires: pkgconfig(zlib)
@@ -669,20 +671,18 @@
# Use stable path to source to make use of ccache
%autosetup -n src -p1
+
+
+
# Sanity check if macro corresponds to the actual ABI
test $(grep ^node_module_version electron/build/args/all.gn | sed 's/.* = //')
= %abi_version
%if %{without system_abseil}
-patch -R -p1 < %PATCH1054
patch -R -p1 < %PATCH1076
%endif
-%if %{with system_abseil} && %{with abseil_2023}
-patch -R -p1 < %PATCH1054
-%endif
-
-%if %{with system_abseil} && %{without abseil_2023}
-patch -R -p1 < %SOURCE440
+%if %{without ffmpeg_6}
+patch -R -p1 < %SOURCE402
%endif
%if %{with ffmpeg_5}
@@ -693,7 +693,6 @@
-
%if %{without harfbuzz_5}
patch -R -p1 < %SOURCE415
patch -R -p1 < %SOURCE416
@@ -704,14 +703,14 @@
patch -R -p1 < %SOURCE418
%endif
+%if %{without wayland_32}
+patch -R -p1 < %SOURCE450
+%endif
+
# This one depends on an ffmpeg nightly, reverting unconditionally.
patch -R -p1 < %SOURCE401
-%if %{without system_abseil} || (%{with system_abseil} && %{without re2_11})
-patch -R -p1 < %SOURCE430
-%endif
-
# Link system wayland-protocols-devel into where chrome expects them
mkdir -p third_party/wayland/src
mkdir -p third_party/wayland-protocols/kde/src
@@ -782,7 +781,6 @@
ARCH_FLAGS="$(echo $ARCH_FLAGS | sed -e 's/ -fexceptions / /g')"
%endif
-
# for wayland
export CXXFLAGS="${ARCH_FLAGS} -I/usr/include/wayland
-I/usr/include/libxkbcommon"
export CFLAGS="${CXXFLAGS}"
@@ -841,7 +839,7 @@
%ifarch %ix86 %arm
%limit_build -m 1200
%else
-%limit_build -m 3500
+%limit_build -m 4000
%endif
%ifarch aarch64
@@ -852,7 +850,7 @@
%if %{with lto}
%ifarch aarch64
-export LDFLAGS="$LDFLAGS -flto=auto --param ggc-min-expand=20 --param
ggc-min-heapsize=32768 --param lto-max-streaming-parallelism=1
-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+export LDFLAGS="$LDFLAGS -flto=3 --param ggc-min-expand=20 --param
ggc-min-heapsize=32768 --param lto-max-streaming-parallelism=1
-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%else
# x64 is fine with the the default settings (the machines have 30GB+ ram)
export LDFLAGS="$LDFLAGS -flto=auto"
@@ -861,6 +859,8 @@
gn_system_libraries=(
brotli
+ crc32c
+ dav1d
double-conversion
ffmpeg
flac
@@ -868,6 +868,7 @@
fontconfig
freetype
harfbuzz-ng
+ highway
icu
jsoncpp
libdrm
@@ -877,10 +878,10 @@
libsecret
libusb
libwebp
+ libXNVCtrl
libxml
libxslt
opus
- re2
snappy
woff2
zlib
@@ -892,6 +893,7 @@
absl_algorithm
absl_base
absl_cleanup
+ absl_crc
absl_container
absl_debugging
absl_flags
@@ -923,38 +925,25 @@
gn_system_libraries+=( libavif )
%endif
-%if %{with system_crc32c}
-find third_party/crc32c -type f ! -name "*.gn" -a ! -name "*.gni" -delete
-gn_system_libraries+=( crc32c )
-%endif
-
-%if %{with system_dav1d}
-find third_party/dav1d -type f ! -name "*.gn" -a ! -name "*.gni" -delete
-gn_system_libraries+=( dav1d )
-%endif
-
-%if %{with system_highway}
-find third_party/highway -type f ! -name "*.gn" -a ! -name "*.gni" -delete
-gn_system_libraries+=( highway )
-%endif
%if %{with system_minizip}
find third_party/zlib/contrib -type f ! -name "*.gn" -a ! -name "*.gni" -delete
%endif
-%if %{with system_nvctrl}
-find third_party/angle/src/third_party/libXNVCtrl/ -type f ! -name "*.gn" -a !
-name "*.gni" -delete
-gn_system_libraries+=( libXNVCtrl )
+%if %{with system_re2}
+find third_party/re2 -type f ! -name "*.gn" -a ! -name "*.gni" -delete
+gn_system_libraries+=( re2 )
%endif
+
%if %{with system_spirv}
-rm -rf third_party/swiftshader/third_party/SPIRV-Headers/include
+find third_party/swiftshader/third_party/SPIRV-Headers/ -type f ! -name
"*.gn" -a ! -name "*.gni" -delete
find third_party/swiftshader/third_party/SPIRV-Tools/ -type f ! -name "*.gn"
-a ! -name "*.gni" -delete
-rm -rf third_party/vulkan-deps/spirv-headers/src/include
+find third_party/vulkan-deps/spirv-headers/ -type f ! -name "*.gn" -a ! -name
"*.gni" -delete
find third_party/vulkan-deps/spirv-tools/ -type f ! -name "*.gn" -a ! -name
"*.gni" -delete
gn_system_libraries+=(
@@ -988,10 +977,6 @@
find third_party/angle/src/third_party/volk -type f ! -name "*.gn" -a ! -name
"*.gni" -delete
%endif
-%if %{with system_nghttp2}
-find third_party/electron_node/deps/nghttp2 -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
-%endif
-
%if %{with system_llhttp}
find third_party/electron_node/deps/llhttp -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
%endif
@@ -1089,6 +1074,7 @@
myconf_gn+=" enable_printing=false"
myconf_gn+=" enable_basic_printing=false"
myconf_gn+=' use_cups=false'
+myconf_gn+=' enable_print_content_analysis=false'
#we don't build PDF support, so disabling the below:
#myconf_gn+=" use_system_lcms2=true"
#myconf_gn+=" use_system_libopenjpeg2=true"
@@ -1097,6 +1083,8 @@
#do not build chrome pepper plugins support
myconf_gn+=" enable_plugins=false"
myconf_gn+=" enable_ppapi=false"
+#it is set by default to enable_ppapi but is required by
electron_api_web_frame.cc
+myconf_gn+=' content_enable_legacy_ipc=true'
#do not build webextensions support
myconf_gn+=' enable_electron_extensions=false'
@@ -1122,14 +1110,15 @@
myconf_gn+=" blink_symbol_level=0"
myconf_gn+=" v8_symbol_level=0"
%endif
-%ifarch aarch64 #âNo space left on deviceâ with symbol level 2
-myconf_gn+=" symbol_level=1"
-myconf_gn+=" blink_symbol_level=1"
-myconf_gn+=" v8_symbol_level=1"
+%ifarch aarch64
+# linker OOM, sorry.
+# we still seem to get some debug generated during linking when LTO is enabled
+myconf_gn+=' symbol_level=0'
+myconf_gn+=' blink_symbol_level=0'
+myconf_gn+=' v8_symbol_level=0'
%endif
-
# do not build some chrome features not used by electron
# (some of these only go to buildflag_headers and are dead code rn, but
disabling them preemptively as long as they're visible)
myconf_gn+=" enable_vr=false"
@@ -1168,21 +1157,22 @@
myconf_gn+=' enable_compose=false'
myconf_gn+=' enterprise_cloud_content_analysis=false'
myconf_gn+=' enterprise_local_content_analysis=false'
+myconf_gn+=' enterprise_data_controls=false'
myconf_gn+=' enterprise_client_certificates=false'
myconf_gn+=' enterprise_watermark=false'
myconf_gn+=' enterprise_content_analysis=false'
-
#FIXME: possibly enable this when skia gets built with rust code by default.
#Need to patch in optflags and possibly FFI LTO hacks (see signal-desktop
package for how it's done)
myconf_gn+=' enable_rust=false'
+myconf_gn+=' enable_chromium_prelude=false'
#See net/base/features.cc. It's not enabled yet.
#FIXME: enable this and add shims to build with system zstd when it's enabled
myconf_gn+=' disable_zstd_filter=true'
-myconf_gn+=' chrome_root_store_policy_supported=false'
+myconf_gn+=' chrome_certificate_policies_supported=false'
myconf_gn+=' use_kerberos=false'
myconf_gn+=' disable_histogram_support=true'
@@ -1197,7 +1187,6 @@
#disable some debug/tracing hooks, they increase size and we do not build
chrome://tracing anyway (see disable-catapult.patch)
myconf_gn+=" enable_trace_logging=false"
myconf_gn+=" optional_trace_events_enabled=false"
-myconf_gn+=" use_runtime_vlog=false"
myconf_gn+=" rtc_disable_logging=true"
myconf_gn+=" rtc_disable_metrics=true"
myconf_gn+=" rtc_disable_trace_events=true"
@@ -1223,13 +1212,15 @@
myconf_gn+=" use_lld=false"
%if %{with vaapi}
-myconf_gn+=' use_vaapi=true'
-myconf_gn+=' use_vaapi_x11=true'
-myconf_gn+=' use_libgav1_parser=true'
-%else
-myconf_gn+=' use_vaapi=false'
-myconf_gn+=' use_vaapi_x11=false'
-myconf_gn+=' use_libgav1_parser=false'
+myconf_gn+=' use_vaapi=true use_vaapi_image_codecs=true'
+%else
+myconf_gn+=' use_vaapi=false use_vaapi_image_codecs=false'
+%endif
+
+%if %{with v4l2}
+myconf_gn+=' use_v4l2_codec=true'
+%else
+myconf_gn+=' use_v4l2_codec=false'
%endif
myconf_gn+=" treat_warnings_as_errors=false"
@@ -1251,9 +1242,7 @@
myconf_gn+=" use_system_harfbuzz=true"
myconf_gn+=" use_system_freetype=true"
myconf_gn+=" use_system_cares=true"
-%if %{with system_nghttp2}
myconf_gn+=" use_system_nghttp2=true"
-%endif
%if %{with system_llhttp}
myconf_gn+=" use_system_llhttp=true"
%endif
@@ -1271,21 +1260,6 @@
# endif with lto
%endif
-%ifarch %arm
-# Bundled libaom is broken on ARMv7
-%if %{without system_aom}
-# [74796s] FAILED: v8_context_snapshot_generator
-# [74796s] python3 "../../build/toolchain/gcc_link_wrapper.py"
--output="./v8_context_snapshot_generator" -- g++ -Wl,--build-id=sha1 -fPIC
-Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -rdynamic -Wl,-z,defs
-Wl,--as-needed -pie -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN
-Wl,--as-needed -fuse-ld=lld -o "./v8_context_snapshot_generator"
-Wl,--start-group @"./v8_context_snapshot_generator.rsp" -Wl,--end-group
-latomic -ldl -lpthread -lrt -lgmodule-2.0 -lglib-2.0 -lgobject-2.0
-lgthread-2.0 -ljsoncpp -labsl_base -labsl_raw_logging_internal
-labsl_log_severity -labsl_spinlock_wait -labsl_cord -labsl_cordz_info
-labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased
-labsl_cordz_handle -labsl_synchronization -labsl_graphcycles_internal
-labsl_stacktrace -labsl_symbolize -labsl_debugging_internal
-labsl_demangle_internal -labsl_malloc_internal -labsl_time -labsl_civil_time
-labsl_time_zone -labsl_bad_optional_access -labsl_strings
-labsl_strings_internal -labsl_int128 -labsl
_throw_delegate -labsl_hash -labsl_city -labsl_bad_variant_access
-labsl_low_level_hash -labsl_raw_hash_set -labsl_hashtablez_sampler
-labsl_failure_signal_handler -labsl_examine_stack -labsl_random_distributions
-labsl_random_seed_sequences -labsl_random_internal_pool_urbg
-labsl_random_internal_randen -labsl_random_internal_randen_hwaes
-labsl_random_internal_randen_hwaes_impl -labsl_random_internal_randen_slow
-labsl_random_internal_platform -labsl_random_internal_seed_material
-labsl_random_seed_gen_exception -labsl_status -labsl_str_format_internal
-labsl_strerror -labsl_statusor -licui18n -licuuc -licudata -lsmime3 -lnss3
-lnssutil3 -lplds4 -lplc4 -lnspr4 -ldouble-conversion -levent -lz -ljpeg
-lpng16 -lxml2 -lxslt -lresolv -lgio-2.0 -lbrotlidec -lwebpdemux -lwebpmux
-lwebp -lfreetype -lexpat -lfontconfig -lharfbuzz-subset -lharfbuzz -lyuv
-lopus -lvpx -lm -ldav1d -lX11 -lXcomposite -lXdamage -lXext -lXfixes -lXrender
-lXrandr -lXtst -lpipewire-0.3 -lgbm -lEGL -ldrm -lcrc32c -
lbsd -lxcb -lxkbcommon -lwayland-client -ldbus-1 -lre2 -lpangocairo-1.0
-lpango-1.0 -lcairo -latk-1.0 -latk-bridge-2.0 -lasound -lpulse -lavcodec
-lavformat -lavutil -lXi -lpci -lxxhash -lXNVCtrl -lsnappy -lavif -ljxl
-lwoff2dec -latspi
-# [74796s] ld.lld: error: undefined symbol: aom_arm_cpu_caps
-# [74796s] >>> referenced by av1_rtcd.h:1079
(../../third_party/libaom/source/config/linux/arm/config/av1_rtcd.h:1079)
-# [74796s] >>> libaom/av1_rtcd.o:(setup_rtcd_internal) in
archive obj/third_party/libaom/libaom.a
-# [74796s] >>> referenced by aom_dsp_rtcd.h:3560
(../../third_party/libaom/source/config/linux/arm/config/aom_dsp_rtcd.h:3560)
-# [74796s] >>> libaom/aom_dsp_rtcd.o:(setup_rtcd_internal) in
archive obj/third_party/libaom/libaom.a
-# [74796s] >>> referenced by aom_scale_rtcd.h:162
(../../third_party/libaom/source/config/linux/arm/config/aom_scale_rtcd.h:162)
-# [74796s] >>> libaom/aom_scale_rtcd.o:(setup_rtcd_internal) in
archive obj/third_party/libaom/libaom.a
-myconf_gn+=" enable_libaom=false"
-%endif
-%endif
%if %{with pipewire}
myconf_gn+=" rtc_use_pipewire=true rtc_link_pipewire=true"
@@ -1298,6 +1272,7 @@
# Do not build WebGPU support. It is huge and not used by ANY known apps (we
would know if it was â it's hidden behind an experimental flag).
myconf_gn+=" use_dawn=false"
+myconf_gn+=' skia_use_dawn=false'
# The proprietary codecs just force the chromium to say they can use it and
# offload the actual computation to the ffmpeg, otherwise the chromium
++++++ Cr122-ffmpeg-new-channel-layout.patch ++++++
>From 84d1d7adcd1697348e3f821811179c525d3b5717 Mon Sep 17 00:00:00 2001
From: Dale Curtis <[email protected]>
Date: Tue, 28 Nov 2023 00:41:42 +0000
Subject: [PATCH] Roll src/third_party/ffmpeg/ c1d0dc413..866768f35 (492
commits)
https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/c1d0dc4135ec..866768f35c22
$ git log c1d0dc413..866768f35 --date=short --no-merges --format='%ad %ae %s'
2023-11-22 dalecurtis README.chromium file
2023-11-22 dalecurtis Chromium patches file
2023-11-22 dalecurtis GN Configuration
2023-11-21 dalecurtis Switch to remoteexec for robosushi
2023-11-12 mypopydev vulkan_decode: fix the print format of VkDeviceSize
2023-08-28 mypopydev avdevice/decklink_dec: add explicit specifier
2023-11-20 jamrial avcodec: bump version after EVC additions
2023-09-19 d.kozinski avcodec/evc_decoder: Provided support for EVC decoder
2023-09-19 d.kozinski avcodec/evc_encoder: Provided support for EVC encoder
2023-10-17 michael avcodec/h264dec: Support skipping frames that used gray gap
frames
2023-10-17 michael avcodec/h264: Avoid using gray gap frames as references
2023-10-17 michael avcodec/h264: keep track of which frames used gray references
2023-10-02 michael avcodec/h264dec: More elaborate documentation for
frame_recovered
2023-10-02 michael avcodec/h264: Use FRAME_RECOVERED_HEURISTIC instead of
IDR/SEI
2023-10-02 michael avcodec/h264: Seperate SEI and IDR recovery handling
2023-11-19 onemda avfilter/af_afir: remove flag that is not needed
2023-11-19 onemda avfilter/af_afir: no need to dynamically add outpad
2023-11-19 onemda avfilter/af_afir: refactor crossfade code
2023-11-19 onemda avfilter/af_afir: add timeline support
2023-11-16 remi riscv: set fast half-precision conversion
2023-11-19 onemda avfilter/af_afir: remove IR response video rendering support
2023-11-19 onemda doc/filters: add one more example for afir filter usage
2023-11-14 anton tools/general_assembly: update to conform to new rules
2023-11-14 anton tools/general_assembly: make the script executable
2023-11-18 onemda avfilter/avf_showvolume: improve step for vertical orientation
2023-11-18 onemda avfilter/avf_showvolume: draw channel names directly into
output frame
2023-11-15 remi lavc/llviddsp: R-V V add_bytes
2023-11-15 remi lavc/flacdsp: R-V V LPC16 function
2023-11-15 remi lavc/flacdsp: R-V V LPC32
2023-11-15 remi checkasm/flacdsp: add LPC test
2023-11-15 remi riscv: fix builds without Zbb support
2023-11-18 mypopydev lavfi/Makefile: fix vf_cropdetect missed edge_common
2023-11-10 ffmpeg-devel apply spelling fixes
2023-11-18 onemda avfilter/af_afir: add irnorm and irlink options
2023-11-14 remi lavc/flacdsp: R-V V decorrelate_indep 16-bit packed
2023-11-14 remi lavc/flacdsp: R-V V decorrelate_indep 32-bit packed
2023-11-13 remi lavc/flacdsp: R-V V decorrelate_ms packed
2023-08-16 remi lavc/flacdsp: R-V V packed decorrelate_{l,r}s
2023-11-13 remi checkasm/flacdsp: fix ls/rs/ms tests
2023-11-08 onemda avfilter/af_adynamicequalizer: add adaptive detection mode
2023-11-06 onemda avfilter/af_adynamicequalizer: do gain calculations in log
domain
2023-11-03 sunyuechi af_afir: RISC-V V fcmul_add
2023-11-12 remi lavc/llauddsp: R-V V scalarproduct_and_madd_int32
2023-11-12 remi lavc/llauddsp: R-V V scalarproduct_and_madd_int16
2023-11-12 remi checkasm: add lossless audio DSP
2023-11-15 jamrial x86/flacds: clear the high bits from pred_order in lpc_32
functions
2023-11-13 jianhui.j.dai-at-intel.com avcodec/cbs_vp8: Add support for VP8
codec bitstream
2023-11-13 jianhui.j.dai-at-intel.com avcodec/vp8: Export
`vp8_token_update_probs` variable
2023-11-12 remi lavc/huffyuvdsp: basic R-V V add_hfyu_left_pred_bgr32
2023-11-12 remi checkasm/huffyuvdsp: test for add_hfyu_left_pred_bgr32
(...)
2022-08-04 andreas.rheinhardt avcodec/cbs: Use RefStruct-API for unit content
2022-08-04 andreas.rheinhardt avcodec/refstruct: Allow checking for exclusive
ownership
2022-08-04 andreas.rheinhardt avcodec/dovi_rpu: Use RefStruct API for Vdr data
2022-08-04 andreas.rheinhardt avcodec/wavpack: Use RefStruct API for DSD context
2023-07-17 andreas.rheinhardt avcodec/vp8: Use RefStruct API for seg_map
2022-08-04 andreas.rheinhardt avcodec/hevc_ps: Use RefStruct API for parameter
sets
2022-08-04 andreas.rheinhardt avcodec/h264_ps: Use RefStruct API for SPS/PPS
2022-08-04 andreas.rheinhardt avcodec/get_buffer: Use RefStruct API for
FramePool
2022-08-04 andreas.rheinhardt avcodec/refstruct: Add simple API for refcounted
objects
2023-10-03 remi lavu/fixed_dsp: R-V V scalarproduct
2023-10-07 onemda avformat/wavdec: w64: do not error out for broken files if
data start is found
2023-10-06 onemda avcodec/mlpenc: rename some variables related to thd
2023-10-03 andreas.rheinhardt avcodec/mpegvideo: Move allocating new_picture to
the encoder
2023-07-17 jamrial fftools/ffplay: stop injecting stream side data in packets
2023-07-17 jamrial fftools/ffmpeg: stop injecting stream side data in packets
2023-07-17 jamrial avcodec/decode: propagate global side data to frames
2023-07-17 jamrial avcodec/hevcdec: check for DOVI configuration record in
AVCodecContext side data
2023-07-16 jamrial fftools/ffprobe: stop using AVStream.side_data
2023-07-16 jamrial fftools/ffplay: stop using AVStream.side_data
2023-07-16 jamrial fftools/ffmpeg: stop using AVStream.side_data
2023-09-26 jamrial avcodec/packet: add some documentation for AVPacketSideData
2023-07-16 jamrial avformat/avformat: use the side data from AVStream.codecpar
2023-07-16 jamrial avcodec/codec_par: add side data to AVCodecParameters
2023-07-16 jamrial avcodec/packet: add generic side data helpers
2023-10-06 andreas.rheinhardt avfilter/vulkan_filter: Remove unused label
2023-10-06 onemda avcodec/mlpdec: set extended_substream_info from header
2023-08-26 stefasab doc/encoders/libopus: clarify lowdelay and cutoff options
2023-08-26 stefasab doc/encoders/libxvid: fix references for me_quality option
2023-08-26 stefasab doc/encoders/libx264: clarify meaning of level option
2023-08-26 stefasab lavc: clarify meaning of avctx.level option
2023-10-03 leo.izen avcodec/jpegxl_parser: fix various memory issues
2023-10-03 leo.izen avcodec/jpegxl_parser: add some icc profile checks
2023-09-01 stefasab ffprobe: introduce section type, use for the compact output
2023-09-01 stefasab ffprobe: correct section name for side data piece
2023-08-31 stefasab ffprobe: factorize side data printing to dedicated function
2023-10-03 onemda avcodec/mlpenc: restructure code and resolve several bugs
2023-10-05 dev hwcontext_vulkan: properly support STORAGE usage for mutliplane
images
2023-09-30 ben vulkan_hevc: handle non-contiguous SPS/PPS/VPS ids
2023-10-03 ffmpeg-devel avcodec/svt-av1: Set force_key_frames only when
gop_size == 1
2023-10-03 andreas.rheinhardt avcodec/h261dec, mpeg12dec, vc1dec: Remove
setting write-only flags
2023-10-03 andreas.rheinhardt avcodec/rv10: Replace switch by LUT
2023-10-03 andreas.rheinhardt avcodec/rv10: Remove dead code
2023-10-02 andreas.rheinhardt avcodec/h263dec, mpeg4videodec: Parse extradata
during init
2023-10-01 andreas.rheinhardt avcodec/mpegvideo_dec: Always initialize
IDCTDSPContext during init
2023-10-01 andreas.rheinhardt avcodec/mpegvideo_dec: Don't zero context on init
failure
2023-10-01 andreas.rheinhardt avcodec/mpeg12dec: Don't initialize IDCT more
than once
2023-10-02 remi lavc/ac3: add R-V Zbb extract_exponents
2023-10-04 jamrial avcodec/hcadec: add a flush callback
2023-10-01 remi swscale/rgb2rgb: R-V V deinterleaveBytes
2023-10-01 remi swscale/rgb2rgb: fix extra iteration in R-V V interleave
Created with:
roll-dep src/third_party/ffmpeg
R=jrummell
Bug: 1504603
Change-Id: Ia40313bc2abcb0594543019bc8d1c22fbf7bde82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5055586
Reviewed-by: John Rummell <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1229653}
---
DEPS | 2 +-
media/ffmpeg/ffmpeg_common.cc | 169 +++++++++---------
.../filters/audio_video_metadata_extractor.cc | 17 +-
media/filters/ffmpeg_demuxer_unittest.cc | 4 +-
third_party/ffmpeg | 2 +-
5 files changed, 97 insertions(+), 97 deletions(-)
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
index 3c97e4a6cf4c7..a55e4ab51d5b3 100644
--- a/media/ffmpeg/ffmpeg_common.cc
+++ b/media/ffmpeg/ffmpeg_common.cc
@@ -653,15 +653,6 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
profile = ProfileIDToVideoCodecProfile(codec_context->profile);
}
- void* display_matrix =
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
-
- VideoTransformation video_transformation = VideoTransformation();
- if (display_matrix) {
- video_transformation = VideoTransformation::FromFFmpegDisplayMatrix(
- static_cast<int32_t*>(display_matrix));
- }
-
if (!color_space.IsSpecified()) {
// VP9 frames may have color information, but that information cannot
// express new color spaces, like HDR. For that reason, color space
@@ -718,91 +709,92 @@
codec_context->extradata +
codec_context->extradata_size);
}
- if (stream->nb_side_data) {
- for (int i = 0; i < stream->nb_side_data; ++i) {
- AVPacketSideData side_data = stream->side_data[i];
- switch (side_data.type) {
- case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: {
- AVMasteringDisplayMetadata* mdcv =
- reinterpret_cast<AVMasteringDisplayMetadata*>(side_data.data);
- gfx::HdrMetadataSmpteSt2086 smpte_st_2086;
- if (mdcv->has_primaries) {
- smpte_st_2086.primaries = {
- static_cast<float>(av_q2d(mdcv->display_primaries[0][0])),
- static_cast<float>(av_q2d(mdcv->display_primaries[0][1])),
- static_cast<float>(av_q2d(mdcv->display_primaries[1][0])),
- static_cast<float>(av_q2d(mdcv->display_primaries[1][1])),
- static_cast<float>(av_q2d(mdcv->display_primaries[2][0])),
- static_cast<float>(av_q2d(mdcv->display_primaries[2][1])),
- static_cast<float>(av_q2d(mdcv->white_point[0])),
- static_cast<float>(av_q2d(mdcv->white_point[1])),
- };
- }
- if (mdcv->has_luminance) {
- smpte_st_2086.luminance_max = av_q2d(mdcv->max_luminance);
- smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
- }
-
- // TODO(https://crbug.com/1446302): Consider rejecting metadata that
- // does not specify all values.
- if (mdcv->has_primaries || mdcv->has_luminance) {
- hdr_metadata.smpte_st_2086 = smpte_st_2086;
- }
- break;
+ VideoTransformation video_transformation = VideoTransformation();
+ for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
+ const auto& side_data = stream->codecpar->coded_side_data[i];
+ switch (side_data.type) {
+ case AV_PKT_DATA_DISPLAYMATRIX: {
+ CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
+ video_transformation = VideoTransformation::FromFFmpegDisplayMatrix(
+ reinterpret_cast<int32_t*>(side_data.data));
+ break;
+ }
+ case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: {
+ AVMasteringDisplayMetadata* mdcv =
+ reinterpret_cast<AVMasteringDisplayMetadata*>(side_data.data);
+ gfx::HdrMetadataSmpteSt2086 smpte_st_2086;
+ if (mdcv->has_primaries) {
+ smpte_st_2086.primaries = {
+ static_cast<float>(av_q2d(mdcv->display_primaries[0][0])),
+ static_cast<float>(av_q2d(mdcv->display_primaries[0][1])),
+ static_cast<float>(av_q2d(mdcv->display_primaries[1][0])),
+ static_cast<float>(av_q2d(mdcv->display_primaries[1][1])),
+ static_cast<float>(av_q2d(mdcv->display_primaries[2][0])),
+ static_cast<float>(av_q2d(mdcv->display_primaries[2][1])),
+ static_cast<float>(av_q2d(mdcv->white_point[0])),
+ static_cast<float>(av_q2d(mdcv->white_point[1])),
+ };
}
- case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: {
- AVContentLightMetadata* clli =
- reinterpret_cast<AVContentLightMetadata*>(side_data.data);
- hdr_metadata.cta_861_3 =
- gfx::HdrMetadataCta861_3(clli->MaxCLL, clli->MaxFALL);
- break;
+ if (mdcv->has_luminance) {
+ smpte_st_2086.luminance_max = av_q2d(mdcv->max_luminance);
+ smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
+ }
+
+ // TODO(https://crbug.com/1446302): Consider rejecting metadata that
+ // does not specify all values.
+ if (mdcv->has_primaries || mdcv->has_luminance) {
+ hdr_metadata.smpte_st_2086 = smpte_st_2086;
}
+ break;
+ }
+ case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: {
+ AVContentLightMetadata* clli =
+ reinterpret_cast<AVContentLightMetadata*>(side_data.data);
+ hdr_metadata.cta_861_3 =
+ gfx::HdrMetadataCta861_3(clli->MaxCLL, clli->MaxFALL);
+ break;
+ }
#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
- case AV_PKT_DATA_DOVI_CONF: {
- AVDOVIDecoderConfigurationRecord* dovi =
- reinterpret_cast<AVDOVIDecoderConfigurationRecord*>(
- side_data.data);
- VideoType type;
- type.codec = VideoCodec::kDolbyVision;
- type.level = dovi->dv_level;
- type.color_space = color_space;
- type.hdr_metadata_type = gfx::HdrMetadataType::kNone;
- switch (dovi->dv_profile) {
- case 0:
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
- break;
- case 4:
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE4;
- break;
- case 5:
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE5;
- break;
- case 7:
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE7;
- break;
- case 8:
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE8;
- break;
- case 9:
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE9;
- break;
- default:
- type.profile = VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
- break;
- }
- // Treat dolby vision contents as dolby vision codec only if the
- // device support clear DV decoding, otherwise use the original
- // HEVC or AVC codec and profile.
- if (media::IsSupportedVideoType(type)) {
- codec = type.codec;
- profile = type.profile;
- }
- break;
+ case AV_PKT_DATA_DOVI_CONF: {
+ AVDOVIDecoderConfigurationRecord* dovi =
+
reinterpret_cast<AVDOVIDecoderConfigurationRecord*>(side_data.data);
+ VideoType type;
+ type.codec = VideoCodec::kDolbyVision;
+ type.level = dovi->dv_level;
+ type.color_space = color_space;
+ type.hdr_metadata_type = gfx::HdrMetadataType::kNone;
+ switch (dovi->dv_profile) {
+ case 0:
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
+ break;
+ case 5:
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE5;
+ break;
+ case 7:
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE7;
+ break;
+ case 8:
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE8;
+ break;
+ case 9:
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE9;
+ break;
+ default:
+ type.profile = VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
+ break;
}
+ // Treat dolby vision contents as dolby vision codec only if the
+ // device support clear DV decoding, otherwise use the original
+ // HEVC or AVC codec and profile.
+ if (media::IsSupportedVideoType(type)) {
+ codec = type.codec;
+ profile = type.profile;
+ }
+ break;
+ }
#endif // BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
default:
break;
- }
}
}
diff --git a/media/filters/audio_video_metadata_extractor.cc
b/media/filters/audio_video_metadata_extractor.cc
index cb002490a6322..e841b4ad13383 100644
--- a/media/filters/audio_video_metadata_extractor.cc
+++ b/media/filters/audio_video_metadata_extractor.cc
@@ -113,13 +113,16 @@ bool AudioVideoMetadataExtractor::Extract(DataSource*
source,
if (!stream)
continue;
- void* display_matrix =
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
- if (display_matrix) {
- rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
- static_cast<int32_t*>(display_matrix))
- .rotation;
- info.tags["rotate"] = base::NumberToString(rotation_);
+ for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
+ const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
+ if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
+ CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
+ rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
+ reinterpret_cast<int32_t*>(sd.data))
+ .rotation;
+ info.tags["rotate"] = base::NumberToString(rotation_);
+ break;
+ }
}
// Extract dictionary from streams also. Needed for containers that attach
++++++ InternalAllocator-too-many-initializers.patch ++++++
>From ee6e6d3e45af1f7210e144a17f14fb21a7e86588 Mon Sep 17 00:00:00 2001
From: mikt <[email protected]>
Date: Tue, 30 Jan 2024 03:09:24 +0000
Subject: [PATCH] [PA] Fix InternalAllocator for GCC builds
Internal Allocator has a few missing member functions, that are required
as a part of named requirement Allocator.
https://en.cppreference.com/w/cpp/named_req/Allocator
It broke builds on GCC, so adding these to fix.
https://crrev.com/c/5196856/comments/0c4bbfd9_6433016b
Change-Id: Ifce5f3e47c94c7bb1e298ac4cd7d0d1e4c6de59c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5231905
Commit-Queue: Mikihito Matsuura <[email protected]>
Reviewed-by: Kalvin Lee <[email protected]>
Reviewed-by: Takashi Sakamoto <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1253709}
---
.../internal_allocator_forward.h | 21 +++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git
a/base/allocator/partition_allocator/src/partition_alloc/internal_allocator_forward.h
b/base/allocator/partition_allocator/src/partition_alloc/internal_allocator_forward.h
index 45fec29f8cc93..b31a145ff6e99 100644
---
a/base/allocator/partition_allocator/src/partition_alloc/internal_allocator_forward.h
+++
b/base/allocator/partition_allocator/src/partition_alloc/internal_allocator_forward.h
@@ -27,11 +27,24 @@ PartitionRoot& InternalAllocatorRoot();
template <typename T>
class InternalAllocator {
public:
- // Member types required by allocator completeness requirements.
using value_type = T;
- using size_type = std::size_t;
- using difference_type = std::ptrdiff_t;
- using propagate_on_container_move_assignment = std::true_type;
+ using is_always_equal = std::true_type;
+
+ InternalAllocator() = default;
+
+ template <typename U>
+ InternalAllocator(const InternalAllocator<U>&) {} // NOLINT
+
+ template <typename U>
+ InternalAllocator& operator=(const InternalAllocator<U>&) {
+ return *this;
+ }
+
+ template <typename U>
+ bool operator==(const InternalAllocator<U>&) {
+ // InternalAllocator<T> can free allocations made by InternalAllocator<U>.
+ return true;
+ }
value_type* allocate(std::size_t count);
++++++ RenderFrameHostImpl-use-after-free.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.586094607 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.590094754 +0200
@@ -1,24 +1,24 @@
--- src/content/browser/renderer_host/render_frame_host_impl.cc.orig
2023-02-08 21:38:09.974003318 +0100
+++ src/content/browser/renderer_host/render_frame_host_impl.cc
2023-02-13 14:13:50.217792624 +0100
@@ -5,6 +5,7 @@
-
- #include <cstdint>
+ #include <deque>
+ #include <limits>
#include <memory>
+#include <new>
+ #include <optional>
#include <tuple>
#include <unordered_map>
- #include <utility>
@@ -1876,7 +1877,12 @@
- // completes. Among other things, this ensures that any `SafeRef`s from
// `DocumentService` and `RenderFrameHostUserData` subclasses are still
valid
// when their destructors run.
+ document_associated_data_->RemoveAllServices();
- document_associated_data_.reset();
+ // HACK: Using .reset() here works on MSVC and LLVM libc++ because the
std::optional
+ // is still valid while the destructor runs. This does not work on GNU
libstdc++
+ // however which invalidates the optional before calling the destructor,
causing a crash.
+ // Upstream bug:
https://bugs.chromium.org/p/chromium/issues/detail?id=1415154
+ document_associated_data_->~DocumentAssociatedData();
-+ new(&document_associated_data_)
absl::optional<DocumentAssociatedData>(absl::nullopt);
++ new(&document_associated_data_)
std::optional<DocumentAssociatedData>(std::nullopt);
// If this was the last active frame in the SiteInstanceGroup, the
// DecrementActiveFrameCount call will trigger the deletion of the
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.606095340 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.606095340 +0200
@@ -10,7 +10,7 @@
<jobs>6</jobs>
</hardware>
<overwrite>
- <conditions>
+ <conditions>
<arch>aarch64</arch>
</conditions>
<hardware>
@@ -20,8 +20,9 @@
</hardware>
</overwrite>
<overwrite>
- <conditions>
+ <conditions>
<arch>x86_64</arch>
+ <arch>riscv64</arch>
</conditions>
<hardware>
<memory>
++++++ aarch64-Xclang.patch ++++++
--- src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig
+++ src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
@@ -292,12 +292,6 @@ if (is_clang_or_gcc) {
# but they're not backwards compatible. Use base::CPU::has_mte()
# beforehand to confirm or use indirect functions (ifuncs) to select
# an MTE-specific implementation at dynamic link-time.
- cflags = [
- "-Xclang",
- "-target-feature",
- "-Xclang",
- "+mte",
- ]
}
}
++++++ absl2023-encapsulated_web_transport-StrCat.patch ++++++
---
src/net/third_party/quiche/src/quiche/web_transport/encapsulated/encapsulated_web_transport.cc.old
2024-04-12 13:02:31.332129400 +0200
+++
src/net/third_party/quiche/src/quiche/web_transport/encapsulated/encapsulated_web_transport.cc
2024-04-12 23:25:18.357846900 +0200
@@ -524,7 +524,7 @@ void EncapsulatedSession::OnFatalError(a
void EncapsulatedSession::OnWriteError(absl::Status error) {
OnFatalError(absl::StrCat(
- error, " while trying to write encapsulated WebTransport data"));
+ error.ToString(absl::StatusToStringMode::kWithEverything), " while
trying to write encapsulated WebTransport data"));
}
EncapsulatedSession::InnerStream::InnerStream(EncapsulatedSession* session,
++++++ angle_link_glx.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.642096661 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.646096808 +0200
@@ -4,9 +4,9 @@
--- a/third_party/angle/BUILD.gn
+++ b/third_party/angle/BUILD.gn
@@ -138,6 +138,7 @@
- }
+ ]
- defines = [ angle_vma_version_define ]
+ defines = []
+ defines+= ["ANGLE_LINK_GLX"]
if (is_win) {
++++++ aom-vpx-no-thread-wrapper.patch ++++++
Remove this code which is disabled (media/base/media_switches.cc) and depends
on a private header
--- src/media/base/libaom_thread_wrapper.cc.old 2024-04-02 09:53:17.097624400
+0000
+++ src/media/base/libaom_thread_wrapper.cc 2024-04-08 17:15:53.578155000
+0000
@@ -5,16 +5,8 @@
#include "base/logging.h"
#include "media/base/codec_worker_impl.h"
#include "media/base/libvpx_thread_wrapper.h"
-#include "third_party/libaom/source/libaom/aom_util/aom_thread.h"
namespace media {
-void InitLibAomThreadWrapper() {
- const AVxWorkerInterface interface =
- CodecWorkerImpl<AVxWorkerInterface, AVxWorkerImpl, AVxWorker,
- AVxWorkerStatus, NOT_OK, OK,
- WORK>::GetCodecWorkerInterface();
- CHECK(aom_set_worker_interface(&interface));
-}
} // namespace media
--- src/media/base/libvpx_thread_wrapper.cc.old 2024-04-02 09:53:17.097624400
+0000
+++ src/media/base/libvpx_thread_wrapper.cc 2024-04-08 17:15:46.565471400
+0000
@@ -5,17 +5,8 @@
#include "media/base/libvpx_thread_wrapper.h"
#include "media/base/codec_worker_impl.h"
-#include "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h"
namespace media {
-void InitLibVpxThreadWrapper() {
- const VPxWorkerInterface interface =
- CodecWorkerImpl<VPxWorkerInterface, VPxWorkerImpl, VPxWorker,
- VPxWorkerStatus, NOT_OK, OK,
- WORK>::GetCodecWorkerInterface();
-
- CHECK(vpx_set_worker_interface(&interface));
-}
} // namespace media
--- src/media/base/media.cc.old 2024-04-02 09:53:17.097624400 +0000
+++ src/media/base/media.cc 2024-04-08 17:16:15.369345800 +0000
@@ -53,14 +53,8 @@ class MediaInitializer {
#endif // BUILDFLAG(ENABLE_FFMPEG)
#if BUILDFLAG(ENABLE_LIBVPX)
- if (base::FeatureList::IsEnabled(kLibvpxUseChromeThreads)) {
- InitLibVpxThreadWrapper();
- }
#endif // BUILDFLAG(ENABLE_LIBVPX)
#if BUILDFLAG(ENABLE_LIBAOM)
- if (base::FeatureList::IsEnabled(kLibaomUseChromeThreads)) {
- InitLibAomThreadWrapper();
- }
#endif // BUILDFLAG(ENABLE_LIBAOM)
}
++++++ boringssl-internal-addc-cxx.patch ++++++
--- webrtc-6261b/third_party/boringssl/src/crypto/internal.h.orig
2024-03-13 22:27:36.595241500 +0000
+++ webrtc-6261b/third_party/boringssl/src/crypto/internal.h 2024-03-14
19:45:48.047485200 +0000
@@ -1146,11 +1146,28 @@ static inline uint64_t CRYPTO_rotr_u64(u
// bit. |carry| must be zero or one.
#if OPENSSL_HAS_BUILTIN(__builtin_addc)
+#ifdef __cplusplus
+extern "C++" {
+static constexpr unsigned CRYPTO_GENERIC_ADDC(unsigned x, unsigned y,
+ unsigned carry, unsigned
*out_carry){
+ return __builtin_addc(x, y, carry, out_carry);
+}
+static constexpr unsigned long CRYPTO_GENERIC_ADDC(unsigned long x, unsigned
long y,
+ unsigned long carry, unsigned
long *out_carry){
+ return __builtin_addcl(x, y, carry, out_carry);
+}
+static constexpr unsigned long long CRYPTO_GENERIC_ADDC(unsigned long long x,
unsigned long long y,
+ unsigned long long carry,
unsigned long long *out_carry){
+ return __builtin_addcll(x, y, carry, out_carry);
+}
+}
+#else
#define CRYPTO_GENERIC_ADDC(x, y, carry, out_carry) \
(_Generic((x), \
unsigned: __builtin_addc, \
unsigned long: __builtin_addcl, \
unsigned long long: __builtin_addcll))((x), (y), (carry), (out_carry))
+#endif
static inline uint32_t CRYPTO_addc_u32(uint32_t x, uint32_t y, uint32_t carry,
uint32_t *out_carry) {
@@ -1198,11 +1215,28 @@ static inline uint64_t CRYPTO_addc_u64(u
// bit. |borrow| must be zero or one.
#if OPENSSL_HAS_BUILTIN(__builtin_subc)
+#ifdef __cplusplus
+extern "C++" {
+static constexpr unsigned CRYPTO_GENERIC_SUBC(unsigned x, unsigned y,
+ unsigned borrow, unsigned
*out_borrow){
+ return __builtin_subc(x, y, borrow, out_borrow);
+}
+static constexpr unsigned long CRYPTO_GENERIC_SUBC(unsigned long x, unsigned
long y,
+ unsigned long borrow, unsigned
long *out_borrow){
+ return __builtin_subcl(x, y, borrow, out_borrow);
+}
+static constexpr unsigned long long CRYPTO_GENERIC_SUBC(unsigned long long x,
unsigned long long y,
+ unsigned long long borrow,
unsigned long long *out_borrow){
+ return __builtin_subcll(x, y, borrow, out_borrow);
+}
+}
+#else
#define CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow) \
(_Generic((x), \
unsigned: __builtin_subc, \
unsigned long: __builtin_subcl, \
unsigned long long: __builtin_subcll))((x), (y), (borrow), (out_borrow))
+#endif
static inline uint32_t CRYPTO_subc_u32(uint32_t x, uint32_t y, uint32_t borrow,
uint32_t *out_borrow) {
++++++ brotli-remove-shared-dictionary.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.682098129 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.686098276 +0200
@@ -64,7 +64,8 @@
"CompressionDictionaryTransportBackend",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
-
- // When both this feature and the kCompressionDictionaryTransportBackend
feature
- // are enabled, the following will happen:
+ const base::FeatureParam<CompressionDictionaryTransportBackendVersion>::Option
+ kCompressionDictionaryTransportBackendVersionOptions[] = {
+ {CompressionDictionaryTransportBackendVersion::kV1, "v1"},
+
++++++ chromium-122-BookmarkNode-missing-operator.patch ++++++
commit 04866680f4f9a8475ae3795ad6ed59649ba478d7
Author: Jose Dapena Paz <[email protected]>
Date: Tue Jan 23 12:04:05 2024 +0000
libstdc++: fix static assertion in NodeUuidEquality
libstdc++ equality checks in static assertion that it is possible to
compare for equality base::Uuid to BookmarkNode*. This was a missing
operator in NodeUuidEquality that this changeset adds.
Bug: 957519
Change-Id: Icc9809cb43d321f0b3e3394ef27ab55672aec5e7
Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/5227686
Reviewed-by: Mikel Astiz <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1250753}
diff --git a/components/bookmarks/browser/uuid_index.h
b/components/bookmarks/browser/uuid_index.h
index 77cb1a1a54dd9..639d6fefcd831 100644
--- a/components/bookmarks/browser/uuid_index.h
+++ b/components/bookmarks/browser/uuid_index.h
@@ -23,6 +23,10 @@ class NodeUuidEquality {
bool operator()(const BookmarkNode* n1, const base::Uuid& uuid2) const {
return n1->uuid() == uuid2;
}
+
+ bool operator()(const base::Uuid& uuid1, const BookmarkNode* n2) const {
+ return uuid1 == n2->uuid();
+ }
};
// Used to hash BookmarkNode instances by UUID.
++++++ chromium-122-abseil-shims.patch ++++++
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_base.gn
src/build/linux/unbundle/absl_base.gn
--- src/build/linux/unbundle.old/absl_base.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_base.gn 2024-04-07 17:46:37.658214100
+0000
@@ -13,6 +13,14 @@ pkg_config("system_absl_core_headers") {
packages = [ "absl_core_headers" ]
}
+pkg_config("system_absl_nullability") {
+ packages = [ "absl_nullability" ]
+}
+
+pkg_config("system_absl_prefetch") {
+ packages = [ "absl_prefetch" ]
+}
+
shim_headers("base_shim") {
root_path = "."
prefix = "absl/base/"
@@ -60,8 +68,41 @@ source_set("core_headers") {
public_configs = [ ":system_absl_core_headers" ]
}
-source_set("config_test") {
+shim_headers("nullability_shim") {
+ root_path = "."
+ prefix = "absl/base/"
+ headers = [
+ "nullability.h",
+ ]
+}
+
+source_set("nullability") {
+ deps = [ ":nullability_shim" ]
+ public_configs = [ ":system_absl_nullability" ]
}
+shim_headers("prefetch_shim") {
+ root_path = "."
+ prefix = "absl/base/"
+ headers = [
+ "prefetch.h",
+ ]
+}
+
+source_set("prefetch") {
+ deps = [ ":prefetch_shim" ]
+ public_configs = [ ":system_absl_prefetch" ]
+}
+
+source_set("no_destructor") {
+ # Dummy â unavailable with abseil 202308 aand chromium 122 does not use it
+}
+
+source_set("config_test") {
+}
+source_set("no_destructor_test") {
+}
+source_set("nullability_test") {
+}
source_set("prefetch_test") {
}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_container.gn
src/build/linux/unbundle/absl_container.gn
--- src/build/linux/unbundle.old/absl_container.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_container.gn 2024-04-07 17:12:25.979311400
+0000
@@ -111,9 +111,19 @@ source_set("node_hash_set") {
source_set("common_policy_traits_test") {
}
+source_set("fixed_array_test") {
+}
+source_set("flat_hash_map_test") {
+}
+source_set("flat_hash_set_test") {
+}
source_set("inlined_vector_test") {
}
source_set("node_slot_policy_test") {
}
+source_set("raw_hash_set_allocator_test") {
+}
+source_set("raw_hash_set_test") {
+}
source_set("sample_element_size_test") {
}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_crc.gn
src/build/linux/unbundle/absl_crc.gn
--- src/build/linux/unbundle.old/absl_crc.gn 1970-01-01 00:00:00.000000000
+0000
+++ src/build/linux/unbundle/absl_crc.gn 2024-04-07 17:29:23.349823700
+0000
@@ -0,0 +1,4 @@
+source_set("crc32c_test") {}
+source_set("crc_cord_state_test") {}
+source_set("crc_memcpy_test") {}
+source_set("non_temporal_memcpy_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_debugging.gn
src/build/linux/unbundle/absl_debugging.gn
--- src/build/linux/unbundle.old/absl_debugging.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_debugging.gn 2024-04-07 17:12:54.682550100
+0000
@@ -45,3 +45,6 @@ source_set("symbolize") {
deps = [ ":symbolize_shim" ]
public_configs = [ ":system_absl_symbolize" ]
}
+
+source_set("stacktrace_test") {
+}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_flags.gn
src/build/linux/unbundle/absl_flags.gn
--- src/build/linux/unbundle.old/absl_flags.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_flags.gn 2024-04-07 17:14:21.789944600
+0000
@@ -48,3 +48,5 @@ source_set("usage") {
deps = [ ":usage_shim" ]
public_configs = [ ":system_absl_flags_usage" ]
}
+
+source_set("flag_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_functional.gn
src/build/linux/unbundle/absl_functional.gn
--- src/build/linux/unbundle.old/absl_functional.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_functional.gn 2024-04-07 17:14:18.081948700
+0000
@@ -46,4 +46,10 @@ source_set("function_ref") {
public_configs = [ ":system_absl_function_ref" ]
}
+source_set("overload") {
+ # Dummy â unavailable with abseil 202308 aand chromium 122 does not use it
+}
+
source_set("any_invocable_test") {}
+source_set("function_ref_test") {}
+source_set("overload_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_hash.gn
src/build/linux/unbundle/absl_hash.gn
--- src/build/linux/unbundle.old/absl_hash.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_hash.gn 2024-04-07 17:19:44.496916100
+0000
@@ -16,6 +16,8 @@ source_set("hash") {
public_configs = [ ":system_absl_hash" ]
}
+source_set("hash_instantiated_test") {
+}
source_set("hash_test") {
}
source_set("low_level_hash_test") {
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_log.gn
src/build/linux/unbundle/absl_log.gn
--- src/build/linux/unbundle.old/absl_log.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_log.gn 2024-04-07 17:45:56.568886800
+0000
@@ -1,3 +1,67 @@
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_absl_absl_check") {
+ packages = [ "absl_absl_check" ]
+}
+
+pkg_config("system_absl_absl_log") {
+ packages = [ "absl_absl_log" ]
+}
+
+pkg_config("system_absl_die_if_null") {
+ packages = [ "absl_die_if_null" ]
+}
+
+pkg_config("system_absl_log") {
+ packages = [ "absl_log" ]
+}
+shim_headers("absl_check_shim") {
+ root_path = "."
+ prefix = "absl/log/"
+ headers = [ "absl_check.h" ]
+}
+
+source_set("absl_check") {
+ deps = [ ":absl_check_shim" ]
+ public_configs = [ ":system_absl_absl_check" ]
+}
+
+shim_headers("absl_log_shim") {
+ root_path = "."
+ prefix = "absl/log/"
+ headers = [ "absl_log.h" ]
+}
+
+source_set("absl_log") {
+ deps = [ ":absl_log_shim" ]
+ public_configs = [ ":system_absl_absl_log" ]
+}
+
+shim_headers("die_if_null_shim") {
+ root_path = "."
+ prefix = "absl/log/"
+ headers = [ "die_if_null.h" ]
+}
+
+source_set("die_if_null") {
+ deps = [ ":die_if_null_shim" ]
+ public_configs = [ ":system_absl_die_if_null" ]
+}
+
+shim_headers("log_shim") {
+ root_path = "."
+ prefix = "absl/log/"
+ headers = [ "log.h" ]
+}
+
+source_set("log") {
+ deps = [ ":log_shim" ]
+ public_configs = [ ":system_absl_log" ]
+}
+
+source_set("absl_check_test") {}
+source_set("absl_log_basic_test") {}
source_set("basic_log_test") {}
source_set("check_test") {}
source_set("die_if_null_test") {}
@@ -11,3 +75,4 @@ source_set("log_sink_test") {}
source_set("log_streamer_test") {}
source_set("scoped_mock_log_test") {}
source_set("stripping_test") {}
+source_set("vlog_is_on_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_log_internal.gn
src/build/linux/unbundle/absl_log_internal.gn
--- src/build/linux/unbundle.old/absl_log_internal.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_log_internal.gn 2024-04-07
17:19:34.195045600 +0000
@@ -1 +1,2 @@
+source_set("fnmatch_test") {}
source_set("stderr_log_sink_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_numeric.gn
src/build/linux/unbundle/absl_numeric.gn
--- src/build/linux/unbundle.old/absl_numeric.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_numeric.gn 2024-04-07 17:20:05.380981000
+0000
@@ -30,3 +30,5 @@ source_set("int128") {
deps = [ ":int128_shim" ]
public_configs = [ ":system_absl_int128" ]
}
+
+source_set("int128_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_random.gn
src/build/linux/unbundle/absl_random.gn
--- src/build/linux/unbundle.old/absl_random.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_random.gn 2024-04-07 17:36:36.041139000
+0000
@@ -1,6 +1,48 @@
import("//build/config/linux/pkg_config.gni")
import("//build/shim_headers.gni")
+pkg_config("system_absl_random_bit_gen_ref") {
+ packages = [ "absl_random_bit_gen_ref" ]
+}
+
+shim_headers("bit_gen_ref_shim") {
+ root_path = "."
+ prefix = "absl/random/"
+ headers = [ "bit_gen_ref.h" ]
+}
+
+source_set("bit_gen_ref") {
+ deps = [ ":bit_gen_ref_shim" ]
+ public_configs = [ ":system_absl_random_bit_gen_ref" ]
+}
+
+pkg_config("system_absl_random_distributions") {
+ packages = [ "absl_random_distributions" ]
+}
+
+shim_headers("distributions_shim") {
+ root_path = "."
+ prefix = "absl/random/"
+ headers = [
+ "bernoulli_distribution.h",
+ "beta_distribution.h",
+ "discrete_distribution.h",
+ "distributions.h",
+ "exponential_distribution.h",
+ "gaussian_distribution.h",
+ "log_uniform_int_distribution.h",
+ "poisson_distribution.h",
+ "uniform_int_distribution.h",
+ "uniform_real_distribution.h",
+ "zipf_distribution.h",
+ ]
+}
+
+source_set("distributions") {
+ deps = [ ":distributions_shim" ]
+ public_configs = [ ":system_absl_random_distributions" ]
+}
+
pkg_config("system_absl_random_random") {
packages = [ "absl_random_random" ]
}
@@ -15,3 +57,4 @@ source_set("random") {
deps = [ ":random_shim" ]
public_configs = [ ":system_absl_random_random" ]
}
+
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_status.gn
src/build/linux/unbundle/absl_status.gn
--- src/build/linux/unbundle.old/absl_status.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_status.gn 2024-04-07 17:20:21.398873800
+0000
@@ -34,5 +34,7 @@ source_set("statusor") {
public_configs = [ ":system_absl_statusor" ]
}
+source_set("status_test") {
+}
source_set("statusor_test") {
}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_strings.gn
src/build/linux/unbundle/absl_strings.gn
--- src/build/linux/unbundle.old/absl_strings.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_strings.gn 2024-04-07 17:52:10.775957800
+0000
@@ -9,6 +9,10 @@ pkg_config("system_absl_strings") {
packages = [ "absl_strings" ]
}
+pkg_config("system_absl_string_view") {
+ packages = [ "absl_string_view" ]
+}
+
pkg_config("system_absl_str_format") {
packages = [ "absl_str_format" ]
}
@@ -59,8 +63,27 @@ source_set("str_format") {
public_configs = [ ":system_absl_str_format" ]
}
+shim_headers("string_view_shim") {
+ root_path = "."
+ prefix = "absl/strings/"
+ headers = [ "string_view.h" ]
+}
+
+source_set("string_view") {
+ deps = [ ":string_view_shim" ]
+ public_configs = [ ":system_absl_string_view" ]
+}
+
+source_set("has_ostream_operator") {
+ # Dummy â unavailable with abseil 202308 aand chromium 122 does not use it
+}
+
source_set("ascii_test") {
}
+source_set("char_formatting_test") {
+}
+source_set("charset_test") {
+}
source_set("cord_buffer_test") {
}
source_set("cord_data_edge_test") {
@@ -85,8 +108,30 @@ source_set("cordz_update_scope_test") {
}
source_set("cordz_update_tracker_test") {
}
+source_set("damerau_levenshtein_distance_test") {
+}
+source_set("has_absl_stringify_test") {
+}
+source_set("has_ostream_operator_test") {
+}
source_set("match_test") {
}
+source_set("str_format_arg_test") {
+}
+source_set("str_format_bind_test") {
+}
+source_set("str_format_checker_test") {
+}
+source_set("str_format_convert_test") {
+}
+source_set("str_format_extension_test") {
+}
+source_set("str_format_output_test") {
+}
+source_set("str_format_parser_test") {
+}
+source_set("str_format_test") {
+}
source_set("str_replace_test") {
}
source_set("string_view_test") {
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_synchronization.gn
src/build/linux/unbundle/absl_synchronization.gn
--- src/build/linux/unbundle.old/absl_synchronization.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_synchronization.gn 2024-04-07
17:26:28.412783500 +0000
@@ -20,3 +20,6 @@ source_set("synchronization") {
deps = [ ":synchronization_shim" ]
public_configs = [ ":system_absl_synchronization" ]
}
+
+source_set("kernel_timeout_internal_test") {}
+source_set("waiter_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_time.gn
src/build/linux/unbundle/absl_time.gn
--- src/build/linux/unbundle.old/absl_time.gn 2024-04-02 09:53:10.734295000
+0000
+++ src/build/linux/unbundle/absl_time.gn 2024-04-07 17:26:42.305628700
+0000
@@ -19,3 +19,5 @@ source_set("time") {
deps = [ ":time_shim" ]
public_configs = [ ":system_absl_time" ]
}
+
+source_set("time_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/absl_utility.gn
src/build/linux/unbundle/absl_utility.gn
--- src/build/linux/unbundle.old/absl_utility.gn 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/absl_utility.gn 2024-04-07 17:26:54.834405600
+0000
@@ -15,3 +15,5 @@ source_set("utility") {
deps = [ ":utility_shim" ]
public_configs = [ ":system_absl_utility" ]
}
+
+source_set("if_constexpr_test") {}
diff '--color=auto' -uprN src/build/linux/unbundle.old/replace_gn_files.py
src/build/linux/unbundle/replace_gn_files.py
--- src/build/linux/unbundle.old/replace_gn_files.py 2024-04-02
09:53:10.734295000 +0000
+++ src/build/linux/unbundle/replace_gn_files.py 2024-04-07
17:29:53.274515100 +0000
@@ -20,6 +20,7 @@ REPLACEMENTS = {
'absl_base': 'third_party/abseil-cpp/absl/base/BUILD.gn',
'absl_cleanup': 'third_party/abseil-cpp/absl/cleanup/BUILD.gn',
'absl_container': 'third_party/abseil-cpp/absl/container/BUILD.gn',
+ 'absl_crc': 'third_party/abseil-cpp/absl/crc/BUILD.gn',
'absl_debugging': 'third_party/abseil-cpp/absl/debugging/BUILD.gn',
'absl_flags': 'third_party/abseil-cpp/absl/flags/BUILD.gn',
'absl_functional': 'third_party/abseil-cpp/absl/functional/BUILD.gn',
++++++ chromium-122-avoid-SFINAE-TypeConverter.patch ++++++
diff --git a/base/types/to_address.h.new b/base/types/to_address.h.new
new file mode 100644
index 0000000..ac71b01
--- /dev/null
+++ b/base/types/to_address.h
@@ -0,0 +1,40 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef BASE_TYPES_TO_ADDRESS_H_
+#define BASE_TYPES_TO_ADDRESS_H_
+
+#include <memory>
+#include <type_traits>
+
+// SFINAE-compatible wrapper for `std::to_address()`.
+//
+// The standard does not require `std::to_address()` to be SFINAE-compatible
+// when code attempts instantiation with non-pointer-like types, and
libstdc++'s
+// implementation hard errors. For the sake of templated code that wants
simple,
+// unified handling, Chromium instead uses this wrapper, which provides that
+// guarantee. This allows code to use "`to_address()` would be valid here" as a
+// constraint to detect pointer-like types.
+namespace base {
+
+// Note that calling `std::to_address()` with a function pointer renders the
+// program ill-formed.
+template <typename T>
+ requires(!std::is_function_v<T>)
+constexpr T* to_address(T* p) noexcept {
+ return p;
+}
+
+// These constraints cover the cases where `std::to_address()`'s fancy pointer
+// overload is well-specified.
+template <typename P>
+ requires requires(const P& p) { std::pointer_traits<P>::to_address(p); } ||
+ requires(const P& p) { p.operator->(); }
+constexpr auto to_address(const P& p) noexcept {
+ return std::to_address(p);
+}
+
+} // namespace base
+
+#endif // BASE_TYPES_TO_ADDRESS_H_
diff --git a/mojo/public/cpp/bindings/type_converter.h
b/mojo/public/cpp/bindings/type_converter.h.new
index 2eddbb0..317245f 100644
--- a/mojo/public/cpp/bindings/type_converter.h
+++ b/mojo/public/cpp/bindings/type_converter.h
@@ -11,6 +11,8 @@
#include <memory>
#include <type_traits>
+#include "base/types/to_address.h"
+
namespace mojo {
// NOTE: When possible, please consider using StructTraits / UnionTraits /
@@ -99,16 +99,16 @@
template <typename T, typename U>
requires requires(const U& obj) {
- not std::is_pointer_v<U>;
- { mojo::ConvertTo<T>(std::to_address(obj)) } -> std::same_as<T>;
+ !std::is_pointer_v<U>;
+ { mojo::ConvertTo<T>(base::to_address(obj)) } -> std::same_as<T>;
}
inline T ConvertTo(const U& obj) {
- return mojo::ConvertTo<T>(std::to_address(obj));
+ return mojo::ConvertTo<T>(base::to_address(obj));
}
template <typename T, typename U>
requires requires(const U& obj) {
- not std::is_pointer_v<U>;
+ !std::is_pointer_v<U>;
TypeConverter<T, U>::Convert(obj);
}
inline T ConvertTo(const U& obj) {
++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.774101505 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.778101652 +0200
@@ -103,6 +103,14 @@
cleanup_and_exit 1
fi
+echo '>>>>>> Generate DAWN_VERSION'
+python3 build/util/lastchange.py \
+ -s third_party/dawn --revision gpu/webgpu/DAWN_VERSION
+if [ $? -ne 0 ]; then
+ echo 'ERROR: lastchange.py -s third_party/dawn failed'
+ cleanup_and_exit 1
+fi
+
popd
echo ">>>>>> Apply electron-${ELECTRON_PKGVERSION} patches"
@@ -163,10 +171,8 @@
base/third_party/superfasthash #Not a shared library.
base/third_party/symbolize #Derived code, not vendored dependency.
base/third_party/valgrind #Copy of a private header.
- base/third_party/xdg_mime #Seems not to be available as a shared library.
base/third_party/xdg_user_dirs #Derived code, not vendored dependency.
chrome/third_party/mozilla_security_manager #Derived code, not vendored
dependency.
- courgette/third_party #Derived code, not vendored dependency.
net/third_party/mozilla_security_manager #Derived code, not vendored
dependency.
net/third_party/nss #Derived code, not vendored dependency.
net/third_party/quiche #Not available as a shared library yet. An old
version is in Factory (google-quiche-source)
@@ -218,21 +224,18 @@
third_party/emoji-segmenter #not available as a shared library
third_party/fdlibm #derived code, not vendored dep
third_party/hunspell #heavily forked version
- third_party/iccjpeg #not in any distro
third_party/inspector_protocol #integral part of chrome
third_party/ipcz #not in any distro
third_party/jstemplate #javascript
third_party/khronos #Modified to add ANGLE definitions
third_party/leveldatabase #use of private headers
- third_party/libaddressinput #seems not to be available as a separate
library
- third_party/libaom #version in Factory is too old
+ third_party/libaom #15.5 is too old
third_party/libaom/source/libaom/third_party/fastfeat
third_party/libaom/source/libaom/third_party/SVT-AV1
third_party/libaom/source/libaom/third_party/vector
third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif #leap too old
- #third_party/libgav1 #Usage of private headers (ObuFrameHeader from
utils/types.h) in VAAPI code only
- third_party/libphonenumber #Depends on protobuf which cannot be unbundled
+ third_party/libavif #bleeding-edge nightly. try unbundling again when 1.1
gets released
+ third_party/libgav1 #Usage of private headers (ObuFrameHeader from
utils/types.h)
third_party/libsrtp #Needs to be built against boringssl, not openssl
third_party/libsync #not yet in any distro
third_party/libudev #Headers for a optional delay-loaded dependency
@@ -245,6 +248,7 @@
third_party/libxcb-keysyms #Derived code, not vendored dep
third_party/libxml/chromium #added chromium code
third_party/libyuv #The version in Fedora is too old
+ third_party/lit #javacript
third_party/lottie #javascript
third_party/lss #Wrapper for linux ABI
#third_party/maldoca #integral part of chrome, but not used in electron.
@@ -254,10 +258,7 @@
third_party/metrics_proto #integral part of chrome
third_party/modp_b64 #not in Factory or Rawhide. pkgconfig(stringencoders)
Mageia, AltLinux, Debian have it
third_party/node #javascript code
- third_party/omnibox_proto #integral part of chrome
third_party/one_euro_filter #not in any distro
- third_party/openscreen #Integral part of chrome, needed even if you're
building without.
- third_party/openscreen/src/third_party/tinycbor #not in any distro
third_party/ots #not available as a shared library. Fedora has the cli
version as opentype-sanitizer
#we don't build pdf support, removing it from tarball to save space
#third_party/pdfium #Part of chrome, not available separately.
@@ -270,14 +271,10 @@
third_party/perfetto/protos/third_party/chromium #derived code, not
vendored dep
third_party/pffft #not in any distro, also heavily patched
third_party/polymer #javascript
- third_party/private-join-and-compute #not in any distro, also heavily
patched
- third_party/private_membership #derived code, not vendored dep
third_party/protobuf #Heavily forked. Apparently was officially
unbundlable back in the GYP days, and may be again in the future.
- third_party/puffin #integral part of chrome
+ third_party/re2 # fedora too old
third_party/rnnoise #use of private headers
- third_party/shell-encryption #not available on any distro, also heavily
patched
third_party/skia #integral part of chrome
- third_party/smhasher #not in Rawhide or Factory. AltLinux has it
(libsmhasher) CONSIDER UNBUNDLING if we have it
third_party/speech-dispatcher #Headers for a delay-loaded optional
dependency
third_party/sqlite #heavily forked version
third_party/swiftshader #not available as a shared library
@@ -290,9 +287,9 @@
#third_party/tflite #Not used by electron, but chrome needs it.
#third_party/tflite/src/third_party/eigen3
#third_party/tflite/src/third_party/fft2d
- third_party/vulkan-deps/spirv-headers #Leap too old
- third_party/vulkan-deps/spirv-tools #Leap too old
- third_party/vulkan-deps/vulkan-headers #Leap too old. CONSIDER UNBUNDLING
when all distros have new enough vulkan sdk
+ third_party/vulkan-deps/spirv-headers #15.5 too old
+ third_party/vulkan-deps/spirv-tools #15.5 too old
+ third_party/vulkan-deps/vulkan-headers #15.5 too old. CONSIDER UNBUNDLING
when all distros have new enough vulkan sdk
third_party/vulkan_memory_allocator #not in Factory
third_party/webgpu-cts #Javascript code. Needed even if you're building
chrome without webgpu
third_party/webrtc #Integral part of chrome
@@ -313,7 +310,6 @@
third_party/x11proto #derived code, not vendored dep
third_party/zlib/contrib/minizip
#https://bugzilla.redhat.com/show_bug.cgi?id=2240599
https://github.com/zlib-ng/minizip-ng/issues/447
third_party/zlib/google #derived code, not vendored dep
- third_party/zxcvbn-cpp #not in any distro, also heavily patched
url/third_party/mozilla #derived code, not vendored dep
v8/src/third_party/siphash #derived code, not vendored dep
v8/src/third_party/utf8-decoder #derived code, not vendored dep
@@ -333,6 +329,8 @@
find third_party/electron_node/deps/nghttp2 -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
find third_party/electron_node/deps/openssl -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
find third_party/electron_node/deps/v8 -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
+rm -rvf third_party/electron_node/deps/v8/tools
+ln -srv v8/tools -t third_party/electron_node/deps/v8/
find third_party/electron_node/deps/zlib -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
++++++ disable-catapult.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.790102092 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.794102239 +0200
@@ -10,7 +10,7 @@
- "//third_party/catapult/telemetry:bitmaptools($host_toolchain)",
]
if (!is_android) {
- if (!is_castos) {
+ if (!is_castos && !is_fuchsia) {
@@ -379,7 +378,6 @@ group("gn_all") {
"//testing/android/junit:junit_unit_tests",
"//third_party/android_build_tools/lint:custom_lint_java",
@@ -171,17 +171,18 @@
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
-@@ -168,7 +168,6 @@ template("chrome_extra_paks") {
+@@ -190,8 +190,6 @@ template("chrome_extra_paks") {
"$root_gen_dir/chrome/webui_gallery_resources.pak",
"$root_gen_dir/chrome/whats_new_resources.pak",
"$root_gen_dir/content/browser/devtools/devtools_resources.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
+- "$root_gen_dir/content/traces_internals_resources.pak",
]
deps += [
"//chrome/browser/resources:component_extension_resources",
-@@ -198,7 +297,6 @@ template("chrome_extra_paks") {
- "//chrome/browser/resources:component_extension_resources",
+@@ -199,7 +197,6 @@ template("chrome_extra_paks") {
"//chrome/browser/resources:dev_ui_paks",
+ "//chrome/browser/resources/search_engine_choice:resources",
"//content/browser/devtools:devtools_resources",
- "//content/browser/tracing:resources",
]
@@ -189,18 +190,20 @@
sources += [
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
-@@ -458,11 +458,6 @@ repack("pak") {
+@@ -535,13 +535,6 @@ repack("pak") {
sources += [ "$root_gen_dir/content/webxr_internals_resources.pak" ]
}
-- if (!is_android) {
+- if (!is_android && !is_ios) {
- deps += [ "//content/browser/tracing:resources" ]
-- sources += [
"$root_gen_dir/content/browser/tracing/tracing_resources.pak" ]
+- sources += [
+- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
+- "$root_gen_dir/content/traces_internals_resources.pak",
+- ]
- }
--
+
if (is_ios) {
sources += [
- "$root_gen_dir/device/bluetooth/strings/bluetooth_strings_en-US.pak",
--- a/content/browser/tracing/BUILD.gn
+++ /dev/null
@@ -1,39 +0,0 @@
++++++ disable-fuses.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.810102826 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.814102973 +0200
@@ -2,9 +2,9 @@
This cannot work with a systemwide electron, and any program depending on
features gated behind a fuse would need additional patching anyway.
This patch removes fuse switches from the binary and makes the makes the
compiler able to optimize away any dependant code which is now dead.
---- src/electron/build/fuses/build.py.old 2022-09-22 10:38:21.630415700
+0200
-+++ src/electron/build/fuses/build.py 2022-09-25 19:02:31.522510400 +0200
-@@ -7,7 +7,9 @@
+--- src/electron/build/fuses/build.py.orig 2024-03-27 16:05:03.002778083
+0100
++++ src/electron/build/fuses/build.py 2024-03-27 20:08:44.765543587 +0100
+@@ -7,7 +7,9 @@ import sys
dir_path = os.path.dirname(os.path.realpath(__file__))
@@ -15,7 +15,7 @@
TEMPLATE_H = """
#ifndef ELECTRON_FUSES_H_
-@@ -23,7 +25,7 @@
+@@ -21,7 +23,7 @@ TEMPLATE_H = """
namespace electron::fuses {
@@ -24,7 +24,7 @@
{getters}
-@@ -41,8 +43,6 @@
+@@ -42,8 +44,6 @@ TEMPLATE_CC = """
namespace electron::fuses {
@@ -33,19 +33,31 @@
{getters}
} // namespace electron:fuses
-@@ -71,12 +71,18 @@
+@@ -70,23 +70,18 @@ for fuse in fuses:
index += 1
initial_config += fuse_defaults[fuse]
name = ''.join(word.title() for word in fuse.split('_'))
- getters_h += "FUSE_EXPORT bool Is{name}Enabled();\n".replace("{name}", name)
- getters_cc += """
-bool Is{name}Enabled() {
+-#if DCHECK_IS_ON()
+- // RunAsNode is checked so early that base::CommandLine isn't yet
+- // initialized, so guard here to avoid a CHECK.
+- if (base::CommandLine::InitializedForCurrentProcess()) {
+- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+- if (command_line->HasSwitch("{switch_name}")) {
+- std::string switch_value =
command_line->GetSwitchValueASCII("{switch_name}");
+- return switch_value == "1";
+- }
+- }
+-#endif
+ getters_h += """
+constexpr bool INLINE_Is{name}Enabled() {
return kFuseWire[{index}] == '1';
}
+-""".replace("{name}", name).replace("{switch_name}",
f"set-fuse-{fuse.lower()}").replace("{index}", str(index))
+#define Is{name}Enabled INLINE_Is{name}Enabled
- """.replace("{name}", name).replace("{index}", str(index))
++""".replace("{name}", name).replace("{index}", str(index))
+ getters_cc += """
+#undef Is{name}Enabled
+FUSE_EXPORT bool Is{name}Enabled() {
@@ -55,7 +67,7 @@
def c_hex(n):
s = hex(n)[2:]
-@@ -88,12 +94,13 @@
+@@ -98,12 +93,13 @@ def hex_arr(s):
arr.append(c_hex(ord(char)))
return ",".join(arr)
++++++ distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
++++++
---
src/third_party/distributed_point_functions/code/dpf/aes_128_fixed_key_hash.cc.old
2024-04-02 11:53:27.644284500 +0200
+++
src/third_party/distributed_point_functions/code/dpf/aes_128_fixed_key_hash.cc
2024-04-02 22:24:29.350771600 +0200
@@ -26,6 +26,7 @@
#include "absl/numeric/int128.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
+#include "absl/strings/str_cat.h"
#include "absl/types/span.h"
#include "openssl/err.h"
++++++ distributed_point_functions-evaluate_prg_hwy-signature.patch ++++++
---
src/third_party/distributed_point_functions/code/dpf/internal/evaluate_prg_hwy.cc.old
2024-04-02 11:53:27.644284500 +0200
+++
src/third_party/distributed_point_functions/code/dpf/internal/evaluate_prg_hwy.cc
2024-04-02 22:35:43.377586600 +0200
@@ -50,16 +50,18 @@ namespace hn = hwy::HWY_NAMESPACE;
#if HWY_TARGET == HWY_SCALAR
absl::Status EvaluateSeedsHwy(
- int64_t num_seeds, int num_levels, const absl::uint128* seeds_in,
- const bool* control_bits_in, const absl::uint128* paths,
+ int64_t num_seeds, int num_levels, int num_correction_words,
+ const absl::uint128* seeds_in, const bool* control_bits_in,
+ const absl::uint128* paths, int paths_rightshift,
const absl::uint128* correction_seeds, const bool*
correction_controls_left,
const bool* correction_controls_right, const Aes128FixedKeyHash& prg_left,
const Aes128FixedKeyHash& prg_right, absl::uint128* seeds_out,
bool* control_bits_out) {
- return EvaluateSeedsNoHwy(num_seeds, num_levels, seeds_in, control_bits_in,
- paths, correction_seeds, correction_controls_left,
- correction_controls_right, prg_left, prg_right,
- seeds_out, control_bits_out);
+ return EvaluateSeedsNoHwy(
+ num_seeds, num_levels, num_correction_words, seeds_in, control_bits_in,
+ paths, paths_rightshift, correction_seeds, correction_controls_left,
+ correction_controls_right, prg_left, prg_right, seeds_out,
+ control_bits_out);
}
#else
++++++ electron-16-std-vector-non-const.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.862104734 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.866104881 +0200
@@ -23,7 +23,7 @@
+ const std::vector<uint8_t> additional_data,
SocketReader* reader);
- private:
+ // Called when the ProcessSingleton that owns this class is about to be
@@ -684,7 +684,7 @@ void ProcessSingleton::LinuxWatcher::Sta
void ProcessSingleton::LinuxWatcher::HandleMessage(
const std::string& current_dir,
++++++ fake_ssl_socket_client-Wlto-type-mismatch.patch ++++++
Correct ODR violation due to ambiguous name.
When this header is compiled by itself, `scoped_refptr` refers to the type
declared in `base/memory/scoped_refptr.h`.
When `third_party/webrtc/api/scoped_refptr.h` is included before, the name
changes to refer to `::webrtc::scoped_refptr` instead,
leading to mismatch across translation units. This is detected and reported by
GCC.
--- src/components/webrtc/fake_ssl_client_socket.h.old
+++ src/components/webrtc/fake_ssl_client_socket.h
@@ -111,8 +111,8 @@ class FakeSSLClientSocket : public net::
// The callback passed to Connect().
net::CompletionOnceCallback user_connect_callback_;
- scoped_refptr<net::DrainableIOBuffer> write_buf_;
- scoped_refptr<net::DrainableIOBuffer> read_buf_;
+ ::scoped_refptr<net::DrainableIOBuffer> write_buf_;
+ ::scoped_refptr<net::DrainableIOBuffer> read_buf_;
};
} // namespace webrtc
++++++ grid_sizing_tree-Wchanges-meaning.patch ++++++
>From 05a74771fed5491740588ec7b39ba64a7b710013 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Thu, 1 Feb 2024 17:34:38 +0000
Subject: [PATCH] GCC: avoid clash between getter and type in
grid_sizing_tree.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Rename GridSubsizingTree::GridItems getter to GetGridItems to avoid
type clash.
Bug: 819294
Change-Id: I4112929d9f85dc4573002b429cc982d50085d3c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5224147
Reviewed-by: Xianzhu Wang <[email protected]>
Commit-Queue: Xianzhu Wang <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1255116}
---
.../core/layout/grid/grid_layout_algorithm.cc | 13 +++++++------
.../renderer/core/layout/grid/grid_sizing_tree.h | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/third_party/blink/renderer/core/layout/grid/grid_sizing_tree.h
b/third_party/blink/renderer/core/layout/grid/grid_sizing_tree.h
index 45d55e2b36da4..2148ea9ea0657 100644
--- a/third_party/blink/renderer/core/layout/grid/grid_sizing_tree.h
+++ b/third_party/blink/renderer/core/layout/grid/grid_sizing_tree.h
@@ -188,7 +188,7 @@ class GridSizingSubtree
/* subtree_root */ grid_tree_->LookupSubgridIndex(subgrid_data));
}
- GridItems& GridItems() const {
+ ::blink::GridItems& GridItems() const {
DCHECK(grid_tree_);
return grid_tree_->At(subtree_root_).grid_items;
}
++++++ harfbuzz-replace-chromium-scoped-type.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.942107669 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.946107816 +0200
@@ -41,13 +41,13 @@
#include <memory>
@@ -17,7 +18,6 @@
- #include "base/callback.h"
#include "base/numerics/safe_conversions.h"
#include "components/crash/core/common/crash_key.h"
+ #include "skia/ext/font_utils.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
+ #include "third_party/skia/include/core/SkFontMgr.h"
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/core/SkTypeface.h"
-
@@ -45,11 +45,11 @@
}
++++++ hit_test_request-missing-optional.patch ++++++
>From 3a75d7f8dc3a08a38dd893031f8996b91a00764b Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Tue, 23 Jan 2024 17:55:15 +0000
Subject: [PATCH] IWYU: usage of std::optional in hit_test_request.h requires
include
Bug: 957519
Change-Id: I1ec32af603720d13bfa4e22e20142459802284b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5227329
Reviewed-by: Ian Kilpatrick <[email protected]>
Commit-Queue: Ian Kilpatrick <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1250917}
---
third_party/blink/renderer/core/layout/hit_test_request.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/blink/renderer/core/layout/hit_test_request.h
b/third_party/blink/renderer/core/layout/hit_test_request.h
index c33144dc975b6..38968126fe520 100644
--- a/third_party/blink/renderer/core/layout/hit_test_request.h
+++ b/third_party/blink/renderer/core/layout/hit_test_request.h
@@ -23,6 +23,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_HIT_TEST_REQUEST_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_HIT_TEST_REQUEST_H_
+#include <optional>
+
#include "base/functional/callback.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/member.h"
++++++ libxml-2.12-xmlCtxtGetLastError-const.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:21.970108697 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:21.974108844 +0200
@@ -3,27 +3,18 @@
Make code compatible with both signatures
---- src/third_party/blink/renderer/core/xml/xslt_processor.h.orig
2023-11-15 19:51:53.839267200 +0000
-+++ src/third_party/blink/renderer/core/xml/xslt_processor.h 2023-11-18
12:29:54.948129800 +0000
-@@ -78,6 +78,7 @@ class XSLTProcessor final : public Scrip
+--- src/third_party/blink/renderer/core/xml/xslt_processor.h.orig
2024-04-02 09:53:19.064289800 +0000
++++ src/third_party/blink/renderer/core/xml/xslt_processor.h 2024-04-06
17:07:37.951981800 +0000
+@@ -77,6 +77,7 @@ class XSLTProcessor final : public Scrip
+
void reset();
- static void ParseErrorFunc(void* user_data, xmlError*);
-+ static void ParseErrorFunc(void* user_data, xmlError const*);
++ static void ParseErrorFunc(void* user_data, xmlError*);
+ static void ParseErrorFunc(void* user_data, const xmlError*);
static void GenericErrorFunc(void* user_data, const char* msg, ...);
- // Only for libXSLT callbacks
---- src/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.orig
2023-11-15 19:51:53.839267200 +0000
-+++ src/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
2023-11-18 15:17:13.507401500 +0000
-@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(voi
- // It would be nice to do something with this error message.
- }
-
--void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
-+void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError const *error) {
- FrameConsole* console = static_cast<FrameConsole*>(user_data);
- if (!console)
- return;
+--- src/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.orig
2024-04-02 09:53:19.064289800 +0000
++++ src/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
2024-04-06 17:06:56.822190000 +0000
@@ -92,6 +92,10 @@ void XSLTProcessor::ParseErrorFunc(void*
nullptr)));
}
++++++ mt21_util-flax-vector-conversions.patch ++++++
--- src/media/gpu/v4l2/mt21/mt21_util.h.old 2024-04-02 09:53:17.170957700
+0000
+++ src/media/gpu/v4l2/mt21/mt21_util.h 2024-04-04 16:55:59.555998900 +0000
@@ -590,7 +590,7 @@ __attribute__((always_inline)) uint8x16_
vshlq_u32(
vshlq_u32(accumulator[i], vreinterpretq_s32_u32(unary_len[i])),
vsubq_s32(vreinterpretq_s32_u32(binary_len[i]),
- dword_literal_32)));
+ vreinterpretq_s32_u32(dword_literal_32))));
},
4)
@@ -747,7 +747,7 @@ __attribute__((always_inline)) uint8x16_
const uint8x16_t min_pred = vminq_u8(up, right);
const uint8x16_t max_pred = vmaxq_u8(up, right);
const uint8x16_t right_grad = vreinterpretq_u8_s8(vaddq_s8(
- right, vsubq_s8(vreinterpretq_s8_u8(up),
vreinterpretq_s8_u8(up_right))));
+ vreinterpretq_s8_u8(right), vsubq_s8(vreinterpretq_s8_u8(up),
vreinterpretq_s8_u8(up_right))));
const uint8x16_t up_right_above_max = vcgtq_u8(up_right, max_pred);
const uint8x16_t up_right_below_min = vcltq_u8(up_right, min_pred);
uint8x16_t pred = vbslq_u8(up_right_above_max, max_pred, min_pred);
++++++ node-compiler.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:22.006110018 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:22.010110165 +0200
@@ -36,9 +36,9 @@
- cflags_cc += [ "-Wno-sign-compare" ]
}
}
---- src/third_party/electron_node/deps/base64/BUILD.gn.orig
-+++ src/third_party/electron_node/deps/base64/BUILD.gn
-@@ -13,11 +13,6 @@ static_library("base64") {
+--- src/third_party/electron_node/deps/base64/BUILD.gn.orig 2024-03-27
16:38:36.306226966 +0100
++++ src/third_party/electron_node/deps/base64/BUILD.gn 2024-03-27
20:24:12.219928228 +0100
+@@ -21,11 +21,6 @@ static_library("base64") {
public_configs = [ ":base64_config" ]
@@ -50,65 +50,65 @@
sources = [
"base64/include/libbase64.h",
-@@ -75,7 +70,6 @@ source_set("base64_ssse3") {
- defines = [ "HAVE_SSSE3=1" ]
+@@ -44,7 +39,6 @@ source_set("base64_ssse3") {
+ defines = [ "HAVE_SSSE3=1" ]
- cflags = [ "-mssse3" ]
-- cflags_c = [ "-Wno-implicit-fallthrough" ]
-
- sources = [ "base64/lib/arch/ssse3/ssse3_codec.c" ]
- }
-@@ -86,7 +80,6 @@ source_set("base64_sse41") {
- defines = [ "HAVE_SSE41=1" ]
-
- cflags = [ "-msse4.1" ]
-- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ cflags = [ "-mssse3" ]
+- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ }
- sources = [ "base64/lib/arch/sse41/sse41_codec.c" ]
- }
-@@ -100,7 +93,6 @@ source_set("base64_sse42") {
- ]
+ sources = [ "base64/lib/arch/ssse3/codec.c" ]
+@@ -57,7 +51,6 @@ source_set("base64_sse41") {
+ defines = [ "HAVE_SSE41=1" ]
- cflags = [ "-msse4.2" ]
-- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ cflags = [ "-msse4.1" ]
+- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ }
- sources = [ "base64/lib/arch/sse42/sse42_codec.c" ]
- }
-@@ -111,7 +103,6 @@ source_set("base64_avx") {
- defines = [ "HAVE_AVX=1" ]
+ sources = [ "base64/lib/arch/sse41/codec.c" ]
+@@ -74,7 +67,6 @@ source_set("base64_sse42") {
+ ]
- cflags = [ "-mavx" ]
-- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ cflags = [ "-msse4.2" ]
+- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ }
- sources = [ "base64/lib/arch/avx/avx_codec.c" ]
- }
-@@ -122,10 +113,6 @@ source_set("base64_avx2") {
- defines = [ "HAVE_AVX2=1" ]
+ sources = [ "base64/lib/arch/sse42/codec.c" ]
+@@ -87,7 +79,6 @@ source_set("base64_avx") {
+ defines = [ "HAVE_AVX=1" ]
- cflags = [ "-mavx2" ]
-- cflags_c = [
-- "-Wno-implicit-fallthrough",
-- "-Wno-implicit-function-declaration",
-- ]
+ cflags = [ "-mavx" ]
+- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ }
- sources = [ "base64/lib/arch/avx2/avx2_codec.c" ]
- }
-@@ -136,7 +123,6 @@ source_set("base64_neon32") {
- defines = [ "HAVE_NEON32=1" ]
+ sources = [ "base64/lib/arch/avx/codec.c" ]
+@@ -100,10 +91,6 @@ source_set("base64_avx2") {
+ defines = [ "HAVE_AVX2=1" ]
+
+ cflags = [ "-mavx2" ]
+- cflags_c = [
+- "-Wno-implicit-fallthrough",
+- "-Wno-implicit-function-declaration",
+- ]
+ }
- cflags = [ "-mfpu=neon" ]
-- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ sources = [ "base64/lib/arch/avx2/codec.c" ]
+@@ -116,7 +103,6 @@ source_set("base64_neon32") {
+ defines = [ "HAVE_NEON32=1" ]
- sources = [ "base64/lib/arch/neon32/neon32_codec.c" ]
- }
-@@ -146,7 +132,6 @@ source_set("base64_neon64") {
+ cflags = [ "-mfpu=neon" ]
+- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ }
- defines = [ "HAVE_NEON64=1" ]
+ sources = [ "base64/lib/arch/neon32/codec.c" ]
+@@ -128,7 +114,6 @@ source_set("base64_neon64") {
+ if (target_cpu == "arm64") {
+ defines = [ "HAVE_NEON64=1" ]
-- cflags_c = [ "-Wno-implicit-fallthrough" ]
+- cflags_c = [ "-Wno-implicit-fallthrough" ]
+ }
- sources = [ "base64/lib/arch/neon64/neon64_codec.c" ]
- }
+ sources = [ "base64/lib/arch/neon64/codec.c" ]
--- src/third_party/electron_node/deps/histogram/BUILD.gn.old
+++ src/third_party/electron_node/deps/histogram/BUILD.gn
@@ -1,12 +1,6 @@
++++++ partition_alloc-no-lto.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:22.030110899 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:22.030110899 +0200
@@ -2,7 +2,7 @@
--- src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.old
2022-10-01 13:53:03.367797474 +0200
+++ src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
2022-10-05 14:23:53.999860356 +0200
-@@ -51,6 +51,33 @@
+@@ -90,6 +90,33 @@ if (!is_debug || partition_alloc_optimiz
_add_configs += [ "//build/config/compiler:no_optimize" ]
}
@@ -33,43 +33,44 @@
+ }
+}
+
- component("partition_alloc") {
- public_deps = [
- ":allocator_base",
-@@ -262,24 +278,9 @@
+ component("raw_ptr") {
+ # `gn check` is unhappy with most `#includes` when PA isn't
+ # actually built.
+@@ -497,25 +524,10 @@ if (is_clang_or_gcc) {
+ # The Android NDK supports PR_MTE_* macros as of NDK r23.
+ defines += [ "HAS_PR_MTE_MACROS" ]
}
- }
-+ deps = [ ":allocator_base" ]
- if (use_starscan) {
-- if (current_cpu == "x64") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
-- } else if (current_cpu == "x86") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
-- } else if (current_cpu == "arm") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
-- } else if (current_cpu == "arm64") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
-- } else if (current_cpu == "riscv64") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/riscv64/push_registers_asm.cc" ]
-- } else {
-- # To support a trampoline for another arch, please refer to
v8/src/heap/base.
-- assert(!pcscan_stack_supported)
-+ if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm"
|| current_cpu == "arm64" || current_cpu == "riscv64") {
-+ deps += [ ":partition_alloc_asm" ]
++ deps = [ ":allocator_base" ]
+ if (use_starscan) {
+- if (current_cpu == "x64") {
+- assert(pcscan_stack_supported)
+- sources += [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
+- } else if (current_cpu == "x86") {
+- assert(pcscan_stack_supported)
+- sources += [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
+- } else if (current_cpu == "arm") {
+- assert(pcscan_stack_supported)
+- sources += [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
+- } else if (current_cpu == "arm64") {
+- assert(pcscan_stack_supported)
+- sources += [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
+- } else if (current_cpu == "riscv64") {
+- assert(pcscan_stack_supported)
+- sources += [ "starscan/stack/asm/riscv64/push_registers_asm.cc" ]
+- } else {
+- # To support a trampoline for another arch, please refer to
v8/src/heap/base.
+- assert(!pcscan_stack_supported)
++ if (current_cpu == "x64" || current_cpu == "x86" || current_cpu ==
"arm" || current_cpu == "arm64" || current_cpu == "riscv64") {
++ deps += [ ":partition_alloc_asm" ]
+ }
}
- }
- if (use_freelist_pool_offsets) {
-@@ -289,7 +295,6 @@
- ":memory_tagging",
- "//build/config/compiler:wexit_time_destructors",
- ]
-- deps = [ ":allocator_base" ]
- public_configs = []
- if (is_android) {
- # tagging.cc requires __arm_mte_set_* functions.
+ if (use_freelist_pool_offsets) {
+@@ -536,7 +548,6 @@ if (is_clang_or_gcc) {
+ ":memory_tagging",
+ "//build/config/compiler:wexit_time_destructors",
+ ]
+- deps = [ ":allocator_base" ]
+ public_configs = []
+ if (is_android) {
+ # tagging.cc requires __arm_mte_set_* functions.
++++++ perfetto-numeric_storage-double_t.patch ++++++
--- /var/tmp/diff_new_pack.bZXLSy/_old 2024-04-21 20:27:22.046111486 +0200
+++ /var/tmp/diff_new_pack.bZXLSy/_new 2024-04-21 20:27:22.050111632 +0200
@@ -1,12 +1,12 @@
Fix inconsistent type alias use
On linux ix86, `double_t` evaluates to `long double`. This contradicts the
`double` expected below.
----
src/third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc.old
2023-10-13 11:25:09.719946900 +0200
-+++ src/third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc
2023-10-14 23:54:10.728423000 +0200
-@@ -29,7 +29,7 @@ namespace storage {
+---
src/third_party/perfetto/src/trace_processor/db/column/numeric_storage.cc.old
2023-10-13 11:25:09.719946900 +0200
++++ src/third_party/perfetto/src/trace_processor/db/column/numeric_storage.cc
2023-10-14 23:54:10.728423000 +0200
+@@ -39,7 +39,7 @@ namespace trace_processor {
+ namespace column {
namespace {
- // All viable numeric values for ColumnTypes.
-using NumericValue = std::variant<uint32_t, int32_t, int64_t, double_t>;
+using NumericValue = std::variant<uint32_t, int32_t, int64_t, double>;
++++++ plus_address_types-missing-optional.patch ++++++
>From 8d253767f895b45053c39ea99a8f02bbe7071d3a Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Mon, 19 Feb 2024 19:00:26 +0000
Subject: [PATCH] IWYU: usage of std::optional in plus_address_types.h requires
include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug: 41455655
Change-Id: Ibfda146f5bf7485ad31828f1dc22eb39b57f83b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5306779
Reviewed-by: Jan Keitel <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1262436}
---
components/plus_addresses/plus_address_types.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/components/plus_addresses/plus_address_types.h
b/components/plus_addresses/plus_address_types.h
index 7a7eaa2a818a9..77569d345011a 100644
--- a/components/plus_addresses/plus_address_types.h
+++ b/components/plus_addresses/plus_address_types.h
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_PLUS_ADDRESSES_PLUS_ADDRESS_TYPES_H_
#define COMPONENTS_PLUS_ADDRESSES_PLUS_ADDRESS_TYPES_H_
+#include <optional>
#include <string>
#include <unordered_map>
++++++ race_network_request_write_buffer_manager-missing-optional.patch ++++++
>From 5b2d53797e5580cbfea00d732fe25a97c7048b5b Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 24 Jan 2024 06:46:33 +0000
Subject: [PATCH] IWYU: missing include for std::optional usage in
race_network_request_write_buffer_manager.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug: 957519
Change-Id: Id3a6c3cc3c1273208bde43b70a2bd298695f7cc4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5223947
Reviewed-by: Shunya Shishido <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1251264}
---
.../service_worker/race_network_request_write_buffer_manager.h | 2 ++
1 file changed, 2 insertions(+)
diff --git
a/content/common/service_worker/race_network_request_write_buffer_manager.h
b/content/common/service_worker/race_network_request_write_buffer_manager.h
index 0e7f17417dbd9..ad9ea1348a977 100644
--- a/content/common/service_worker/race_network_request_write_buffer_manager.h
+++ b/content/common/service_worker/race_network_request_write_buffer_manager.h
@@ -5,6 +5,8 @@
#ifndef
CONTENT_COMMON_SERVICE_WORKER_RACE_NETWORK_REQUEST_WRITE_BUFFER_MANAGER_H_
#define
CONTENT_COMMON_SERVICE_WORKER_RACE_NETWORK_REQUEST_WRITE_BUFFER_MANAGER_H_
+#include <optional>
+
#include "base/containers/span.h"
#include "content/common/content_export.h"
#include "mojo/public/cpp/system/data_pipe.h"
++++++ remove-dawn.patch ++++++
Remove this unused component which brings a huge dependency on
//third_party/dawn/native which we don't want to build
--- src/content/utility/BUILD.gn.orig
+++ src/content/utility/BUILD.gn
@@ -64,9 +64,6 @@ source_set("utility") {
"//services/data_decoder:lib",
"//services/data_decoder/public/cpp",
"//services/network:network_service",
- "//services/on_device_model:on_device_model_service",
- "//services/on_device_model/public/cpp",
- "//services/on_device_model/public/mojom",
"//services/service_manager/public/cpp",
"//services/service_manager/public/mojom",
"//services/shape_detection:lib",
--- src/content/utility/services.cc.orig
+++ src/content/utility/services.cc
@@ -31,7 +31,6 @@
#include "services/audio/service_factory.h"
#include "services/data_decoder/data_decoder_service.h"
#include "services/network/network_service.h"
-#include "services/on_device_model/on_device_model_service.h"
#include "services/tracing/public/mojom/tracing_service.mojom.h"
#include "services/tracing/tracing_service.h"
#include "services/video_capture/public/mojom/video_capture_service.mojom.h"
@@ -327,13 +326,6 @@ auto RunVideoCapture(
return service;
}
-auto RunOnDeviceModel(
- mojo::PendingReceiver<on_device_model::mojom::OnDeviceModelService>
- receiver) {
- return std::make_unique<on_device_model::OnDeviceModelService>(
- std::move(receiver));
-}
-
#if BUILDFLAG(ENABLE_VR) && !BUILDFLAG(IS_ANDROID)
auto RunXrDeviceService(
mojo::PendingReceiver<device::mojom::XRDeviceService> receiver) {
@@ -408,9 +400,6 @@ void RegisterMainThreadServices(mojo::Se
services.Add(RunTracing);
services.Add(RunVideoCapture);
- if (optimization_guide::features::CanLaunchOnDeviceModelService()) {
- services.Add(RunOnDeviceModel);
- }
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_CHROMEOS)
services.Add(RunShapeDetectionService);
--- src/content/utility/utility_main.cc.old 2024-04-02 09:53:16.050958400
+0000
+++ src/content/utility/utility_main.cc 2024-04-07 17:41:04.823696600 +0000
@@ -32,7 +32,6 @@
#include "sandbox/policy/mojom/sandbox.mojom.h"
#include "sandbox/policy/sandbox.h"
#include "sandbox/policy/sandbox_type.h"
-#include "services/on_device_model/on_device_model_service.h"
#include "services/tracing/public/cpp/trace_startup.h"
#include "third_party/icu/source/common/unicode/unistr.h"
#include "third_party/icu/source/i18n/unicode/timezone.h"
@@ -202,10 +201,6 @@ int UtilityMain(MainFunctionParams param
? base::MessagePumpType::UI
: base::MessagePumpType::DEFAULT;
- if (parameters.command_line->GetSwitchValueASCII(switches::kUtilitySubType)
==
- on_device_model::mojom::OnDeviceModelService::Name_) {
- CHECK(on_device_model::OnDeviceModelService::PreSandboxInit());
- }
#if BUILDFLAG(IS_MAC)
auto sandbox_type =
@@ -283,11 +278,6 @@ int UtilityMain(MainFunctionParams param
case sandbox::mojom::Sandbox::kAudio:
pre_sandbox_hook = base::BindOnce(&audio::AudioPreSandboxHook);
break;
- case sandbox::mojom::Sandbox::kOnDeviceModelExecution:
- on_device_model::OnDeviceModelService::AddSandboxLinuxOptions(
- sandbox_options);
- pre_sandbox_hook = base::BindOnce(&GpuPreSandboxHook);
- break;
case sandbox::mojom::Sandbox::kSpeechRecognition:
pre_sandbox_hook =
base::BindOnce(&speech::SpeechRecognitionPreSandboxHook);
++++++ remove-openscreen.patch ++++++
--- src/chrome/common/BUILD.gn.old
+++ src/chrome/common/BUILD.gn
@@ -350,7 +350,6 @@ static_library("common_lib") {
"//extensions/common:core_api_provider",
"//extensions/common/api",
"//extensions/strings",
- "//media/cast:net",
"//services/device/public/cpp/usb",
]
}
++++++ remove-password-manager-and-policy.patch ++++++
>From 54ec71011a6ebb873590802a70b2bc07578ba201 Mon Sep 17 00:00:00 2001
From: Szabolcs David <[email protected]>
Date: Mon, 10 Oct 2022 17:20:43 +0200
Subject: Make user agent helpers buildable without unwanted dependencies
"//components/policy" is enormously large with its resource files and
we don't want to build it for only one preference name.
User agent utils are required to fill
navigator.userAgentData members in JavaScript.
Task-number: QTBUG-107260
Task-number: QTBUG-107451
Change-Id: I752df68a8095ddb3f598a71f0419c1a2c9c408bb
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
---
chromium/components/embedder_support/user_agent_utils.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/chromium/components/embedder_support/user_agent_utils.cc
b/chromium/components/embedder_support/user_agent_utils.cc
index c957a691efc..408fb837d80 100644
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -446,12 +446,14 @@ blink::UserAgentMetadata GetUserAgentMetadata(const
PrefService* pref_service,
blink::UserAgentMetadata metadata;
bool enable_updated_grease_by_policy = true;
+#if 0
if (pref_service) {
if (pref_service->HasPrefPath(
policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled))
enable_updated_grease_by_policy = pref_service->GetBoolean(
policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled);
}
+#endif
// Low entropy client hints.
metadata.brand_version_list =
--
cgit v1.2.3
â¦and now come Electronâspecific changes to support the above:
--- src/components/browsing_data/core/BUILD.gn.old
+++ src/components/browsing_data/core/BUILD.gn
@@ -36,9 +36,7 @@ static_library("core") {
deps = [
"//base",
"//components/autofill/core/browser",
- "//components/bookmarks/browser",
"//components/history/core/browser",
- "//components/password_manager/core/browser",
"//components/pref_registry",
"//components/prefs",
"//components/strings",
--- src/components/sync/BUILD.gn.old
+++ src/components/sync/BUILD.gn
@@ -11,7 +11,6 @@ group("sync") {
"//components/sync/engine",
"//components/sync/model",
"//components/sync/nigori",
- "//components/sync/service",
]
if (is_chromeos) {
public_deps += [ "//components/sync/chromeos" ]
--- src/components/permissions/prediction_service/BUILD.gn.old
+++ src/components/permissions/prediction_service/BUILD.gn
@@ -31,8 +31,6 @@ source_set("prediction_service") {
]
public_deps = [
":prediction_service_messages_proto",
- "//components/optimization_guide/core",
- "//components/optimization_guide/proto:optimization_guide_proto",
]
if (build_with_tflite_lib) {
--- src/components/embedder_support/BUILD.gn.old
+++ src/components/embedder_support/BUILD.gn
@@ -24,11 +24,8 @@ static_library("browser_util") {
deps = [
":embedder_support",
"//build:branding_buildflags",
- "//components/background_sync",
- "//components/content_settings/browser",
"//components/content_settings/core/browser",
"//components/permissions",
- "//components/policy/core/common",
"//components/prefs",
"//components/version_info",
"//content/public/browser",
--- src/components/permissions/BUILD.gn.old
+++ src/components/permissions/BUILD.gn
@@ -109,8 +109,6 @@ source_set("permissions") {
deps = [
"//base",
"//build:chromeos_buildflags",
- "//components/back_forward_cache",
- "//components/content_settings/browser",
"//components/content_settings/core/browser",
"//components/favicon/core:core",
"//components/keyed_service/content",
--- src/components/proxy_config/BUILD.gn.old
+++ src/components/proxy_config/BUILD.gn
@@ -23,9 +23,6 @@ component("proxy_config") {
deps = [
"//base",
- "//components/policy:generated",
- "//components/policy/core/browser",
- "//components/policy/core/common",
"//components/prefs",
"//components/strings",
"//net",
@@ -42,7 +39,7 @@ component("proxy_config") {
deps += [ "//components/pref_registry" ]
}
- if (!is_ios) {
+ if (false) {
sources += [
"proxy_policy_handler.cc",
"proxy_policy_handler.h",
--- src/components/content_settings/core/browser/BUILD.gn.old
+++ src/components/content_settings/core/browser/BUILD.gn
@@ -70,7 +70,7 @@ static_library("browser") {
"//url",
]
- if (!is_ios) {
+ if (false) {
sources += [
"cookie_settings_policy_handler.cc",
"cookie_settings_policy_handler.h",
@@ -82,8 +82,6 @@ static_library("browser") {
if (use_blink) {
deps += [
"//components/permissions:permissions_common",
- "//components/policy:generated",
- "//components/policy/core/browser",
"//components/privacy_sandbox:privacy_sandbox_prefs",
]
}
--- src/electron/chromium_src/BUILD.gn.orig
+++ src/electron/chromium_src/BUILD.gn
@@ -466,7 +466,7 @@ source_set("chrome_spellchecker") {
"//chrome/browser/spellchecker/spellcheck_service.h",
]
- if (!is_mac) {
+ if (false) {
sources += [
"//chrome/browser/spellchecker/spellcheck_language_blocklist_policy_handler.cc",
"//chrome/browser/spellchecker/spellcheck_language_blocklist_policy_handler.h",
--- src/chrome/common/BUILD.gn.old
+++ src/chrome/common/BUILD.gn
@@ -210,14 +210,11 @@ static_library("common_lib") {
"//components/nacl/common:switches",
"//components/net_log",
"//components/network_session_configurator/common",
- "//components/ntp_tiles",
"//components/offline_pages/buildflags",
"//components/offline_pages/core:switches",
"//components/omnibox/common",
"//components/page_load_metrics/common:page_load_metrics_mojom",
"//components/password_manager/core/common",
- "//components/policy:generated",
- "//components/policy/core/common",
"//components/prefs",
"//components/safe_browsing:buildflags",
"//components/safe_search_api",
@@ -606,8 +603,6 @@ static_library("url_constants") {
"//components/lens:buildflags",
"//components/nacl/common:buildflags",
"//components/optimization_guide/optimization_guide_internals/webui:url_constants",
- "//components/password_manager/content/common",
- "//components/safe_browsing/core/common",
"//device/vr/buildflags",
]
}
--- src/components/search_engines/BUILD.gn.old
+++ src/components/search_engines/BUILD.gn
@@ -15,47 +15,25 @@ static_library("search_engines") {
"choice_made_location.h",
"default_search_manager.cc",
"default_search_manager.h",
- "default_search_policy_handler.cc",
- "default_search_policy_handler.h",
"eea_countries_ids.h",
"enterprise_site_search_manager.cc",
"enterprise_site_search_manager.h",
- "keyword_table.cc",
- "keyword_table.h",
"keyword_web_data_service.cc",
"keyword_web_data_service.h",
- "search_engine_choice/search_engine_choice_service.cc",
- "search_engine_choice/search_engine_choice_service.h",
- "search_engine_choice_utils.cc",
- "search_engine_choice_utils.h",
"search_engines_pref_names.h",
"search_engines_switches.cc",
"search_engines_switches.h",
- "search_host_to_urls_map.cc",
- "search_host_to_urls_map.h",
"search_terms_data.cc",
"search_terms_data.h",
- "template_url.cc",
- "template_url.h",
"template_url_data.cc",
"template_url_data.h",
"template_url_data_util.cc",
"template_url_data_util.h",
- "template_url_fetcher.cc",
- "template_url_fetcher.h",
"template_url_id.h",
- "template_url_parser.cc",
- "template_url_parser.h",
- "template_url_prepopulate_data.cc",
- "template_url_prepopulate_data.h",
- "template_url_service.cc",
- "template_url_service.h",
"template_url_service_client.h",
"template_url_service_observer.h",
"template_url_starter_pack_data.cc",
"template_url_starter_pack_data.h",
- "util.cc",
- "util.h",
]
public_deps = [
@@ -69,20 +47,14 @@ static_library("search_engines") {
"//components/sync",
"//components/webdata/common",
"//third_party/metrics_proto",
- "//third_party/omnibox_proto",
]
deps = [
"//base:i18n",
"//components/country_codes",
"//components/database_utils",
- "//components/infobars/core",
- "//components/lens:lens",
"//components/omnibox/common",
- "//components/policy:generated",
- "//components/policy/core/browser",
"//components/pref_registry",
- "//components/search_provider_logos:switches",
"//components/signin/public/base",
"//components/strings",
"//components/url_formatter",
@@ -94,7 +66,6 @@ static_library("search_engines") {
"//services/network/public/mojom",
"//sql",
"//third_party/metrics_proto",
- "//third_party/omnibox_proto",
"//ui/base",
"//ui/gfx",
"//ui/gfx/geometry",
@@ -120,7 +91,7 @@ static_library("search_engines") {
]
}
- if (is_linux || is_win || is_mac || is_chromeos_ash) {
+ if (false) {
sources += [
"site_search_policy_handler.cc",
"site_search_policy_handler.h",
--- src/components/search/BUILD.gn.old
+++ src/components/search/BUILD.gn
@@ -6,10 +6,6 @@ static_library("search") {
sources = [
"ntp_features.cc",
"ntp_features.h",
- "search.cc",
- "search.h",
- "search_provider_observer.cc",
- "search_provider_observer.h",
]
deps = [
++++++ remove-puffin.patch ++++++
--- src/content/utility/speech/BUILD.gn.orig
+++ src/content/utility/speech/BUILD.gn
@@ -10,7 +10,6 @@ source_set("speech_recognition_sandbox_h
deps = [
"//base",
- "//components/component_updater:component_updater",
"//components/soda:buildflags",
"//components/soda:constants",
"//sandbox/linux:sandbox_services",
--- src/chrome/common/BUILD.gn.old
+++ src/chrome/common/BUILD.gn
@@ -193,7 +193,6 @@ static_library("common_lib") {
"//chrome/installer/util:with_no_strings",
"//components/client_hints/common",
"//components/cloud_devices/common",
- "//components/component_updater",
"//components/content_settings/core/common",
"//components/crash/core/common",
"//components/device_signals/core/common:features",
--- src/components/services/screen_ai/BUILD.gn.old
+++ src/components/services/screen_ai/BUILD.gn
@@ -41,8 +41,6 @@ if (is_linux || is_chromeos) {
deps = [
"//base",
- "//components/component_updater",
- "//components/services/screen_ai/public/cpp:utilities",
"//sandbox/linux:sandbox_services",
"//ui/accessibility:ax_base",
]
++++++ remove-rust.patch ++++++
Remove this dead code which brings a dependency on rustc
--- src/components/BUILD.gn.orig 2024-03-27 16:30:09.189645288 +0100
+++ src/components/BUILD.gn 2024-03-28 23:11:14.847582213 +0100
@@ -282,7 +282,6 @@ test("components_unittests") {
"//components/profile_metrics:unit_tests",
"//components/proxy_config:unit_tests",
"//components/push_notification:unit_tests",
- "//components/qr_code_generator:unit_tests",
"//components/query_parser:unit_tests",
"//components/reading_list/core:unit_tests",
"//components/reporting/client:unit_tests",
--- src/chrome/test/BUILD.gn.orig 2024-03-27 16:37:20.829583999 +0100
+++ src/chrome/test/BUILD.gn 2024-03-28 23:15:36.696977127 +0100
@@ -1765,8 +1765,6 @@ if (!is_android && !is_fuchsia) {
"//chrome/common/privacy_budget:test_support",
"//chrome/renderer",
"//chrome/renderer/companion/visual_query:browser_tests",
- "//chrome/services/qrcode_generator/public/cpp",
- "//chrome/services/qrcode_generator/public/mojom",
"//chrome/services/removable_storage_writer:lib",
"//chrome/test/data/webui:resources_grit",
"//chrome/test/data/webui/mojo:mojo_bindings",
@@ -6818,7 +6816,6 @@ if (!is_fuchsia) {
"//chrome/common/themes:unit_tests",
"//chrome/renderer/companion/visual_query:unit_tests",
"//chrome/services/file_util:unit_tests",
- "//chrome/services/qrcode_generator/public/cpp",
"//components/account_id",
"//components/assist_ranker/proto",
"//components/autofill/content/browser:test_support",
--- src/chrome/services/qrcode_generator/BUILD.gn.orig 2024-03-27
16:30:07.952978653 +0100
+++ src/chrome/services/qrcode_generator/BUILD.gn 2024-03-28
23:20:47.829864401 +0100
@@ -15,8 +15,6 @@ source_set("qrcode_generator") {
deps = [
"//base",
"//chrome:strings",
- "//components/qr_code_generator",
- "//components/qr_code_generator:qr_code_generator_features",
"//components/vector_icons",
"//mojo/public/cpp/bindings",
"//net",
--- src/chrome/services/qrcode_generator/public/cpp/BUILD.gn.orig
2024-03-27 16:30:07.952978653 +0100
+++ src/chrome/services/qrcode_generator/public/cpp/BUILD.gn 2024-03-28
23:22:28.019734555 +0100
@@ -15,7 +15,6 @@ source_set("cpp") {
"//chrome:strings",
"//chrome/services/qrcode_generator",
"//chrome/services/qrcode_generator/public/mojom",
- "//components/qr_code_generator:qr_code_generator_features",
"//content/public/browser",
"//skia",
]
++++++ resolution_monitor-missing-bitset.patch ++++++
>From 214859e3567ea9def85305e4f021a5d407e1ccfe Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Tue, 23 Jan 2024 10:56:36 +0000
Subject: [PATCH] IWYU: missing include for usage of std::bitset in
resolution_monitor.cc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug: 957519
Change-Id: Ia538bbca63105397963632d2a145886e256efeb6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5190545
Commit-Queue: José Dapena Paz <[email protected]>
Reviewed-by: Henrik Boström <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1250732}
---
.../renderer/platform/peerconnection/resolution_monitor.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git
a/third_party/blink/renderer/platform/peerconnection/resolution_monitor.cc
b/third_party/blink/renderer/platform/peerconnection/resolution_monitor.cc
index 5d6a6495045c4..33135a1b22473 100644
--- a/third_party/blink/renderer/platform/peerconnection/resolution_monitor.cc
+++ b/third_party/blink/renderer/platform/peerconnection/resolution_monitor.cc
@@ -4,6 +4,8 @@
#include
"third_party/blink/renderer/platform/peerconnection/resolution_monitor.h"
+#include <bitset>
+
#include "base/containers/span.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
++++++ script_promise_resolver-explicit-specialization.patch ++++++
>From 8b293359cafbc741e7742de824b98fbf87a51b51 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Thu, 8 Feb 2024 09:32:57 +0000
Subject: [PATCH] Do not use templates for ScriptPromiseResolver::ToV8
implementation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The usage of templates for reusing the internal implementation of ToV8
is not making the code simpler. So, inline the implementations.
This also fixes a GCC build issue because it was implemented with
template specializations declared in the class scope, and that is
hitting the GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282
Bug: 819294
Change-Id: I51f5a9e0a6e80ac707b630f270179c29fd84b059
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5223626
Commit-Queue: José Dapena Paz <[email protected]>
Reviewed-by: Yuki Shiino <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1257835}
---
.../core/v8/script_promise_resolver.h | 60 +++++--------------
1 file changed, 14 insertions(+), 46 deletions(-)
diff --git
a/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
b/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
index 93cecd06c2814..ae0081b735a67 100644
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
+++ b/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
@@ -316,70 +316,38 @@ class CORE_EXPORT ScriptPromiseResolver
return V8String(isolate, value);
}
- template <size_t sizeOfValue>
- static v8::Local<v8::Value> ToV8SignedIntegerInternal(int64_t value,
- v8::Isolate*);
-
- template <>
- v8::Local<v8::Value> ToV8SignedIntegerInternal<4>(int64_t value,
- v8::Isolate* isolate) {
- return v8::Integer::New(isolate, static_cast<int32_t>(value));
- }
-
- template <>
- v8::Local<v8::Value> ToV8SignedIntegerInternal<8>(int64_t value,
- v8::Isolate* isolate) {
- int32_t value_in32_bit = static_cast<int32_t>(value);
- if (value_in32_bit == value) {
- return v8::Integer::New(isolate, value_in32_bit);
- }
- // V8 doesn't have a 64-bit integer implementation.
- return v8::Number::New(isolate, value);
- }
-
- template <size_t sizeOfValue>
- static v8::Local<v8::Value> ToV8UnsignedIntegerInternal(uint64_t value,
- v8::Isolate*);
-
- template <>
- v8::Local<v8::Value> ToV8UnsignedIntegerInternal<4>(uint64_t value,
- v8::Isolate* isolate) {
- return v8::Integer::NewFromUnsigned(isolate, static_cast<uint32_t>(value));
- }
-
- template <>
- v8::Local<v8::Value> ToV8UnsignedIntegerInternal<8>(uint64_t value,
- v8::Isolate* isolate) {
- uint32_t value_in32_bit = static_cast<uint32_t>(value);
- if (value_in32_bit == value) {
- return v8::Integer::NewFromUnsigned(isolate, value_in32_bit);
- }
- // V8 doesn't have a 64-bit integer implementation.
- return v8::Number::New(isolate, value);
- }
-
static v8::Local<v8::Value> ToV8(int32_t value,
v8::Local<v8::Object> creation_context,
v8::Isolate* isolate) {
- return ToV8SignedIntegerInternal<sizeof value>(value, isolate);
+ return v8::Integer::New(isolate, value);
}
static v8::Local<v8::Value> ToV8(int64_t value,
v8::Local<v8::Object> creation_context,
v8::Isolate* isolate) {
- return ToV8SignedIntegerInternal<sizeof value>(value, isolate);
+ int32_t value_in32_bit = static_cast<int32_t>(value);
+ if (value_in32_bit == value) {
+ return v8::Integer::New(isolate, value_in32_bit);
+ }
+ // V8 doesn't have a 64-bit integer implementation.
+ return v8::Number::New(isolate, value);
}
static v8::Local<v8::Value> ToV8(uint32_t value,
v8::Local<v8::Object> creation_context,
v8::Isolate* isolate) {
- return ToV8UnsignedIntegerInternal<sizeof value>(value, isolate);
+ return v8::Integer::NewFromUnsigned(isolate, value);
}
static v8::Local<v8::Value> ToV8(uint64_t value,
v8::Local<v8::Object> creation_context,
v8::Isolate* isolate) {
- return ToV8UnsignedIntegerInternal<sizeof value>(value, isolate);
+ uint32_t value_in32_bit = static_cast<uint32_t>(value);
+ if (value_in32_bit == value) {
+ return v8::Integer::NewFromUnsigned(isolate, value_in32_bit);
+ }
+ // V8 doesn't have a 64-bit integer implementation.
+ return v8::Number::New(isolate, value);
}
static v8::Local<v8::Value> ToV8(bool value,
++++++ search_engine_choice_service-missing-optional.patch ++++++
>From 4b48bc4dd6ce9c56d254e552a33a7b7c2d6fc226 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Thu, 1 Feb 2024 17:01:51 +0000
Subject: [PATCH] IWYU: usage of std::optional in
search_engine_choice_service.h requires include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug: 957519
Change-Id: If89767ae4cd261081efda97cde6a296209b68782
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5259337
Reviewed-by: Colin Blundell <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1255105}
---
.../search_engine_choice/search_engine_choice_service.h | 2 ++
1 file changed, 2 insertions(+)
diff --git
a/components/search_engines/search_engine_choice/search_engine_choice_service.h
b/components/search_engines/search_engine_choice/search_engine_choice_service.h
index b84ea7ec5fc08..c9dcce4b7c833 100644
---
a/components/search_engines/search_engine_choice/search_engine_choice_service.h
+++
b/components/search_engines/search_engine_choice/search_engine_choice_service.h
@@ -5,6 +5,8 @@
#ifndef
COMPONENTS_SEARCH_ENGINES_SEARCH_ENGINE_CHOICE_SEARCH_ENGINE_CHOICE_SERVICE_H_
#define
COMPONENTS_SEARCH_ENGINES_SEARCH_ENGINE_CHOICE_SEARCH_ENGINE_CHOICE_SERVICE_H_
+#include <optional>
+
#include "base/memory/raw_ref.h"
#include "base/memory/weak_ptr.h"
#include "components/country_codes/country_codes.h"
++++++ system-yuv.patch ++++++
--- src/build/linux/unbundle/libyuv.gn.orig
+++ src/build/linux/unbundle/libyuv.gn
@@ -1,7 +1,7 @@
import("//build/config/linux/pkg_config.gni")
import("//build/shim_headers.gni")
-pkg_config("system_yuv") {
+pkg_config("libyuv_config") {
packages = [ "libyuv" ]
}
@@ -33,5 +33,5 @@ shim_headers("libyuv_shim") {
source_set("libyuv") {
deps = [ ":libyuv_shim" ]
- public_configs = [ ":system_yuv" ]
+ public_configs = [ ":libyuv_config" ]
}
++++++ wayland-proto-31-cursor-shape.patch ++++++
++++ 821 lines (skipped)