summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornetworkException <ungoogled-github-actions.arch@nwex.de>2024-07-07 21:46:38 +0000
committernetworkException <ungoogled-github-actions.arch@nwex.de>2024-07-07 21:46:38 +0000
commit205a4d3edc7ca4182523d5991a9215ac6fb52d13 (patch)
tree86c88bbe36219fc594ec5e9e260ece9253bc99f9
parentdd847f604dfd177a49e1b3538c44c7823b16d9cb (diff)
downloadungoogled-chromium-205a4d3edc7ca4182523d5991a9215ac6fb52d13.tar.gz
ungoogled-chromium-205a4d3edc7ca4182523d5991a9215ac6fb52d13.tar.bz2
ungoogled-chromium-205a4d3edc7ca4182523d5991a9215ac6fb52d13.zip
Upgrade to 126.0.6478.126-2
-rw-r--r--.SRCINFO27
-rw-r--r--LICENSE27
-rw-r--r--PKGBUILD142
-rw-r--r--chromium-drirc-disable-10bpc-color-configs.conf15
4 files changed, 111 insertions, 100 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a65e7aa..a85d11b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..fbce167
--- /dev/null
+++ b/LICENSE
@@ -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.
diff --git a/PKGBUILD b/PKGBUILD
index 255dc48..166e76f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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>