diff --git a/extra/chromium/0001-widevine-support-for-arm.patch b/extra/chromium/0001-widevine-support-for-arm.patch index 765a17e5a..087b287d2 100644 --- a/extra/chromium/0001-widevine-support-for-arm.patch +++ b/extra/chromium/0001-widevine-support-for-arm.patch @@ -1,14 +1,14 @@ -From 3311ca967f715a5db12affdcd06e5cf90e6afaeb Mon Sep 17 00:00:00 2001 +From c73efdeae5bd140073b8bb7f92a73e8993985160 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 18 Feb 2021 19:35:58 -0700 -Subject: [PATCH 1/4] widevine support for arm +Subject: [PATCH 1/3] widevine support for arm --- third_party/widevine/cdm/widevine.gni | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni -index 4933cf6cdd2d5..37db4965c5b4c 100644 +index a0241bca3251c..c86ac17ed5d81 100644 --- a/third_party/widevine/cdm/widevine.gni +++ b/third_party/widevine/cdm/widevine.gni @@ -26,7 +26,7 @@ if (is_chromeos && !is_chromeos_device) { diff --git a/extra/chromium/0002-Run-blink-bindings-generation-single-threaded.patch b/extra/chromium/0002-Run-blink-bindings-generation-single-threaded.patch index a34e3146a..1ac010964 100644 --- a/extra/chromium/0002-Run-blink-bindings-generation-single-threaded.patch +++ b/extra/chromium/0002-Run-blink-bindings-generation-single-threaded.patch @@ -1,7 +1,7 @@ -From 12647123677280381e88451287fefdbafde994d0 Mon Sep 17 00:00:00 2001 +From 7d726d07b38e3f1e07f19e0eda575a3c64f82a41 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 2 Feb 2021 13:58:59 -0700 -Subject: [PATCH 2/4] Run blink bindings generation single threaded +Subject: [PATCH 2/3] Run blink bindings generation single threaded When not single threaded this process will eat all the RAM. --- @@ -9,7 +9,7 @@ When not single threaded this process will eat all the RAM. 1 file changed, 1 insertion(+) diff --git a/third_party/blink/renderer/bindings/BUILD.gn b/third_party/blink/renderer/bindings/BUILD.gn -index c468bf2c8fa43..b135cb435a2e1 100644 +index 1288dfbf63614..613d299f85038 100644 --- a/third_party/blink/renderer/bindings/BUILD.gn +++ b/third_party/blink/renderer/bindings/BUILD.gn @@ -148,6 +148,7 @@ template("generate_bindings") { diff --git a/extra/chromium/0003-Fix-eu-strip-build-for-newer-GCC.patch b/extra/chromium/0003-Fix-eu-strip-build-for-newer-GCC.patch index 25c9ab6ca..ac4c6b666 100644 --- a/extra/chromium/0003-Fix-eu-strip-build-for-newer-GCC.patch +++ b/extra/chromium/0003-Fix-eu-strip-build-for-newer-GCC.patch @@ -1,7 +1,7 @@ -From e06264f0e37e789ffd120eed9add04f8e28b843c Mon Sep 17 00:00:00 2001 +From e8804544a4b9ec764b1da9d6d39e1906f21cce11 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 21 Jul 2021 21:37:31 -0600 -Subject: [PATCH 3/4] Fix eu-strip build for newer GCC +Subject: [PATCH 3/3] Fix eu-strip build for newer GCC --- .../third_party/eu-strip/0001-gcc-fixes.patch | 656 ++++++++++++++++++ diff --git a/extra/chromium/0004-Fix-missing-cmath-header-build-failure-in-renderer-e.patch b/extra/chromium/0004-Fix-missing-cmath-header-build-failure-in-renderer-e.patch deleted file mode 100644 index c210bce3c..000000000 --- a/extra/chromium/0004-Fix-missing-cmath-header-build-failure-in-renderer-e.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7eb17cf705a9e38fb9f9b82331398d3ed50bce63 Mon Sep 17 00:00:00 2001 -From: Andres Salomon -Date: Wed, 28 Sep 2022 03:41:16 +0000 -Subject: [PATCH 4/4] Fix missing cmath header build failure in renderer - extension - -Building 106.0.5249.51 on a Debian machine, I hit the following -build error: - -FAILED: obj/extensions/renderer/renderer/argument_spec.o -clang++ [...] -o obj/extensions/renderer/renderer/argument_spec.o -../../extensions/renderer/bindings/argument_spec.cc:410:16: error: no member named 'isnan' in namespace 'std' - if (std::isnan(double_val) || std::isinf(double_val)) { - ~~~~~^ -../../extensions/renderer/bindings/argument_spec.cc:410:42: error: no member named 'isinf' in namespace 'std' - if (std::isnan(double_val) || std::isinf(double_val)) { - ~~~~~^ -2 errors generated. - -isnan and isinf are both found in the cmath header, so simply -including it fixes that build error. - -R=rdevlin.cronin@chromium.org, tjudkins@chromium.org - -Change-Id: I95c49a8f90a5a734b62b8988dc3138e3afa3c6f6 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3913616 -Commit-Queue: Andres Salomon -Auto-Submit: Andres Salomon -Reviewed-by: Tim -Cr-Commit-Position: refs/heads/main@{#1052196} ---- - extensions/renderer/bindings/argument_spec.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/extensions/renderer/bindings/argument_spec.cc b/extensions/renderer/bindings/argument_spec.cc -index ba6c258e0c38b..e0916660f68f1 100644 ---- a/extensions/renderer/bindings/argument_spec.cc -+++ b/extensions/renderer/bindings/argument_spec.cc -@@ -4,6 +4,8 @@ - - #include "extensions/renderer/bindings/argument_spec.h" - -+#include -+ - #include "base/check.h" - #include "base/strings/string_piece.h" - #include "base/strings/string_util.h" --- -2.37.3 - diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 4e288efdc..05f3037dc 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -15,10 +15,10 @@ highmem=1 pkgname=chromium -pkgver=107.0.5304.121 +pkgver=108.0.5359.71 pkgrel=1 _launcher_ver=8 -_gcc_patchset=1 +_gcc_patchset=2 pkgdesc="A web browser built for speed, simplicity, and security" arch=('x86_64') url="https://www.chromium.org/Home" @@ -36,31 +36,27 @@ options=('!lto') # Chromium adds its own flags for ThinLTO source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz - unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch re-fix-TFLite-build-error-on-linux-with-system-zlib.patch - REVERT-enable-GlobalMediaControlsCastStartStop.patch REVERT-roll-src-third_party-ffmpeg-m102.patch REVERT-roll-src-third_party-ffmpeg-m106.patch + disable-GlobalMediaControlsCastStartStop.patch angle-wayland-include-protocol.patch use-oauth2-client-switches-as-default.patch 0001-widevine-support-for-arm.patch 0002-Run-blink-bindings-generation-single-threaded.patch - 0003-Fix-eu-strip-build-for-newer-GCC.patch - 0004-Fix-missing-cmath-header-build-failure-in-renderer-e.patch) -sha256sums=('12b0ab045715a18abaf0c833c98c1001a43da4aae9690bb571b369d61f74e08b' + 0003-Fix-eu-strip-build-for-newer-GCC.patch) +sha256sums=('cb6ca080c492ede34df7bf9c4eca45576e6306865985465bd0319c96bb71ff5d' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' - '2b26c16f8326803ef287fb443a17bc139a440673955c5a6a38e9368bcaeed7c4' - 'b908f37c5a886e855953f69e4dd6b90baa35e79f5c74673f7425f2cdb642eb00' + '40ef8af65e78901bb8554eddbbb5ebc55c0b8e7927f6ca51b2a353d1c7c50652' '9015b9d6d5b4c1e7248d6477a4b4b6bd6a3ebdc57225d2d8efcd79fc61790716' - '779fb13f2494209d3a7f1f23a823e59b9dded601866d3ab095937a1a04e19ac6' '30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44' '4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152' + '7f3b1b22d6a271431c1f9fc92b6eb49c6d80b8b3f868bdee07a6a1a16630a302' 'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' - '85eeb28b1a7b1ecf5ceda9c71ae1b071e916729a6b57af5c09d69c9f5b6e60eb' - '86a7e4bcd8334344ac1ca7d720fa5d5121bf801212e0b8def9f16429b7ad4a8e' - '76e9cf404d5ec8882598f3242340c74ff8074db5fdc5fcfbf9d689948ec6d347' - '695306d6d29bea7c8a291930f226706a26c3ec623ca3628fa0494fe044ac40a3') + 'e1162f40e736043ea88e9f5960232476130d3067c1663cf4b147c803abc8b94f' + '306ea7ae2971d7cc3e9eaec70f7afd34330ff75d7fab414de1f241c61ae9c652' + '4b2392f3bbcdb7ea6d6f13b53dfba12e2b436b036168dbeb59ff3e5a52145c3c') # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py # Keys are the names in the above script; values are the dependencies in Arch @@ -75,7 +71,7 @@ declare -gA _system_libs=( [icu]=icu [jsoncpp]=jsoncpp [libaom]=aom - #[libavif]=libavif # needs https://github.com/AOMediaCodec/libavif/commit/d22d4de94120 + [libavif]=libavif # needs https://github.com/AOMediaCodec/libavif/commit/d22d4de94120 [libdrm]= [libjpeg]=libjpeg [libpng]=libpng @@ -114,7 +110,6 @@ prepare() { patch -p1 -i ../0001-widevine-support-for-arm.patch patch -p1 -i ../0002-Run-blink-bindings-generation-single-threaded.patch patch -p1 -i ../0003-Fix-eu-strip-build-for-newer-GCC.patch - patch -p1 -i ../0004-Fix-missing-cmath-header-build-failure-in-renderer-e.patch if [[ $CARCH == "armv7h" ]]; then export ALARM_NINJA_JOBS="4" @@ -137,19 +132,18 @@ prepare() { patch -Np1 -i ../use-oauth2-client-switches-as-default.patch # Upstream fixes - patch -Np1 -i ../unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch patch -Np1 -i ../re-fix-TFLite-build-error-on-linux-with-system-zlib.patch - # Revert kGlobalMediaControlsCastStartStop enabled by default - # https://crbug.com/1314342 - patch -Rp1 -F3 -i ../REVERT-enable-GlobalMediaControlsCastStartStop.patch - # Revert ffmpeg roll requiring new channel layout API support # https://crbug.com/1325301 patch -Rp1 -i ../REVERT-roll-src-third_party-ffmpeg-m102.patch # Revert switch from AVFrame::pkt_duration to AVFrame::duration patch -Rp1 -i ../REVERT-roll-src-third_party-ffmpeg-m106.patch + # Disable kGlobalMediaControlsCastStartStop by default + # https://crbug.com/1314342 + patch -Np1 -i ../disable-GlobalMediaControlsCastStartStop.patch + # https://crbug.com/angleproject/7582 patch -Np0 -i ../angle-wayland-include-protocol.patch @@ -213,10 +207,10 @@ build() { 'link_pulseaudio=true' 'use_custom_libcxx=false' 'use_gnome_keyring=false' - 'use_qt=false' # look into enabling this for M108 + 'use_qt=false' # look into enabling this 'use_gold=false' 'use_sysroot=false' - 'use_system_libwayland_server=true' + 'use_system_libwayland=true' 'use_system_wayland_scanner=true' 'enable_hangout_services_extension=true' 'enable_widevine=true' diff --git a/extra/chromium/REVERT-enable-GlobalMediaControlsCastStartStop.patch b/extra/chromium/REVERT-enable-GlobalMediaControlsCastStartStop.patch deleted file mode 100644 index e0d4544de..000000000 --- a/extra/chromium/REVERT-enable-GlobalMediaControlsCastStartStop.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b58f0f2725a8c1a8a131f9984b5fd53b54119dba Mon Sep 17 00:00:00 2001 -From: Muyao Xu -Date: Thu, 20 Jan 2022 23:46:21 +0000 -Subject: [PATCH] [Zenith] Enable GlobalMediaControlsCastStartStop flag by - default - -The feature is rolled out to 100% stable through finch for M96+. -This CL enables it by default and fixes some unit tests failures. - -Bug: 1287242, 1287305 -Change-Id: I7e5c9625b77379fef253c41ef292a0dd6fc366fb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3388416 -Reviewed-by: Takumi Fujimoto -Commit-Queue: Muyao Xu -Cr-Commit-Position: refs/heads/main@{#961658} ---- - chrome/browser/media/router/media_router_feature.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc -index f28f9b0b802..a8d544f7d6d 100644 ---- a/chrome/browser/media/router/media_router_feature.cc -+++ b/chrome/browser/media/router/media_router_feature.cc -@@ -33,7 +33,7 @@ const base::Feature kMediaRouter{"MediaRouter", - const base::Feature kCastAllowAllIPsFeature{"CastAllowAllIPs", - base::FEATURE_DISABLED_BY_DEFAULT}; - const base::Feature kGlobalMediaControlsCastStartStop{ -- "GlobalMediaControlsCastStartStop", base::FEATURE_DISABLED_BY_DEFAULT}; -+ "GlobalMediaControlsCastStartStop", base::FEATURE_ENABLED_BY_DEFAULT}; - const base::Feature kAllowAllSitesToInitiateMirroring{ - "AllowAllSitesToInitiateMirroring", base::FEATURE_DISABLED_BY_DEFAULT}; - const base::Feature kDialMediaRouteProvider{"DialMediaRouteProvider", diff --git a/extra/chromium/disable-GlobalMediaControlsCastStartStop.patch b/extra/chromium/disable-GlobalMediaControlsCastStartStop.patch new file mode 100644 index 000000000..38c615e81 --- /dev/null +++ b/extra/chromium/disable-GlobalMediaControlsCastStartStop.patch @@ -0,0 +1,13 @@ +diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc +index 862329ef314..47c89123876 100644 +--- a/chrome/browser/media/router/media_router_feature.cc ++++ b/chrome/browser/media/router/media_router_feature.cc +@@ -54,7 +54,7 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop, + #else + BASE_FEATURE(kGlobalMediaControlsCastStartStop, + "GlobalMediaControlsCastStartStop", +- base::FEATURE_ENABLED_BY_DEFAULT); ++ base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) + + #endif // !BUILDFLAG(IS_ANDROID) diff --git a/extra/chromium/unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch b/extra/chromium/unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch deleted file mode 100644 index 7bf1b5c70..000000000 --- a/extra/chromium/unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ed8d931e35f81d8566835a579caf7d61368f85b7 Mon Sep 17 00:00:00 2001 -From: Evangelos Foutras -Date: Tue, 27 Sep 2022 22:20:41 +0000 -Subject: [PATCH] unbundle/jsoncpp: avoid CFI faults with is_cfi=true - -Ensure jsoncpp symbols have public visibility and are thus excluded from -CFI checks and whole-program optimization. This is achieved by defining -JSON_DLL_BUILD which in turn causes json/config.h to define JSON_API as -__attribute__((visibility("default"))). The latter macro is used to tag -jsoncpp classes and namespace functions throughout jsoncpp's headers. - -BUG=1365218 - -Change-Id: I56277737b7d9ecaeb5e17c8d21a2e55f3d5d5bc9 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3919652 -Reviewed-by: Thomas Anderson -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/main@{#1052077} ---- - build/linux/unbundle/jsoncpp.gn | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/build/linux/unbundle/jsoncpp.gn b/build/linux/unbundle/jsoncpp.gn -index 544f9d13c9..e84a0ef27a 100644 ---- a/build/linux/unbundle/jsoncpp.gn -+++ b/build/linux/unbundle/jsoncpp.gn -@@ -3,6 +3,11 @@ import("//build/shim_headers.gni") - - pkg_config("jsoncpp_config") { - packages = [ "jsoncpp" ] -+ -+ # Defining JSON_DLL_BUILD applies public visibility to jsoncpp classes -+ # thus deactivating CFI checks for them. This avoids CFI violations in -+ # virtual calls to system jsoncpp library (https://crbug.com/1365218). -+ defines = [ "JSON_DLL_BUILD" ] - } - - shim_headers("jsoncpp_shim") {