PKGBUILDs/extra/qt6-webengine/PKGBUILD

129 lines
3.7 KiB
Bash
Raw Normal View History

2021-10-01 22:59:32 +00:00
# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - patch for chromium GN
# - patch for chromium to run blink bindings generation single threaded
2021-10-02 22:17:48 +00:00
# - restrict job count on v7 - RAM constraints
2021-10-01 22:59:32 +00:00
highmem=1
pkgname=qt6-webengine
2024-06-24 10:35:11 +00:00
pkgver=6.7.2
2024-07-26 10:28:52 +00:00
pkgrel=2
2021-10-01 22:59:32 +00:00
arch=(x86_64)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Provides support for web applications using the Chromium browser project'
2023-10-12 12:47:15 +00:00
depends=(alsa-lib
dbus
expat
ffmpeg
fontconfig
freetype2
gcc-libs
glib2
glibc
harfbuzz
icu
lcms2
libdrm
libevent
libjpeg-turbo
libpng
libtiff
libwebp
libx11
libxcb
libxcomposite
libxfixes
libxkbcommon
libxkbfile
libxdamage
libxext
libxml2
libxrandr
libxslt
libxtst
mesa
minizip
nspr
nss
openjpeg2
opus
qt6-base
qt6-declarative
qt6-positioning
qt6-webchannel
snappy
ttf-font
zlib)
# system libvpx disabled since https://codereview.qt-project.org/c/qt/qtwebengine/+/454908
# libvpx pciutils re2
makedepends=(cmake
2024-04-11 19:24:58 +00:00
git
2023-10-12 12:47:15 +00:00
gperf
jsoncpp
libepoxy
ninja
nodejs
perf
pipewire
python-html5lib
qt6-tools
qt6-websockets)
2021-10-01 22:59:32 +00:00
optdepends=('pipewire: WebRTC desktop sharing under Wayland')
groups=(qt6)
2024-04-11 19:24:58 +00:00
_pkgfn=${pkgname/6-/}
source=(git+https://code.qt.io/qt/$_pkgfn#tag=v$pkgver
git+https://code.qt.io/qt/qtwebengine-chromium
2024-05-19 19:32:43 +00:00
qtwebengine-6.7.0-ninja1.12.patch
2024-06-21 23:01:37 +00:00
qtwebengine-ffmpeg-7.patch
2021-10-01 22:59:32 +00:00
0001-ARM-toolchain-fixes.patch
2022-10-01 22:47:27 +00:00
0002-Run-blink-bindings-generation-single-threaded.patch)
2024-06-24 10:35:11 +00:00
sha256sums=('e4ea371bbe91763e0499b7d12166b43162f29e57ba81705870a0f8c4ba784408'
2024-04-11 19:24:58 +00:00
'SKIP'
2024-05-19 19:32:43 +00:00
'c037cccc1d43bcd9d67045354ca48b405acec217149cb4b2bd3cfb7b5561cc33'
2024-07-26 10:28:52 +00:00
'f108c916ab87a247571255c56f9d04fc9bccdc3fe8972bf5a60d29636c6f5c3e'
2022-10-01 22:47:27 +00:00
'772aeba76d16387e28ef629285965109a4bfaa02ca2dd466e9526fe2030773ec'
'eff4ebf2e714185ef6e36e30c8d2158da6b41a46e3168d06472d35f6c9977aaf')
2021-10-01 22:59:32 +00:00
prepare() {
cd $_pkgfn
2024-04-11 19:24:58 +00:00
git submodule init
git submodule set-url src/3rdparty "$srcdir"/qtwebengine-chromium
git -c protocol.file.allow=always submodule update
2021-10-01 22:59:32 +00:00
2024-05-19 19:32:43 +00:00
# Fix build with ninja 1.12 - Gentoo patch
2024-06-21 23:01:37 +00:00
patch -p1 -i ../qtwebengine-6.7.0-ninja1.12.patch
2024-07-26 10:28:52 +00:00
# Fix build with ffmpeg 7 - Chromium patches
2024-06-21 23:01:37 +00:00
patch -d src/3rdparty/chromium -p1 -i "$srcdir"/qtwebengine-ffmpeg-7.patch
2024-05-19 19:32:43 +00:00
2021-10-02 22:17:48 +00:00
if [[ $CARCH == "armv7h" ]]; then
2023-03-01 01:13:13 +00:00
export MAKEFLAGS="-j1"
export ALARM_NINJA_JOBS="1"
2021-10-02 22:17:48 +00:00
fi
2021-10-01 22:59:32 +00:00
cd "$srcdir/$_pkgfn/src/3rdparty"
patch -p1 -i ${srcdir}/0001-ARM-toolchain-fixes.patch
2022-04-14 00:21:11 +00:00
patch -p1 -i ${srcdir}/0002-Run-blink-bindings-generation-single-threaded.patch
2021-10-01 22:59:32 +00:00
}
build() {
cmake -B build -S $_pkgfn -G Ninja \
2022-10-01 15:49:21 +00:00
-DCMAKE_MESSAGE_LOG_LEVEL=STATUS \
2021-10-01 22:59:32 +00:00
-DCMAKE_TOOLCHAIN_FILE=/usr/lib/cmake/Qt6/qt.toolchain.cmake \
-DQT_FEATURE_webengine_system_ffmpeg=ON \
-DQT_FEATURE_webengine_system_icu=ON \
2021-12-28 16:06:56 +00:00
-DQT_FEATURE_webengine_system_libevent=ON \
2021-10-01 22:59:32 +00:00
-DQT_FEATURE_webengine_proprietary_codecs=ON \
-DQT_FEATURE_webengine_kerberos=ON \
2022-10-01 15:49:21 +00:00
-DQT_FEATURE_webengine_webrtc_pipewire=ON
2021-10-01 22:59:32 +00:00
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm644 "$srcdir"/${_pkgfn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
}