author | Antonio Rojas
<arojas@archlinux.org> 2021-03-05 21:40:58 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2021-03-05 21:40:58 UTC |
parent | 758a502eb75679245a56c80eab5b12c60da98b5e |
PKGBUILD | +19 | -15 |
qt5-webengine-glibc-2.33.patch | +8 | -8 |
diff --git a/PKGBUILD b/PKGBUILD index 9fa80ae..4aad5a6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,34 +2,38 @@ # Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=qt5-webengine -_qtver=5.15.2 +_qtver=5.15.3 pkgver=${_qtver/-/} -pkgrel=5 +pkgrel=1 +_commit=a059e7404a6db799f4da0ad696e65ae9c854b4b0 +# Upstream won't tag releases, because potatoes https://lists.qt-project.org/pipermail/interest/2021-March/036386.html 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' - 'libevent' 'snappy' 'nss' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx' 'krb5' 'ttf-font') -makedepends=('python2' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler' 'libpipewire02' 'nodejs' 'libxtst') + 'libevent' 'snappy' 'nss' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx' 'libxtst' 'ttf-font') +makedepends=('git' 'python2' 'python' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler' 'libpipewire02' 'nodejs' 'libxtst') optdepends=('libpipewire02: WebRTC desktop sharing under Wayland') groups=('qt' 'qt5') -_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" -source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" - qt5-webengine-icu-68.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=9236b21c" - qt5-webengine-glibc-2.33.patch) -sha256sums=('c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0' - 'e3364f29db7a1630e9959123b34e6bcd25ba66cd1714638b8b9b6fd6fd527539' - '5600cfa40254fa3fa2cb541d3b55cc8f7a9231de8d2830c25a7651aa392de16f') +_pkgfqn=qtwebengine +source=(git+https://code.qt.io/qt/qtwebengine.git#commit=$_commit + git+https://code.qt.io/qt/qtwebengine-chromium.git + qt5-webengine-glibc-2.33.patch) +sha256sums=('SKIP' + 'SKIP' + '2294e5390c869963fc58f7bf1ee0a254a3f7fce3ed00c04e34a5f03e2b31b624') prepare() { mkdir -p build -# Disable jumbo build https://bugreports.qt.io/browse/QTBUG-88657 - sed -i 's|use_jumbo_build=true|use_jumbo_build=false|' -i ${_pkgfqn}/src/buildtools/config/common.pri + cd ${_pkgfqn} + git submodule init + git submodule set-url src/3rdparty "$srcdir"/qtwebengine-chromium + git submodule set-branch --branch 87-based src/3rdparty + git submodule update - patch -d $_pkgfqn/src/3rdparty/ -p1 -i "$srcdir"/qt5-webengine-icu-68.patch # Fix build with ICU 68 - patch -d $_pkgfqn -p1 -i "$srcdir/qt5-webengine-glibc-2.33.patch" # Fix text rendering when building with glibc 2.33 + patch -p1 -i "$srcdir"/qt5-webengine-glibc-2.33.patch # Fix text rendering when building with glibc 2.33 } build() { diff --git a/qt5-webengine-glibc-2.33.patch b/qt5-webengine-glibc-2.33.patch index b97e528..3a0ba3b 100644 --- a/qt5-webengine-glibc-2.33.patch +++ b/qt5-webengine-glibc-2.33.patch @@ -4,7 +4,7 @@ diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc --- qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2020-11-07 02:22:36.000000000 +0100 +++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2021-01-20 02:14:53.066223906 +0100 -@@ -248,6 +248,18 @@ +@@ -257,6 +257,18 @@ return RestrictKillTarget(current_pid, sysno); } @@ -34,8 +34,8 @@ diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/s +#include <fcntl.h> #include <stddef.h> #include <stdint.h> - #include <sys/syscall.h> -@@ -353,6 +355,35 @@ + #include <string.h> +@@ -355,6 +357,35 @@ return -ENOSYS; } @@ -71,7 +71,7 @@ diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/s bpf_dsl::ResultExpr CrashSIGSYS() { return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL); } -@@ -385,6 +416,10 @@ +@@ -387,6 +418,10 @@ return bpf_dsl::Trap(SIGSYSSchedHandler, NULL); } @@ -87,12 +87,12 @@ diff -ur qtwebengine-everywhere-src-5.15.2/src/3rdparty/chromium/sandbox/linux/s +++ qtwebengine-everywhere-src-5.15.2-#1904652/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h 2021-01-20 02:11:04.583714199 +0100 @@ -62,6 +62,10 @@ // sched_setparam(), sched_setscheduler() - SANDBOX_EXPORT intptr_t - SIGSYSSchedHandler(const struct arch_seccomp_data& args, void* aux); + SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args, + void* aux); +// If the fstatat syscall is actually a disguised fstat, calls the regular fstat +// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler. -+SANDBOX_EXPORT intptr_t -+ SIGSYSFstatatHandler(const struct arch_seccomp_data& args, void* aux); ++SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, ++ void* aux); // Variants of the above functions for use with bpf_dsl. SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();