summaryrefslogtreecommitdiff
path: root/user/qt5-qtwebkit
diff options
context:
space:
mode:
Diffstat (limited to 'user/qt5-qtwebkit')
-rw-r--r--user/qt5-qtwebkit/0001-Add-ARM-64-support.patch13
-rw-r--r--user/qt5-qtwebkit/APKBUILD124
-rw-r--r--user/qt5-qtwebkit/bug-931.patch10
-rw-r--r--user/qt5-qtwebkit/cmake.patch60
-rw-r--r--user/qt5-qtwebkit/fix-execinfo.patch20
-rw-r--r--user/qt5-qtwebkit/fix-rpath.patch11
-rw-r--r--user/qt5-qtwebkit/pic.patch11
-rw-r--r--user/qt5-qtwebkit/ppc-llint.patch32
8 files changed, 167 insertions, 114 deletions
diff --git a/user/qt5-qtwebkit/0001-Add-ARM-64-support.patch b/user/qt5-qtwebkit/0001-Add-ARM-64-support.patch
deleted file mode 100644
index 73f5c97f8..000000000
--- a/user/qt5-qtwebkit/0001-Add-ARM-64-support.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
-index 4594ec8..639f28f 100644
---- a/Source/WTF/wtf/Platform.h
-+++ b/Source/WTF/wtf/Platform.h
-@@ -342,7 +342,7 @@
- #endif
- #endif
-
--#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC) || CPU(MIPS64)
-+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC) || CPU(MIPS64) || CPU(AARCH64)
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-
diff --git a/user/qt5-qtwebkit/APKBUILD b/user/qt5-qtwebkit/APKBUILD
index 36b624e8a..45f739573 100644
--- a/user/qt5-qtwebkit/APKBUILD
+++ b/user/qt5-qtwebkit/APKBUILD
@@ -1,72 +1,78 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qt5-qtwebkit
-_pkgname=qtwebkit-opensource-src
-pkgver=5.9.1
-pkgrel=4
-pkgdesc="Qt 5 - WebKit components"
-url="https://www.qt.io/"
+_realname=$pkgname
+#qtwebkit
+pkgver=5.212.0_git20191114
+_realver=$(printf '%s' "$pkgver" | sed 's/_/-/')
+pkgrel=0
+pkgdesc="Open source Web browser engine"
+url="https://github.com/qtwebkit/qtwebkit"
arch="all"
-options="!check"
-license="LGPL-2.0 with exceptions OR GPL-3.0 with exceptions"
-depends=""
-depends_dev="qt5-qtdeclarative-dev gstreamer-dev gst-plugins-base-dev
- libxslt-dev mesa-dev icu-dev libxext-dev glib-dev libxcomposite-dev
- libxrender-dev
- "
-makedepends="$depends_dev bison flex fontconfig-dev gperf libjpeg-turbo-dev
- libpng-dev libwebp-dev pcre-dev qt5-qtbase-dev ruby sqlite-dev zlib-dev"
+options="!check" # Tests fail (surprise), require X11.
+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 cmake
+ libxrender-dev gst-plugins-base-dev hyphen-dev libexecinfo-dev
+ ruby-dev glib-dev libgcrypt-dev libtasn1-dev"
subpackages="$pkgname-dev"
-source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-$pkgver.tar.xz
- pic.patch
- fix-rpath.patch
- fix-execinfo.patch
- 0001-Add-ARM-64-support.patch
+#source="https://github.com/qtwebkit/qtwebkit/releases/download/$_realname-$_realver/$_realname-$_realver.tar.xz
+source="https://distfiles.adelielinux.org/source/$_realname-$_realver.tar.xz
+ bug-931.patch
+ cmake.patch
+ ppc-llint.patch
"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-prepare() {
- default_prepare
- # remove some bundled
- mkdir Source/ThirdParty/orig
- mv Source/ThirdParty/gtest/ \
- Source/ThirdParty/qunit/ \
- Source/ThirdParty/orig/
- syncqt.pl -version $pkgver Source/sync.profile
-}
+builddir="$srcdir"/$_realname-$_realver
build() {
- local _maybe_smaller=""
- cd "$builddir"
-
- # On 32-bit x86, ld.bfd will run out of memory if debugging information
- # is built. See https://sourceware.org/bugzilla/show_bug.cgi?id=23470
- # for more information.
- case "$CARCH" in
- pmmx) _maybe_smaller="QMAKE_CXXFLAGS_DEBUG+=-g0"
- esac
-
- qmake $_maybe_smaller
-
- # /usr/include/fortify/stdlib.h:20:25: fatal error: stdlib.h: No such file or directory
- # see: http://stackoverflow.com/questions/37218953/isystem-on-a-system-include-directory-causes-errors
- # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71090
- # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129
- qmake Source/JavaScriptCore/LLIntOffsetsExtractor.pro -o \
- Source/JavaScriptCore/Makefile.LLIntOffsetsExtractor
- sed -i 's:-isystem /usr/include ::' \
- Source/JavaScriptCore/Makefile.LLIntOffsetsExtractor
-
+ 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
+ #
+ # https://github.com/qtwebkit/qtwebkit/issues/930
+ # -DENABLE_MEDIA_SOURCE=ON \
+ # -DENABLE_VIDEO=ON \
+ # -DENABLE_WEB_AUDIO=ON \
+ # -DUSE_GSTREAMER=ON \
+ 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 \
+ -DENABLE_PRINT_SUPPORT=ON \
+ -DENABLE_QT_WEBCHANNEL=ON \
+ -DPORT=Qt \
+ -DUSE_SYSTEM_MALLOC=ON \
+ -DUSE_WOFF2=OFF \
+ ${CMAKE_CROSSOPTS} .
make
}
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
package() {
- cd "$builddir"
- make install INSTALL_ROOT="$pkgdir"
- sed -i -e 's:-L/home[^ ]\+::g' "$pkgdir"/usr/lib/pkgconfig/*.pc
+ make DESTDIR="$pkgdir" install
}
-sha512sums="79316ab746a230fdb290e28629d7cec5fca75119ba8868060742c682ab86490de9ffd8e517569aa7412f35fd709568dbb5f7d2d467bdb4461e192f8b05d6f1e5 qtwebkit-opensource-src-5.9.1.tar.xz
-9a62a5e7af91c44311b517608262f88b5bc607e75dc5878dd08b0a0872ec03fb7a566df0a41413f7e60beb1b9880e24f084b90c38ed50d4219ec2ad6af9bd62f pic.patch
-00d59c0cdb58ae8e7cf6bc3d03f133697e74c267ccebe12238bcdc274d4c90210b82c2d8bdf0e949cd43da13a4fd8a4c35fb54a00ed5102a4ac4d23aa002d0fe fix-rpath.patch
-f17c2f4b90090c8f12e4ba1f2cbd7a9f496c8de024ba6e0d55b98e5b89ab89298aff84f39e81905e0491fe6bd11544633a8b191403a866e16ed654d44cf8dc6f fix-execinfo.patch
-af5097d44f73de156ca31a5423136301dfc12ae693e20c4702bf3f1c6e16395f3912e9268582480ba3177021f37d4cae3b84d4b23eeb063fdc40f2444d3b34c8 0001-Add-ARM-64-support.patch"
+sha512sums="ec009773953b9f3e2c0e47072cd678f7044b16219c85879a6031c109c7b2b84f426564bb673ccaafa0bcc3f7a656e3cb0d8e3be28d3bbfb401adcd1a6b8b9edd qt5-qtwebkit-5.212.0-git20191114.tar.xz
+85adb979eb5d58ccab85d07d6a6db470b34bdb6fd8af2eef04ce268da41a596b4a19295c97dca1201daf4a51ca9e183bb27dd36b9b12b0e149224793d1c190a9 bug-931.patch
+4ee26787bf01f3067fae51e1942b72d783629b13fe13ffcfba9329bbea823de7b751905f01c71c6c498164cb41a33765debce375a034dde83e3f784d6e549ada cmake.patch
+0b358e4df16e8792c995a385386bfe9e197e23854f30129b504d3ba851cdfab3a2adef462a6ae3a775ec01d02cd67ef404259491339336c6ce896d7940597c95 ppc-llint.patch"
diff --git a/user/qt5-qtwebkit/bug-931.patch b/user/qt5-qtwebkit/bug-931.patch
new file mode 100644
index 000000000..7d363dd62
--- /dev/null
+++ b/user/qt5-qtwebkit/bug-931.patch
@@ -0,0 +1,10 @@
+--- qt5-qtwebkit-5.212.0-git20191114/Source/JavaScriptCore/runtime/NativeExecutable.cpp.old 2019-11-14 19:31:45.000000000 +0000
++++ qt5-qtwebkit-5.212.0-git20191114/Source/JavaScriptCore/runtime/NativeExecutable.cpp 2020-01-04 19:14:22.974744920 +0000
+@@ -28,6 +28,7 @@
+ #include "BatchedTransitionOptimizer.h"
+ #include "CodeBlock.h"
+ #include "Debugger.h"
++#include "ExecutableBaseInlines.h"
+ #include "JIT.h"
+ #include "JSCInlines.h"
+ #include "LLIntEntrypoint.h"
diff --git a/user/qt5-qtwebkit/cmake.patch b/user/qt5-qtwebkit/cmake.patch
new file mode 100644
index 000000000..a41be9ce4
--- /dev/null
+++ b/user/qt5-qtwebkit/cmake.patch
@@ -0,0 +1,60 @@
+--- qt5-qtwebkit-5.212.0-git20191114/Source/PlatformQt.cmake.old 2019-11-14 19:31:45.000000000 +0000
++++ qt5-qtwebkit-5.212.0-git20191114/Source/PlatformQt.cmake 2020-01-04 20:53:20.522367347 +0000
+@@ -99,8 +99,8 @@
+ set(Qt5@MODULE_NAME@_EXECUTABLE_COMPILE_FLAGS \"\")
+ set(Qt5@MODULE_NAME@_PRIVATE_INCLUDE_DIRS \"\") # FIXME: Support private headers
+
+-get_target_property(Qt5@MODULE_NAME@_INCLUDE_DIRS Qt5::@MODULE_NAME@ INTERFACE_INCLUDE_DIRECTORIES)
+-get_target_property(Qt5@MODULE_NAME@_COMPILE_DEFINITIONS Qt5::@MODULE_NAME@ INTERFACE_COMPILE_DEFINITIONS)
++get_target_property(Qt5@MODULE_NAME@_INCLUDE_DIRS Qt5::@FULL_MODULE_NAME@ INTERFACE_INCLUDE_DIRECTORIES)
++get_target_property(Qt5@MODULE_NAME@_COMPILE_DEFINITIONS Qt5::@FULL_MODULE_NAME@ INTERFACE_COMPILE_DEFINITIONS)
+
+ foreach (_module_dep \${_Qt5@MODULE_NAME@_MODULE_DEPENDENCIES})
+ list(APPEND Qt5@MODULE_NAME@_INCLUDE_DIRS \${Qt5\${_module_dep}_INCLUDE_DIRS})
+@@ -117,6 +117,7 @@
+ ")
+
+ set(MODULE_NAME WebKit)
++set(FULL_MODULE_NAME WebKitLegacy)
+ string(CONFIGURE ${_package_footer_template} QTWEBKIT_PACKAGE_FOOTER @ONLY)
+ ecm_configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Qt5WebKitConfig.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Qt5WebKitConfig.cmake"
+@@ -124,6 +125,7 @@
+ )
+
+ set(MODULE_NAME WebKitWidgets)
++set(FULL_MODULE_NAME WebKitWidgets)
+ string(CONFIGURE ${_package_footer_template} QTWEBKIT_PACKAGE_FOOTER @ONLY)
+ ecm_configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Qt5WebKitWidgetsConfig.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Qt5WebKitWidgetsConfig.cmake"
+@@ -154,18 +154,18 @@
+ )
+
+ # QTFIXME
+-#install(EXPORT WebKitTargets
+-# FILE WebKitTargets.cmake
+-# NAMESPACE Qt5::
+-# DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKit"
+-# COMPONENT Data
+-#)
+-#install(EXPORT Qt5WebKitWidgetsTargets
+-# FILE Qt5WebKitWidgetsTargets.cmake
+-# NAMESPACE Qt5::
+-# DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKitWidgets"
+-# COMPONENT Data
+-#)
++install(EXPORT WebKitTargets
++ FILE WebKitTargets.cmake
++ NAMESPACE Qt5::
++ DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKit"
++ COMPONENT Data
++)
++install(EXPORT Qt5WebKitWidgetsTargets
++ FILE Qt5WebKitWidgetsTargets.cmake
++ NAMESPACE Qt5::
++ DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/Qt5WebKitWidgets"
++ COMPONENT Data
++)
+
+ # Documentation
+
diff --git a/user/qt5-qtwebkit/fix-execinfo.patch b/user/qt5-qtwebkit/fix-execinfo.patch
deleted file mode 100644
index 6fbf4ed8f..000000000
--- a/user/qt5-qtwebkit/fix-execinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.2.0.orig/Source/WTF/wtf/Assertions.cpp
-+++ webkitgtk-2.2.0/Source/WTF/wtf/Assertions.cpp
-@@ -64,7 +64,7 @@
- #include <windows.h>
- #endif
-
--#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) && !OS(ANDROID)
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
-@@ -242,7 +242,7 @@
-
- void WTFGetBacktrace(void** stack, int* size)
- {
--#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) && !OS(ANDROID)
- *size = backtrace(stack, *size);
- #elif OS(WINDOWS) && !OS(WINCE)
- // The CaptureStackBackTrace function is available in XP, but it is not defined
diff --git a/user/qt5-qtwebkit/fix-rpath.patch b/user/qt5-qtwebkit/fix-rpath.patch
deleted file mode 100644
index 6b08fd1a3..000000000
--- a/user/qt5-qtwebkit/fix-rpath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Tools/qmake/mkspecs/features/unix/default_post.prf.orig
-+++ ./Tools/qmake/mkspecs/features/unix/default_post.prf
-@@ -59,8 +59,6 @@
- }
- }
-
--contains(TEMPLATE, app): CONFIG += rpath
--
- CONFIG(debug, debug|release)|force_debug_info {
- # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
- !force_static_libs_as_shared:config_gnuld: QMAKE_LFLAGS += -Wl,--no-keep-memory
diff --git a/user/qt5-qtwebkit/pic.patch b/user/qt5-qtwebkit/pic.patch
deleted file mode 100644
index ef8993ee3..000000000
--- a/user/qt5-qtwebkit/pic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Source/WTF/wtf/InlineASM.h.orig 2013-10-07 11:36:58.995128674 +0000
-+++ ./Source/WTF/wtf/InlineASM.h 2013-10-07 11:37:28.058792290 +0000
-@@ -42,7 +42,7 @@
- #define THUMB_FUNC_PARAM(name)
- #endif
-
--#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64)
-+#if (OS(LINUX) || OS(FREEBSD)) && (CPU(X86_64) || defined(__PIC__))
- #define GLOBAL_REFERENCE(name) #name "@plt"
- #elif CPU(X86) && COMPILER(MINGW)
- #define GLOBAL_REFERENCE(name) "@" #name "@4"
diff --git a/user/qt5-qtwebkit/ppc-llint.patch b/user/qt5-qtwebkit/ppc-llint.patch
new file mode 100644
index 000000000..033bbab68
--- /dev/null
+++ b/user/qt5-qtwebkit/ppc-llint.patch
@@ -0,0 +1,32 @@
+This fixes JavaScriptCore on big endian systems (mainly ppc).
+
+Without the patch, attempting to run any JS results in
+a crash as the generated code was endian specific.
+
+--- qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
++++ qtwebkit/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+@@ -1440,13 +1440,13 @@ _llint_op_put_by_id:
+ loadp StructureChain::m_vector[t3], t3
+ assert(macro (ok) btpnz t3, ok end)
+
+- loadp Structure::m_prototype[t2], t2
++ loadp Structure::m_prototype + PayloadOffset[t2], t2
+ btpz t2, .opPutByIdTransitionChainDone
+ .opPutByIdTransitionChainLoop:
+ loadp [t3], t1
+ bineq t1, JSCell::m_structureID[t2], .opPutByIdSlow
+ addp 4, t3
+- loadp Structure::m_prototype[t1], t2
++ loadp Structure::m_prototype + PayloadOffset[t1], t2
+ btpnz t2, .opPutByIdTransitionChainLoop
+
+ .opPutByIdTransitionChainDone:
+@@ -2004,7 +2004,7 @@ _llint_throw_from_slow_path_trampoline:
+ # When throwing from the interpreter (i.e. throwing from LLIntSlowPaths), so
+ # the throw target is not necessarily interpreted code, we come to here.
+ # This essentially emulates the JIT's throwing protocol.
+- loadp Callee[cfr], t1
++ loadp Callee + PayloadOffset[cfr], t1
+ andp MarkedBlockMask, t1
+ loadp MarkedBlockFooterOffset + MarkedBlock::Footer::m_vm[t1], t1
+ jmp VM::targetMachinePCForThrow[t1]