summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.3.bb10
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3.inc60
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch43
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch50
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch34
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0004-configure-qmake-is-already-built-in-qt4-tools-native.patch29
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch28
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch38
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch34
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch29
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0009-qmake-fix-source-file-references-in-qmake.pri.patch52
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch42
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0011-freetype-host-includes.patch29
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0012-Add-2bpp-support.patch318
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0013-configure-add-crossarch-option.patch47
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0014-translations-fix-phony-translation-linking-error.patch41
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0015-configure-add-nostrip-for-debug-packages.patch32
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0016-configure-eval-QMAKE_CXX.patch36
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch46
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0018-configure-make-pulseaudio-a-configurable-option.patch46
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch63
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/0020-webkit-disable-the-fuse-ld-gold-flag.patch41
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/g++.conf56
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/linux.conf66
-rw-r--r--meta/recipes-qt/qt4/qt4-4.8.3/qte.sh7
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded_4.8.3.bb11
-rw-r--r--meta/recipes-qt/qt4/qt4-native_4.8.3.bb10
-rw-r--r--meta/recipes-qt/qt4/qt4-x11-free_4.8.3.bb11
28 files changed, 1309 insertions, 0 deletions
diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.3.bb b/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.3.bb
new file mode 100644
index 0000000000..ad5d8815c5
--- /dev/null
+++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools_4.8.3.bb
@@ -0,0 +1,10 @@
+require nativesdk-qt4-tools.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+PR = "${INC_PR}.0"
+
+SRC_URI += "file://0009-qmake-fix-source-file-references-in-qmake.pri.patch"
+
+SRC_URI[md5sum] = "a663b6c875f8d7caa8ac9c30e4a4ec3b"
+SRC_URI[sha256sum] = "f1f72974f924861be04019f49f07cd43ab3c95056db2ba8f34b283487cccc728"
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3.inc b/meta/recipes-qt/qt4/qt4-4.8.3.inc
new file mode 100644
index 0000000000..e473dc6917
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3.inc
@@ -0,0 +1,60 @@
+LICENSE = "LGPLv2.1 | GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+ file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+ file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt4-${PV}:"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+ file://0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch \
+ file://0004-configure-qmake-is-already-built-in-qt4-tools-native.patch \
+ file://0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch \
+ file://0009-qmake-fix-source-file-references-in-qmake.pri.patch \
+ file://0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch \
+ file://0011-freetype-host-includes.patch \
+ file://0012-Add-2bpp-support.patch \
+ file://0013-configure-add-crossarch-option.patch \
+ file://0014-translations-fix-phony-translation-linking-error.patch \
+ file://0015-configure-add-nostrip-for-debug-packages.patch \
+ file://0016-configure-eval-QMAKE_CXX.patch \
+ file://0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch \
+ file://0018-configure-make-pulseaudio-a-configurable-option.patch \
+ file://0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch \
+ file://0020-webkit-disable-the-fuse-ld-gold-flag.patch \
+ file://g++.conf \
+ file://linux.conf \
+ "
+
+SRC_URI[md5sum] = "a663b6c875f8d7caa8ac9c30e4a4ec3b"
+SRC_URI[sha256sum] = "f1f72974f924861be04019f49f07cd43ab3c95056db2ba8f34b283487cccc728"
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+FILES_${QT_BASE_NAME}-tools_append = " ${bindir}/qml ${bindir}/qmlplugindump"
+FILES_${QT_BASE_NAME}-tools-dbg_append = " ${bindir}/.debug/qml ${bindir}/.debug/qmlplugindump"
+
+PACKAGES_append = " ${QT_BASE_NAME}-tests-dbg ${QT_BASE_NAME}-tests"
+FILES_${QT_BASE_NAME}-tests-dbg = "/usr/tests/qt4/*/.debug"
+FILES_${QT_BASE_NAME}-tests = "/usr/tests/qt4/*"
+
+do_configure_prepend() {
+ for pro in $(find ${S} -name "*.pro") ; do
+ sed -i \
+ -e 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' \
+ -e 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' $pro
+ done
+
+ sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
+ sed -i \
+ -e /QMAKE_MOC\ /d \
+ -e /QMAKE_UIC\ /d \
+ -e /QMAKE_UIC3\ /d \
+ -e /QMAKE_RCC\ /d \
+ ${S}/configure
+
+ # Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++)
+ unset LD
+}
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
new file mode 100644
index 0000000000..e7eb52c8ea
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
@@ -0,0 +1,43 @@
+From 89349d565cf03f3a2c09fe235ac6c75e415859bd Mon Sep 17 00:00:00 2001
+From: Holger Freyther <zecke@selfish.org>
+Date: Wed, 26 Sep 2012 17:22:30 +0200
+Subject: [PATCH 01/20] qlibraryinfo: allow to set qt.conf from the outside
+ using the environment
+
+Allow to set a qt.conf from the outside using the environment. This allows
+to inject new prefixes and other paths into qmake. This is needed when using
+the same qmake binary to build qt/x11 and qt/embedded
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/corelib/global/qlibraryinfo.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
+index 91d2dfc..41045b3 100644
+--- a/src/corelib/global/qlibraryinfo.cpp
++++ b/src/corelib/global/qlibraryinfo.cpp
+@@ -54,6 +54,7 @@
+ QT_BEGIN_NAMESPACE
+ extern QString qmake_libraryInfoFile();
+ QT_END_NAMESPACE
++#include <stdlib.h>
+ #else
+ # include "qcoreapplication.h"
+ #endif
+@@ -112,6 +113,10 @@ QSettings *QLibraryInfoPrivate::findConfiguration()
+ #ifdef BOOTSTRAPPING
+ if(!QFile::exists(qtconfig))
+ qtconfig = qmake_libraryInfoFile();
++ if (!QFile::exists(qtconfig)) {
++ QByteArray config = getenv("QT_CONF_PATH");
++ qtconfig = QFile::decodeName(config);
++ }
+ #else
+ if (!QFile::exists(qtconfig) && QCoreApplication::instance()) {
+ #ifdef Q_OS_MAC
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch
new file mode 100644
index 0000000000..fbda9c4f16
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch
@@ -0,0 +1,50 @@
+From fe15b966616cc2d2f2f071474a3414fd03ee473e Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Wed, 26 Sep 2012 20:18:08 +0200
+Subject: [PATCH 02/20] qkbdtty_qws: fix build with old kernel headers
+
+This issue is that with C++ compiler process an old version of kernel
+header file, coincidently that file has a variable named 'new':
+
+* 'embedded/qkbdtty_qws.cpp' include 'linux/vt.h';
+* '/usr/include/linux/vt.h' has below code on SLED-11.x:
+ + unsigned int new;
+
+On mostly hosts it has been changed to: new -> newev.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/gui/embedded/qkbdtty_qws.cpp | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/gui/embedded/qkbdtty_qws.cpp b/src/gui/embedded/qkbdtty_qws.cpp
+index c629fa3..47fd3f7 100644
+--- a/src/gui/embedded/qkbdtty_qws.cpp
++++ b/src/gui/embedded/qkbdtty_qws.cpp
+@@ -54,8 +54,20 @@
+
+ #if defined Q_OS_LINUX
+ # include <linux/kd.h>
++
++/* Workaround kernel headers using "new" as variable name. The problem
++ is specific to SLED-11, other distros use "newev" rather than "new" */
++#ifdef __cplusplus
++#warning "workaround kernel headers using new as variable name on SLED 11"
++#define new newev
++#endif
++
+ # include <linux/vt.h> //TODO: move vt handling somewhere else (QLinuxFbScreen?)
+
++#ifdef __cplusplus
++#undef new
++#endif
++
+ # include "qscreen_qws.h"
+ # include "qwindowsystem_qws.h"
+ # include "qapplication.h"
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch
new file mode 100644
index 0000000000..66a7db1dd2
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch
@@ -0,0 +1,34 @@
+From f7eb6d336d30da7b8193f1d1ab6142293e3966da Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 1 May 2012 07:48:15 +0200
+Subject: [PATCH 03/20] webkit2: set OUTPUT_DIR value if empty
+
+Without this do_configure was trying to create /include/WebCore/libdummy.prl in root of build host filesystem
+now it's in proper place ${WORKDIR}/qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/include/WebCore/libdummy.prl
+
+First reported here:
+http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg24436.html
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro b/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
+index 006a88c..5e17193 100644
+--- a/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
++++ b/src/3rdparty/webkit/Source/WebKit2/DerivedSources.pro
+@@ -3,6 +3,8 @@ TARGET = dummy
+
+ CONFIG -= debug_and_release
+
++isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..
++
+ CONFIG(standalone_package) {
+ isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
+ isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0004-configure-qmake-is-already-built-in-qt4-tools-native.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0004-configure-qmake-is-already-built-in-qt4-tools-native.patch
new file mode 100644
index 0000000000..56bb8c37e0
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0004-configure-qmake-is-already-built-in-qt4-tools-native.patch
@@ -0,0 +1,29 @@
+From 53a20e5f7f790d047b67b1631e1d4acc9a86906a Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Wed, 26 Sep 2012 20:24:20 +0200
+Subject: [PATCH 04/20] configure: qmake is already built in qt4-tools-native,
+ so disable it
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index d19f443..59bdb63 100755
+--- a/configure
++++ b/configure
+@@ -4899,7 +4899,7 @@ setBootstrapVariable()
+ }
+
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if false; then ###[ '!' -f "$outpath/bin/qmake" ];
+ echo "Creating qmake. Please wait..."
+
+ OLD_QCONFIG_H=
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch
new file mode 100644
index 0000000000..4e310c2c61
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch
@@ -0,0 +1,28 @@
+From 5641d763180e7f848f5d39588417292b6b8df88e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= <jeremy.laine@m4x.org>
+Date: Wed, 26 Sep 2012 20:27:44 +0200
+Subject: [PATCH 05/20] configure: set LFLAGS to pick up zlib from staging
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 59bdb63..cc08b71 100755
+--- a/configure
++++ b/configure
+@@ -690,7 +690,7 @@ fi
+ # initalize variables
+ #-------------------------------------------------------------------------------
+
+-SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
++SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
+ for varname in $SYSTEM_VARIABLES; do
+ qmakevarname="${varname}"
+ # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch
new file mode 100644
index 0000000000..21d5b4da19
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch
@@ -0,0 +1,38 @@
+From fa9e376ff72f488608c8fc635ec669fc00c3c1ea Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Wed, 26 Sep 2012 20:29:09 +0200
+Subject: [PATCH 06/20] configure: Use OE_QMAKE_* values to specify Qt utility
+ paths
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure b/configure
+index cc08b71..958b884 100755
+--- a/configure
++++ b/configure
+@@ -8612,11 +8612,11 @@ QMAKE_ABSOLUTE_SOURCE_ROOT = \$\$QT_SOURCE_TREE
+ QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
+
+ #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
+-QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
+-QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
+-QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
+-QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
+-QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
++QMAKE_MOC = \${OE_QMAKE_MOC}
++QMAKE_UIC = \${OE_QMAKE_UIC}
++QMAKE_UIC3 = \${OE_QMAKE_UIC3}
++QMAKE_RCC = \${OE_QMAKE_RCC}
++QMAKE_QDBUSXML2CPP = \${OE_QMAKE_QDBUSXML2CPP}
+ QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
+ QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
+
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch
new file mode 100644
index 0000000000..1ce3dbb913
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch
@@ -0,0 +1,34 @@
+From db3c7b5710ee14280b51c355487dabe21eff60b4 Mon Sep 17 00:00:00 2001
+From: Pavel Heimlich <tropikhajma@gmail.com>
+Date: Wed, 26 Sep 2012 20:31:10 +0200
+Subject: [PATCH 07/20] dbus: Remove "const" usage that causes compile failure
+ building nativesdk-qt4-tools
+
+Patch has apparently been rejected upstream, not because it is invalid
+but because the submitter did not submit a merge request for it, so the
+validity of the patch upstream is uncertain. For further details see:
+http://bugreports.qt.nokia.com/browse/QTBUG-17962
+
+Upstream-Status: Denied [possible retry]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/dbus/qdbusintegrator.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
+index 0bf62de..e53620f 100644
+--- a/src/dbus/qdbusintegrator.cpp
++++ b/src/dbus/qdbusintegrator.cpp
+@@ -72,7 +72,7 @@ QT_BEGIN_NAMESPACE
+ static bool isDebugging;
+ #define qDBusDebug if (!::isDebugging); else qDebug
+
+-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
++Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS)))
+
+ static inline QString dbusServiceString()
+ { return *orgFreedesktopDBusString(); }
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch
new file mode 100644
index 0000000000..d945025eba
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch
@@ -0,0 +1,29 @@
+From dacee47b11fc7cf89cdb8ddeeac9e6b64320ec8b Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Wed, 26 Sep 2012 20:32:41 +0200
+Subject: [PATCH 08/20] qmake.pro: Allow building a separate qmake for the
+ target
+
+Upstream-Status: Inappropriate [config]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ qmake/qmake.pro | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/qmake/qmake.pro b/qmake/qmake.pro
+index 38e0fce..53b1ffb 100644
+--- a/qmake/qmake.pro
++++ b/qmake/qmake.pro
+@@ -7,6 +7,7 @@ CONFIG += console bootstrap
+ CONFIG -= qt shared app_bundle uic
+ DEFINES += QT_BUILD_QMAKE QT_BOOTSTRAPPED
+ DESTDIR = ../bin/
++TARGET = qmake2
+
+ OBJECTS_DIR = .
+ MOC_DIR = .
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0009-qmake-fix-source-file-references-in-qmake.pri.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0009-qmake-fix-source-file-references-in-qmake.pri.patch
new file mode 100644
index 0000000000..9616a5b2f8
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0009-qmake-fix-source-file-references-in-qmake.pri.patch
@@ -0,0 +1,52 @@
+From 08ec0f7ac7438e6f5b506b23fb52fe086078308b Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Wed, 26 Sep 2012 20:33:49 +0200
+Subject: [PATCH 09/20] qmake: fix source file references in qmake.pri
+
+Fix duplicate entries in SOURCES and HEADERS, and fix the source file
+list for the split of qlocale.cpp.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ qmake/qmake.pri | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/qmake/qmake.pri b/qmake/qmake.pri
+index 31f67f4..9081669 100644
+--- a/qmake/qmake.pri
++++ b/qmake/qmake.pri
+@@ -22,8 +22,7 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \
+ generators/symbian/initprojectdeploy_symbian.cpp \
+ generators/integrity/gbuild.cpp \
+ windows/registry.cpp \
+- symbian/epocroot.cpp \
+- generators/integrity/gbuild.cpp
++ symbian/epocroot.cpp
+
+ HEADERS += project.h property.h generators/makefile.h \
+ generators/unix/unixmake.h meta.h option.h cachekeys.h \
+@@ -40,8 +39,7 @@ HEADERS += project.h property.h generators/makefile.h \
+ generators/symbian/initprojectdeploy_symbian.h \
+ generators/integrity/gbuild.h \
+ windows/registry_p.h \
+- symbian/epocroot_p.h \
+- generators/integrity/gbuild.h
++ symbian/epocroot_p.h
+
+ contains(QT_EDITION, OpenSource) {
+ DEFINES += QMAKE_OPENSOURCE_EDITION
+@@ -72,6 +70,8 @@ bootstrap { #Qt code
+ qlist.cpp \
+ qlinkedlist.cpp \
+ qlocale.cpp \
++ qlocale_tools.cpp \
++ qlocale_unix.cpp \
+ qmalloc.cpp \
+ qmap.cpp \
+ qmetatype.cpp \
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch
new file mode 100644
index 0000000000..f3674e8108
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch
@@ -0,0 +1,42 @@
+From d9544b4a079f3c66d15f973c5d1526df2fe49d40 Mon Sep 17 00:00:00 2001
+From: Holger Freyther <zecke@selfish.org>
+Date: Wed, 26 Sep 2012 20:36:38 +0200
+Subject: [PATCH 10/20] configure: Hack to not use the pg_config of the host
+ system which will add /usr/include
+
+pg_config is a native binary so using that when cross compiling
+will always fail. The commented out fix would do, but for OE
+our -platform and -xplatform is the same so we are actually not
+really cross compiling. Just comment out the test, we are passing
+the location to the postgres headers and if they are okay we
+will pad.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index 958b884..24cbb2a 100755
+--- a/configure
++++ b/configure
+@@ -5441,10 +5441,10 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
+ psql)
+ if [ "$CFG_SQL_psql" != "no" ]; then
+ # Be careful not to use native pg_config when cross building.
+- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
+- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
+- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
+- fi
++# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
++# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
++# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
++# fi
+ [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
+ [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
+ # But, respect PSQL_LIBS if set
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0011-freetype-host-includes.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0011-freetype-host-includes.patch
new file mode 100644
index 0000000000..60acb803a4
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0011-freetype-host-includes.patch
@@ -0,0 +1,29 @@
+From 95cbbdaaf543bb5747b535b5e4b02114f3d821d6 Mon Sep 17 00:00:00 2001
+From: Michael Krelin <hacker@klever.net>
+Date: Mon, 4 Jun 2007 14:48:50 +0200
+Subject: [PATCH 11/20] freetype host includes
+
+Host include path should not be used in cross compiling case.
+
+Ported from OE by: Yu Ke <ke.yu@intel.com>
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ config.tests/unix/freetype/freetype.pri | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config.tests/unix/freetype/freetype.pri b/config.tests/unix/freetype/freetype.pri
+index 7ef1cf9..b362fcd 100644
+--- a/config.tests/unix/freetype/freetype.pri
++++ b/config.tests/unix/freetype/freetype.pri
+@@ -1,5 +1,5 @@
+ !cross_compile {
+- TRY_INCLUDEPATHS = /include /usr/include $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
++ TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ # LSB doesn't allow using headers from /include or /usr/include
+ linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$QMAKE_INCDIR_X11 $$INCLUDEPATH
+ for(p, TRY_INCLUDEPATHS) {
+--
+1.7.12
+
diff --git a/meta/recipes-qt/qt4/qt4-4.8.3/0012-Add-2bpp-support.patch b/meta/recipes-qt/qt4/qt4-4.8.3/0012-Add-2bpp-support.patch
new file mode 100644
index 0000000000..019b9f4be7
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-4.8.3/0012-Add-2bpp-support.patch
@@ -0,0 +1,318 @@
+From a8233fddb36592361910d967664e5b546ac4cc3e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= <jeremy.laine@m4x.org>
+Date: Wed, 26 Sep 2012 20:39:21 +0200
+Subject: [PATCH 12/20] Add 2bpp support
+
+Submitted upstream but rejected as being "out of scope":
+http://bugreports.qt.nokia.com/browse/QTBUG-3468
+
+Upstream-Status: Denied
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure | 5 +-
+ src/gui/embedded/qscreen_qws.cpp | 211 ++++++++++++++++++++++++++++++++
+ src/gui/embedded/qscreenlinuxfb_qws.cpp | 4 +-
+ 3 files changed, 216 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index 24cbb2a..cd66d05 100755
+--- a/configure
++++ b/configure
+@@ -6999,6 +6999,7 @@ if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
+ echo "Choose pixel-depths to support:"
+ echo
+ echo " 1. 1bpp, black/white"
++ echo " 2. 2bpp, grayscale"
+ echo " 4. 4bpp, grayscale"
+ echo " 8. 8bpp, paletted"
+ echo " 12. 12bpp, rgb 4-4-4"
+@@ -7017,11 +7018,11 @@ if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
+ fi
+ if [ -n "$CFG_QWS_DEPTHS" -a "$PLATFORM_QWS" = "yes" ]; then
+ if [ "$CFG_QWS_DEPTHS" = "all" ]; then
+- CFG_QWS_DEPTHS="1 4 8 12 15 16 18 24 32 generic"
++ CFG_QWS_DEPTHS="1 2 4 8 12 15 16 18 24 32 generic"
+ fi
+ for D in `echo "$CFG_QWS_DEPTHS" | sed -e 's/,/ /g'`; do
+ case $D in
+- 1|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
++ 1|2|4|8|12|15|16|18|24|32) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_$D";;
+ generic) QCONFIG_FLAGS="$QCONFIG_FLAGS QT_QWS_DEPTH_GENERIC";;
+ esac
+ done
+diff --git a/src/gui/embedded/qscreen_qws.cpp b/src/gui/embedded/qscreen_qws.cpp
+index d2ad851..d25fc87 100644
+--- a/src/gui/embedded/qscreen_qws.cpp
++++ b/src/gui/embedded/qscreen_qws.cpp
+@@ -469,6 +469,58 @@ static void solidFill_gray4(QScreen *screen, const QColor &color,
+ }
+ #endif // QT_QWS_DEPTH_4
+
++#ifdef QT_QWS_DEPTH_2
++static inline void qt_rectfill_gray2(quint8 *dest, quint8 value,
++ int x, int y, int width, int height,
++ int stride)
++{
++ const int pixelsPerByte = 4;
++ const int alignWidth = qMin(width, (4 - (x & 3)) & 3);
++ const int doAlign = (alignWidth > 0 ? 1 : 0);
++ const int alignStart = pixelsPerByte - 1 - (x & 3);
++ const int alignStop = alignStart - (alignWidth - 1);
++ const quint8 alignMask = ((1 << (2 * alignWidth)) - 1) << (2 * alignStop);
++ const int tailWidth = (width - alignWidth) & 3;
++ const int doTail = (tailWidth > 0 ? 1 : 0);
++ const quint8 tailMask = (1 << (2 * (pixelsPerByte - tailWidth))) - 1;
++ const int width8 = (width - alignWidth) / pixelsPerByte;
++
++ dest += y * stride + x / pixelsPerByte;
++ stride -= (doAlign + width8);
++
++ for (int j = 0; j < height; ++j) {
++ if (doAlign) {
++ *dest = (*dest & ~alignMask) | (value & alignMask);
++ ++dest;
++ }
++ if (width8) {
++ qt_memfill<quint8>(dest, value, width8);
++ dest += width8;
++ }
++ if (doTail)
++ *dest = (*dest & tailMask) | (value & ~tailMask);
++ dest += stride;
++ }
++}
++
++static void solidFill_gray2(QScreen *screen, const QColor &color,
++ const QRegion &region)
++{
++ quint8 *dest = reinterpret_cast<quint8*>(screen->base());
++ const quint8 c = qGray(color.rgba()) >> 6;
++ const quint8 c8 = (c << 6) | (c << 4) | (c << 2) | c;
++
++ const int stride = screen->linestep();
++ const QVector<QRect> rects = region.rects();
++
++ for (int i = 0; i < rects.size(); ++i) {
++ const QRect r = rects.at(i);
++ qt_rectfill_gray2(dest, c8, r.x(), r.y(), r.width(), r.height(),
++ stride);
++ }
++}
++#endif // QT_QWS_DEPTH_2
++
+ #ifdef QT_QWS_DEPTH_1
+ static inline void qt_rectfill_mono(quint8 *dest, quint8 value,
+ int x, int y, int width, int height,
+@@ -576,6 +628,11 @@ void qt_solidFill_setup(QScreen *screen, const QColor &color,
+ screen->d_ptr->solidFill = solidFill_gray4;
+ break;
+ #endif
++#ifdef QT_QWS_DEPTH_2
++ case 2:
++ screen->d_ptr->solidFill = solidFill_gray2;
++ break;
++#endif
+ #ifdef QT_QWS_DEPTH_1
+ case 1:
+ screen->d_ptr->solidFill = solidFill_mono;
+@@ -1006,6 +1063,149 @@ static void blit_4(QScreen *screen, const QImage &image,
+ }
+ #endif // QT_QWS_DEPTH_4
+
++#ifdef QT_QWS_DEPTH_2
++
++struct qgray2 { quint8 dummy; } Q_PACKED;
++
++template <typename SRC>
++static inline quint8 qt_convertToGray2(SRC color);
++
++template <>
++inline quint8 qt_convertToGray2(quint32 color)
++{
++ return qGray(color) >> 6;
++}
++
++template <>
++inline quint8 qt_convertToGray2(quint16 color)
++{
++ const int r = (color & 0xf800) >> 11;
++ const int g = (color & 0x07e0) >> 6; // only keep 5 bit
++ const int b = (color & 0x001f);
++ return (r * 11 + g * 16 + b * 5) >> 8;
++}
++
++template <>
++inline quint8 qt_convertToGray2(qrgb444 color)
++{
++ return qt_convertToGray2(quint32(color));
++}
++
++template <>
++inline quint8 qt_convertToGray2(qargb4444 color)
++{
++ return qt_convertToGray2(quint32(color));
++}
++
++template <typename SRC>
++static inline void qt_rectconvert_gray2(qgray2 *dest2, const SRC *src,
++ int x, int y, int width, int height,
++ int dstStride, int srcStride)
++{
++ const int pixelsPerByte = 4;
++ quint8 *dest8 = reinterpret_cast<quint8*>(dest2)
++ + y * dstStride + x / pixelsPerByte;
++ cons