diff options
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 59 | ||||
-rw-r--r-- | libxml2-2.12.patch | 42 |
3 files changed, 46 insertions, 72 deletions
@@ -1,10 +1,10 @@ pkgbase = chromium-no-extras pkgdesc = Chromium without hangout services, widevine, or chromedriver - pkgver = 120.0.6099.224 + pkgver = 121.0.6167.85 pkgrel = 1 url = https://www.chromium.org/Home arch = x86_64 - license = BSD + license = BSD-3-Clause makedepends = python makedepends = gn makedepends = ninja @@ -39,7 +39,6 @@ pkgbase = chromium-no-extras depends = flac depends = libxml2 depends = libwebp - depends = minizip depends = opus depends = harfbuzz depends = libxslt @@ -51,20 +50,18 @@ pkgbase = chromium-no-extras optdepends = gtk4: for --gtk-version=4 (GTK4 IME might work better on Wayland) optdepends = org.freedesktop.secrets: password storage backend on GNOME / Xfce optdepends = kwallet: support for storing passwords in KWallet on Plasma - provides = chromium=120.0.6099.224 + provides = chromium=121.0.6167.85 conflicts = chromium options = !lto - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-120.0.6099.224.tar.xz + source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-121.0.6167.85.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/120/chromium-patches-120.tar.bz2 - source = libxml2-2.12.patch + source = https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/121/chromium-patches-121.tar.bz2 source = icu-74.patch source = drop-flags-unsupported-by-clang16.patch source = use-oauth2-client-switches-as-default.patch - sha256sums = 850a85c8d8a01041a07dfaaea8289fa5f8294b4e375e6b77997b61434e0a2f1a + sha256sums = a2f46c5266681126ea9e15c1c3067560d84f3e5d902e1ace934a3813c84e7152 sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a - sha256sums = ffee1082fbe3d0c9e79dacb8405d5a0e1aa94d6745089a30b093f647354894d2 - sha256sums = 1808df5ba4d1e2f9efa07ac6b510bec866fa6d60e44505d82aea3f6072105a71 + sha256sums = e9113c1ed2900b84b488e608774ce25212d3c60094abdae005d8a943df9b505e sha256sums = ff9ebd86b0010e1c604d47303ab209b1d76c3e888c423166779cefbc22de297f sha256sums = 8d1cdf3ddd8ff98f302c90c13953f39cd804b3479b13b69b8ef138ac57c83556 sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711 @@ -6,14 +6,15 @@ _pkgname=chromium pkgname=chromium-no-extras -pkgver=120.0.6099.224 +pkgver=121.0.6167.85 pkgrel=1 _launcher_ver=8 _manual_clone=0 +_system_clang=0 pkgdesc="Chromium without hangout services, widevine, or chromedriver" arch=('x86_64') url="https://www.chromium.org/Home" -license=('BSD') +license=('BSD-3-Clause') provides=(chromium=$pkgver) conflicts=(chromium) depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' @@ -31,14 +32,12 @@ 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://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${pkgver%%.*}/chromium-patches-${pkgver%%.*}.tar.bz2 - libxml2-2.12.patch icu-74.patch drop-flags-unsupported-by-clang16.patch use-oauth2-client-switches-as-default.patch) -sha256sums=('850a85c8d8a01041a07dfaaea8289fa5f8294b4e375e6b77997b61434e0a2f1a' +sha256sums=('a2f46c5266681126ea9e15c1c3067560d84f3e5d902e1ace934a3813c84e7152' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' - 'ffee1082fbe3d0c9e79dacb8405d5a0e1aa94d6745089a30b093f647354894d2' - '1808df5ba4d1e2f9efa07ac6b510bec866fa6d60e44505d82aea3f6072105a71' + 'e9113c1ed2900b84b488e608774ce25212d3c60094abdae005d8a943df9b505e' 'ff9ebd86b0010e1c604d47303ab209b1d76c3e888c423166779cefbc22de297f' '8d1cdf3ddd8ff98f302c90c13953f39cd804b3479b13b69b8ef138ac57c83556' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711') @@ -73,7 +72,7 @@ declare -gA _system_libs=( #[re2]=re2 # needs libstdc++ #[snappy]=snappy # needs libstdc++ #[woff2]=woff2 # needs libstdc++ - [zlib]=minizip + #[zlib]=minizip ) _unwanted_bundled_libs=( $(printf "%s\n" ${!_system_libs[@]} | sed 's/^libjpeg$/&_turbo/') @@ -119,26 +118,30 @@ prepare() { patch -Np1 -i ../use-oauth2-client-switches-as-default.patch # Upstream fixes - patch -Np1 -i ../libxml2-2.12.patch # Fix build with ICU 74 patch -Np1 -i ../icu-74.patch # Drop compiler flags that need newer clang - patch -Np1 -i ../drop-flags-unsupported-by-clang16.patch + #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-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 + #patch -Np1 -i ../chromium-patches-*/chromium-119-clang16.patch # Link to system tools required by the build mkdir -p third_party/node/linux/node-linux-x64/bin ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ ln -s /usr/bin/java third_party/jdk/current/bin/ + # Use prebuilt rust as system rust cannot be used due to the error: + # error: the option `Z` is only accepted on the nightly compiler + ./tools/rust/update_rust.py + + # To link to rust libraries we need to compile with prebuilt clang + ./tools/clang/scripts/update.py + # Remove bundled libraries for which we will use the system copies; this # *should* do what the remove_bundled_libraries.py script does, with the # added benefit of not having to list all the remaining libraries @@ -161,19 +164,24 @@ build() { cd "$_pkgname-$pkgver" - export CC=clang - export CXX=clang++ - export AR=ar - export NM=nm + if (( _system_clang )); then + export CC=clang + export CXX=clang++ + export AR=ar + export NM=nm + else + local _clang_path="$PWD/third_party/llvm-build/Release+Asserts/bin" + export CC=$_clang_path/clang + export CXX=$_clang_path/clang++ + export AR=$_clang_path/llvm-ar + export NM=$_clang_path/llvm-nm + fi local _flags=( 'custom_toolchain="//build/toolchain/linux/unbundle:default"' 'host_toolchain="//build/toolchain/linux/unbundle:default"' - 'clang_base_path="/usr"' - 'clang_use_chrome_plugins=false' 'is_official_build=true' # implies is_cfi=true on x86_64 'symbol_level=0' # sufficient for backtraces on x86(_64) - 'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile 'treat_warnings_as_errors=false' 'disable_fieldtrial_testing_config=true' 'blink_enable_generated_code_formatting=false' @@ -187,7 +195,6 @@ build() { 'enable_hangout_services_extension=false' 'enable_widevine=false' 'enable_nacl=false' - 'enable_rust=false' "google_api_key=\"$_google_api_key\"" # from ArchARM to build with distcc, uncomment if you build with distcc #'is_cfi=false' @@ -200,6 +207,18 @@ build() { _flags+=('icu_use_data_file=false') fi + if (( _system_clang )); then + local _clang_version=$( + clang --version | grep -m1 version | sed 's/.* \([0-9]\+\).*/\1/') + + _flags+=( + 'clang_base_path="/usr"' + 'clang_use_chrome_plugins=false' + "clang_version=\"$_clang_version\"" + #'chrome_pgo_phase=0' # needs newer clang to read the bundled PGO profile + ) + fi + # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) CFLAGS+=' -Wno-builtin-macro-redefined' CXXFLAGS+=' -Wno-builtin-macro-redefined' diff --git a/libxml2-2.12.patch b/libxml2-2.12.patch deleted file mode 100644 index 6138ef350ebf..000000000000 --- a/libxml2-2.12.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 871f8ae9b65ce2679b0bc0be36902d65edf0c1e4 Mon Sep 17 00:00:00 2001 -From: Joey Arhar <jarhar@chromium.org> -Date: Thu, 2 Nov 2023 20:45:11 +0000 -Subject: [PATCH] Roll libxml from b8961a75 to 7a2d412f - -Bug: 934413 -Change-Id: I6fb176d76dba9a9adf411395fa5f6b950b52920a -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4985186 -Reviewed-by: David Baron <dbaron@chromium.org> -Commit-Queue: Joey Arhar <jarhar@chromium.org> -Cr-Commit-Position: refs/heads/main@{#1219084} ---- - third_party/blink/renderer/core/xml/xslt_processor.h | 2 +- - third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/third_party/blink/renderer/core/xml/xslt_processor.h b/third_party/blink/renderer/core/xml/xslt_processor.h -index d53835e9675..2eaea31ed29 100644 ---- a/third_party/blink/renderer/core/xml/xslt_processor.h -+++ b/third_party/blink/renderer/core/xml/xslt_processor.h -@@ -77,7 +77,7 @@ class XSLTProcessor final : public ScriptWrappable { - - void reset(); - -- 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 -diff --git a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -index 133e0b3355d..f424077089d 100644 ---- a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -+++ b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(void*, const char*, ...) { - // 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, const xmlError* error) { - FrameConsole* console = static_cast<FrameConsole*>(user_data); - if (!console) - return; |