From 0d3b4a618f2e935c10928858b7ff29e248bad77f Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 5 Dec 2023 22:41:02 +0000 Subject: [PATCH] extra/chromium to 120.0.6099.62-1 --- extra/chromium/.SRCINFO | 18 +++---- extra/chromium/PKGBUILD | 31 ++++++----- ...ERT-disable-autoupgrading-debug-info.patch | 49 ------------------ .../drop-flags-unsupported-by-clang16.patch | 51 +++++++++++++++++++ 4 files changed, 73 insertions(+), 76 deletions(-) delete mode 100644 extra/chromium/REVERT-disable-autoupgrading-debug-info.patch create mode 100644 extra/chromium/drop-flags-unsupported-by-clang16.patch diff --git a/extra/chromium/.SRCINFO b/extra/chromium/.SRCINFO index bf4b50833..1bc720b6b 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 = 119.0.6045.199 + pkgver = 120.0.6099.62 pkgrel = 1 url = https://www.chromium.org/Home arch = x86_64 @@ -33,20 +33,16 @@ pkgbase = chromium depends = desktop-file-utils depends = hicolor-icon-theme depends = fontconfig - depends = woff2 depends = libjpeg depends = icu depends = dav1d depends = flac - depends = snappy depends = libxml2 depends = ffmpeg depends = libwebp depends = minizip depends = opus depends = harfbuzz - depends = re2 - depends = jsoncpp depends = libxslt depends = libpng depends = freetype2 @@ -57,17 +53,17 @@ pkgbase = chromium optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce optdepends = kwallet: support for storing passwords in KWallet on Plasma options = !lto - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-119.0.6045.199.tar.xz + source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-120.0.6099.62.tar.xz source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz - source = https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/119/chromium-patches-119.tar.bz2 + source = https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/120/chromium-patches-120.tar.bz2 source = libxml2-2.12.patch - source = REVERT-disable-autoupgrading-debug-info.patch + source = drop-flags-unsupported-by-clang16.patch source = use-oauth2-client-switches-as-default.patch - sha256sums = b1ae62beb7907d99802b74821d5198bd54a7456df1116d317da653bde8ce6388 + sha256sums = ba8448637de36e39532a214c1d4fd05480bc51bde6ac4c160e5f7d3a08e36218 sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a - sha256sums = 09ecf142254525ddb9c2dbbb2c71775e68722412923a5a9bba5cc2e46af8d087 + sha256sums = ffee1082fbe3d0c9e79dacb8405d5a0e1aa94d6745089a30b093f647354894d2 sha256sums = 1808df5ba4d1e2f9efa07ac6b510bec866fa6d60e44505d82aea3f6072105a71 - sha256sums = 1b782b0f6d4f645e4e0daa8a4852d63f0c972aa0473319216ff04613a0592a69 + sha256sums = 8d1cdf3ddd8ff98f302c90c13953f39cd804b3479b13b69b8ef138ac57c83556 sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711 pkgname = chromium diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 2ad12285d..6bac1cb5d 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -15,7 +15,7 @@ highmem=1 pkgname=chromium -pkgver=119.0.6045.199 +pkgver=120.0.6099.62 pkgrel=1 _launcher_ver=8 _manual_clone=0 @@ -39,16 +39,16 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${pkgver%%.*}/chromium-patches-${pkgver%%.*}.tar.bz2 libxml2-2.12.patch - REVERT-disable-autoupgrading-debug-info.patch + drop-flags-unsupported-by-clang16.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) -sha256sums=('b1ae62beb7907d99802b74821d5198bd54a7456df1116d317da653bde8ce6388' +sha256sums=('ba8448637de36e39532a214c1d4fd05480bc51bde6ac4c160e5f7d3a08e36218' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' - '09ecf142254525ddb9c2dbbb2c71775e68722412923a5a9bba5cc2e46af8d087' + 'ffee1082fbe3d0c9e79dacb8405d5a0e1aa94d6745089a30b093f647354894d2' '1808df5ba4d1e2f9efa07ac6b510bec866fa6d60e44505d82aea3f6072105a71' - '1b782b0f6d4f645e4e0daa8a4852d63f0c972aa0473319216ff04613a0592a69' + '8d1cdf3ddd8ff98f302c90c13953f39cd804b3479b13b69b8ef138ac57c83556' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' 'b5bb3d0e2cd06aa92bb0ea62d6915dac1635cee79e9e1405cf17fe471baa393e' '01c8742f987e158245959561db7f7529254a81491954174be2ef8a4f226cbf42' @@ -70,7 +70,7 @@ declare -gA _system_libs=( [freetype]=freetype2 [harfbuzz-ng]=harfbuzz [icu]=icu - [jsoncpp]=jsoncpp + #[jsoncpp]=jsoncpp # needs libstdc++ #[libaom]=aom #[libavif]=libavif # needs https://github.com/AOMediaCodec/libavif/commit/5410b23f76 [libdrm]= @@ -81,9 +81,9 @@ declare -gA _system_libs=( [libxml]=libxml2 [libxslt]=libxslt [opus]=opus - [re2]=re2 - [snappy]=snappy - [woff2]=woff2 + #[re2]=re2 # needs libstdc++ + #[snappy]=snappy # needs libstdc++ + #[woff2]=woff2 # needs libstdc++ [zlib]=minizip ) _unwanted_bundled_libs=( @@ -138,16 +138,15 @@ prepare() { # Upstream fixes patch -Np1 -i ../libxml2-2.12.patch - # Revert addition of compiler flag that needs newer clang - patch -Rp1 -i ../REVERT-disable-autoupgrading-debug-info.patch + # Drop compiler flags that need newer clang + patch -Np1 -i ../drop-flags-unsupported-by-clang16.patch # Fixes for building with libstdc++ instead of libc++ - patch -Np1 -i ../chromium-patches-*/chromium-114-ruy-include.patch - patch -Np1 -i ../chromium-patches-*/chromium-114-vk_mem_alloc-include.patch - patch -Np1 -i ../chromium-patches-*/chromium-117-material-color-include.patch - patch -Np1 -i ../chromium-patches-*/chromium-119-FragmentDataIterator-std.patch + #patch -Np1 -i ../chromium-patches-*/chromium-114-ruy-include.patch + #patch -Np1 -i ../chromium-patches-*/chromium-117-material-color-include.patch patch -Np1 -i ../chromium-patches-*/chromium-119-at-spi-variable-consumption.patch patch -Np1 -i ../chromium-patches-*/chromium-119-clang16.patch + #patch -Np1 -i ../chromium-patches-*/chromium-120-std-nullptr_t.patch # Link to system tools required by the build mkdir -p third_party/node/linux/node-linux-x64/bin @@ -204,7 +203,7 @@ build() { 'proprietary_codecs=true' 'rtc_use_pipewire=true' 'link_pulseaudio=true' - 'use_custom_libcxx=false' + 'use_custom_libcxx=true' # https://github.com/llvm/llvm-project/issues/61705 'use_gold=false' 'use_sysroot=false' 'use_system_libffi=true' diff --git a/extra/chromium/REVERT-disable-autoupgrading-debug-info.patch b/extra/chromium/REVERT-disable-autoupgrading-debug-info.patch deleted file mode 100644 index a60db7ee6..000000000 --- a/extra/chromium/REVERT-disable-autoupgrading-debug-info.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 54969766fd2029c506befc46e9ce14d67c7ed02a Mon Sep 17 00:00:00 2001 -From: Arthur Eubanks -Date: Tue, 25 Apr 2023 03:05:19 +0000 -Subject: [PATCH] Reland [clang] Disable autoupgrading debug info in ThinLTO - builds - -ThinLTO reads bitcode many times and attempts to upgrade the debug info every time. This is expensive since it calls the verifier. We don't need this given all LLVM bitcode producers are from the same version of LLVM. - -For just the build step that runs ThinLTO and links official Chrome, measured 34T -> 32T instructions via perf stat. - -Reland disables adding flag for ChromeOS since that toolchain is too old to have this flag. - -Bug: 972449 -Change-Id: I44552dd6c9dc71683c002d0c885e78b2a4341659 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4470209 -Reviewed-by: Nico Weber -Commit-Queue: Arthur Eubanks -Cr-Commit-Position: refs/heads/main@{#1135007} ---- - build/config/compiler/BUILD.gn | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 1c13bc80f0f..53db095c1b1 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -685,6 +685,7 @@ config("compiler") { - "/lldltocache:" + - rebase_path("$root_out_dir/thinlto-cache", root_build_dir), - "/lldltocachepolicy:$cache_policy", -+ "-mllvm:-disable-auto-upgrade-debug-info", - ] - } else { - ldflags += [ "-flto=thin" ] -@@ -725,6 +726,14 @@ config("compiler") { - } - - ldflags += [ "-Wl,-mllvm,-import-instr-limit=$import_instr_limit" ] -+ -+ if (!is_chromeos) { -+ # TODO(https://crbug.com/972449): turn on for ChromeOS when that -+ # toolchain has this flag. -+ # We only use one version of LLVM within a build so there's no need to -+ # upgrade debug info, which can be expensive since it runs the verifier. -+ ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ] -+ } - } - - # TODO(https://crbug.com/1211155): investigate why this isn't effective on diff --git a/extra/chromium/drop-flags-unsupported-by-clang16.patch b/extra/chromium/drop-flags-unsupported-by-clang16.patch new file mode 100644 index 000000000..a180426eb --- /dev/null +++ b/extra/chromium/drop-flags-unsupported-by-clang16.patch @@ -0,0 +1,51 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 80bc79e5fb3..13b200e4cb0 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -616,24 +616,6 @@ config("compiler") { + } + } + +- # TODO(crbug.com/1488374): This causes binary size growth and potentially +- # other problems. +- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version. +- if (default_toolchain != "//build/toolchain/cros:target" && +- !llvm_android_mainline) { +- cflags += [ +- "-mllvm", +- "-split-threshold-for-reg-with-hint=0", +- ] +- if (use_thin_lto && is_a_target_toolchain) { +- if (is_win) { +- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] +- } else { +- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] +- } +- } +- } +- + # TODO(crbug.com/1235145): Investigate why/if this should be needed. + if (is_win) { + cflags += [ "/clang:-ffp-contract=off" ] +@@ -768,7 +750,6 @@ config("compiler") { + ldflags += [ + "/opt:lldltojobs=all", + "-mllvm:-import-instr-limit=$import_instr_limit", +- "-mllvm:-disable-auto-upgrade-debug-info", + ] + } else { + ldflags += [ "-flto=thin" ] +@@ -800,13 +781,6 @@ config("compiler") { + if (is_apple) { + ldflags += [ "-Wcrl,object_path_lto" ] + } +- if (!is_chromeos) { +- # TODO(https://crbug.com/972449): turn on for ChromeOS when that +- # toolchain has this flag. +- # We only use one version of LLVM within a build so there's no need to +- # upgrade debug info, which can be expensive since it runs the verifier. +- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ] +- } + } + + # TODO(https://crbug.com/1211155): investigate why this isn't effective on