New package: qt-webkit-2.3.4

The idea to have a separate qt-webkit package which builds with gcc6
is taken from the Arch Linux team's efforts:
https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/qtwebkit

This addresses #4748 the unsolvable(?) problems when trying to build the
shipped qtwebkit that comes with qt-4.7.8 with gcc6.
This commit is contained in:
Jürgen Buchmüller 2016-09-17 19:58:11 +02:00
parent e6cd93b03b
commit 38bad67383
7 changed files with 132 additions and 1 deletions

View file

@ -455,7 +455,7 @@ libQtSql.so.4 qt-4.5.3_1
libQtDeclarative.so.4 qt-4.5.3_1 libQtDeclarative.so.4 qt-4.5.3_1
libQtDesignerComponents.so.4 qt-designer-4.5.3_1 libQtDesignerComponents.so.4 qt-designer-4.5.3_1
libQtDesigner.so.4 qt-designer-4.5.3_1 libQtDesigner.so.4 qt-designer-4.5.3_1
libQtWebKit.so.4 qt-4.8.4_4 libQtWebKit.so.4 qt-webkit-2.3.4_1
libsysfs.so.2 libsysfs-2.1.0_1 libsysfs.so.2 libsysfs-2.1.0_1
libsensors.so.4 libsensors-3.1.1_1 libsensors.so.4 libsensors-3.1.1_1
libcap-ng.so.0 libcap-ng-0.6.2_1 libcap-ng.so.0 libcap-ng-0.6.2_1

1
srcpkgs/qt-webkit-devel Symbolic link
View file

@ -0,0 +1 @@
qt-webkit

View file

@ -0,0 +1,20 @@
--- qtwebkit-2.3.4/Source/WTF/wtf/Assertions.cpp 2014-09-24 13:42:05.000000000 +0200
+++ qtwebkit-2.3.4/Source/WTF/wtf/Assertions.cpp 2016-09-17 23:37:12.846758706 +0200
@@ -58,7 +58,7 @@
#include <windows.h>
#endif
-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
+#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__))) && !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__))) && !OS(ANDROID)
*size = backtrace(stack, *size);
#elif OS(WINDOWS) && !OS(WINCE)
// The CaptureStackBackTrace function is available in XP, but it is not defined

View file

@ -0,0 +1,14 @@
--- webkit-qtwebkit-23/Source/JavaScriptCore/runtime/JSObject.cpp.gcc5 2014-09-24 06:42:05.000000000 -0500
+++ webkit-qtwebkit-23/Source/JavaScriptCore/runtime/JSObject.cpp 2015-03-20 08:15:53.192778375 -0500
@@ -1922,6 +1922,10 @@ void JSObject::putByIndexBeyondVectorLen
}
}
+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
+
void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
{
JSGlobalData& globalData = exec->globalData();

View file

@ -0,0 +1,11 @@
--- qtwebkit-2.3.4/Source/WebCore/platform/qt/MemoryUsageSupportQt.cpp 2014-09-24 13:42:05.000000000 +0200
+++ qtwebkit-2.3.4/Source/WebCore/platform/qt/MemoryUsageSupportQt.cpp 2016-09-17 23:48:23.558775636 +0200
@@ -31,7 +31,7 @@
namespace WebCore {
-#if OS(LINUX)
+#if OS(LINUX) && defined(__GLIBC__)
static size_t mallocMemoryUsage(bool inuse)
{
// Return how much memory (in bytes) has been allocated on the system heap.

View file

@ -0,0 +1,21 @@
--- qt-everywhere-opensource-src-4.8.7/tools/designer/src/plugins/plugins.pri~ 2013-01-09 12:56:08.915412090 +0000
+++ qt-everywhere-opensource-src-4.8.7/tools/designer/src/plugins/plugins.pri 2013-01-09 12:58:06.911391299 +0000
@@ -1,3 +1,6 @@
+INCLUDEPATH += ../../../../../../qtwebkit-2.3.4/WebKitBuild/Release/include
+LIBS += -L../../../../../../qtwebkit-2.3.4/WebKitBuild/Release/lib
+
CONFIG += designer
win32|mac: CONFIG+= debug_and_release
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/designer
--- qt-everywhere-opensource-src-4.8.7/tools/designer/src/plugins/plugins.pro~ 2013-01-09 12:55:43.598892405 +0000
+++ qt-everywhere-opensource-src-4.8.7/tools/designer/src/plugins/plugins.pro 2013-01-09 12:55:53.352169136 +0000
@@ -2,9 +2,4 @@
CONFIG += ordered
REQUIRES = !CONFIG(static,shared|static)
-contains(QT_CONFIG, qt3support): SUBDIRS += widgets
-win32: SUBDIRS += activeqt
-# contains(QT_CONFIG, opengl): SUBDIRS += tools/view3d
contains(QT_CONFIG, webkit): SUBDIRS += qwebview
-contains(QT_CONFIG, phonon): SUBDIRS += phononwidgets
-contains(QT_CONFIG, declarative): SUBDIRS += qdeclarativeview

View file

@ -0,0 +1,64 @@
# Template file for 'qt-webkit'
pkgname=qt-webkit
version=2.3.4
revision=1
_qtver=4.8.7
wrksrc="qtwebkit-${version}"
create_wrksrc=yes
hostmakedepends="automake libtool bison flex gperf ruby pkg-config qt-qmake qt-designer"
makedepends="MesaLib-devel libjpeg-turbo-devel qt-devel glib-devel fontconfig-devel \
gst-plugins-base1-devel sqlite-devel libXrender-devel"
short_desc="Open source web browser engine (Qt4 port)"
maintainer="Juergen Buchmueller <pullmoll@t-online.de>"
license="LGPL-2.1, GPL-3"
homepage="http://trac.webkit.org/wiki/QtWebKit"
distfiles="
http://download.kde.org/stable/qtwebkit-${version%.*}/${version}/src/qtwebkit-${version}.tar.gz
http://download.qt.io/official_releases/qt/${_qtver%.*}/${_qtver}/qt-everywhere-opensource-src-${_qtver}.tar.gz"
checksum="
c6cfa9d068f7eb024fee3f6c24f5b8b726997f669007587f35ed4a97d40097ca
e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"
conflicts="qt<4.8.7_12"
post_extract() {
patch -p1 < ${FILESDIR}/fix-gcc6.patch
patch -p1 < ${FILESDIR}/fix-execinfo.patch
patch -p1 < ${FILESDIR}/fix-mallinfo.patch
patch -p0 < ${FILESDIR}/qwebview.patch
mv qt-everywhere-opensource-src-${_qtver} ..
}
do_configure() {
:
}
do_build() {
local opts="--qt --prefix=/usr --no-webkit2"
case "$XBPS_TARGET_MACHINE" in
i686*) opts+=" --no-force-sse2" ;;
esac
export QTDIR=/usr
export PATH="/usr/lib/qt/bin:$PATH"
Tools/Scripts/build-webkit --makeargs="${makejobs}" ${opts}
cd ../qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
qmake
make ${makejobs}
}
do_install() {
make INSTALL_ROOT="${DESTDIR}" -C WebKitBuild/Release install
cd ../qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
make INSTALL_ROOT="${DESTDIR}" install
}
qt-webkit-devel_package() {
short_desc+=" - development files"
depends="${sourcepkg}>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove usr/lib/*.so
vmove usr/lib/*.prl
vmove usr/lib/pkgconfig
vmove usr/share/qt/mkspecs
}
}