diff --git a/extra/qtwebkit/PKGBUILD b/extra/qtwebkit/PKGBUILD new file mode 100644 index 000000000..223b5de34 --- /dev/null +++ b/extra/qtwebkit/PKGBUILD @@ -0,0 +1,69 @@ +# $Id$ +# Maintainer: Andrea Scarpino + +# ALARM: Kevin Mihelich +# - patch for fix on ARM + +pkgname=qtwebkit +pkgver=2.3.3 +pkgrel=1.1 +arch=('i686' 'x86_64') +url='http://trac.webkit.org/wiki/QtWebKit' +pkgdesc='An open source web browser engine (Qt port)' +license=('LGPL2.1' 'GPL3') +depends=('qt4' 'systemd' 'gstreamer0.10-base') +makedepends=('gperf' 'python2' 'ruby' 'git' 'mesa') +conflicts=('qt<4.8') +_qtver=4.8.6 +source=("ftp://ftp.archlinux.org/other/packages/${pkgname}/${pkgname}-${pkgver}.tar.gz" + "http://download.qt-project.org/official_releases/qt/4.8/${_qtver}/qt-everywhere-opensource-src-${_qtver}.tar.gz" + 'use-python2.patch' + 'bison3.patch' + 'qwebview.patch' + 'https://gitorious.org/webkit/qtwebkit-23/commit/9fe66e8b769e6fe1c66b8d00b6c8e6403d9d6303.patch') +sha1sums=('64f3ab7f8e53b5b971a3a6577fc61db0cc2ea31f' + 'ddf9c20ca8309a116e0466c42984238009525da6' + '315b6ff603f35e5492a036f7082f6aa075dfb607' + 'd2c6182512e4bcbdf30a9e9d513c52fe4b16d9f2' + '88ed73e6bd7ea9c6d227ceaed0ff2f1cf0200667' + '7f075217201d9b50faafdba3bbe63e63ae06d8e7') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/use-python2.patch + patch -p1 -i "${srcdir}"/bison3.patch + patch -p1 -i "${srcdir}"/9fe66e8b769e6fe1c66b8d00b6c8e6403d9d6303.patch + + cd ../qt-everywhere-opensource-src-${_qtver} + patch -p1 -i "${srcdir}"/qwebview.patch +} + +build() { + cd ${pkgname}-${pkgver} + + OPTS="--no-webkit2" + 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 +} diff --git a/extra/qtwebkit/bison3.patch b/extra/qtwebkit/bison3.patch new file mode 100644 index 000000000..4070c88e8 --- /dev/null +++ b/extra/qtwebkit/bison3.patch @@ -0,0 +1,38 @@ +From 60ba8bd5b3575d0c7740571fbb4e681b21a49a82 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Fri, 16 Aug 2013 18:27:07 +0200 +Subject: [PATCH] ANGLE doesn't build with bison 3.0 + +https://bugs.webkit.org/show_bug.cgi?id=119798 + +Reviewed by Antti Koivisto. + +Make glslang.y compatible with bison 3.0 +by using %lex-param to set YYLEX_PARAM. + +* src/compiler/glslang.y: + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154109 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +Task-number: QTBUG-32913 +Change-Id: I15505d31f0588c4d558b73befdb9d2358e29c1a3 +Reviewed-by: Jocelyn Turcotte +--- + Source/ThirdParty/ANGLE/src/compiler/glslang.y | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/Source/ThirdParty/ANGLE/src/compiler/glslang.y b/Source/ThirdParty/ANGLE/src/compiler/glslang.y +index 3cad335..b41e95a 100644 +--- a/Source/ThirdParty/ANGLE/src/compiler/glslang.y ++++ b/Source/ThirdParty/ANGLE/src/compiler/glslang.y +@@ -47,6 +47,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h). + %expect 1 /* One shift reduce conflict because of if | else */ + %pure-parser + %parse-param {TParseContext* context} ++%lex-param {YYLEX_PARAM} + + %union { + struct { +-- +1.7.1 + diff --git a/extra/qtwebkit/qwebview.patch b/extra/qtwebkit/qwebview.patch new file mode 100644 index 000000000..3788e0bff --- /dev/null +++ b/extra/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.3/WebKitBuild/Release/include ++LIBS += -L../../../../../../qtwebkit-2.3.3/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/extra/qtwebkit/use-python2.patch b/extra/qtwebkit/use-python2.patch new file mode 100644 index 000000000..b1444435b --- /dev/null +++ b/extra/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