diff --git a/extra/chromium/.SRCINFO b/extra/chromium/.SRCINFO index e3bd60f8d..2907e1d45 100644 --- a/extra/chromium/.SRCINFO +++ b/extra/chromium/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = chromium pkgdesc = A web browser built for speed, simplicity, and security - pkgver = 130.0.6723.116 + pkgver = 131.0.6778.69 pkgrel = 1 url = https://www.chromium.org/Home arch = x86_64 @@ -62,13 +62,19 @@ pkgbase = chromium options = !lto source = fetch-chromium-release source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz + source = unbundle-add-enable_freetype.patch + source = unbundle-icu-target.patch + source = const-atomicstring-conversion.patch source = compiler-rt-adjust-paths.patch source = increase-fortify-level.patch source = use-oauth2-client-switches-as-default.patch sha256sums = 720a1196410080056cd97a1f5ec34d68ba216a281d9b5157b7ea81ea018ec661 sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a + sha256sums = f6e05adc80bd2f22b766d41a91739276c62201e47272c561f18a099c4a809e37 + sha256sums = 67de7744b92cbfa6fcbf43a71ba531eb5a7b00381d96703d8dc3dfdadaebf67d + sha256sums = ac0c9e366ca6afe0839f9ecb6bc42614747349da0c3dc46408e5053dcb7ada76 sha256sums = b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961 sha256sums = d634d2ce1fc63da7ac41f432b1e84c59b7cceabf19d510848a7cff40c8025342 - sha256sums = a9b417b96daec33c9059065e15b3a92ae1bf4b59f89d353659b335d9e0379db6 + sha256sums = 6de648d449159dd579e42db304aca0a36243f2ac1538f8d030473afbbc8ff475 pkgname = chromium diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 3041376b6..e8e6557a6 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -15,7 +15,7 @@ highmem=1 pkgname=chromium -pkgver=130.0.6723.116 +pkgver=131.0.6778.69 pkgrel=1 _launcher_ver=8 _manual_clone=0 @@ -39,6 +39,9 @@ optdepends=('pipewire: WebRTC desktop sharing under Wayland' 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 + unbundle-add-enable_freetype.patch + unbundle-icu-target.patch + const-atomicstring-conversion.patch compiler-rt-adjust-paths.patch increase-fortify-level.patch use-oauth2-client-switches-as-default.patch @@ -47,9 +50,12 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom 0003-Fix-eu-strip-build-for-newer-GCC.patch) sha256sums=('aa296edec7275d19feade5ef32cbe7dfdd41594d4c0c1afd94bbf4d310c38c4e' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' + 'f6e05adc80bd2f22b766d41a91739276c62201e47272c561f18a099c4a809e37' + '67de7744b92cbfa6fcbf43a71ba531eb5a7b00381d96703d8dc3dfdadaebf67d' + 'ac0c9e366ca6afe0839f9ecb6bc42614747349da0c3dc46408e5053dcb7ada76' 'b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961' 'd634d2ce1fc63da7ac41f432b1e84c59b7cceabf19d510848a7cff40c8025342' - 'a9b417b96daec33c9059065e15b3a92ae1bf4b59f89d353659b335d9e0379db6' + '6de648d449159dd579e42db304aca0a36243f2ac1538f8d030473afbbc8ff475' '4246da8a2d0bd689b6c8a6ce3042e72ec72497ea64ad47ceb92334afa34a27f1' '123dbf9cc82085242ee4a9bdaf6354257ea8eba993fb45fcb7f407a176c29abd' '13e866a9f22a90fde979cc11b15b45fca7f00c78ebb55b41610415c24790bc85') @@ -138,6 +144,11 @@ prepare() { patch -Np1 -i ../use-oauth2-client-switches-as-default.patch # Upstream fixes + patch -Np1 -i ../unbundle-add-enable_freetype.patch + + # Fixes from Gentoo + patch -Np1 -i ../unbundle-icu-target.patch + patch -Np1 -i ../const-atomicstring-conversion.patch # Allow libclang_rt.builtins from compiler-rt >= 16 to be used patch -Np1 -i ../compiler-rt-adjust-paths.patch diff --git a/extra/chromium/const-atomicstring-conversion.patch b/extra/chromium/const-atomicstring-conversion.patch new file mode 100644 index 000000000..52f746669 --- /dev/null +++ b/extra/chromium/const-atomicstring-conversion.patch @@ -0,0 +1,35 @@ +From 403ee5b14df12c8ee3b3583177bbd30d930e9aaf Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Sat, 12 Oct 2024 13:45:37 +1000 +Subject: [PATCH] Convert 'Const AtomicString' to 'const char *'. + +I don't know why this is suddenly required? +--- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc ++++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc +@@ -323,7 +323,10 @@ void TextCodecICU::CreateICUConverter() const { + DCHECK(!converter_icu_); + + #if defined(USING_SYSTEM_ICU) +- const char* name = encoding_.GetName(); ++ //convert to WTF::String to use existing `const char *` dependent functions ++ WTF::String nameString = encoding_.GetName(); ++ std::string nameUtf8 = nameString.Utf8(); ++ const char* name = nameUtf8.c_str(); + needs_gbk_fallbacks_ = + name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3]; + #endif +@@ -448,7 +451,10 @@ String TextCodecICU::Decode(base::span data, + // + // Simplified Chinese pages use the code A3A0 to mean "full-width space", but + // ICU decodes it as U+E5E5. +- if (!strcmp(encoding_.GetName(), "GBK")) { ++ // Convert AtomicString to String ++ WTF::String nameString = encoding_.GetName(); ++ std::string nameUtf8 = nameString.Utf8(); ++ if (!strcmp(nameUtf8.c_str(), "GBK")) { + if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030")) + resultString.Replace(0xE5E5, kIdeographicSpaceCharacter); + // Make GBK compliant to the encoding spec and align with GB18030 +-- +2.46.2 + diff --git a/extra/chromium/unbundle-add-enable_freetype.patch b/extra/chromium/unbundle-add-enable_freetype.patch new file mode 100644 index 000000000..1fd94c25c --- /dev/null +++ b/extra/chromium/unbundle-add-enable_freetype.patch @@ -0,0 +1,32 @@ +From 88676c640928fd2dce56a46c1c3adb62ac349697 Mon Sep 17 00:00:00 2001 +From: "lauren n. liberda" +Date: Thu, 24 Oct 2024 17:54:35 +0000 +Subject: [PATCH] [unbundle] add enable_freetype + +fixes freetype unbundle after https://crrev.com/c/5832411 + +Bug: none +Change-Id: If5573d2c0e833ef3c18b505c004b3fa997f903a0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5952222 +Reviewed-by: Lei Zhang +Commit-Queue: Lei Zhang +Reviewed-by: Thomas Anderson +Cr-Commit-Position: refs/heads/main@{#1373430} +--- + build/linux/unbundle/freetype.gn | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/build/linux/unbundle/freetype.gn b/build/linux/unbundle/freetype.gn +index 73f9666833e5..c780c630d55b 100644 +--- a/build/linux/unbundle/freetype.gn ++++ b/build/linux/unbundle/freetype.gn +@@ -11,4 +11,9 @@ declare_args() { + # System FreeType configurations other than as described WILL INTRODUCE TEXT + # RENDERING AND SECURITY REGRESSIONS. + use_system_freetype = true ++ ++ # Use FreeType for font rendering. If this is set to false, FreeType is ++ # replaced with the Rust-based Fontations set of libraries plus Skia ++ # path rendering. ++ enable_freetype = true + } diff --git a/extra/chromium/unbundle-icu-target.patch b/extra/chromium/unbundle-icu-target.patch new file mode 100644 index 000000000..618750f13 --- /dev/null +++ b/extra/chromium/unbundle-icu-target.patch @@ -0,0 +1,21 @@ +From a665875b4013eed997bd042326a038e24f3296e7 Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Thu, 10 Oct 2024 14:36:51 +1000 +Subject: [PATCH] unbundle: add missing icu target + +--- a/build/linux/unbundle/icu.gn ++++ b/build/linux/unbundle/icu.gn +@@ -65,6 +65,10 @@ group("icuuc_public") { + public_deps = [ ":icuuc" ] + } + ++group("icui18n_hidden_visibility") { ++ public_deps = [ ":icuuc" ] ++} ++ + shim_headers("icui18n_shim") { + root_path = "source/i18n" + headers = [ +-- +2.46.2 + diff --git a/extra/chromium/use-oauth2-client-switches-as-default.patch b/extra/chromium/use-oauth2-client-switches-as-default.patch index 888b67b00..118514d21 100644 --- a/extra/chromium/use-oauth2-client-switches-as-default.patch +++ b/extra/chromium/use-oauth2-client-switches-as-default.patch @@ -1,18 +1,21 @@ -diff --git a/google_apis/google_api_keys-inc.cc b/google_apis/google_api_keys-inc.cc -index 4d13e697a54d..61aac7b48662 100644 ---- a/google_apis/google_api_keys-inc.cc -+++ b/google_apis/google_api_keys-inc.cc -@@ -193,11 +193,11 @@ class APIKeyCache { - std::string default_client_id = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_ID, - STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), -- nullptr, std::string(), environment.get(), command_line, gaia_config); -+ ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config); - std::string default_client_secret = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_SECRET, - STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(), -- nullptr, std::string(), environment.get(), command_line, gaia_config); -+ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config); +diff --git a/google_apis/api_key_cache.cc b/google_apis/api_key_cache.cc +index e8bc9bb79704..38e5d2bd005f 100644 +--- a/google_apis/api_key_cache.cc ++++ b/google_apis/api_key_cache.cc +@@ -221,14 +221,14 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) { + + std::string default_client_id = CalculateKeyValue( + default_api_keys.google_default_client_id, +- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), nullptr, ++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), ::switches::kOAuth2ClientID, + std::string(), environment.get(), command_line, gaia_config, + default_api_keys.allow_override_via_environment, + default_api_keys.allow_unset_values); + std::string default_client_secret = CalculateKeyValue( + default_api_keys.google_default_client_secret, + STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(), +- nullptr, std::string(), environment.get(), command_line, gaia_config, ++ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config, + default_api_keys.allow_override_via_environment, + default_api_keys.allow_unset_values); - // We currently only allow overriding the baked-in values for the - // default OAuth2 client ID and secret using a command-line