PKGBUILDs/extra/qt6-webengine/PKGBUILD
2022-08-21 19:13:48 +00:00

67 lines
2.6 KiB
Bash

# 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
# - patch for chromium to backport 16k page support
# - restrict job count on v7 - RAM constraints
highmem=1
pkgname=qt6-webengine
_qtver=6.3.1
pkgver=${_qtver/-/}
pkgrel=1.1
arch=(x86_64)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Provides support for web applications using the Chromium browser project'
depends=(qt6-webchannel qt6-positioning libxcomposite libxrandr libxkbfile
libevent snappy nss libxslt minizip ffmpeg re2 libvpx libxtst ttf-font pciutils)
makedepends=(cmake ninja python-html5lib gperf jsoncpp qt6-tools pipewire nodejs qt6-websockets)
optdepends=('pipewire: WebRTC desktop sharing under Wayland')
groups=(qt6)
options=(debug)
_pkgfn=${pkgname/6-/}-everywhere-src-$_qtver
source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz
0001-ARM-toolchain-fixes.patch
0002-Run-blink-bindings-generation-single-threaded.patch
0003-Backport-of-16k-page-support-on-aarch64.patch)
sha256sums=('ad7a33b21a956deda37c587d50f821ca3816403ae31ba9b5d59d01561ad66e47'
'170557c0d13ceb518002f9b76b4135efc1721024138aa59b9d08864fe220510d'
'3b1b9aa13a6f805a73b84347f27bf68fed19f3c1d3e474b6f6e4a05e8aee4095'
'70c5d0f8b6b5dd1883dbd55818b4144c4ffb2a346325c3441fdacf6ffb3db8a9')
prepare() {
cd $_pkgfn
if [[ $CARCH == "armv7h" ]]; then
export MAKEFLAGS="-j4"
export ALARM_NINJA_JOBS="2"
fi
cd "$srcdir/$_pkgfn/src/3rdparty"
patch -p1 -i ${srcdir}/0001-ARM-toolchain-fixes.patch
patch -p1 -i ${srcdir}/0002-Run-blink-bindings-generation-single-threaded.patch
patch -p1 -i ${srcdir}/0003-Backport-of-16k-page-support-on-aarch64.patch
}
build() {
cmake -B build -S $_pkgfn -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=/usr/lib/cmake/Qt6/qt.toolchain.cmake \
-DQT_FEATURE_webengine_system_ffmpeg=ON \
-DQT_FEATURE_webengine_system_icu=ON \
-DQT_FEATURE_webengine_system_libevent=ON \
-DQT_FEATURE_webengine_system_libxslt=ON \
-DQT_FEATURE_webengine_proprietary_codecs=ON \
-DQT_FEATURE_webengine_kerberos=ON \
-DQT_FEATURE_webengine_webrtc_pipewire=ON \
-DQT_FEATURE_webengine_full_debug_info=ON
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm644 "$srcdir"/${_pkgfn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
}