mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
109 lines
4.5 KiB
Bash
109 lines
4.5 KiB
Bash
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
|
# Contributor: Andrea Scarpino <andrea@archlinux.org>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - patch for chromium GN
|
|
# - patch for chromium skia
|
|
# - patch for chromium to run blink bindings generation single threaded
|
|
# - build v7 with -j4
|
|
|
|
highmem=1
|
|
|
|
pkgname=qt5-webengine
|
|
_basever=5.15.13
|
|
pkgver=5.15.16
|
|
pkgrel=5
|
|
arch=('x86_64')
|
|
url='https://www.qt.io'
|
|
license=('LGPL3' 'LGPL2.1' 'BSD')
|
|
pkgdesc='Provides support for web applications using the Chromium browser project'
|
|
depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 'libxkbfile'
|
|
'libevent' 'snappy' 'nss' 'libxslt' 'minizip' 'ffmpeg' 'libvpx' 'libxtst' 'ttf-font')
|
|
makedepends=('git' 'python' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler' 'pipewire' 'nodejs')
|
|
optdepends=('pipewire: WebRTC desktop sharing under Wayland')
|
|
groups=('qt5')
|
|
_pkgfqn=${pkgname/5-/}
|
|
source=(git+https://code.qt.io/qt/qtwebengine.git#tag=v${pkgver}-lts
|
|
git+https://code.qt.io/qt/qtwebengine-chromium.git
|
|
qt5-webengine-python3.patch
|
|
qt5-webengine-chromium-python3.patch
|
|
qt5-webengine-ffmpeg5.patch
|
|
qt5-webengine-pipewire-0.3.patch
|
|
qt5-webengine-libxml-2.12.patch
|
|
qt5-webengine-icu-74.patch
|
|
0001-ARM-toolchain-fixes.patch
|
|
0002-Fix-ARM-skia-ICE.patch
|
|
0003-bind-gen-Support-single_process-flag-in-generate_bin.patch
|
|
0004-Run-blink-bindings-generation-single-threaded.patch)
|
|
sha256sums=('SKIP'
|
|
'SKIP'
|
|
'0ad5d1660886f7bbf5108b071bf5d7bbbabf1cd1258ce9d4587a01dec4a1aa89'
|
|
'd8beb3d65a1aaf927285e6f055a9d1facd0f9c3fd851f91ba568389fb3137399'
|
|
'c50d3019626183e753c53a997dc8a55938847543aa3178d4c51f377be741c693'
|
|
'5e3a3c4711d964d5152a04059a2b5c1d14bb13dd29bce370120f60e85b476b6f'
|
|
'bfae9e773edfd0ddbc617777fdd4c0609cba2b048be7afe40f97768e4eb6117e'
|
|
'547e092f6a20ebd15e486b31111145bc94b8709ec230da89c591963001378845'
|
|
'abccb5349ec341fd912be93d055f0cdf6becfdb5fa3312769777f750cfd4351a'
|
|
'cad41451dffb5cc67c57882526c6c19795e6e49e7b704f92ec76dd3499486654'
|
|
'4e58aca7f71037f154bbdfd03deb671462da433c241fd6429ca6adf2c7738f75'
|
|
'e24537ac22f84daa5ff067abf9c3421897df9cd60d2bcd0809ff8c10e4ab0efa')
|
|
|
|
prepare() {
|
|
mkdir -p build
|
|
|
|
cd ${_pkgfqn}
|
|
git submodule init
|
|
git submodule set-url src/3rdparty "$srcdir"/qtwebengine-chromium
|
|
git submodule set-branch --branch 87-based src/3rdparty
|
|
git -c protocol.file.allow=always submodule update
|
|
|
|
patch -p1 -i "$srcdir"/qt5-webengine-python3.patch # Fix build with Python 3
|
|
patch -p1 -d src/3rdparty -i "$srcdir"/qt5-webengine-chromium-python3.patch
|
|
|
|
patch -p1 -d src/3rdparty -i "$srcdir"/qt5-webengine-ffmpeg5.patch # Fix build with ffmpeg 5
|
|
patch -p1 -d src/3rdparty -i "$srcdir"/qt5-webengine-pipewire-0.3.patch # Port to pipewire 0.3
|
|
patch -p1 -d src/3rdparty/chromium -i "$srcdir"/qt5-webengine-libxml-2.12.patch # Fix build with libxml 2.12
|
|
patch -p1 -d src/3rdparty/chromium -i "$srcdir"/qt5-webengine-icu-74.patch # Fix build with ICU 74 - patch from Alpine
|
|
|
|
[[ $CARCH == "armv7h" ]] && export NINJAJOBS="-j1"
|
|
cd "$srcdir/$_pkgfqn/src/3rdparty"
|
|
patch -p1 -i ${srcdir}/0001-ARM-toolchain-fixes.patch
|
|
patch -p1 -i ${srcdir}/0002-Fix-ARM-skia-ICE.patch
|
|
patch -p1 -i ${srcdir}/0003-bind-gen-Support-single_process-flag-in-generate_bin.patch
|
|
patch -p1 -i ${srcdir}/0004-Run-blink-bindings-generation-single-threaded.patch
|
|
}
|
|
|
|
build() {
|
|
# this uses malloc_usable_size, which is incompatible with fortification level 3
|
|
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
|
|
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
|
|
|
|
cd build
|
|
qmake ../${_pkgfqn} -- \
|
|
-proprietary-codecs \
|
|
-system-ffmpeg \
|
|
-webp \
|
|
-spellchecker \
|
|
-webengine-icu \
|
|
-webengine-kerberos \
|
|
-webengine-webrtc-pipewire
|
|
make
|
|
}
|
|
|
|
package() {
|
|
# this uses malloc_usable_size, which is incompatible with fortification level 3
|
|
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
|
|
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
|
|
|
|
cd build
|
|
make INSTALL_ROOT="$pkgdir" install
|
|
|
|
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
|
|
find "$pkgdir/usr/lib" -type f -name '*.prl' \
|
|
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
|
|
|
|
install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
|
|
|
|
# Fix cmake dependency versions
|
|
sed -e "s|$pkgver\ |$_basever |" -i "$pkgdir"/usr/lib/cmake/*/*Config.cmake
|
|
}
|