From 0c90ee963f42ff36639aa80c3b0e01044de446b9 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 30 Aug 2021 09:34:16 -0400 Subject: [PATCH 1/5] disable userfaultd code in epel8, include crashpad_handler it works a lot better when it doesnt immediately crash because of this missing file --- chromium-92.0.4515.159-epel8-uffd-off.patch | 12 ++++++++++++ chromium.spec | 11 ++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 chromium-92.0.4515.159-epel8-uffd-off.patch diff --git a/chromium-92.0.4515.159-epel8-uffd-off.patch b/chromium-92.0.4515.159-epel8-uffd-off.patch new file mode 100644 index 0000000..dc6938e --- /dev/null +++ b/chromium-92.0.4515.159-epel8-uffd-off.patch @@ -0,0 +1,12 @@ +diff -up chromium-92.0.4515.159/base/allocator/partition_allocator/partition_alloc_config.h.epel8-uffd-off chromium-92.0.4515.159/base/allocator/partition_allocator/partition_alloc_config.h +--- chromium-92.0.4515.159/base/allocator/partition_allocator/partition_alloc_config.h.epel8-uffd-off 2021-08-30 09:25:56.878243728 -0400 ++++ chromium-92.0.4515.159/base/allocator/partition_allocator/partition_alloc_config.h 2021-08-30 09:26:12.489322762 -0400 +@@ -37,7 +37,7 @@ static_assert(sizeof(void*) != 8, ""); + #if defined(PA_HAS_64_BITS_POINTERS) && \ + (defined(OS_LINUX) || defined(OS_ANDROID)) + // TODO(bikineev): Enable for ChromeOS. +-#define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED ++#define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED 0 + #endif + + // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific diff --git a/chromium.spec b/chromium.spec index 4f13b61..ea42072 100644 --- a/chromium.spec +++ b/chromium.spec @@ -226,7 +226,7 @@ Name: chromium%{chromium_channel}%{nsuffix} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.4515.159 -Release: 1%{?dist} +Release: 2%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -360,6 +360,9 @@ Patch109: chromium-90.0.4430.93-epel7-erase-fix.patch # Again, not sure how epel8 is the only one to hit this... # AARCH64 neon symbols need to be prefixed too to prevent multiple definition issue at linktime Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch +# The implementation of linux/userfaultfd.h in EL-8 is too old to support what Chromium wants to do. Turn off the relevant chromium code. +Patch111: chromium-92.0.4515.159-epel8-uffd-off.patch + # VAAPI # Upstream turned VAAPI on in Linux in 86 @@ -1026,6 +1029,7 @@ udev. %if 0%{?rhel} == 8 # %%patch107 -p1 -b .el8-arm-incompatible-ints %patch110 -p1 -b .el8-aarch64-libpng16-symbol-prefixes +%patch111 -p1 -b .el8-uffd-off %endif # Feature specific patches @@ -1704,6 +1708,7 @@ rm -rf %{buildroot} %endif cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox + cp -a crashpad_handler %{buildroot}%{chromium_path}/crashpad_handler cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 @@ -2090,6 +2095,10 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Aug 30 2021 Tom Callaway - 92.0.4515.159-2 +- disable userfaultd code in epel8 +- include crashpad_handler (it works a lot better when it doesn't immediately crash because of this missing file) + * Tue Aug 17 2021 Tom Callaway - 92.0.4515.159-1 - update to 92.0.4515.159 From da935cef06851c414b666a7098cf2f0601126c57 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 30 Aug 2021 14:19:15 -0400 Subject: [PATCH 2/5] looks like it needs to be undefined, not just set to 0 --- chromium-92.0.4515.159-epel8-uffd-off.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium-92.0.4515.159-epel8-uffd-off.patch b/chromium-92.0.4515.159-epel8-uffd-off.patch index dc6938e..553b9b0 100644 --- a/chromium-92.0.4515.159-epel8-uffd-off.patch +++ b/chromium-92.0.4515.159-epel8-uffd-off.patch @@ -6,7 +6,7 @@ diff -up chromium-92.0.4515.159/base/allocator/partition_allocator/partition_all (defined(OS_LINUX) || defined(OS_ANDROID)) // TODO(bikineev): Enable for ChromeOS. -#define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED -+#define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED 0 ++// #define PA_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED #endif // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific From a36ca5230ab2b5f785eab9e31317818bcab9e75d Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 30 Aug 2021 18:36:00 -0400 Subject: [PATCH 3/5] disable clone3 fix for epel8 --- chromium.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index ea42072..571cadb 100644 --- a/chromium.spec +++ b/chromium.spec @@ -329,7 +329,7 @@ Patch83: chromium-92.0.4515.107-py3-fixes.patch Patch84: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-freetype-2.11.patch # https://bugs.chromium.org/p/chromium/issues/detail?id=1213452 # https://chromium.googlesource.com/chromium/src/sandbox/+/482404adee4fc0487452c7ae5ac9c192b0f4fd30%5E%21/#F0 -# Needed for F35+, but safe everywhere +# Needed for F35+, but safe everywhere (except epel8 which is too old to know about __NR_clone3) Patch85: chromium-92.0.4515.107-sandbox-clone3.patch # Clean up clang-format for python3 # thanks to Jon Nettleton @@ -1007,7 +1007,9 @@ udev. %patch82 -p1 -b .v8-constexpr %patch83 -p1 -b .py3fixes %patch84 -p1 -b .freetype-2.11 +%if 0%{?fedora} %patch85 -p1 -b .clone3 +%endif # Still using python2 in 92. # %%patch86 -p1 -b .clang-format-py3 From 8af1ce5b1dfc48d2cc58463d72b773cf94e07c27 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 31 Aug 2021 06:38:30 -0400 Subject: [PATCH 4/5] add crashpad_handler to %files --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index 571cadb..f7981ef 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1942,6 +1942,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %dir %{chromium_path} %{chromium_path}/*.bin %{chromium_path}/chrome_*.pak +%{chromium_path}/crashpad_handler %{chromium_path}/resources.pak %{chromium_path}/icudtl.dat %{chromium_path}/%{chromium_browser_channel} From ff282d654ac935512bfb7cc2db8337ad81e72e13 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 3 Sep 2021 17:34:13 -0400 Subject: [PATCH 5/5] 93 --- ...cc-fix-swiftshader-libEGL-visibility.patch | 26 ---- ...BluetoothLowEnergyScanFilter-include.patch | 30 +++++ chromium-93-ClassProperty-include.patch | 30 +++++ chromium-93-ContextSet-permissive.patch | 47 +++++++ ...olsEmbedderMessageDispatcher-include.patch | 24 ++++ chromium-93-FormForest-constexpr.patch | 49 ++++++++ chromium-93-HashPasswordManager-include.patch | 30 +++++ ...-ScopedTestDialogAutoConfirm-include.patch | 24 ++++ chromium-93-pdfium-include.patch | 117 ++++++++++++++++++ chromium-93.0.4577.63-clang-format.patch | 34 +++++ chromium-93.0.4577.63-freetype-2.11.patch | 52 ++++++++ chromium-93.0.4577.63-missing-cstring.patch | 45 +++++++ chromium-93.0.4577.63-mojo-header-fix.patch | 12 ++ chromium-93.0.4577.63-norar.patch | 90 ++++++++++++++ chromium-93.0.4577.63-py3-bootstrap.patch | 12 ++ ....0.4577.63-remoting-nodestructor-fix.patch | 21 ++++ chromium-93.0.4577.63-vector-fix.patch | 11 ++ ...um-93.0.4577.63-widevine-no-download.patch | 14 +++ chromium.spec | 117 ++++++++++-------- clean_ffmpeg.sh | 4 +- sources | 1 + 21 files changed, 711 insertions(+), 79 deletions(-) delete mode 100644 chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch create mode 100644 chromium-93-BluetoothLowEnergyScanFilter-include.patch create mode 100644 chromium-93-ClassProperty-include.patch create mode 100644 chromium-93-ContextSet-permissive.patch create mode 100644 chromium-93-DevToolsEmbedderMessageDispatcher-include.patch create mode 100644 chromium-93-FormForest-constexpr.patch create mode 100644 chromium-93-HashPasswordManager-include.patch create mode 100644 chromium-93-ScopedTestDialogAutoConfirm-include.patch create mode 100644 chromium-93-pdfium-include.patch create mode 100644 chromium-93.0.4577.63-clang-format.patch create mode 100644 chromium-93.0.4577.63-freetype-2.11.patch create mode 100644 chromium-93.0.4577.63-missing-cstring.patch create mode 100644 chromium-93.0.4577.63-mojo-header-fix.patch create mode 100644 chromium-93.0.4577.63-norar.patch create mode 100644 chromium-93.0.4577.63-py3-bootstrap.patch create mode 100644 chromium-93.0.4577.63-remoting-nodestructor-fix.patch create mode 100644 chromium-93.0.4577.63-vector-fix.patch create mode 100644 chromium-93.0.4577.63-widevine-no-download.patch diff --git a/chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch b/chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch deleted file mode 100644 index d1bbe88..0000000 --- a/chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn.gcc-swiftshader-visibility chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn ---- chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn.gcc-swiftshader-visibility 2021-02-25 16:31:51.929335783 +0000 -+++ chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libEGL/BUILD.gn 2021-02-25 16:31:51.929335783 +0000 -@@ -42,7 +42,8 @@ config("swiftshader_libEGL_private_confi - } else if (is_clang) { - defines += [ "EGLAPI=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ] - } else { -- defines += [ "EGLAPI= " ] -+ cflags += [ "-fvisibility=protected" ] -+ defines += [ "EGLAPI=__attribute__((visibility(\"protected\")))" ] - } - } - } -diff -up chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn.gcc-swiftshader-visibility chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn ---- chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn.gcc-swiftshader-visibility 2021-02-25 18:16:28.576901417 +0000 -+++ chromium-88.0.4324.182/third_party/swiftshader/src/OpenGL/libGLESv2/BUILD.gn 2021-02-25 18:17:50.356567690 +0000 -@@ -57,7 +57,8 @@ config("swiftshader_libGLESv2_private_co - } else if (is_clang) { - defines += [ "GL_APICALL=__attribute__((visibility(\"protected\"))) __attribute__((no_sanitize(\"function\")))" ] - } else { -- defines += [ "GL_APICALL= " ] -+ cflags += [ "-fvisibility=protected" ] -+ defines += [ "GL_APICALL=__attribute__((visibility(\"protected\")))" ] - } - } - } diff --git a/chromium-93-BluetoothLowEnergyScanFilter-include.patch b/chromium-93-BluetoothLowEnergyScanFilter-include.patch new file mode 100644 index 0000000..aa1c033 --- /dev/null +++ b/chromium-93-BluetoothLowEnergyScanFilter-include.patch @@ -0,0 +1,30 @@ +From 2f5514051210388bfcff605570d33f08cfa7bcaa Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 21 Jul 2021 08:34:58 +0000 +Subject: [PATCH] IWYU: usage of unique_ptr requires including in bluetooth low energy scan filter. + +Fix build because of missing include: +../../device/bluetooth/bluetooth_low_energy_scan_filter.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type + 57 | static std::unique_ptr Create( + | ^~~~~~~~~~ + +Bug: 819294 +Change-Id: I347953a083f1bcdf744fd86e1a73954c6f86b32e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041155 +Reviewed-by: Reilly Grant +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#903819} +--- + +diff --git a/device/bluetooth/bluetooth_low_energy_scan_filter.h b/device/bluetooth/bluetooth_low_energy_scan_filter.h +index a0436c1..7ae606c 100644 +--- a/device/bluetooth/bluetooth_low_energy_scan_filter.h ++++ b/device/bluetooth/bluetooth_low_energy_scan_filter.h +@@ -7,6 +7,7 @@ + + #include + #include ++#include + #include + + #include "base/time/time.h" diff --git a/chromium-93-ClassProperty-include.patch b/chromium-93-ClassProperty-include.patch new file mode 100644 index 0000000..b5f81b4 --- /dev/null +++ b/chromium-93-ClassProperty-include.patch @@ -0,0 +1,30 @@ +From 8ae99ee447cf5f0160ea4ae978cdf37f5dcecd1e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 21 Jul 2021 08:36:20 +0000 +Subject: [PATCH] IWYU: missing memory include for unique_ptr usage in class_property.h + +Fix GCC build breakage because of missing inclide: +./../ui/base/class_property.h:120:58: error: ‘std::unique_ptr’ has not been declared + 120 | T* SetProperty(const ClassProperty* property, std::unique_ptr value); + | ^~~~~~~~~~ + +Bug: 819294 +Change-Id: I46b921876702b8d44674689bbb5acdc107db21e5 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041030 +Reviewed-by: Peter Boström +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#903820} +--- + +diff --git a/ui/base/class_property.h b/ui/base/class_property.h +index f7b2f55..88b4938 100644 +--- a/ui/base/class_property.h ++++ b/ui/base/class_property.h +@@ -8,6 +8,7 @@ + #include + + #include ++#include + #include + #include + diff --git a/chromium-93-ContextSet-permissive.patch b/chromium-93-ContextSet-permissive.patch new file mode 100644 index 0000000..4606504 --- /dev/null +++ b/chromium-93-ContextSet-permissive.patch @@ -0,0 +1,47 @@ +From 7108f83c8ad1bad4072e4f32da3db6d59cf51400 Mon Sep 17 00:00:00 2001 +From: Ivan Murashov +Date: Tue, 20 Jul 2021 13:16:44 +0300 +Subject: [PATCH] GCC: Remove double declaration of ContextSet + +After the CL +https://chromium-review.googlesource.com/c/angle/angle/+/2965780 +the build with GCC failed with error: +/third_party/angle/src/libANGLE/Display.h:325:37: error: declaration of +'typedef class std::__1::set egl::Display::ContextSet' +changes meaning of 'ContextSet' [-fpermissive] +/third_party/angle/src/libANGLE/Display.h:75:7: note: 'ContextSet' +declared here as 'using ContextSet = class std::__1::set' + +To fix the error the double declaration of ContextSet is removed. + +Bug: angleproject:5878, chromium:819294 +Change-Id: Id9e52061af53ea18dd5d13b960daaa67a14f61ca +Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3038804 +Reviewed-by: Jamie Madill +Commit-Queue: Jamie Madill +--- + +diff --git a/third_party/angle/CONTRIBUTORS b/third_party/angle/CONTRIBUTORS +index 887ddc2..94b1b4d 100644 +--- a/third_party/angle/CONTRIBUTORS ++++ b/third_party/angle/CONTRIBUTORS +@@ -154,6 +154,7 @@ + + LG Electronics, Inc. + Jani Hautakangas ++ Ivan Murashov + + IBM Inc. + Junliang Yan +diff --git a/third_party/angle/src/libANGLE/Display.h b/third_party/angle/src/libANGLE/Display.h +index f33123b..f0c0910 100644 +--- a/third_party/angle/src/libANGLE/Display.h ++++ b/third_party/angle/src/libANGLE/Display.h +@@ -322,7 +322,6 @@ + + ConfigSet mConfigSet; + +- typedef std::set ContextSet; + ContextSet mContextSet; + + typedef std::set ImageSet; diff --git a/chromium-93-DevToolsEmbedderMessageDispatcher-include.patch b/chromium-93-DevToolsEmbedderMessageDispatcher-include.patch new file mode 100644 index 0000000..dae81c0 --- /dev/null +++ b/chromium-93-DevToolsEmbedderMessageDispatcher-include.patch @@ -0,0 +1,24 @@ +From 409859ad9ba763a4267fb3457df7cd8eb0b7387b Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sun, 25 Jul 2021 19:43:45 +0000 +Subject: [PATCH] IWYU: add vector for std::vector + +--- + chrome/browser/devtools/devtools_embedder_message_dispatcher.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h +index 12f8500..4007112 100644 +--- a/chrome/browser/devtools/devtools_embedder_message_dispatcher.h ++++ b/chrome/browser/devtools/devtools_embedder_message_dispatcher.h +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include "base/callback.h" + #include "ui/gfx/geometry/insets.h" +-- +2.31.1 + diff --git a/chromium-93-FormForest-constexpr.patch b/chromium-93-FormForest-constexpr.patch new file mode 100644 index 0000000..56f7492 --- /dev/null +++ b/chromium-93-FormForest-constexpr.patch @@ -0,0 +1,49 @@ +From 802150d7be94e5317b257df545d55ce5b007ae65 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 20 Jul 2021 18:50:11 +0000 +Subject: [PATCH] libstdc++: do not use unique_ptr bool() operator in a constexpr in form_forest.h + +Fix build breakage in GCC, because of calling non constexpr functions from a +constexpr function. In this case, libstdc++ unique_ptr bool() operator is not +constexpr, so it cannot be used inside CompareByFrameToken. + +An example of build breakage caused by this: + ../../components/autofill/content/browser/form_forest.h:157:21: error: call to non-‘constexpr’ function ‘std::unique_ptr<_Tp, _Dp>::operator bool() const [with _Tp = autofill::internal::FormForest::FrameData; _Dp = std::default_delete]’ + 157 | return f && g ? f->frame_token < g->frame_token : f.get() < g.get(); + | ^ + +Bug: 957519 +Change-Id: I3c49559084fe58886a03520729873b7c4ac89bbf +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041050 +Commit-Queue: Dominic Battré +Reviewed-by: Dominic Battré +Cr-Commit-Position: refs/heads/master@{#903595} +--- + +diff --git a/components/autofill/content/browser/form_forest.h b/components/autofill/content/browser/form_forest.h +index c89a8eb..f414ab8 100644 +--- a/components/autofill/content/browser/form_forest.h ++++ b/components/autofill/content/browser/form_forest.h +@@ -152,16 +152,16 @@ + // used by FrameData sets. + struct CompareByFrameToken { + using is_transparent = void; +- constexpr bool operator()(const std::unique_ptr& f, +- const std::unique_ptr& g) const { ++ bool operator()(const std::unique_ptr& f, ++ const std::unique_ptr& g) const { + return f && g ? f->frame_token < g->frame_token : f.get() < g.get(); + } +- constexpr bool operator()(const std::unique_ptr& f, +- const LocalFrameToken& g) const { ++ bool operator()(const std::unique_ptr& f, ++ const LocalFrameToken& g) const { + return f ? f->frame_token < g : true; + } +- constexpr bool operator()(const LocalFrameToken& f, +- const std::unique_ptr& g) const { ++ bool operator()(const LocalFrameToken& f, ++ const std::unique_ptr& g) const { + return g ? f < g->frame_token : false; + } + }; diff --git a/chromium-93-HashPasswordManager-include.patch b/chromium-93-HashPasswordManager-include.patch new file mode 100644 index 0000000..7e9f386 --- /dev/null +++ b/chromium-93-HashPasswordManager-include.patch @@ -0,0 +1,30 @@ +From 17d0e3dfcd0690df0e7b212fedcb95402f16935d Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 23 Jul 2021 10:17:49 +0000 +Subject: [PATCH] IWYU: missing include for using std::vector in hash password manager. + +Fix build breakage: +../../components/password_manager/core/browser/hash_password_manager.h:44:8: error: ‘vector’ in namespace ‘std’ does not name a template type + 44 | std::vector RetrieveAllPasswordHashes(); + | ^~~~~~ + +Bug: 819294 +Change-Id: I8c8a4ec3972eedb87a312c5ec56adf4a21b1b2a2 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041046 +Commit-Queue: Vasilii Sukhanov +Reviewed-by: Vasilii Sukhanov +Cr-Commit-Position: refs/heads/master@{#904696} +--- + +diff --git a/components/password_manager/core/browser/hash_password_manager.h b/components/password_manager/core/browser/hash_password_manager.h +index c762c5a..85e656ed 100644 +--- a/components/password_manager/core/browser/hash_password_manager.h ++++ b/components/password_manager/core/browser/hash_password_manager.h +@@ -6,6 +6,7 @@ + #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_ + + #include ++#include + + #include "base/callback.h" + #include "base/callback_list.h" diff --git a/chromium-93-ScopedTestDialogAutoConfirm-include.patch b/chromium-93-ScopedTestDialogAutoConfirm-include.patch new file mode 100644 index 0000000..1ff0673 --- /dev/null +++ b/chromium-93-ScopedTestDialogAutoConfirm-include.patch @@ -0,0 +1,24 @@ +From 92fc089d50fc81b9903cd0573c95749e41081474 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sun, 25 Jul 2021 21:38:26 +0000 +Subject: [PATCH] IWYU: add cstring for std::strcpy + +--- + extensions/browser/extension_dialog_auto_confirm.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extensions/browser/extension_dialog_auto_confirm.cc b/extensions/browser/extension_dialog_auto_confirm.cc +index adb4ac3..be8b161 100644 +--- a/extensions/browser/extension_dialog_auto_confirm.cc ++++ b/extensions/browser/extension_dialog_auto_confirm.cc +@@ -4,6 +4,7 @@ + + #include "extensions/browser/extension_dialog_auto_confirm.h" + ++#include + #include + + #include "base/check.h" +-- +2.31.1 + diff --git a/chromium-93-pdfium-include.patch b/chromium-93-pdfium-include.patch new file mode 100644 index 0000000..72f2abd --- /dev/null +++ b/chromium-93-pdfium-include.patch @@ -0,0 +1,117 @@ +From 7a6289c5ace52cf88f0e19caa5f78b7c15d0e7a6 Mon Sep 17 00:00:00 2001 +From: Miklos Vajna +Date: Wed, 21 Jul 2021 17:42:30 +0000 +Subject: [PATCH] fxcodec, fxge: fix missing includes with libstdc++ + +These missing includes break the build with gcc/libstdc++, they were not +a problem in practice with clang/libc++. + +Change-Id: I40013f97ba7ab06f32aa59f87b04aec06a19478c +Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83210 +Commit-Queue: Lei Zhang +Reviewed-by: Lei Zhang +--- + +diff --git a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp +index cea0679..036f250 100644 +--- a/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp ++++ b/third_party/pdfium/core/fxcodec/jpeg/jpegmodule.cpp +@@ -7,6 +7,7 @@ + #include "core/fxcodec/jpeg/jpegmodule.h" + + #include ++#include + + #include + #include +diff --git a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp +index c66985a..9c1122b 100644 +--- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp ++++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxcodec/jpx/cjpx_decoder.h" + ++#include ++ + #include + #include + #include +diff --git a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp +index 5369d52..d198852 100644 +--- a/third_party/pdfium/core/fxge/cfx_cliprgn.cpp ++++ b/third_party/pdfium/core/fxge/cfx_cliprgn.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/cfx_cliprgn.h" + ++#include ++ + #include + + #include "core/fxge/dib/cfx_dibitmap.h" +diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp +index 6f9b420..0f1ffae 100644 +--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp ++++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapcomposer.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_bitmapcomposer.h" + ++#include ++ + #include "core/fxge/cfx_cliprgn.h" + #include "core/fxge/dib/cfx_dibitmap.h" + +diff --git a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp +index f57c00e..45a0a18 100644 +--- a/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp ++++ b/third_party/pdfium/core/fxge/dib/cfx_bitmapstorer.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_bitmapstorer.h" + ++#include ++ + #include + + #include "core/fxge/dib/cfx_dibitmap.h" +diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp +index 4ec0ddb..a1de2fb 100644 +--- a/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp ++++ b/third_party/pdfium/core/fxge/dib/cfx_dibbase.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_dibbase.h" + ++#include ++ + #include + #include + #include +diff --git a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp +index d7ccf6c..94e8acc 100644 +--- a/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp ++++ b/third_party/pdfium/core/fxge/dib/cfx_dibitmap.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_dibitmap.h" + ++#include ++ + #include + #include + #include +diff --git a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp +index e8362d7..c04c6dc 100644 +--- a/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp ++++ b/third_party/pdfium/core/fxge/dib/cfx_scanlinecompositor.cpp +@@ -6,6 +6,8 @@ + + #include "core/fxge/dib/cfx_scanlinecompositor.h" + ++#include ++ + #include + + #include "core/fxge/dib/fx_dib.h" diff --git a/chromium-93.0.4577.63-clang-format.patch b/chromium-93.0.4577.63-clang-format.patch new file mode 100644 index 0000000..77e842e --- /dev/null +++ b/chromium-93.0.4577.63-clang-format.patch @@ -0,0 +1,34 @@ +diff -up chromium-93.0.4577.63/buildtools/linux64/clang-format.clang-format-py3 chromium-93.0.4577.63/buildtools/linux64/clang-format +--- chromium-93.0.4577.63/buildtools/linux64/clang-format.clang-format-py3 2021-09-03 04:42:46.736294345 +0000 ++++ chromium-93.0.4577.63/buildtools/linux64/clang-format 2021-09-03 04:59:55.296512600 +0000 +@@ -10,9 +10,9 @@ import sys + args = sys.argv[1:] + inputfiles = [a for a in args if not a.startswith('-')] + +-contents = '' ++contents = b'' + if '-' in args or not inputfiles: +- contents = sys.stdin.read() ++ contents = sys.stdin.buffer.read() + + # Tarball builds may or may not have depot_tools in $PATH. In the former case, + # running 'clang-format' will call back into this script infinitely. Strip off +@@ -34,14 +34,14 @@ try: + stdout, stderr = proc.communicate(input=contents) + # Ignore if clang-format fails. Eg: it may be too old to support C++14. + if proc.returncode == 0: +- sys.stdout.write(stdout) +- sys.stderr.write(stderr) ++ sys.stdout.buffer.write(stdout) ++ sys.stderr.buffer.write(stderr) + sys.exit(0) + except OSError: + # Ignore if clang-format is not installed. + pass + + # If any failure happens, continue with unformatted files. +-sys.stdout.write(contents) ++sys.stdout.buffer.write(contents) + for inputfile in inputfiles: +- sys.stdout.write(open(inputfile).read()) ++ sys.stdout.buffer.write(open(inputfile).read()) diff --git a/chromium-93.0.4577.63-freetype-2.11.patch b/chromium-93.0.4577.63-freetype-2.11.patch new file mode 100644 index 0000000..0c0e95e --- /dev/null +++ b/chromium-93.0.4577.63-freetype-2.11.patch @@ -0,0 +1,52 @@ +diff -up chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp +--- chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp.freetype-2.11 2021-09-02 08:49:18.996863417 -0400 ++++ chromium-93.0.4577.63/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp 2021-09-02 08:56:07.716626801 -0400 +@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas, + canvas->drawPaint(colrPaint); + break; + } ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 + case FT_COLR_PAINTFORMAT_TRANSFORM: ++#else ++ case FT_COLR_PAINTFORMAT_TRANSFORMED: ++#endif + case FT_COLR_PAINTFORMAT_TRANSLATE: + case FT_COLR_PAINTFORMAT_SCALE: + case FT_COLR_PAINTFORMAT_ROTATE: +@@ -760,10 +764,17 @@ void colrv1_transform(SkCanvas* canvas, + SkMatrix transform; + + switch (colrv1_paint.format) { ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 + case FT_COLR_PAINTFORMAT_TRANSFORM: { + transform = ToSkMatrix(colrv1_paint.u.transform.affine); + break; + } ++#else ++ case FT_COLR_PAINTFORMAT_TRANSFORMED: { ++ transform = ToSkMatrix(colrv1_paint.u.transformed.affine); ++ break; ++ } ++#endif + case FT_COLR_PAINTFORMAT_TRANSLATE: { + transform = SkMatrix::Translate( + SkFixedToScalar(colrv1_paint.u.translate.dx), +@@ -889,11 +900,18 @@ bool colrv1_traverse_paint(SkCanvas* can + traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID, + FT_COLOR_NO_ROOT_TRANSFORM); + break; ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 + case FT_COLR_PAINTFORMAT_TRANSFORM: + colrv1_transform(canvas, face, paint); + traverse_result = colrv1_traverse_paint(canvas, palette, face, + paint.u.transform.paint, visited_set); + break; ++#else ++ case FT_COLR_PAINTFORMAT_TRANSFORMED: ++ colrv1_transform(canvas, face, paint); ++ traverse_result = colrv1_traverse_paint(canvas, palette, face, ++ paint.u.transformed.paint, visited_set); ++#endif + case FT_COLR_PAINTFORMAT_TRANSLATE: + colrv1_transform(canvas, face, paint); + traverse_result = colrv1_traverse_paint(canvas, palette, face, diff --git a/chromium-93.0.4577.63-missing-cstring.patch b/chromium-93.0.4577.63-missing-cstring.patch new file mode 100644 index 0000000..47699a3 --- /dev/null +++ b/chromium-93.0.4577.63-missing-cstring.patch @@ -0,0 +1,45 @@ +diff -up chromium-93.0.4577.63/net/base/test_data_stream.cc.missing-cstring chromium-93.0.4577.63/net/base/test_data_stream.cc +--- chromium-93.0.4577.63/net/base/test_data_stream.cc.missing-cstring 2021-09-03 13:59:54.051831465 +0000 ++++ chromium-93.0.4577.63/net/base/test_data_stream.cc 2021-09-03 14:00:05.448414041 +0000 +@@ -5,6 +5,7 @@ + #include "net/base/test_data_stream.h" + + #include ++#include + + namespace net { + +diff -up chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc +--- chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2021-09-03 12:29:44.105246962 +0000 ++++ chromium-93.0.4577.63/third_party/webrtc/audio/utility/channel_mixer.cc 2021-09-03 12:29:44.106246925 +0000 +@@ -8,6 +8,8 @@ + * be found in the AUTHORS file in the root of the source tree. + */ + ++#include ++ + #include "audio/utility/channel_mixer.h" + + #include "audio/utility/channel_mixing_matrix.h" +diff -up chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc +--- chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2021-09-03 12:29:43.585266089 +0000 ++++ chromium-93.0.4577.63/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2021-09-03 12:29:43.585266089 +0000 +@@ -23,6 +23,7 @@ + #include + #include + ++#include + #include + #include + +diff -up chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc +--- chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2021-09-03 12:29:43.275277492 +0000 ++++ chromium-93.0.4577.63/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2021-09-03 12:29:43.273277565 +0000 +@@ -10,6 +10,7 @@ + + #include "modules/video_coding/utility/ivf_file_reader.h" + ++#include + #include + #include + diff --git a/chromium-93.0.4577.63-mojo-header-fix.patch b/chromium-93.0.4577.63-mojo-header-fix.patch new file mode 100644 index 0000000..edd66ef --- /dev/null +++ b/chromium-93.0.4577.63-mojo-header-fix.patch @@ -0,0 +1,12 @@ +diff -up chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h.mojo-header-fix chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h +--- chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h.mojo-header-fix 2021-09-03 17:22:17.902206557 +0000 ++++ chromium-93.0.4577.63/services/network/test/test_url_loader_factory.h 2021-09-03 17:22:31.853693947 +0000 +@@ -19,7 +19,7 @@ + #include "services/network/public/cpp/resource_request.h" + #include "services/network/public/mojom/url_loader.mojom.h" + #include "services/network/public/mojom/url_loader_factory.mojom.h" +-#include "services/network/public/mojom/url_response_head.mojom-forward.h" ++#include "services/network/public/mojom/url_response_head.mojom.h" + + namespace network { + class WeakWrapperSharedURLLoaderFactory; diff --git a/chromium-93.0.4577.63-norar.patch b/chromium-93.0.4577.63-norar.patch new file mode 100644 index 0000000..5b453ca --- /dev/null +++ b/chromium-93.0.4577.63-norar.patch @@ -0,0 +1,90 @@ +diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn +--- chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-09-02 08:22:31.280927364 -0400 ++++ chromium-93.0.4577.63/chrome/common/safe_browsing/BUILD.gn 2021-09-02 08:23:32.143189935 -0400 +@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) { + public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] + } + +- source_set("rar_analyzer") { +- sources = [ +- "rar_analyzer.cc", +- "rar_analyzer.h", +- ] +- +- deps = [ +- ":archive_analyzer_results", +- ":download_type_util", +- "//base", +- "//base:i18n", +- "//components/safe_browsing/content/common:file_type_policies", +- "//components/safe_browsing/core/common", +- "//third_party/unrar:unrar", +- ] +- +- defines = [ +- "_FILE_OFFSET_BITS=64", +- "LARGEFILE_SOURCE", +- "RAR_SMP", +- "SILENT", +- +- # The following is set to disable certain macro definitions in the unrar +- # source code. +- "CHROMIUM_UNRAR", +- +- # Disables exceptions in unrar, replaces them with process termination. +- "UNRAR_NO_EXCEPTIONS", +- ] +- +- public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] +- } +- + if (is_mac) { + source_set("disk_image_type_sniffer_mac") { + sources = [ +@@ -149,7 +116,6 @@ source_set("safe_browsing") { + ":archive_analyzer_results", + ":binary_feature_extractor", + ":download_type_util", +- ":rar_analyzer", + "//components/safe_browsing/core/common", + ] + +diff -up chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS +--- chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS.nounrar 2021-09-02 08:22:31.280927364 -0400 ++++ chromium-93.0.4577.63/chrome/common/safe_browsing/DEPS 2021-09-02 08:23:56.092293262 -0400 +@@ -2,6 +2,5 @@ include_rules = [ + "+components/safe_browsing/content/common", + "+components/safe_browsing/core/common", + "+third_party/protobuf", +- "+third_party/unrar", + "+third_party/zlib", + ] +diff -up chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn +--- chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn.nounrar 2021-08-31 21:39:29.000000000 -0400 ++++ chromium-93.0.4577.63/chrome/services/file_util/BUILD.gn 2021-09-02 08:22:31.280927364 -0400 +@@ -50,7 +50,6 @@ source_set("file_util") { + deps += [ + "//chrome/common/safe_browsing", + "//chrome/common/safe_browsing:archive_analyzer_results", +- "//chrome/common/safe_browsing:rar_analyzer", + ] + } + +diff -up chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-08-31 21:39:29.000000000 -0400 ++++ chromium-93.0.4577.63/chrome/services/file_util/safe_archive_analyzer.cc 2021-09-02 08:22:31.281927369 -0400 +@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile + void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, + base::File temporary_file, + AnalyzeRarFileCallback callback) { ++#if 0 + DCHECK(rar_file.IsValid()); + + safe_browsing::ArchiveAnalyzerResults results; + safe_browsing::rar_analyzer::AnalyzeRarFile( + std::move(rar_file), std::move(temporary_file), &results); + std::move(callback).Run(results); ++#else ++ NOTREACHED(); ++#endif + } diff --git a/chromium-93.0.4577.63-py3-bootstrap.patch b/chromium-93.0.4577.63-py3-bootstrap.patch new file mode 100644 index 0000000..899495f --- /dev/null +++ b/chromium-93.0.4577.63-py3-bootstrap.patch @@ -0,0 +1,12 @@ +diff -up chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py.py3 chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py +--- chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py.py3 2021-08-31 21:40:34.000000000 -0400 ++++ chromium-93.0.4577.63/tools/gn/bootstrap/bootstrap.py 2021-09-02 08:26:04.415846917 -0400 +@@ -130,7 +130,7 @@ def main(argv): + if not options.debug: + gn_gen_args += ' is_debug=false' + subprocess.check_call([ +- gn_path, 'gen', out_dir, ++ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python3', + '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT + ]) + diff --git a/chromium-93.0.4577.63-remoting-nodestructor-fix.patch b/chromium-93.0.4577.63-remoting-nodestructor-fix.patch new file mode 100644 index 0000000..6f2e419 --- /dev/null +++ b/chromium-93.0.4577.63-remoting-nodestructor-fix.patch @@ -0,0 +1,21 @@ +diff -up chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc +--- chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc.remoting-nodestructor-fix 2021-09-03 17:30:44.162605313 +0000 ++++ chromium-93.0.4577.63/remoting/host/remote_open_url_client.cc 2021-09-03 17:31:01.017986003 +0000 +@@ -56,7 +56,7 @@ void ShowMessageDialog(const std::string + } + + bool IsBrowserValid(const std::string& browser) { +- static const base::NoDestructor> invalid_browsers( ++ static const base::NoDestructor> invalid_browsers{ + { + // This is the chromoting forwarder itself. + "crd-url-forwarder.desktop", +@@ -64,7 +64,7 @@ bool IsBrowserValid(const std::string& b + // XFCE's forwarder. May potentially launch the chromoting forwarder + // recursively. + "xfce4-web-browser.desktop", +- }); ++ }}; + if (browser.empty()) { + return false; + } diff --git a/chromium-93.0.4577.63-vector-fix.patch b/chromium-93.0.4577.63-vector-fix.patch new file mode 100644 index 0000000..00e7d62 --- /dev/null +++ b/chromium-93.0.4577.63-vector-fix.patch @@ -0,0 +1,11 @@ +diff -up chromium-93.0.4577.63/components/cast_channel/enum_table.h.vector-fix chromium-93.0.4577.63/components/cast_channel/enum_table.h +--- chromium-93.0.4577.63/components/cast_channel/enum_table.h.vector-fix 2021-09-03 12:23:37.974714814 +0000 ++++ chromium-93.0.4577.63/components/cast_channel/enum_table.h 2021-09-03 12:23:51.330223540 +0000 +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include "base/check_op.h" + #include "base/macros.h" diff --git a/chromium-93.0.4577.63-widevine-no-download.patch b/chromium-93.0.4577.63-widevine-no-download.patch new file mode 100644 index 0000000..1266e51 --- /dev/null +++ b/chromium-93.0.4577.63-widevine-no-download.patch @@ -0,0 +1,14 @@ +diff -up chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc.widevine-no-download chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc +--- chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc.widevine-no-download 2021-09-02 08:37:03.910692041 -0400 ++++ chromium-93.0.4577.63/chrome/browser/component_updater/registration.cc 2021-09-02 08:45:07.446778150 -0400 +@@ -118,10 +118,6 @@ void RegisterComponentsForUpdate(bool is + RegisterMediaFoundationWidevineCdmComponent(cus); + #endif + +-#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) +- RegisterWidevineCdmComponent(cus); +-#endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) +- + #if BUILDFLAG(ENABLE_NACL) && !defined(OS_ANDROID) + #if BUILDFLAG(IS_CHROMEOS_ASH) + // PNaCl on Chrome OS is on rootfs and there is no need to download it. But diff --git a/chromium.spec b/chromium.spec index f7981ef..088e026 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@ # This flag is so I can build things very fast on a giant system. # Do not enable in Koji builds. -%global use_all_cpus 0 +%global use_all_cpus 1 %if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} @@ -31,8 +31,7 @@ # This doesn't work and it doesn't even build as of Chromium 83 %global build_remoting 1 -# This will probably be truely possible with Chromium 93 -# Right now, we fake it a bit and pull in both python2 and python3 stacks. sorry. +# This is finally possible with Chromium 93 %global build_with_python3 1 %if 0%{?build_with_python3} @@ -140,7 +139,7 @@ BuildRequires: libicu-devel >= 5.4 # Fedora's Python 2 stack is being removed, we use the bundled Python libraries # This can be revisited once we upgrade to Python 3 -%global bundlepylibs 1 +%global bundlepylibs 0 # RHEL 7.9 dropped minizip. # It exists everywhere else though. @@ -218,15 +217,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 92 +%global majorversion 93 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.4515.159 -Release: 2%{?dist} +Version: %{majorversion}.0.4577.63 +Release: 1%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -254,7 +253,7 @@ Patch4: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch6: chromium-92.0.4515.107-norar.patch +Patch6: chromium-93.0.4577.63-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch Patch7: chromium-71.0.3578.98-widevine-r3.patch @@ -264,9 +263,9 @@ Patch8: chromium-91.0.4472.77-disable-fontconfig-cache-magic.patch Patch9: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places Patch10: chromium-92.0.4515.107-widevine-other-locations.patch -# Try to fix version.py for Rawhide +# Tell bootstrap.py to always use the version of Python we specify %if 0%{?build_with_python3} -Patch11: chromium-92.0.4515.107-py3-bootstrap.patch +Patch11: chromium-93.0.4577.63-py3-bootstrap.patch %else Patch11: chromium-92.0.4515.107-py2-bootstrap.patch %endif @@ -284,7 +283,7 @@ Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch # ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared Patch56: chromium-80.0.3987.87-missing-cstdint-header.patch # Missing (thanks c++17) -Patch57: chromium-89.0.4389.72-missing-cstring-header.patch +Patch57: chromium-93.0.4577.63-missing-cstring.patch # prepare for using system ffmpeg (clean) # http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch @@ -314,26 +313,45 @@ Patch68: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch Patch75: chromium-90.0.4430.72-fstatfix.patch # Rawhide (f35) glibc defines SIGSTKSZ as a long instead of a constant Patch76: chromium-92.0.4515.107-rawhide-gcc-std-max-fix.patch -# Fix symbol visibility with gcc on swiftshader's libEGL -Patch77: chromium-88.0.4324.182-gcc-fix-swiftshader-libEGL-visibility.patch # Do not download proprietary widevine module in the background (thanks Debian) -Patch79: chromium-90.0.4430.72-widevine-no-download.patch +Patch79: chromium-93.0.4577.63-widevine-no-download.patch # Fix crashes with components/cast_* # Thanks to Gentoo Patch80: chromium-92.0.4515.107-EnumTable-crash.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-92-v8-constexpr.patch -Patch82: chromium-92-v8-constexpr.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-BluetoothLowEnergyScanFilter-include.patch +Patch81: chromium-93-BluetoothLowEnergyScanFilter-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-ClassProperty-include.patch +Patch82: chromium-93-ClassProperty-include.patch # Fixes for python3 Patch83: chromium-92.0.4515.107-py3-fixes.patch -# Fix build with Freetype 2.11 -Patch84: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-freetype-2.11.patch -# https://bugs.chromium.org/p/chromium/issues/detail?id=1213452 -# https://chromium.googlesource.com/chromium/src/sandbox/+/482404adee4fc0487452c7ae5ac9c192b0f4fd30%5E%21/#F0 -# Needed for F35+, but safe everywhere (except epel8 which is too old to know about __NR_clone3) -Patch85: chromium-92.0.4515.107-sandbox-clone3.patch +# Support older freetype than 2.11 (for epel8) +Patch84: chromium-93.0.4577.63-freetype-2.11.patch # Clean up clang-format for python3 # thanks to Jon Nettleton -Patch86: chromium-92-clang-format.patch +Patch86: chromium-93.0.4577.63-clang-format.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-ContextSet-permissive.patch +Patch87: chromium-93-ContextSet-permissive.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-DevToolsEmbedderMessageDispatcher-include.patch +Patch88: chromium-93-DevToolsEmbedderMessageDispatcher-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-FormForest-constexpr.patch +Patch89: chromium-93-FormForest-constexpr.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-HashPasswordManager-include.patch +Patch90: chromium-93-HashPasswordManager-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-pdfium-include.patch +Patch91: chromium-93-pdfium-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-93-ScopedTestDialogAutoConfirm-include.patch +Patch92: chromium-93-ScopedTestDialogAutoConfirm-include.patch +# In file included from ../../components/cast_channel/enum_table.cc:5: +# ../../components/cast_channel/enum_table.h:359:18: error: 'vector' in namespace 'std' does not name a template type +# 359 | const std::vector data_; +# | ^~~~~~ +# ../../components/cast_channel/enum_table.h:18:1: note: 'std::vector' is defined in header ''; did you forget to '#include '? +Patch93: chromium-93.0.4577.63-vector-fix.patch +# Fix NoDestructor issue with gcc +Patch94: chromium-93.0.4577.63-remoting-nodestructor-fix.patch +# include full UrlResponseHead header +Patch95: chromium-93.0.4577.63-mojo-header-fix.patch + # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -556,13 +574,13 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) %endif BuildRequires: %{chromium_pybin} -# %%if ! %%{build_with_python3} +%if ! %{build_with_python3} BuildRequires: python2-devel -# %%else +%else BuildRequires: python3-devel -# %%endif +%endif -# %%if 0%{?build_with_python3} +%if 0%{?build_with_python3} %if 0%{?bundlepylibs} # Using bundled bits, do nothing. %else @@ -581,7 +599,7 @@ BuildRequires: python-ply %endif BuildRequires: python3-simplejson %endif -#%%else +%else %if 0%{?bundlepylibs} # Using bundled bits, do nothing. %else @@ -600,7 +618,7 @@ BuildRequires: python-ply %endif BuildRequires: python2-simplejson %endif -# %%endif +%endif %if 0%{?bundlere2} @@ -1001,17 +1019,22 @@ udev. %if 0%{?fedora} >= 35 %patch76 -p1 -b .sigstkszfix %endif -%patch77 -p1 -b .gcc-swiftshader-visibility %patch79 -p1 -b .widevine-no-download %patch80 -p1 -b .EnumTable-crash -%patch82 -p1 -b .v8-constexpr +%patch81 -p1 -b .BluetoothLowEnergyScanFilter-include +%patch82 -p1 -b .ClassProperty-include %patch83 -p1 -b .py3fixes %patch84 -p1 -b .freetype-2.11 -%if 0%{?fedora} -%patch85 -p1 -b .clone3 -%endif -# Still using python2 in 92. -# %%patch86 -p1 -b .clang-format-py3 +%patch86 -p1 -b .clang-format-py3 +%patch87 -p1 -b .ContextSet-permissive +%patch88 -p1 -b .DevToolsEmbedderMessageDispatcher-include +%patch89 -p1 -b .FormForest-constexpr +%patch90 -p1 -b .HashPasswordManager-include +%patch91 -p1 -b .pdfium-include +%patch92 -p1 -b .ScopedTestDialogAutoConfirm-include +%patch93 -p1 -b .vector-fix +%patch94 -p1 -b .remoting-nodestructor-fix +%patch95 -p1 -b .mojo-header-fix # Fedora branded user agent %if 0%{?fedora} @@ -1247,7 +1270,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/angle/src/common/third_party/base' \ 'third_party/angle/src/common/third_party/smhasher' \ 'third_party/angle/src/common/third_party/xxhash' \ - 'third_party/angle/src/third_party/compiler' \ 'third_party/angle/src/third_party/libXNVCtrl' \ 'third_party/angle/src/third_party/trace_event' \ 'third_party/angle/src/third_party/volk' \ @@ -1286,6 +1308,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/dav1d' \ 'third_party/dawn' \ 'third_party/dawn/third_party/khronos' \ + 'third_party/dawn/third_party/tint' \ 'third_party/depot_tools' \ 'third_party/devscripts' \ 'third_party/devtools-frontend' \ @@ -1371,15 +1394,14 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/lss' \ 'third_party/lzma_sdk' \ 'third_party/mako' \ -%if 0%{?bundlepylibs} 'third_party/markupsafe' \ -%endif 'third_party/mesa' \ 'third_party/metrics_proto' \ 'third_party/minigbm' \ 'third_party/modp_b64' \ 'third_party/nasm' \ 'third_party/nearby' \ + 'third_party/neon_2_sse' \ 'third_party/node' \ 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \ 'third_party/one_euro_filter' \ @@ -1474,7 +1496,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/zlib' \ 'third_party/zlib/google' \ 'tools/gn/src/base/third_party/icu' \ - 'tools/grit/third_party/six' \ 'url/third_party/mozilla' \ 'v8/src/third_party/siphash' \ 'v8/src/third_party/utf8-decoder' \ @@ -1483,17 +1504,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'v8/third_party/inspector_protocol' \ --do-remove -%if ! 0%{?bundlepylibs} -# Look, I don't know. This package is spit and chewing gum. Sorry. -rm -rf third_party/markupsafe -%if 0%{?build_with_python3} -ln -s %{python3_sitearch}/markupsafe third_party/markupsafe -%else -ln -s %{python2_sitearch}/markupsafe third_party/markupsafe -%endif -# We should look on removing other python packages as well i.e. ply -%endif - # Fix hardcoded path in remoting code sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc @@ -1641,7 +1651,7 @@ tar xf %{SOURCE20} %endif # export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints:../../xcb-proto-1.14" -export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-1.14" +export PYTHONPATH="../../third_party/pyjson5/src:../../xcb-proto-1.14:../../third_party/catapult/third_party/html5lib-1.1" echo # Now do the full browser @@ -2098,6 +2108,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Sep 2 2021 Tom Callaway - 93.0.4577.63-1 +- update to 93.0.4577.63 + * Mon Aug 30 2021 Tom Callaway - 92.0.4515.159-2 - disable userfaultd code in epel8 - include crashpad_handler (it works a lot better when it doesn't immediately crash because of this missing file) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index ac34ca2..518eb5e 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -236,6 +236,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavcodec/hpeldsp.c \ libavcodec/mdct15.c \ libavcodec/mdct_template.c \ + libavcodec/options.c \ libavcodec/pel_template.c \ libavcodec/utils.c \ libavcodec/videodsp.c \ @@ -255,7 +256,9 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavutil/fixed_dsp.c \ libavutil/float_dsp.c \ libavutil/imgutils.c \ + libavutil/tx_float.c \ libavutil/tx_template.c \ + libavutil/utils.c \ libavutil/x86/cpu.c \ libavutil/x86/float_dsp_init.c \ libavutil/x86/x86inc.asm \ @@ -276,7 +279,6 @@ mp3_files=" libavcodec/aarch64/aacpsdsp_init_aarch64.c \ libavcodec/aacsbr.c \ libavcodec/aactab.c \ libavcodec/ac3tab.c \ - libavcodec/autorename_libavcodec_aacdec.c \ libavcodec/autorename_libavcodec_mpegaudiodsp.c \ libavcodec/autorename_libavcodec_sbrdsp.c \ libavcodec/cbrt_data.c \ diff --git a/sources b/sources index aef7285..8bf3438 100644 --- a/sources +++ b/sources @@ -21,3 +21,4 @@ SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961b SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (chromium-92.0.4515.159-clean.tar.xz) = e5062c35c55232f672008d7c4a06daa69a92e0ed4104ea78e60280e2d7d20bcbf1b52c33229fd3b81983b02cbc949d188e5385b6250662248e11660d1fced31d +SHA512 (chromium-93.0.4577.63-clean.tar.xz) = a8d6ad79a52e2df7a12c5922df41855a70f6dddcb76ec5e25177d9b0d565634074de1d86fbc1f894be259f37736d44ee231567596d7a37de96de11a010f2c5d9