summaryrefslogtreecommitdiff
path: root/pcr/qtwebkit
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-02-02 15:52:21 +0100
committerAndreas Grapentin <andreas@grapentin.org>2018-02-02 15:52:21 +0100
commiteabb225e7189c643c9cb7942eabb6350cdab6954 (patch)
treeaf38adc6b3258b53d83de656ddce22a2efafcf84 /pcr/qtwebkit
parent3b61ebb77ffe4e2ec8ea355106dc08bc82f45333 (diff)
pcr/qtwebkit: added
Diffstat (limited to 'pcr/qtwebkit')
-rw-r--r--pcr/qtwebkit/PKGBUILD76
-rw-r--r--pcr/qtwebkit/fix-build-in-usr.patch10
-rw-r--r--pcr/qtwebkit/gcc-5.patch13
-rw-r--r--pcr/qtwebkit/qwebview.patch21
-rw-r--r--pcr/qtwebkit/use-python2.patch57
5 files changed, 177 insertions, 0 deletions
diff --git a/pcr/qtwebkit/PKGBUILD b/pcr/qtwebkit/PKGBUILD
new file mode 100644
index 000000000..7c631703b
--- /dev/null
+++ b/pcr/qtwebkit/PKGBUILD
@@ -0,0 +1,76 @@
+# $Id: PKGBUILD 252776 2015-12-06 12:09:40Z bpiotrowski $
+# Maintainer (AUR): Andrea Scarpino <andrea@archlinux.org>
+
+# parabola changes and rationale:
+# no changes.
+
+pkgname=qtwebkit
+pkgver=2.3.4
+pkgrel=6
+arch=('i686' 'x86_64' 'armv7h')
+url='http://trac.webkit.org/wiki/QtWebKit'
+pkgdesc='An open source web browser engine (Qt port)'
+license=('LGPL2.1' 'GPL3')
+depends=('qt4' 'systemd' 'gst-plugins-base-libs')
+makedepends=('gperf' 'python2' 'ruby' 'git' 'mesa')
+conflicts=('qt<4.8')
+_qtver=4.8.7
+source=("https://sources.archlinux.org/other/packages/${pkgname}/${pkgname}-${pkgver}.tar.xz"
+ "http://download.qt-project.org/official_releases/qt/4.8/${_qtver}/qt-everywhere-opensource-src-${_qtver}.tar.gz"
+ 'use-python2.patch'
+ 'qwebview.patch' 'gcc-5.patch' 'fix-build-in-usr.patch')
+sha1sums=('31bc60de1cf26bb0766d539b4d564651ddbb0650'
+ '76aef40335c0701e5be7bb3a9101df5d22fe3666'
+ '315b6ff603f35e5492a036f7082f6aa075dfb607'
+ 'c3df6107233f466a032e36681cee07f16536657c'
+ '5d506578ea30daeeeb1e91ab83876fe6d5669715'
+ '412a58db507fa14268c9f30627d62fd448f9dccb')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}"/use-python2.patch
+ patch -p1 -i "${srcdir}"/fix-build-in-usr.patch
+
+# Fix build with GCC 5 (Fedora)
+ patch -p1 -i "$srcdir"/gcc-5.patch
+
+ cd ../qt-everywhere-opensource-src-${_qtver}
+ patch -p1 -i "${srcdir}"/qwebview.patch
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ OPTS="--no-webkit2 --no-xslt"
+ if [ "${CARCH}" = "i686" ]; then
+ # FS#33418
+ OPTS="${OPTS} --no-force-sse2"
+ fi
+
+ export QTDIR=/usr
+ export PATH="/usr/lib/qt4/bin:$PATH"
+ Tools/Scripts/build-webkit --qt \
+ --makeargs="${MAKEFLAGS}" \
+ --prefix=/usr \
+ ${OPTS}
+
+ # Build the QWebView plugin (FS#27914)
+ cd ../qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
+ qmake-qt4
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make INSTALL_ROOT="${pkgdir}" -C WebKitBuild/Release install
+
+ cd ../qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
+ make INSTALL_ROOT="${pkgdir}" install
+
+ # Fix wrong libs path in pkgconfig file
+ perl -pi -e "s, -L${srcdir}/?\S+,,g" "${pkgdir}"/usr/lib/pkgconfig/QtWebKit.pc
+
+ # Fix wrong path in prl file
+ sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' "${pkgdir}"/usr/lib/libQtWebKit.prl
+}
+
diff --git a/pcr/qtwebkit/fix-build-in-usr.patch b/pcr/qtwebkit/fix-build-in-usr.patch
new file mode 100644
index 000000000..44a3dd3e8
--- /dev/null
+++ b/pcr/qtwebkit/fix-build-in-usr.patch
@@ -0,0 +1,10 @@
+--- a/Tools/qmake/syncqt-4.8
++++ b/Tools/qmake/syncqt-4.8
+@@ -353,7 +353,6 @@
+ ######################################################################
+ sub fixPaths {
+ my ($file, $dir) = @_;
+- $dir =~ s=^$quoted_basedir/=$out_basedir/= if(!($basedir eq $out_basedir));
+ $file =~ s=\\=/=g;
+ $dir =~ s=\\=/=g;
+
diff --git a/pcr/qtwebkit/gcc-5.patch b/pcr/qtwebkit/gcc-5.patch
new file mode 100644
index 000000000..07b3f7360
--- /dev/null
+++ b/pcr/qtwebkit/gcc-5.patch
@@ -0,0 +1,13 @@
+--- 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();
diff --git a/pcr/qtwebkit/qwebview.patch b/pcr/qtwebkit/qwebview.patch
new file mode 100644
index 000000000..066bc798b
--- /dev/null
+++ b/pcr/qtwebkit/qwebview.patch
@@ -0,0 +1,21 @@
+--- qt-everywhere-opensource-src-4.8.4/tools/designer/src/plugins/plugins.pri~ 2013-01-09 12:56:08.915412090 +0000
++++ qt-everywhere-opensource-src-4.8.4/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.4/tools/designer/src/plugins/plugins.pro~ 2013-01-09 12:55:43.598892405 +0000
++++ qt-everywhere-opensource-src-4.8.4/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
diff --git a/pcr/qtwebkit/use-python2.patch b/pcr/qtwebkit/use-python2.patch
new file mode 100644
index 000000000..b1444435b
--- /dev/null
+++ b/pcr/qtwebkit/use-python2.patch
@@ -0,0 +1,57 @@
+--- webkit-qtwebkit-23/Source/JavaScriptCore/DerivedSources.pri~ 2013-01-09 11:29:16.452266719 +0000
++++ webkit-qtwebkit-23/Source/JavaScriptCore/DerivedSources.pri 2013-01-09 11:30:18.188538725 +0000
+@@ -85,14 +85,14 @@
+ retgen.output = RegExpJitTables.h
+ retgen.script = $$PWD/create_regex_tables
+ retgen.input = retgen.script
+-retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT}
++retgen.commands = python2 $$retgen.script > ${QMAKE_FILE_OUT}
+ GENERATORS += retgen
+
+ #GENERATOR: "KeywordLookup.h": decision tree used by the lexer
+ klgen.output = KeywordLookup.h
+ klgen.script = $$PWD/KeywordLookupGenerator.py
+ klgen.input = KEYWORDLUT_FILES
+-klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
++klgen.commands = python2 $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
+ GENERATORS += klgen
+
+ EXTRACTOR_BINARY = LLIntOffsetsExtractor$$BIN_EXTENSION
+@@ -117,7 +117,7 @@
+ disassembler.input = DISASSEMBLER_FILES
+ disassembler.script = $$PWD/disassembler/udis86/itab.py
+ disassembler.depends = $$DISASSEMBLER_DEPENDENCY
+- disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH}
++ disassembler.commands = python2 $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH}
+ disassembler.CONFIG += no_link
+ GENERATORS += disassembler
+ }
+--- webkit-qtwebkit-23/Source/WebCore/DerivedSources.pri~ 2013-01-09 11:46:01.165612894 +0000
++++ webkit-qtwebkit-23/Source/WebCore/DerivedSources.pri 2013-01-09 11:46:27.465404725 +0000
+@@ -779,7 +779,7 @@
+ inspectorValidate.output = InspectorProtocolVersion.h
+ inspectorValidate.input = INSPECTOR_JSON
+ inspectorValidate.script = $$PWD/inspector/generate-inspector-protocol-version
+-inspectorValidate.commands = python $$inspectorValidate.script -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
++inspectorValidate.commands = python2 $$inspectorValidate.script -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+ inspectorValidate.depends = $$PWD/inspector/generate-inspector-protocol-version
+ inspectorValidate.add_output_to_sources = false
+ GENERATORS += inspectorValidate
+@@ -787,7 +787,7 @@
+ inspectorJSON.output = InspectorFrontend.cpp InspectorBackendDispatcher.cpp InspectorTypeBuilder.cpp
+ inspectorJSON.input = INSPECTOR_JSON
+ inspectorJSON.script = $$PWD/inspector/CodeGeneratorInspector.py
+-inspectorJSON.commands = python $$inspectorJSON.script $$PWD/inspector/Inspector.json --output_h_dir ${QMAKE_FUNC_FILE_OUT_PATH} --output_cpp_dir ${QMAKE_FUNC_FILE_OUT_PATH}
++inspectorJSON.commands = python2 $$inspectorJSON.script $$PWD/inspector/Inspector.json --output_h_dir ${QMAKE_FUNC_FILE_OUT_PATH} --output_cpp_dir ${QMAKE_FUNC_FILE_OUT_PATH}
+ inspectorJSON.depends = $$inspectorJSON.script
+ GENERATORS += inspectorJSON
+
+@@ -908,7 +908,7 @@
+ entities.output = HTMLEntityTable.cpp
+ entities.input = HTML_ENTITIES
+ entities.script = $$PWD/html/parser/create-html-entity-table
+-entities.commands = python $$entities.script -o ${QMAKE_FILE_OUT} $$HTML_ENTITIES
++entities.commands = python2 $$entities.script -o ${QMAKE_FILE_OUT} $$HTML_ENTITIES
+ entities.clean = ${QMAKE_FILE_OUT}
+ entities.depends = $$PWD/html/parser/create-html-entity-table
+ GENERATORS += entities