summaryrefslogtreecommitdiff
path: root/experimental
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2018-09-12 17:28:29 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2018-09-12 17:28:29 +0000
commitc6d75dec508b0c1e22d200759c8b583e2f3b2fd8 (patch)
tree08ee1bd3135233f4115244ddbedacae67251fa71 /experimental
parentd2a5aafc7f3d743e85362e020ea4fabe5fe31c64 (diff)
downloadpackages-c6d75dec508b0c1e22d200759c8b583e2f3b2fd8.tar.gz
packages-c6d75dec508b0c1e22d200759c8b583e2f3b2fd8.tar.bz2
packages-c6d75dec508b0c1e22d200759c8b583e2f3b2fd8.tar.xz
packages-c6d75dec508b0c1e22d200759c8b583e2f3b2fd8.zip
experimental/qt5-qtwebkit: Closer to working
Diffstat (limited to 'experimental')
-rw-r--r--experimental/qt5-qtwebkit/APKBUILD42
-rw-r--r--experimental/qt5-qtwebkit/js-py3.patch35
-rw-r--r--experimental/qt5-qtwebkit/musl-thread-stacksize.patch47
3 files changed, 79 insertions, 45 deletions
diff --git a/experimental/qt5-qtwebkit/APKBUILD b/experimental/qt5-qtwebkit/APKBUILD
index c6e8103ba..440956b14 100644
--- a/experimental/qt5-qtwebkit/APKBUILD
+++ b/experimental/qt5-qtwebkit/APKBUILD
@@ -15,18 +15,41 @@ makedepends="$depends_dev ninja sqlite-dev icu-dev ruby perl bison flex gperf
libxml2-dev libxslt-dev libjpeg-turbo-dev libpng-dev zlib-dev glib-dev
gstreamer-dev fontconfig-dev qt5-qtsensors-dev qt5-qtpositioning-dev
qt5-qtdeclarative-dev qt5-qtwebchannel-dev libxcomposite-dev
- libxrender-dev gst-plugins-base-dev"
+ libxrender-dev gst-plugins-base-dev hyphen-dev libexecinfo-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/annulen/webkit/releases/download/$_realname-$_realver/$_realname-$_realver.tar.xz
- js-py3.patch
+ musl-thread-stacksize.patch
"
builddir="$srcdir"/$_realname-$_realver
+unpack() {
+ default_unpack
+ # just ripped from Firefox's APKBUILD...
+ [ -z $SKIP_PYTHON ] || return 0
+ msg "Killing all remaining hope for humanity and building Python 2..."
+ cd "$srcdir"
+ [ -d python ] && rm -r python
+ mkdir python
+ cd python
+ # 19:39 <+solar> just make the firefox build process build its own py2 copy
+ curl -O https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
+ tar xJf Python-2.7.15.tar.xz
+ cd Python-2.7.15
+ # 20:03 <calvin> TheWilfox: there's always violence
+ ./configure --prefix="$srcdir/python"
+ make -j $JOBS
+ # 6 tests failed:
+ # test__locale test_os test_posix test_re test_strptime test_time
+ # make test
+ make -j $JOBS install
+}
+
build() {
cd "$builddir"
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
+ export PATH="$srcdir/python/bin:$PATH"
# We can enable the JIT when it is stable on all Tier 1 platforms:
# pmmx (ensure no SSE)
# ppc
@@ -45,10 +68,14 @@ build() {
-DCMAKE_C_FLAGS="$CFLAGS" \
-DENABLE_JIT=OFF \
-DPORT=Qt \
- -DUSE_LIBHYPHEN=OFF \
-DUSE_SYSTEM_MALLOC=ON \
${CMAKE_CROSSOPTS}
- make
+ # too memory hungry
+ if [ -z "$JOBS" -o $JOBS -gt 32 ]; then
+ make -j32
+ else
+ make
+ fi
}
check() {
@@ -56,15 +83,10 @@ check() {
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
-check() {
- cd "$builddir"
- make check
-}
-
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
}
sha512sums="b15985aab20c5618dc1f71a0d91f02dbed993516272090a4a12990714bf4c9554ccbdcf9d6a143bf46fcc2c170f691e571114d61686fe49791f8d5c540785758 qtwebkit-5.212.0-alpha2.tar.xz
-cee23bc493e2b207119a8ae26691d9d75f91535a39780b9438539c8f3789d9b28377b135b64738a34cf10ebbb30e3bc29eb2f56988a7a0d0cf8ddc9bbca7c8ca js-py3.patch"
+2b778d55a00107f226231d00f13efb3064f539e2b9b690e3c542ee8b6be975b06b673efa27ececf09e0707c8319cb00f72177d9487ca1c36be5a98ab9eb33124 musl-thread-stacksize.patch"
diff --git a/experimental/qt5-qtwebkit/js-py3.patch b/experimental/qt5-qtwebkit/js-py3.patch
deleted file mode 100644
index 44e77cde0..000000000
--- a/experimental/qt5-qtwebkit/js-py3.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- qtwebkit-5.212.0-alpha2/Source/JavaScriptCore/generate-bytecode-files (original)
-+++ qtwebkit-5.212.0-alpha2/Source/JavaScriptCore/generate-bytecode-files (refactored)
-@@ -91,7 +91,7 @@
- try:
- return open(path, mode)
- except IOError as e:
-- print "I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror)
-+ print("I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror))
- exit(1)
-
- def hashFile(file):
-@@ -165,7 +165,7 @@
- try:
- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8")
- except:
-- print "Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())
-+ print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info()))
-
- if bytecodeHFilename:
- bytecodeHFile.write(hFileHashString)
---- qtwebkit-5.212.0-alpha2/Source/JavaScriptCore/generate-bytecode-files.old 2018-07-16 10:18:49.850000000 +0000
-+++ qtwebkit-5.212.0-alpha2/Source/JavaScriptCore/generate-bytecode-files 2018-07-16 10:22:35.290000000 +0000
-@@ -157,10 +157,10 @@
- exit(0)
-
- if bytecodeHFilename:
-- bytecodeHFile = openOrExit(bytecodeHFilename, "wb")
-+ bytecodeHFile = openOrExit(bytecodeHFilename, "w")
-
- if initASMFileName:
-- initBytecodesFile = openOrExit(initASMFileName, "wb")
-+ initBytecodesFile = openOrExit(initASMFileName, "w")
-
- try:
- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8")
diff --git a/experimental/qt5-qtwebkit/musl-thread-stacksize.patch b/experimental/qt5-qtwebkit/musl-thread-stacksize.patch
new file mode 100644
index 000000000..b1e42b7d0
--- /dev/null
+++ b/experimental/qt5-qtwebkit/musl-thread-stacksize.patch
@@ -0,0 +1,47 @@
+--- qtwebkit-5.212.0-alpha2/Source/WTF/wtf/ThreadingPthreads.cpp.old 2017-06-04 15:16:06.000000000 -0500
++++ qtwebkit-5.212.0-alpha2/Source/WTF/wtf/ThreadingPthreads.cpp 2018-09-05 02:29:45.980000000 +0000
+@@ -107,10 +107,11 @@
+ void initializeThreading()
+ {
+ static bool isInitialized;
++ pthread_attr_t attr;
+
+ if (isInitialized)
+ return;
+
+ isInitialized = true;
+
+ WTF::double_conversion::initialize();
+@@ -122,6 +122,11 @@
+ ThreadIdentifierData::initializeOnce();
+ wtfThreadData();
+ initializeDates();
++
++ pthread_attr_init(&attr);
++ pthread_attr_setstacksize(&attr, 2097152);
++ pthread_setattr_default_np(&attr);
++ pthread_attr_destroy(&attr);
+ }
+
+ static ThreadMap& threadMap()
+@@ -171,6 +171,7 @@
+ pthread_t threadHandle;
+ pthread_attr_t attr;
+ pthread_attr_init(&attr);
++ pthread_attr_setstacksize(&attr, 2097152);
+ #if HAVE(QOS_CLASSES)
+ pthread_attr_set_qos_class_np(&attr, QOS_CLASS_USER_INITIATED, 0);
+ #endif
+--- qtwebkit-5.212.0-alpha2/Source/JavaScriptCore/runtime/Options.h.old 2017-06-04 15:16:05.000000000 -0500
++++ qtwebkit-5.212.0-alpha2/Source/JavaScriptCore/runtime/Options.h 2018-09-04 22:29:51.050000000 -0500
+@@ -112,9 +112,9 @@
+ \
+ v(bool, reportMustSucceedExecutableAllocations, false, nullptr) \
+ \
+- v(unsigned, maxPerThreadStackUsage, 4 * MB, nullptr) \
++ v(unsigned, maxPerThreadStackUsage, 1 * MB, nullptr) \
+ v(unsigned, reservedZoneSize, 128 * KB, nullptr) \
+ v(unsigned, errorModeReservedZoneSize, 64 * KB, nullptr) \
+ \
+ v(bool, crashIfCantAllocateJITMemory, false, nullptr) \
+ v(unsigned, jitMemoryReservationSize, 0, "Set this number to change the executable allocation size in ExecutableAllocatorFixedVMPool. (In bytes.)") \