[OE-core] [PATCH] qt4: Added support for QtMobility 1.2

Dmitry Cherukhin dima_ch at emcraft.com
Fri Sep 23 14:13:14 UTC 2011


This patch is indented to add new functionality,
specifically, the patch adds support for
the QtMobility 1.2 package.

Added two recipes:
1) qt-mobility-x11 builds the QtMobility 1.2 package
   on the basis of qt4-x11-free;
2) qt-mobility-embedded builds the QtMobility 1.2 package
   on the basis of qt4-embedded.

Signed-off-by: Dmitry Cherukhin <dima_ch at emcraft.com>
---
 meta/recipes-qt/qt4/files/qtm_qtmobility_pro.patch |   28 +++++++++++
 meta/recipes-qt/qt4/files/qtme_gstreamer_pro.patch |   16 ++++++
 meta/recipes-qt/qt4/qt-mobility-embedded_1.2.0.bb  |   13 +++++
 meta/recipes-qt/qt4/qt-mobility-x11_1.2.0.bb       |   11 ++++
 meta/recipes-qt/qt4/qt-mobility_1.2.0.inc          |   51 ++++++++++++++++++++
 5 files changed, 119 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/files/qtm_qtmobility_pro.patch
 create mode 100644 meta/recipes-qt/qt4/files/qtme_gstreamer_pro.patch
 create mode 100644 meta/recipes-qt/qt4/qt-mobility-embedded_1.2.0.bb
 create mode 100644 meta/recipes-qt/qt4/qt-mobility-x11_1.2.0.bb
 create mode 100644 meta/recipes-qt/qt4/qt-mobility_1.2.0.inc

diff --git a/meta/recipes-qt/qt4/files/qtm_qtmobility_pro.patch b/meta/recipes-qt/qt4/files/qtm_qtmobility_pro.patch
new file mode 100644
index 0000000..689c224
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qtm_qtmobility_pro.patch
@@ -0,0 +1,28 @@
+This patch fixes the following issue at the configure stage:
+   Project ERROR: Qt Mobility requires Qt 4.6 or higher. Qt was found.
+The version of Qt is already 4.7.3, so this is misconfiguration problem.
+
+The origin of this patch is: 
+   http://neophysis.git.sourceforge.net/git/gitweb.cgi?p=neophysis/openembedded;
+   a=blob;f=recipes/neophysis/qt-mobility-1.0.0/qtmobility_pro.patch;
+   h=fc5e1691aed47bc50d87e5c33497354182cacda4;hb=refs/heads/neophysis-testing-0.3
+Upstream-Status: not-appropriate
+--- qt-mobility-opensource-src-1.0.0/qtmobility.pro.orig	2010-05-21 14:20:19.547363661 +0200
++++ qt-mobility-opensource-src-1.0.0/qtmobility.pro	2010-05-21 14:22:01.967353682 +0200
+@@ -53,15 +53,6 @@ win32:!contains(CONFIG_WIN32,build_all) 
+    }
+ }
+ 
+-lessThan(QT_MAJOR_VERSION, 4) {
+-    error(Qt Mobility requires Qt 4.6 or higher. Qt $${QT_VERSION} was found.);
+-}
+-
+-contains(QT_MAJOR_VERSION, 4):lessThan(QT_MINOR_VERSION, 6) {
+-    error(Qt Mobility requires Qt 4.6 or higher. Qt $${QT_VERSION} was found.);
+-}
+-
+-
+ # MCL builds for Symbian do not run configure and require some manual setup steps.
+ # This test permits SD builds to skip installation of mobility.prf from within qmake.
+ # It is installed in a separate step. MCL builds for SD must set the
+
diff --git a/meta/recipes-qt/qt4/files/qtme_gstreamer_pro.patch b/meta/recipes-qt/qt4/files/qtme_gstreamer_pro.patch
new file mode 100644
index 0000000..0cba1d6
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qtme_gstreamer_pro.patch
@@ -0,0 +1,16 @@
+This patch disables the section of the Qt project file which depends on X11.
+The patch is applied for the qt-mobility-embedded package only.
+This section is already disabled for the embedded platform so we do what should be done.
+
+Upstream-Status: not-appropriate
+--- qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/gstreamer.pro.orig	2011-09-13 09:19:05.000000000 +0200
++++ qt-mobility-opensource-src-1.2.0/plugins/multimedia/gstreamer/gstreamer.pro	2011-09-13 09:37:58.609252481 +0200
+@@ -81,7 +81,7 @@
+     qgstutils.cpp
+ 
+ 
+-!win32:!embedded:!mac:!symbian:!simulator:!contains(QT_CONFIG, qpa) {
++!win32:!embedded:!mac:!symbian:!simulator:!contains(QT_CONFIG, qpa):!contains(qt_embedded,yes) {
+     LIBS += -lXv -lX11 -lXext
+ 
+     HEADERS += \
diff --git a/meta/recipes-qt/qt4/qt-mobility-embedded_1.2.0.bb b/meta/recipes-qt/qt4/qt-mobility-embedded_1.2.0.bb
new file mode 100644
index 0000000..c31b1d2
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-mobility-embedded_1.2.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Qt Mobility 1.2.0 - version for Qt/Embedded"
+DEPENDS = "qt4-embedded"
+SECTION = "libs"
+qtm_embedded := "yes"
+qtm_libinfix := "E"
+qtm_dir = "qtopia"
+qtm_glflags := "-=opengl"
+qtm_extra_config := "gstreamer-photography_enabled = no"
+
+inherit qt4e
+require qt-mobility_${PV}.inc
+
+SRC_URI += "file://qtme_gstreamer_pro.patch;patch=1"
diff --git a/meta/recipes-qt/qt4/qt-mobility-x11_1.2.0.bb b/meta/recipes-qt/qt4/qt-mobility-x11_1.2.0.bb
new file mode 100644
index 0000000..3020953
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-mobility-x11_1.2.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Qt Mobility 1.2.0 - version for Qt/X11"
+DEPENDS = "qt4-x11-free"
+SECTION = "x11/libs"
+qtm_embedded := "no"
+qtm_libinfix := ""
+qtm_dir = "qt4"
+qtm_glflags := "${@base_contains('DISTRO_FEATURES', 'opengl', '+=opengl', '-=opengl', d)} "
+qtm_extra_config := ""
+
+inherit qt4x11
+require qt-mobility_${PV}.inc
diff --git a/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc b/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
new file mode 100644
index 0000000..5a423d7
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-mobility_1.2.0.inc
@@ -0,0 +1,51 @@
+HOMEPAGE = "http://qt.nokia.com"
+DEPENDS += "pulseaudio bluez4"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+		    file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+SRC_URI = "http://get.qt.nokia.com/qt/add-ons/qt-mobility-opensource-src-${PV}.tar.gz \
+		    file://qtm_qtmobility_pro.patch;patch=1 "
+
+SRC_URI[md5sum]="ea5db5a8d3dd4709c2926dceda646bd8"
+SRC_URI[sha256sum]="ee3c88975e04139ac9589f76d4be646d44fcbc4c8c1cf2db621abc154cf0ba44"
+
+S = "${WORKDIR}/qt-mobility-opensource-src-${PV}"
+
+qtm_bin := "/usr/bin/${qtm_dir}"
+qtm_lib := "/usr/lib"
+qtm_include := "/usr/include/${qtm_dir}"
+qtm_examples := "/usr/bin/${qtm_dir}/examples/qtmobility"
+qtm_demos := "/usr/bin/${qtm_dir}/demos/qtmobility"
+qtm_plugins := "/usr/lib/${qtm_dir}/plugins/qtmobility"
+
+do_configure_prepend() {
+	./configure -qmake-exec qmake2 -prefix /usr -examples -demos
+	echo QT_MOBILITY_BIN = ${qtm_bin} >>./config.pri
+	echo QT_MOBILITY_LIB = ${qtm_lib} >>./config.pri
+	echo QT_MOBILITY_INCLUDE = ${qtm_include} >>./config.pri
+	echo QT_MOBILITY_PLUGINS = ${qtm_plugins} >>./config.pri
+	echo QT_MOBILITY_EXAMPLES = ${qtm_examples} >>./config.pri
+	echo QT_MOBILITY_DEMOS = ${qtm_demos} >>./config.pri
+	echo QT_CONFIG += dbus >>./config.pri
+	echo QT_CONFIG ${qtm_glflags} >>./config.pri
+	echo QT_LIBINFIX = ${qtm_libinfix} >>./config.pri
+	echo qt_embedded = ${qtm_embedded} >>./config.pri
+	echo bluez_enabled = yes >>./config.pri
+	echo ${qtm_extra_config} >>./config.pri
+}
+
+do_install() {
+	oe_runmake install INSTALL_ROOT=${D}
+	for NAME in */*.prf
+	do
+	    install -m 644 -D -T $NAME ${D}/usr/share/${qtm_dir}/mkspecs/features/`basename $NAME`
+	done
+}
+
+PACKAGES = "${PN}-dbg ${PN} ${PN}-dev"
+
+FILES_${PN}-dbg = "${qtm_bin}/.debug ${qtm_examples}/.debug ${qtm_demos}/.debug ${qtm_lib}/.debug ${qtm_plugins}/*/.debug /usr/src/debug"
+FILES_${PN} = "${qtm_bin} ${qtm_examples} ${qtm_demos} ${qtm_lib}/*.so.1* ${qtm_plugins}"
+FILES_${PN}-dev = "/usr"
-- 
1.7.6





More information about the Openembedded-core mailing list