summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2022-12-13 15:35:12 -0600
committerZach van Rijn <me@zv.io>2022-12-13 15:35:15 -0600
commit9ffe136f6aca63d7f9a78c1b6b08cbafa12a2753 (patch)
tree300105bcb049d69b81da406a37248865b728a54b
parent84bb21e34771f46fc32e042d53491c286feb2d0d (diff)
downloadpackages-9ffe136f6aca63d7f9a78c1b6b08cbafa12a2753.tar.gz
packages-9ffe136f6aca63d7f9a78c1b6b08cbafa12a2753.tar.bz2
packages-9ffe136f6aca63d7f9a78c1b6b08cbafa12a2753.tar.xz
packages-9ffe136f6aca63d7f9a78c1b6b08cbafa12a2753.zip
user/qt5-qtwebkit: ppc ucontext patch. 32-bit link flags. fixes #922.
This patch reverts upstream a7cdcdc77b8efef239d9b06e857a64e490d1a81b which caused a build failure on musl. Additionally, 32-bit architectures (ppc in particular) may fail to link due to address space limitations. Adjust link flags to mitigate.
-rw-r--r--user/qt5-qtwebkit/APKBUILD22
-rw-r--r--user/qt5-qtwebkit/ppc-ucontext.patch15
2 files changed, 33 insertions, 4 deletions
diff --git a/user/qt5-qtwebkit/APKBUILD b/user/qt5-qtwebkit/APKBUILD
index 7431683e0..63e18cb07 100644
--- a/user/qt5-qtwebkit/APKBUILD
+++ b/user/qt5-qtwebkit/APKBUILD
@@ -4,7 +4,7 @@ pkgname=qt5-qtwebkit
_realname=qtwebkit
pkgver=5.212.0_git20200924
_ts=1600955993
-pkgrel=0
+pkgrel=1
pkgdesc="Open source Web browser engine"
url="https://github.com/qtwebkit/qtwebkit/wiki"
arch="all"
@@ -20,20 +20,33 @@ makedepends="$depends_dev ninja sqlite-dev icu-dev ruby perl bison flex gperf
ruby-dev glib-dev libgcrypt-dev libtasn1-dev"
subpackages="$pkgname-dev"
#source="https://github.com/qtwebkit/qtwebkit/releases/download/$_realname-$_realver/$_realname-$_realver.tar.xz
-source="https://download.qt.io/snapshots/ci/qtwebkit/5.212/$_ts/src/submodules/$_realname-opensource-src-5.212.tar.xz
+source="https://download.qt.io/snapshots/ci/qtwebkit/${pkgver%.*}/$_ts/src/submodules/$_realname-opensource-src-${pkgver%.*}.tar.xz
armv6.patch
glib-compat.patch
icu-68.patch
jsc-musl.patch
ppc-llint.patch
+ ppc-ucontext.patch
ppc64-llint.patch
"
-builddir="$srcdir"/$_realname-opensource-src-5.212
+builddir="$srcdir"/$_realname-opensource-src-${pkgver%.*}
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
+
+ case "${CARCH}" in
+ armv7|pmmx|ppc)
+ # 32-bit memory ceiling (#922)
+ BUILD_TYPE="MinSizeRel";
+ LDFLAGS="${LDFLAGS} -Wl,--strip-debug";
+ ;;
+ *)
+ BUILD_TYPE="RelWithDebugInfo";
+ ;;
+ esac
+
# We can enable the JIT when it is stable on all Tier 1 platforms:
# pmmx (ensure no SSE)
# ppc
@@ -47,7 +60,7 @@ build() {
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DENABLE_JIT=OFF \
@@ -79,4 +92,5 @@ ca77802de1b945c05b6a88d5cc0cbb093a751ef16626d221c8b2ca5cf841f5d42fffe62087df1ce0
5f0ca182c68c55a6f221e96bf2221784c7126006ea8db3e9eee2b66dbdda18d7d0f9830e8345ac2b0bc6f557af5d2a54a321b06be4a2c845dd1003282b053443 icu-68.patch
9e3638d4d5c6e56510525931b278c8d6e28134917c300837b4eccf1b9298af1e274668318af82091137e99b83da0f78904084b7ee9dd8422b347a0f35e765c31 jsc-musl.patch
4a3a15f8b1e63cade07c589be45afd794b45b34ee98e4d2d3fc2f52662c26c518d400b44c9314e41113cad847b9efd544d2a4c02425c9892ca9729e218ae9306 ppc-llint.patch
+48f81c6a2c0f4e9b215dada4c0bebdafc66feb75178a7b1ca661f2bbcddd6b573e7db4dd179f6e4b6345c7ebcf17ce1c6647cc6ce39dbac8ba68f8863a98bdc0 ppc-ucontext.patch
db98d710815eb68f1fb025098b04c34b33518750c193e702383ca879e145c52ba4786fa4721f384f01f90231c32be9478d507c1000eb761621751edcd071b966 ppc64-llint.patch"
diff --git a/user/qt5-qtwebkit/ppc-ucontext.patch b/user/qt5-qtwebkit/ppc-ucontext.patch
new file mode 100644
index 000000000..e1b9bdfda
--- /dev/null
+++ b/user/qt5-qtwebkit/ppc-ucontext.patch
@@ -0,0 +1,15 @@
+diff -ur a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp 2022-12-13 14:54:53.144583311 -0600
++++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp 2022-12-13 14:55:16.829078581 -0600
+@@ -86,11 +86,7 @@
+ }
+
+ ucontext_t* userContext = static_cast<ucontext_t*>(ucontext);
+-#if CPU(PPC)
+- thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs;
+-#else
+ thread->suspendedMachineContext = userContext->uc_mcontext;
+-#endif
+
+ // Allow suspend caller to see that this thread is suspended.
+ // sem_post is async-signal-safe function. It means that we can call this from a signal handler.