From a9605d90ebde79903c87f335a4a8c293a1618302 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Tue, 17 Jul 2018 19:56:57 -0500
Subject: [PATCH] experimental/qt5-qtwebkit: Add Qt WebKit 5.212 alpha2 (does
 not build)

Python 2 -> 3 needed
JIT support for tier1 arches nice-to-have
---
 experimental/qt5-qtwebkit/APKBUILD     | 70 ++++++++++++++++++++++++++
 experimental/qt5-qtwebkit/js-py3.patch | 35 +++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 experimental/qt5-qtwebkit/APKBUILD
 create mode 100644 experimental/qt5-qtwebkit/js-py3.patch

diff --git a/experimental/qt5-qtwebkit/APKBUILD b/experimental/qt5-qtwebkit/APKBUILD
new file mode 100644
index 0000000000..c6e8103ba0
--- /dev/null
+++ b/experimental/qt5-qtwebkit/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=qt5-qtwebkit
+_realname=qtwebkit
+pkgver=5.212.0_alpha2
+_realver=${pkgver/_/-}
+pkgrel=0
+pkgdesc="Open source Web browser engine"
+url="https://github.com/annulen/webkit"
+arch="all"
+license="LGPL-2.1+ AND BSD-3-Clause AND Others"
+depends="gst-plugins-base"
+depends_dev="qt5-qtbase-dev"
+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"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/annulen/webkit/releases/download/$_realname-$_realver/$_realname-$_realver.tar.xz
+	js-py3.patch
+	"
+builddir="$srcdir"/$_realname-$_realver
+
+build() {
+	cd "$builddir"
+	if [ "$CBUILD" != "$CHOST" ]; then
+		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+	fi
+	# We can enable the JIT when it is stable on all Tier 1 platforms:
+	# pmmx (ensure no SSE)
+	# ppc
+	# ppc64
+	#
+	# DONE:
+	# aarch64
+	# armv7
+	# x86_64
+	cmake \
+		-DCMAKE_INSTALL_PREFIX=/usr \
+		-DCMAKE_INSTALL_LIBDIR=lib \
+		-DBUILD_SHARED_LIBS=True \
+		-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+		-DCMAKE_C_FLAGS="$CFLAGS" \
+		-DENABLE_JIT=OFF \
+		-DPORT=Qt \
+		-DUSE_LIBHYPHEN=OFF \
+		-DUSE_SYSTEM_MALLOC=ON \
+		${CMAKE_CROSSOPTS}
+	make
+}
+
+check() {
+	cd "$builddir"
+	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"
diff --git a/experimental/qt5-qtwebkit/js-py3.patch b/experimental/qt5-qtwebkit/js-py3.patch
new file mode 100644
index 0000000000..44e77cde0e
--- /dev/null
+++ b/experimental/qt5-qtwebkit/js-py3.patch
@@ -0,0 +1,35 @@
+--- 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")
-- 
GitLab