diff options
author | networkException <ungoogled-github-actions.arch@nwex.de> | 2024-07-07 21:46:38 +0000 |
---|---|---|
committer | networkException <ungoogled-github-actions.arch@nwex.de> | 2024-07-07 21:46:38 +0000 |
commit | 205a4d3edc7ca4182523d5991a9215ac6fb52d13 (patch) | |
tree | 86c88bbe36219fc594ec5e9e260ece9253bc99f9 | |
parent | dd847f604dfd177a49e1b3538c44c7823b16d9cb (diff) | |
download | ungoogled-chromium-205a4d3edc7ca4182523d5991a9215ac6fb52d13.tar.gz ungoogled-chromium-205a4d3edc7ca4182523d5991a9215ac6fb52d13.tar.bz2 ungoogled-chromium-205a4d3edc7ca4182523d5991a9215ac6fb52d13.zip |
Upgrade to 126.0.6478.126-2
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | LICENSE | 27 | ||||
-rw-r--r-- | PKGBUILD | 142 | ||||
-rw-r--r-- | chromium-drirc-disable-10bpc-color-configs.conf | 15 |
4 files changed, 111 insertions, 100 deletions
@@ -1,7 +1,7 @@ pkgbase = ungoogled-chromium pkgdesc = A lightweight approach to removing Google web service dependency pkgver = 126.0.6478.126 - pkgrel = 1 + pkgrel = 2 url = https://github.com/ungoogled-software/ungoogled-chromium arch = x86_64 license = BSD-3-Clause @@ -53,39 +53,38 @@ pkgbase = ungoogled-chromium 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 - optdepends = chromium-extension-web-store: Web Store Functionality provides = chromium=126.0.6478.126 provides = chromedriver=126.0.6478.126 conflicts = chromium conflicts = chromedriver options = !lto source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-126.0.6478.126.tar.xz + source = ungoogled-chromium-126.0.6478.126-1.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium/archive/126.0.6478.126-1.tar.gz source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz source = https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/126/chromium-patches-126.tar.bz2 - source = allow-ANGLEImplementation-kVulkan.patch - source = drop-flag-unsupported-by-clang17.patch - source = compiler-rt-adjust-paths.patch + source = chromium-drirc-disable-10bpc-color-configs.conf source = use-oauth2-client-switches-as-default.patch - source = ungoogled-chromium-126.0.6478.126-1.tar.gz::https://github.com/ungoogled-software/ungoogled-chromium/archive/126.0.6478.126-1.tar.gz - source = ninja-out-of-order-generation-fix.patch - source = 0001-vaapi-flag-ozone-wayland.patch source = 0001-adjust-buffer-format-order.patch source = 0001-enable-linux-unstable-deb-target.patch source = 0001-ozone-wayland-implement-text_input_manager_v3.patch source = 0001-ozone-wayland-implement-text_input_manager-fixes.patch + source = 0001-vaapi-flag-ozone-wayland.patch + source = drop-flag-unsupported-by-clang17.patch + source = compiler-rt-adjust-paths.patch + source = allow-ANGLEImplementation-kVulkan.patch sha256sums = 5d5206637e659f03e006cd8b6b269c49c0c2c697d10517e14dbcea851831e143 + sha256sums = b901f4a6a0401facb6bbe6645eac62f4af902f6885e27d35cc354c49ebe191b8 sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a sha256sums = daf0df74d2601c35fd66a746942d9ca3fc521ede92312f85af51d94c399fd6e0 - sha256sums = 8f81059d79040ec598b5fb077808ec69d26d6c9cbebf9c4f4ea48b388a2596c5 - sha256sums = 028acc97299cec5d1ed9f456bbdc462807fa491277d266db2aa1d405d3cd753d - sha256sums = b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961 + sha256sums = babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb sha256sums = a9b417b96daec33c9059065e15b3a92ae1bf4b59f89d353659b335d9e0379db6 - sha256sums = b901f4a6a0401facb6bbe6645eac62f4af902f6885e27d35cc354c49ebe191b8 - sha256sums = 813e6a1209ab72e4ab34f5f062412087e9664189d7b8f1dc1d0bb9481c574c45 - sha256sums = 9a5594293616e1390462af1f50276ee29fd6075ffab0e3f944f6346cb2eb8aec sha256sums = 8ba5c67b7eb6cacd2dbbc29e6766169f0fca3bbb07779b1a0a76c913f17d343f sha256sums = 2a44756404e13c97d000cc0d859604d6848163998ea2f838b3b9bb2c840967e3 sha256sums = d9974ddb50777be428fd0fa1e01ffe4b587065ba6adefea33678e1b3e25d1285 sha256sums = a2da75d0c20529f2d635050e0662941c0820264ea9371eb900b9d90b5968fa6a + sha256sums = 9a5594293616e1390462af1f50276ee29fd6075ffab0e3f944f6346cb2eb8aec + sha256sums = 028acc97299cec5d1ed9f456bbdc462807fa491277d266db2aa1d405d3cd753d + sha256sums = b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961 + sha256sums = 8f81059d79040ec598b5fb077808ec69d26d6c9cbebf9c4f4ea48b388a2596c5 pkgname = ungoogled-chromium @@ -0,0 +1,27 @@ +Copyright 2022 The ungoogled-chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -1,8 +1,6 @@ -# shellcheck disable=SC2034,SC2154,SC2164 +# Maintainer: Ungoogled Software Contributors +# Maintainer: networkException <git@nwex.de> -# Maintainer: Seppia <seppia@seppio.fish> -# Maintainer: JustKidding <jk@vin.ovh> - # Based on extra/chromium, with ungoogled-chromium patches # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> @@ -12,10 +10,12 @@ pkgname=ungoogled-chromium pkgver=126.0.6478.126 -pkgrel=1 +pkgrel=2 _launcher_ver=8 -_manual_clone=0 _system_clang=1 +# ungoogled chromium variables +_uc_usr=ungoogled-software +_uc_ver=126.0.6478.126-1 pkgdesc="A lightweight approach to removing Google web service dependency" arch=('x86_64') url="https://github.com/ungoogled-software/ungoogled-chromium" @@ -30,50 +30,38 @@ optdepends=('pipewire: WebRTC desktop sharing under Wayland' 'gtk4: for --gtk-version=4 (GTK4 IME might work better on Wayland)' 'org.freedesktop.secrets: password storage backend on GNOME / Xfce' 'kwallet: support for storing passwords in KWallet on Plasma') +provides=("chromium=$pkgver" "chromedriver=$pkgver") +conflicts=('chromium' 'chromedriver') options=('!lto') # Chromium adds its own flags for ThinLTO source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz + $pkgname-$_uc_ver.tar.gz::https://github.com/$_uc_usr/ungoogled-chromium/archive/$_uc_ver.tar.gz 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 - allow-ANGLEImplementation-kVulkan.patch + chromium-drirc-disable-10bpc-color-configs.conf + use-oauth2-client-switches-as-default.patch + 0001-adjust-buffer-format-order.patch + 0001-enable-linux-unstable-deb-target.patch + 0001-ozone-wayland-implement-text_input_manager_v3.patch + 0001-ozone-wayland-implement-text_input_manager-fixes.patch + 0001-vaapi-flag-ozone-wayland.patch drop-flag-unsupported-by-clang17.patch compiler-rt-adjust-paths.patch - use-oauth2-client-switches-as-default.patch) + allow-ANGLEImplementation-kVulkan.patch) sha256sums=('5d5206637e659f03e006cd8b6b269c49c0c2c697d10517e14dbcea851831e143' + 'b901f4a6a0401facb6bbe6645eac62f4af902f6885e27d35cc354c49ebe191b8' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' 'daf0df74d2601c35fd66a746942d9ca3fc521ede92312f85af51d94c399fd6e0' - '8f81059d79040ec598b5fb077808ec69d26d6c9cbebf9c4f4ea48b388a2596c5' - '028acc97299cec5d1ed9f456bbdc462807fa491277d266db2aa1d405d3cd753d' - 'b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961' - 'a9b417b96daec33c9059065e15b3a92ae1bf4b59f89d353659b335d9e0379db6') - -if (( _manual_clone )); then - source[0]=fetch-chromium-release - makedepends+=('python-httplib2' 'python-pyparsing' 'python-six') -fi - -provides=("chromium=${pkgver}" "chromedriver=${pkgver}") -conflicts=('chromium' 'chromedriver') -_uc_usr=ungoogled-software -_uc_ver=$pkgver-1 -optdepends=("${optdepends[@]}" - 'chromium-extension-web-store: Web Store Functionality') -source=("${source[@]}" - "$pkgname-$_uc_ver.tar.gz::https://github.com/$_uc_usr/ungoogled-chromium/archive/$_uc_ver.tar.gz" - ninja-out-of-order-generation-fix.patch - 0001-vaapi-flag-ozone-wayland.patch - 0001-adjust-buffer-format-order.patch - 0001-enable-linux-unstable-deb-target.patch - 0001-ozone-wayland-implement-text_input_manager_v3.patch - 0001-ozone-wayland-implement-text_input_manager-fixes.patch) -sha256sums=("${sha256sums[@]}" - 'b901f4a6a0401facb6bbe6645eac62f4af902f6885e27d35cc354c49ebe191b8' - '813e6a1209ab72e4ab34f5f062412087e9664189d7b8f1dc1d0bb9481c574c45' - '9a5594293616e1390462af1f50276ee29fd6075ffab0e3f944f6346cb2eb8aec' + 'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb' + 'a9b417b96daec33c9059065e15b3a92ae1bf4b59f89d353659b335d9e0379db6' '8ba5c67b7eb6cacd2dbbc29e6766169f0fca3bbb07779b1a0a76c913f17d343f' '2a44756404e13c97d000cc0d859604d6848163998ea2f838b3b9bb2c840967e3' 'd9974ddb50777be428fd0fa1e01ffe4b587065ba6adefea33678e1b3e25d1285' - 'a2da75d0c20529f2d635050e0662941c0820264ea9371eb900b9d90b5968fa6a') - + 'a2da75d0c20529f2d635050e0662941c0820264ea9371eb900b9d90b5968fa6a' + '9a5594293616e1390462af1f50276ee29fd6075ffab0e3f944f6346cb2eb8aec' + '028acc97299cec5d1ed9f456bbdc462807fa491277d266db2aa1d405d3cd753d' + 'b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961' + '8f81059d79040ec598b5fb077808ec69d26d6c9cbebf9c4f4ea48b388a2596c5') + # 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 declare -gA _system_libs=( @@ -106,19 +94,8 @@ _unwanted_bundled_libs=( ) depends+=(${_system_libs[@]}) -# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys) -# Note: These are for Arch Linux use ONLY. For your own distribution, please -# get your own set of keys. -# -# Starting with Chromium 89 (2021-03-02) the OAuth2 credentials have been left -# out: https://archlinux.org/news/chromium-losing-sync-support-in-early-march/ -_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM - prepare() { - if (( _manual_clone )); then - ./fetch-chromium-release $pkgver - fi - cd chromium-$pkgver + cd "$srcdir/chromium-$pkgver" # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ @@ -149,23 +126,6 @@ prepare() { # Fixes for building with libstdc++ instead of libc++ patch -Np1 -i ../chromium-patches-*/chromium-117-material-color-include.patch - # Custom Patches - sed -i '/^bool IsHevcProfileSupported(const VideoType& type) {$/{s++bool IsHevcProfileSupported(const VideoType\& type) { return true;+;h};${x;/./{x;q0};x;q1}' \ - media/base/supported_types.cc - - # Implement text_input_manager_v3 - # https://chromium-review.googlesource.com/c/chromium/src/+/3750452 - #patch -Np1 -i ../0001-ozone-wayland-implement-text_input_manager_v3.patch - #patch -Np1 -i ../0001-ozone-wayland-implement-text_input_manager-fixes.patch - #patch -Np1 -i ../ninja-out-of-order-generation-fix.patch - - # Enable VAAPI on Wayland - # https://discourse.ubuntu.com/t/chromium-hardware-accelerated-build-for-intel-based-platforms-available-for-beta-testing/35625 - # https://git.launchpad.net/~chromium-team/chromium-browser/+git/snap-from-source/ - # patch -Np1 -i ../0001-enable-linux-unstable-deb-target.patch - #patch -Np1 -i ../0001-adjust-buffer-format-order.patch - #patch -Np1 -i ../0001-vaapi-flag-ozone-wayland.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/ @@ -211,7 +171,12 @@ prepare() { build() { make -C chromium-launcher-$_launcher_ver - cd chromium-$pkgver + cd "$srcdir/chromium-$pkgver" + + if check_buildoption ccache y; then + # Avoid falling back to preprocessor mode when sources contain time macros + export CCACHE_SLOPPINESS=time_macros + fi if (( _system_clang )); then export CC=clang @@ -231,7 +196,6 @@ build() { 'host_toolchain="//build/toolchain/linux/unbundle:default"' 'is_official_build=true' # implies is_cfi=true on x86_64 'symbol_level=0' # sufficient for backtraces on x86(_64) - 'treat_warnings_as_errors=false' 'disable_fieldtrial_testing_config=true' 'blink_enable_generated_code_formatting=false' 'ffmpeg_branding="Chrome"' @@ -241,21 +205,29 @@ build() { 'use_custom_libcxx=true' # https://github.com/llvm/llvm-project/issues/61705 'use_sysroot=false' 'use_system_libffi=true' - 'enable_hangout_services_extension=true' 'enable_widevine=true' - 'enable_nacl=false' 'use_qt6=true' 'moc_qt6_path="/usr/lib/qt6"' - "google_api_key=\"$_google_api_key\"" + 'use_vaapi=true' + 'enable_platform_hevc=true' + 'enable_hevc_parser_and_hw_decoder=true' ) if [[ -n ${_system_libs[icu]+set} ]]; then _flags+=('icu_use_data_file=false') fi + # Append ungoogled chromium flags to _flags array + _ungoogled_repo="$srcdir/$pkgname-$_uc_ver" + readarray -t -O ${#_flags[@]} _flags < "${_ungoogled_repo}/flags.gn" + + # See https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues/123 + CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt" + CXXFLAGS="$CFLAGS" + if (( _system_clang )); then - local _clang_version=$( - clang --version | grep -m1 version | sed 's/.* \([0-9]\+\).*/\1/') + local _clang_version=$( + clang --version | grep -m1 version | sed 's/.* \([0-9]\+\).*/\1/') _flags+=( 'clang_base_path="/usr"' @@ -274,16 +246,6 @@ build() { ) fi - # enable HEVC decoding - _flags+=( - 'enable_platform_hevc=true' - 'enable_hevc_parser_and_hw_decoder=true' - ) - - # Append ungoogled chromium flags to _flags array - _ungoogled_repo="$srcdir/$pkgname-$_uc_ver" - readarray -t -O ${#_flags[@]} _flags < "${_ungoogled_repo}/flags.gn" - # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) CFLAGS+=' -Wno-builtin-macro-redefined' CXXFLAGS+=' -Wno-builtin-macro-redefined' @@ -296,6 +258,9 @@ build() { # Let Chromium set its own symbol level CFLAGS=${CFLAGS/-g } CXXFLAGS=${CXXFLAGS/-g } + # -fvar-tracking-assignments is not recognized by clang + CFLAGS=${CFLAGS/-fvar-tracking-assignments} + CXXFLAGS=${CXXFLAGS/-fvar-tracking-assignments} # https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues/123 CFLAGS=${CFLAGS/-fexceptions} @@ -311,7 +276,9 @@ build() { # https://crbug.com/957519#c122 CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS} + msg2 'Configuring Chromium' gn gen out/Release --args="${_flags[*]}" + msg2 'Building Chromium' ninja -C out/Release chrome chrome_sandbox chromedriver } @@ -321,12 +288,15 @@ package() { install -Dm644 LICENSE \ "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher" - cd ../chromium-$pkgver + cd "$srcdir/chromium-$pkgver" install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium" install -D out/Release/chromedriver "$pkgdir/usr/bin/chromedriver" install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox" + install -Dm644 ../chromium-drirc-disable-10bpc-color-configs.conf \ + "$pkgdir/usr/share/drirc.d/10-$pkgname.conf" + install -Dm644 chrome/installer/linux/common/desktop.template \ "$pkgdir/usr/share/applications/chromium.desktop" install -Dm644 chrome/app/resources/manpage.1.in \ @@ -386,4 +356,4 @@ package() { install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE" } -# vim:set ts=2 sw=2 et: +# vim:set ts=2 sw=2 et ft=sh: diff --git a/chromium-drirc-disable-10bpc-color-configs.conf b/chromium-drirc-disable-10bpc-color-configs.conf new file mode 100644 index 0000000..ef836b3 --- /dev/null +++ b/chromium-drirc-disable-10bpc-color-configs.conf @@ -0,0 +1,15 @@ +<!-- + +Disable 10 bpc color configs; fixes VAAPI playback. + +https://bugs.freedesktop.org/show_bug.cgi?id=106490 + +--> + +<driconf> + <device> + <application name="Chromium" executable="chromium"> + <option name="allow_rgb10_configs" value="false" /> + </application> + </device> +</driconf> |