Evangelos Foutras pushed to branch main at Arch Linux / Packaging / Packages /
chromium
Commits:
53eba715 by Antonio Rojas at 2024-04-24T07:07:47+00:00
Build Qt6 shim
Makes Chromium work on Plasma with --ozone-platform=wayland without
needing to install Qt5.
Also drop obsolete mention to -enable-features=AllowQt in optdepends,
this is now enabled by default.
Fixes #7
- - - - -
3 changed files:
- .SRCINFO
- PKGBUILD
- + qt-6.7.patch
Changes:
=====================================
.SRCINFO
=====================================
@@ -15,6 +15,7 @@ pkgbase = chromium
makedepends = pipewire
makedepends = rust
makedepends = qt5-base
+ makedepends = qt6-base
makedepends = java-runtime-headless
makedepends = git
depends = gtk3
@@ -59,11 +60,13 @@ pkgbase = chromium
source = drop-flag-unsupported-by-clang17.patch
source = compiler-rt-adjust-paths.patch
source = use-oauth2-client-switches-as-default.patch
+ source = qt-6.7.patch
sha256sums =
ebd553527149cb8477a522df90acd6cea2388a6f431e2db589a0301df1d0cae2
sha256sums =
213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a
sha256sums =
c2bc4e65ed2a4e23528dd10d5c15bf99f880b7bbb789cc720d451b78098a7e12
sha256sums =
3bd35dab1ded5d9e1befa10d5c6c4555fe0a76d909fb724ac57d0bf10cb666c1
sha256sums =
b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961
sha256sums =
e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711
+ sha256sums =
e30623f36c54f4af3a8aa7d9400f7d2bed6ef560f15d665d2aa8fd777cb2565f
pkgname = chromium
=====================================
PKGBUILD
=====================================
@@ -17,10 +17,9 @@ depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss'
'libcups' 'libgcrypt'
'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'libva'
'libffi' 'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python' 'gn' 'ninja' 'clang' 'lld' 'gperf' 'nodejs' 'pipewire'
- 'rust' 'qt5-base' 'java-runtime-headless' 'git')
+ 'rust' 'qt5-base' 'qt6-base' 'java-runtime-headless' 'git')
optdepends=('pipewire: WebRTC desktop sharing under Wayland'
'kdialog: support for native dialogs in Plasma'
- 'qt5-base: enable Qt5 with --enable-features=AllowQt'
'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')
@@ -30,12 +29,14 @@
source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom
https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${pkgver%%.*}/chromium-patches-${pkgver%%.*}.tar.bz2
drop-flag-unsupported-by-clang17.patch
compiler-rt-adjust-paths.patch
+ qt-6.7.patch
use-oauth2-client-switches-as-default.patch)
sha256sums=('ebd553527149cb8477a522df90acd6cea2388a6f431e2db589a0301df1d0cae2'
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
'c2bc4e65ed2a4e23528dd10d5c15bf99f880b7bbb789cc720d451b78098a7e12'
'3bd35dab1ded5d9e1befa10d5c6c4555fe0a76d909fb724ac57d0bf10cb666c1'
'b3de01b7df227478687d7517f61a777450dca765756002c80c4915f271e2d961'
+ 'e30623f36c54f4af3a8aa7d9400f7d2bed6ef560f15d665d2aa8fd777cb2565f'
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711')
if (( _manual_clone )); then
@@ -113,6 +114,9 @@ prepare() {
# Allow libclang_rt.builtins from compiler-rt >= 16 to be used
patch -Np1 -i ../compiler-rt-adjust-paths.patch
+ # Fix build with Qt 6.7
+ patch -Np1 -i ../qt-6.7.patch
+
# Fixes for building with libstdc++ instead of libc++
patch -Np1 -i ../chromium-patches-*/chromium-117-material-color-include.patch
@@ -183,6 +187,8 @@ build() {
'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\""
)
@@ -279,6 +285,7 @@ package() {
chrome_200_percent.pak
chrome_crashpad_handler
libqt5_shim.so
+ libqt6_shim.so
resources.pak
v8_context_snapshot.bin
=====================================
qt-6.7.patch
=====================================
@@ -0,0 +1,31 @@
+From 3a812de6e7e0b285eda21ebbb670ca809c4db2b5 Mon Sep 17 00:00:00 2001
+From: Matt Jolly <[email protected]>
+Date: Thu, 11 Apr 2024 12:42:17 +1000
+Subject: [PATCH] Add QtGui to the list of Qt modules
+
+Re: https://bugreports.qt.io/browse/QTBUG-124135 - certain versions of QT
+(6.6.3, 6.7.0) produce pkg-config files that no longer emit dependencies.
+This causes Chromium builds to fail as due to not seeing QtGui as a dependency
+of QtWidgets:
+
+ `gen/qt6/../../../../ui/qt/qt_shim.h:11:10: fatal error: 'QImage' file not
found`
+
+While this has been resolved upstream, there will certainly be some users
+that are still using these versions of QT. This patch adds QtGui to the list of
+Qt modules that are required to build the Chromium UI.
+
+Bug: https://bugs.gentoo.org/928299
+Suggested-by: Chris Pritchard <[email protected]>
+Signed-off-by: Matt Jolly <[email protected]>
+--- a/ui/qt/BUILD.gn
++++ b/ui/qt/BUILD.gn
+@@ -60,6 +60,7 @@ template("qt_shim") {
+ pkg_config("qt" + invoker.qt_version + "_config") {
+ packages = [
+ "Qt" + invoker.qt_version + "Core",
++ "Qt" + invoker.qt_version + "Gui",
+ "Qt" + invoker.qt_version + "Widgets",
+ ]
+ }
+--
+2.44.0
View it on GitLab:
https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/commit/53eba715ef8d7df79eda1a9f564dd7d74a5c411d
--
This project does not include diff previews in email notifications.
View it on GitLab:
https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/commit/53eba715ef8d7df79eda1a9f564dd7d74a5c411d
You're receiving this email because of your account on gitlab.archlinux.org.