All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Qt4 update
@ 2011-01-28  0:36 Paul Eggleton
  2011-01-28  0:36 ` [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded Paul Eggleton
                   ` (10 more replies)
  0 siblings, 11 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

These patches bring in the latest version of the Qt4 recipes from 
meta-openembedded, and make some significant general recipe cleanups as
well. We will now have support for the latest version of Qt (4.7.1) in
addition to 4.6.3, as well as the embedded (framebuffer-only as opposed
to requiring X11) flavours of both versions.

This patchset also contains the necessary changes to add meta-toolchain-qte 
from OpenEmbedded, and make it build successfully within Poky. Amongst other 
things this required some tweaking of avahi to avoid dependency of avahi-dev
/ avahi-utils on gtk+, which in turn required the addition of a flag to 
control automatic RRECOMMENDS_ generation in package.bbclass.


Pull URL: git://git.pokylinux.org/poky-contrib.git
  Branch: paule/qt-fixes2a
  Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=paule/qt-fixes2a

Thanks,
    Paul Eggleton <paul.eggleton@linux.intel.com>
---


Paul Eggleton (11):
  Add directfb 1.4.6 from meta-openembedded
  qt4: Bring in improvements from meta-openembedded
  qt4: add qt4-embedded 4.6.3 from meta-openembedded
  qt4: add 4.7.1 version from meta-openembedded
  qt4-tools-native: update from OpenEmbedded
  glib-2.0: extend to nativesdk
  dbus: extend to nativesdk
  qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded
  package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname
  avahi: prevent unnecessary runtime dependency on gtk+
  qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

 meta/classes/package.bbclass                       |    2 +
 meta/classes/qt4e.bbclass                          |   18 ++
 meta/classes/qt4x11.bbclass                        |    9 +
 meta/recipes-connectivity/avahi/avahi.inc          |    9 +-
 meta/recipes-connectivity/avahi/avahi_0.6.28.bb    |    2 +-
 meta/recipes-core/dbus/dbus.inc                    |    3 +-
 meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb      |    2 +-
 meta/recipes-core/glib-2.0/glib.inc                |    1 +
 .../directfb/directfb-1.4.6/mkdfiff.patch          |   24 ++
 meta/recipes-graphics/directfb/directfb.inc        |   73 ++++++
 meta/recipes-graphics/directfb/directfb_1.4.6.bb   |   27 +++
 .../directfb-1.2.x-fix-pkgconfig-cflags.patch      |   47 ++++
 .../directfb/files/dont-use-linux-config.patch     |   12 +
 meta/recipes-qt/meta/meta-toolchain-qte.bb         |   32 +++
 .../recipes-qt/qt4/files/compile.test-lflags.patch |   13 +
 meta/recipes-qt/qt4/files/configure-lflags.patch   |   13 +
 meta/recipes-qt/qt4/files/configure-paths.patch    |   21 ++
 meta/recipes-qt/qt4/files/qmake-exists-check.patch |   18 ++
 meta/recipes-qt/qt4/files/qte.sh                   |    7 +
 .../qt4/files/qthelp-lib-qtclucene.patch           |   86 +++++++
 meta/recipes-qt/qt4/qt-4.6.3.inc                   |   54 ++---
 meta/recipes-qt/qt4/qt-4.7.1.inc                   |   58 +++++
 .../0001-Added-Openembedded-crossarch-option.patch |   44 ++++
 meta/recipes-qt/qt4/qt-4.7.1/g++.conf              |   60 +++++
 .../qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch          |   19 ++
 meta/recipes-qt/qt4/qt-4.7.1/linux.conf            |   66 ++++++
 meta/recipes-qt/qt4/qt4-embedded.inc               |   34 +++
 meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb          |    9 +
 meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb          |   10 +
 meta/recipes-qt/qt4/qt4-tools-native.inc           |   44 +++--
 meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb      |   12 +-
 meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb      |   13 +
 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc        |  111 ++++++++++
 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb   |    6 +
 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb   |    6 +
 meta/recipes-qt/qt4/qt4-x11-free.inc               |    9 +-
 meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb          |    7 +-
 meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb          |   12 +
 meta/recipes-qt/qt4/qt4.inc                        |  232 ++++++++++----------
 meta/recipes-qt/qt4/qt4_arch.inc                   |   25 ++
 meta/recipes-qt/tasks/task-qte-toolchain-host.bb   |    7 +
 meta/recipes-qt/tasks/task-qte-toolchain-target.bb |   39 ++++
 42 files changed, 1111 insertions(+), 185 deletions(-)
 create mode 100644 meta/classes/qt4e.bbclass
 create mode 100644 meta/classes/qt4x11.bbclass
 create mode 100644 meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
 create mode 100644 meta/recipes-graphics/directfb/directfb.inc
 create mode 100644 meta/recipes-graphics/directfb/directfb_1.4.6.bb
 create mode 100644 meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
 create mode 100644 meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
 create mode 100644 meta/recipes-qt/meta/meta-toolchain-qte.bb
 create mode 100644 meta/recipes-qt/qt4/files/compile.test-lflags.patch
 create mode 100644 meta/recipes-qt/qt4/files/configure-lflags.patch
 create mode 100644 meta/recipes-qt/qt4/files/configure-paths.patch
 create mode 100644 meta/recipes-qt/qt4/files/qmake-exists-check.patch
 create mode 100644 meta/recipes-qt/qt4/files/qte.sh
 create mode 100644 meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1.inc
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/g++.conf
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/linux.conf
 create mode 100644 meta/recipes-qt/qt4/qt4-embedded.inc
 create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
 create mode 100644 meta/recipes-qt/qt4/qt4_arch.inc
 create mode 100644 meta/recipes-qt/tasks/task-qte-toolchain-host.bb
 create mode 100644 meta/recipes-qt/tasks/task-qte-toolchain-target.bb



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28 15:27   ` Joshua Lock
  2011-01-28  0:36 ` [PATCH 02/11] qt4: Bring in improvements " Paul Eggleton
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

This package has been added from meta-openembedded (with no changes) in order
to be able to build qt4-embedded.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../directfb/directfb-1.4.6/mkdfiff.patch          |   24 +++++++
 meta/recipes-graphics/directfb/directfb.inc        |   73 ++++++++++++++++++++
 meta/recipes-graphics/directfb/directfb_1.4.6.bb   |   27 +++++++
 .../directfb-1.2.x-fix-pkgconfig-cflags.patch      |   47 +++++++++++++
 .../directfb/files/dont-use-linux-config.patch     |   12 +++
 5 files changed, 183 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
 create mode 100644 meta/recipes-graphics/directfb/directfb.inc
 create mode 100644 meta/recipes-graphics/directfb/directfb_1.4.6.bb
 create mode 100644 meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
 create mode 100644 meta/recipes-graphics/directfb/files/dont-use-linux-config.patch

diff --git a/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
new file mode 100644
index 0000000..28bd534
--- /dev/null
+++ b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
@@ -0,0 +1,24 @@
+diff -uNr DirectFB-1.4.6.orig/tools/mkdfiff.c DirectFB-1.4.6/tools/mkdfiff.c
+--- DirectFB-1.4.6.orig/tools/mkdfiff.c 2010-10-15 10:54:57.000000000 +0200
++++ DirectFB-1.4.6/tools/mkdfiff.c      2010-10-15 10:54:15.000000000 +0200
+@@ -50,6 +50,8 @@
+
+ #include <dfiff.h>
+
++#include <unistd.h>
++
+ static DirectFBPixelFormatNames( format_names );
+
+ static const char            *filename;
+diff -uNr DirectFB-1.4.6.orig/tools/mkdgifft.cpp DirectFB-1.4.6/tools/mkdgifft.cpp
+--- DirectFB-1.4.6.orig/tools/mkdgifft.cpp      2010-10-08 14:02:57.000000000 +0200
++++ DirectFB-1.4.6/tools/mkdgifft.cpp   2010-10-15 10:56:06.000000000 +0200
+@@ -40,6 +40,8 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/stat.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/mman.h>
diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc
new file mode 100644
index 0000000..ca22d24
--- /dev/null
+++ b/meta/recipes-graphics/directfb/directfb.inc
@@ -0,0 +1,73 @@
+DESCRIPTION = "DirectFB is a thin library that provides developers \
+with hardware graphics acceleration, input device handling and \
+abstraction, an integrated windowing system with support for \
+translucent windows and multiple display layers on top of the \
+Linux framebuffer device."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
+
+HOMEPAGE = "http://directfb.org"
+DEPENDS = "jpeg libpng freetype zlib tslib"
+
+SRC_URI = " \
+    http://www.directfb.org/downloads/Old/DirectFB-${PV}.tar.gz \
+    file://fix-pkgconfig-cflags.patch \
+    file://fix-font-missing-char.patch \
+    file://getpagesize.patch \
+    file://mkdfiff.patch \
+    file://dont-use-linux-config.patch \
+    file://ts_lib_autotools.patch \
+"
+S = "${WORKDIR}/DirectFB-${PV}"
+
+LDFLAGS_append =" -lts -lm"
+
+inherit autotools binconfig pkgconfig
+
+EXTRA_OECONF = "\
+  --with-gfxdrivers=none \
+  --enable-libmpeg3=no \
+  --enable-freetype=yes \
+  --enable-sdl=no \
+  --enable-vnc=no \
+  --disable-x11 \
+"
+
+do_install() {
+        oe_runmake 'DESTDIR=${D}' install
+}
+
+
+#PACKAGES_DYNAMIC = "directfb-inputdrivers-*"
+#
+#python populate_packages_prepend () {
+#    import os.path
+#    inputdrivers_libdir = bb.data.expand('${libdir}/directfb-${RV}/inputdrivers', d)
+#    do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
+#}
+
+# NOTE: monolithic packaging for now, should improve that eventually
+
+
+
+FILES_${PN}-dbg += "\
+  ${libdir}/directfb-${RV}/*/*/.debug/*.so \
+  ${libdir}/directfb-${RV}/*/.debug/*.so \
+"
+
+FILES_${PN}-dev += "\
+  ${bindir}/directfb-config \
+  ${libdir}/directfb-${RV}/systems/*.la \
+  ${libdir}/directfb-${RV}/inputdrivers/*.la \
+  ${libdir}/directfb-${RV}/interfaces/*/*.la \
+  ${libdir}/directfb-${RV}/wm/*.la \
+"
+
+FILES_${PN} += "\
+  ${libdir}/directfb-${RV}/systems/*.so \
+  ${libdir}/directfb-${RV}/inputdrivers/*.so \
+  ${libdir}/directfb-${RV}/interfaces/*/*.so \
+  ${libdir}/directfb-${RV}/wm/*.so \
+  ${datadir}/directfb-${PV} \
+"
diff --git a/meta/recipes-graphics/directfb/directfb_1.4.6.bb b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
new file mode 100644
index 0000000..70c0225
--- /dev/null
+++ b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
@@ -0,0 +1,27 @@
+require directfb.inc
+
+RV = "1.4-5"
+PR = "r2"
+
+DEPENDS += "sysfsutils"
+
+SRC_URI = " \
+    http://directfb.org/downloads/Core/DirectFB-1.4/DirectFB-${PV}.tar.gz \
+    file://directfb-1.2.x-fix-pkgconfig-cflags.patch \
+    file://mkdfiff.patch \
+    file://dont-use-linux-config.patch \
+   "
+
+EXTRA_OECONF = "\
+  --enable-freetype=yes \
+  --enable-zlib \
+  --with-gfxdrivers=none \
+  --disable-sdl \
+  --disable-vnc \
+  --disable-x11 \
+"
+
+LEAD_SONAME = "libdirectfb-1.4.so.5"
+
+SRC_URI[md5sum] = "dbe1957932f81790742b58b94c1c7b84"
+SRC_URI[sha256sum] = "b18121e60e9a084ee347037a53a46cfaea1c09505bd99d673c2e65eca285e69b"
diff --git a/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
new file mode 100644
index 0000000..745c561
--- /dev/null
+++ b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
@@ -0,0 +1,47 @@
+Index: DirectFB-1.1.1/directfb-internal.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/directfb-internal.pc.in	2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.1/directfb-internal.pc.in	2008-07-17 21:00:47.424654304 +0200
+@@ -2,10 +2,10 @@
+ exec_prefix=@exec_prefix@
+ moduledir=@MODULEDIR@
+ moduledirname=@MODULEDIRNAME@
+-includedir=@INTERNALINCLUDEDIR@
++includedir=@includedir@
+ 
+ Name: DirectFB-Internal
+ Description: Third party module support package for DirectFB.
+ Version: @VERSION@
+ Requires: directfb = @VERSION@
+-Cflags: @DFB_INTERNAL_CFLAGS@ -I@INTERNALINCLUDEDIR@
++Cflags: @DFB_INTERNAL_CFLAGS@ -I${includedir}/directfb -I${includedir}
+Index: DirectFB-1.1.1/directfb.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/directfb.pc.in	2007-12-15 16:23:16.000000000 +0100
++++ DirectFB-1.1.1/directfb.pc.in	2008-07-17 20:59:58.044985193 +0200
+@@ -9,4 +9,4 @@
+ Requires: fusion direct
+ Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
+ Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
+-Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
++Cflags: @THREADFLAGS@ -I${includedir}/directfb
+Index: DirectFB-1.1.1/lib/fusion/fusion.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/lib/fusion/fusion.pc.in	2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.1/lib/fusion/fusion.pc.in	2008-07-17 20:58:07.051338866 +0200
+@@ -8,4 +8,4 @@
+ Version: @VERSION@
+ Requires: direct
+ Libs: -L${libdir} -lfusion
+-Cflags: -I@INCLUDEDIR@
++Cflags: -I${includedir}/directfb -I${includedir}
+Index: DirectFB-1.1.1/lib/voodoo/voodoo.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/lib/voodoo/voodoo.pc.in	2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.1/lib/voodoo/voodoo.pc.in	2008-07-17 20:58:07.054671842 +0200
+@@ -8,4 +8,4 @@
+ Version: @VERSION@
+ Requires: direct
+ Libs: -L${libdir} -lvoodoo
+-Cflags: -I@INCLUDEDIR@
++Cflags: -I${includedir}/directfb -I${includedir}
diff --git a/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
new file mode 100644
index 0000000..f971660
--- /dev/null
+++ b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
@@ -0,0 +1,12 @@
+diff -urN DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S
+--- DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S	2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S	2008-06-07 04:14:26.000000000 +0200
+@@ -34,8 +34,6 @@
+ 
+ #define __ASSEMBLY__
+ 
+-#include <linux/config.h>
+-
+ #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+ #define L1_CACHE_LINE_SIZE       16
+ #define LG_L1_CACHE_LINE_SIZE     4 
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 02/11] qt4: Bring in improvements from meta-openembedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
  2011-01-28  0:36 ` [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 03/11] qt4: add qt4-embedded 4.6.3 " Paul Eggleton
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Differences from meta-openembedded version:
* SRC_URI and S now come from qt-${PV}.inc since these are version specific
* Source checksums are also now in qt-${PV}.inc
* Remove do_compile as this is handled in qt-${PV}.inc
* Move contents of do_install_append from qt-${PV}.inc to do_install in
  qt4.inc as this is the same for 4.6.3 and 4.7.1 and will get in the way of
  do_install_append in qt-embedded.inc.
* Don't enable PostgreSQL, MySQL or SQLite 2.x plugins as we don't currently
  have recipes for these DBMSs in Poky. These can be re-enabled easily when
  or if we do.
* Use INC_PR in qt4-x11-free_4.6.3.bb
* Don't always specify -embedded config option in qt4.inc
* Don't add qte.sh to SRC_URI in qt-4.6.3.inc (this is embedded-specific)

Differences from what we have currently in Poky (plus the above):
* Set DESCRIPTION based on embedded/X11
* Move out arch-specific settings to qt4-arch.inc
* Add qt4x11.bbclass which can be inherited by application recipes to select
  the X11 version (this makes more sense once the embedded version is added).
* Update HOMEPAGE

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/qt4x11.bbclass               |    9 +
 meta/recipes-qt/qt4/qt-4.6.3.inc          |   54 +++----
 meta/recipes-qt/qt4/qt4-x11-free.inc      |    9 +-
 meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb |    7 +-
 meta/recipes-qt/qt4/qt4.inc               |  232 ++++++++++++++---------------
 meta/recipes-qt/qt4/qt4_arch.inc          |   25 +++
 6 files changed, 179 insertions(+), 157 deletions(-)
 create mode 100644 meta/classes/qt4x11.bbclass
 create mode 100644 meta/recipes-qt/qt4/qt4_arch.inc

diff --git a/meta/classes/qt4x11.bbclass b/meta/classes/qt4x11.bbclass
new file mode 100644
index 0000000..abb1d9d
--- /dev/null
+++ b/meta/classes/qt4x11.bbclass
@@ -0,0 +1,9 @@
+DEPENDS_prepend = "${@["qt4-x11-free ", ""][(bb.data.getVar('PN', d, 1)[:12] == 'qt4-x11-free')]}"
+
+inherit qmake2
+
+QT_DIR_NAME = "qt4"
+QT_LIBINFIX = ""
+
+# Qt4 uses atomic instructions not supported in thumb mode
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-qt/qt4/qt-4.6.3.inc b/meta/recipes-qt/qt4/qt-4.6.3.inc
index 155af66..a41b483 100644
--- a/meta/recipes-qt/qt4/qt-4.6.3.inc
+++ b/meta/recipes-qt/qt4/qt-4.6.3.inc
@@ -19,48 +19,38 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.
            file://mips-relocate.patch \
            "
 
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
+
 S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
 
 do_configure_prepend() {
-	for pro in $(find ${S} -name "*.pro") ; do
-		sed -i 's:$$QT_BUILD_TREE/bin/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
+    for pro in $(find ${S} -name "*.pro") ; do
+        sed -i 's:$$QT_BUILD_TREE/bin/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
 }
 
 do_configure_append() {
-	sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
+    sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
 }
 
 QT_GLFLAGS ?= ""
-QT_CONFIG_FLAGS += " -no-rpath -qt3support -silent ${QT_GLFLAGS}"
+QT_CONFIG_FLAGS += " -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
 
 do_compile() {
-	# Fixup missing wsegl header in some SGX SDKs
-	if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
-		cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
-	fi
-
-	unset CFLAGS CXXFLAGS
-	oe_runmake ${EXTRA_ENV}
-}
-
-do_install_append() {
-	install -d ${D}${bindir}
-	for i in rcc uic moc ; do
-		install -m 0755 ${S}/bin/$i ${D}${bindir}/
-	done
+    # Fixup missing wsegl header in some SGX SDKs
+    if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
+        cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
+    fi
 
-	#Append an E to the qtdemo file
-	if [ -n "${QT_LIBINFIX}" ] ; then
-		mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
-	fi
+    unset CFLAGS CXXFLAGS
+    oe_runmake ${EXTRA_ENV}
 }
-
diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc b/meta/recipes-qt/qt4/qt4-x11-free.inc
index 22eef7c..057a129 100644
--- a/meta/recipes-qt/qt4/qt4-x11-free.inc
+++ b/meta/recipes-qt/qt4/qt4-x11-free.inc
@@ -1,9 +1,13 @@
 require qt4.inc
 
+DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version."
+HOMEPAGE = "http://qt.nokia.com"
 SECTION = "x11/libs"
 PRIORITY = "optional"
 DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
 
+INC_PR = "r21"
+
 QT_GLFLAGS ?= "-no-opengl"
 QT_GLFLAGS_qemux86 = "-opengl"
 QT_GLFLAGS_emenlow = "-opengl"
@@ -11,7 +15,6 @@ QT_GLFLAGS_atom-pc = "-opengl"
 QT_CONFIG_FLAGS += "-no-xinerama -no-xkb ${QT_GLFLAGS}"
 QT_BASE_NAME ?= "qt4"
 QT_BASE_LIB  ?= "libqt"
-QT_DIR_NAME = "qt4"
-QT_LIBINFIX = ""
 
-inherit qmake2
+inherit qt4x11
+
diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
index f13b947..8cf5449 100644
--- a/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
+++ b/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
@@ -1,9 +1,6 @@
+require qt-${PV}.inc
 require qt4-x11-free.inc
-require qt-4.6.3.inc
 
-PR = "r2"
+PR = "${INC_PR}.0"
 
 QT_CONFIG_FLAGS += " -xrandr "
-
-SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
-SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc
index 3382445..f0957db 100644
--- a/meta/recipes-qt/qt4/qt4.inc
+++ b/meta/recipes-qt/qt4/qt4.inc
@@ -1,9 +1,10 @@
-DESCRIPTION = "Qt is a comprehensive cross-platform C++ application framework"
-HOMEPAGE = "http://qt.nokia.com"
+inherit qmake_base
 
 DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3"
 
-inherit qmake_base
+require qt4_arch.inc
+QT_ARCH := "${@qt_arch(d)}"
+QT_ENDIAN = "${@qt_endian(d)}"
 
 QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"
 QT_DISTRO_FLAGS_poky-lsb = "-sm"
@@ -12,7 +13,7 @@ QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \
                     -shared -no-nas-sound -no-nis \
                     -qt-gif -system-libjpeg -system-libpng -system-zlib \
                     -no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -plugin-sql-sqlite \
-                    -no-pch -dbus -stl -glib -phonon -webkit \
+                    -no-pch -qdbus -stl -glib -phonon -webkit \
                     ${QT_DISTRO_FLAGS} "
 
 EXTRA_OEMAKE = "-e"
@@ -26,7 +27,7 @@ EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
 export QT_CONF_PATH="${WORKDIR}/qt.conf"
 
 # Library packages
-QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices"
+QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices QtDeclarative"
 
 QT_EXTRA_LIBS = "pvrQWSWSEGL"
 
@@ -37,7 +38,7 @@ python __anonymous () {
     dev_packages = []
     dbg_packages = []
     for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split():
-        pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
+        pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4"
         # NOTE: the headers for QtAssistantClient are different
         incname = name.replace("QtAssistantClient", "QtAssistant")
         bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
@@ -55,7 +56,7 @@ python __anonymous () {
         dbg_packages.append("%s-dbg" % name)
 
     for name in bb.data.getVar("QT_EXTRA_LIBS", d, 1).split():
-        pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
+        pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4"
         bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals(), d)
         bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
                   ${libdir}/lib%(name)s.a
@@ -91,6 +92,8 @@ OTHER_PACKAGES = "\
              ${QT_BASE_NAME}-makeqpf \
              ${QT_BASE_NAME}-mkspecs \
              ${QT_BASE_NAME}-pixeltool \
+             ${QT_BASE_NAME}-qmlviewer \
+             ${QT_BASE_NAME}-xmlpatterns \
              ${QT_BASE_NAME}-qt3to4"
 
 PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
@@ -112,6 +115,7 @@ RRECOMMENDS_${QT_BASE_NAME}-fonts = " \
              ${QT_BASE_NAME}-fonts-qpf"
 
 FILES_${QT_BASE_NAME}-tools                = "${bindir}/uic* ${bindir}/moc ${bindir}/rcc ${bindir}/qttracereplay ${bindir}/qdoc*"
+FILES_${QT_BASE_NAME}-tools-dbg            = "${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc ${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc*"
 FILES_${QT_BASE_NAME}-assistant            = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
 FILES_${QT_BASE_NAME}-assistant-dbg        = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
 FILES_${QT_BASE_NAME}-common               = "${bindir}/qtconfig"
@@ -123,7 +127,7 @@ FILES_${QT_BASE_NAME}-demos-dbg            = "${bindir}/.debug/qtdemo* ${bindir}
 FILES_${QT_BASE_NAME}-designer             = "${bindir}/*designer*"
 FILES_${QT_BASE_NAME}-designer-dbg         = "${bindir}/.debug/*designer*"
 FILES_${QT_BASE_NAME}-examples             = "${bindir}/${QT_DIR_NAME}/examples/*"
-FILES_${QT_BASE_NAME}-examples-dbg         = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug"
+FILES_${QT_BASE_NAME}-examples-dbg         = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/*/.debug/* ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/.debug/*"
 FILES_${QT_BASE_NAME}-fonts-ttf-vera       = "${libdir}/fonts/Vera*.ttf"
 FILES_${QT_BASE_NAME}-fonts-ttf-dejavu     = "${libdir}/fonts/DejaVu*.ttf"
 FILES_${QT_BASE_NAME}-fonts-pfa            = "${libdir}/fonts/*.pfa"
@@ -135,91 +139,74 @@ FILES_${QT_BASE_NAME}-pixeltool            = "${bindir}/pixeltool"
 FILES_${QT_BASE_NAME}-pixeltool-dbg        = "${bindir}/.debug/pixeltool"
 FILES_${QT_BASE_NAME}-qt3to4               = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
 FILES_${QT_BASE_NAME}-qt3to4-dbg           = "${bindir}/.debug/qt3to4"
+FILES_${QT_BASE_NAME}-qmlviewer            = "${bindir}/qmlviewer"
+FILES_${QT_BASE_NAME}-qmlviewer-dbg        = "${bindir}/.debug/qmlviewer"
 FILES_${QT_BASE_NAME}-makeqpf              = "${bindir}/makeqpf"
 FILES_${QT_BASE_NAME}-makeqpf-dbg          = "${bindir}/.debug/makeqpf"
 FILES_${QT_BASE_NAME}-mkspecs              = "${datadir}/${QT_DIR_NAME}/mkspecs/*"
+FILES_${QT_BASE_NAME}-xmlpatterns          = "${bindir}/xmlpatterns*"
+FILES_${QT_BASE_NAME}-xmlpatterns-dbg      = "${bindir}/.debug/xmlpatterns*"
 
-ARM_INSTRUCTION_SET = "arm"
-
-set_arch() {
-	case ${TARGET_ARCH} in
-		arm*)     QT_ARCH=arm ;;
-		i*86*)    QT_ARCH=i386 ;;
-		mips*)    QT_ARCH=mips ;;
-		powerpc*) QT_ARCH=powerpc ;;
-		x86_64*)  QT_ARCH=x86_64 ;;
-	esac
-}
 
 do_configure() {
-	unset QMAKESPEC
-	unset QTDIR
-
-	set_arch
-
-	if [ ! -e bin/qmake ]; then
-		ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
-	fi
-
-	if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
-		ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
-	fi
-
-	cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf mkspecs/common/
-
-	echo "[Paths]"                                 > $QT_CONF_PATH
-	echo "Prefix=${prefix}/"                      >> $QT_CONF_PATH
-	echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
-	echo "Headers=${includedir}/${QT_DIR_NAME}"   >> $QT_CONF_PATH
-	echo "Libraries=${libdir}"                    >> $QT_CONF_PATH
-	echo "Binaries=${bindir}"                     >> $QT_CONF_PATH
-	echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
-	echo "Data=${datadir}/${QT_DIR_NAME}"         >> $QT_CONF_PATH
-	echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
-	echo "Settings=${sysconfdir}/${QT_DIR_NAME}"  >> $QT_CONF_PATH
-	echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
-	echo "Demos=${bindir}/${QT_DIR_NAME}/demos"   >> $QT_CONF_PATH
-
-	${EXTRA_QMAKE_MUNGE}|| true
-
-	(echo o; echo yes) | ./configure -v \
-			-prefix ${prefix}/ \
-			-bindir ${bindir} \
-			-libdir ${libdir} \
-			-datadir ${datadir}/${QT_DIR_NAME} \
-			-sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
-			-docdir ${docdir}/${QT_DIR_NAME} \
-			-headerdir ${includedir}/${QT_DIR_NAME} \
-			-plugindir ${libdir}/${QT_DIR_NAME}/plugins \
-			-translationdir ${datadir}/${QT_DIR_NAME}/translations \
-			-examplesdir ${bindir}/${QT_DIR_NAME}/examples \
-			-demosdir ${bindir}/${QT_DIR_NAME}/demos \
-			-platform ${TARGET_OS}-oe-g++ \
-			-xplatform ${TARGET_OS}-oe-g++ \
-			-crossarch ${QT_ARCH} \
-			${QT_CONFIG_FLAGS} -no-fast \
-			-L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
-			-I${STAGING_INCDIR}/freetype2
-}
-
-do_compile() {
-	unset CFLAGS CXXFLAGS
-	install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
-	install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
-	install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
-
-	oe_runmake ${EXTRA_ENV}
+    unset QMAKESPEC
+    unset QTDIR
+
+    if [ ! -e bin/qmake ]; then
+        ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
+    fi
+
+    if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
+        ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
+    fi
+
+    cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf mkspecs/common/
+
+    echo "[Paths]"                                 > $QT_CONF_PATH
+    echo "Prefix=${prefix}/"                      >> $QT_CONF_PATH
+    echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
+    echo "Headers=${includedir}/${QT_DIR_NAME}"   >> $QT_CONF_PATH
+    echo "Libraries=${libdir}"                    >> $QT_CONF_PATH
+    echo "Binaries=${bindir}"                     >> $QT_CONF_PATH
+    echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
+    echo "Data=${datadir}/${QT_DIR_NAME}"         >> $QT_CONF_PATH
+    echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
+    echo "Settings=${sysconfdir}/${QT_DIR_NAME}"  >> $QT_CONF_PATH
+    echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
+    echo "Demos=${bindir}/${QT_DIR_NAME}/demos"   >> $QT_CONF_PATH
+
+    ${EXTRA_QMAKE_MUNGE}|| true
+
+    (echo o; echo yes) | ./configure -v \
+            -prefix ${prefix}/ \
+            -bindir ${bindir} \
+            -libdir ${libdir} \
+            -datadir ${datadir}/${QT_DIR_NAME} \
+            -sysconfdir ${sysconfdir}/${QT_DIR_NAME} \
+            -docdir ${docdir}/${QT_DIR_NAME} \
+            -headerdir ${includedir}/${QT_DIR_NAME} \
+            -plugindir ${libdir}/${QT_DIR_NAME}/plugins \
+            -translationdir ${datadir}/${QT_DIR_NAME}/translations \
+            -examplesdir ${bindir}/${QT_DIR_NAME}/examples \
+            -demosdir ${bindir}/${QT_DIR_NAME}/demos \
+            -platform ${TARGET_OS}-oe-g++ \
+            -xplatform ${TARGET_OS}-oe-g++ \
+            ${QT_ENDIAN} \
+            -crossarch ${QT_ARCH} \
+            ${QT_CONFIG_FLAGS} -no-fast \
+            -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
+            -I${STAGING_INCDIR}/freetype2
 }
 
 python populate_packages_prepend() {
         translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
         translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
         do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
-
+ 
         phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
         phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
         do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
-
+ 
         # Package all the plugins and their -dbg version and create a meta package
         import os
         def qtopia_split(path, name, glob):
@@ -231,7 +218,7 @@ python populate_packages_prepend() {
                 if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
                         bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
                         return
-
+ 
                 plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
                 dev_packages = []
                 dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
@@ -246,7 +233,7 @@ python populate_packages_prepend() {
                         bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d)
 
                 bb.data.setVar('PACKAGES', packages, d)
-
+ 
         qtopia_split('accessible',    'accessible',    '^libq(.*)\.so$')
         qtopia_split('codecs',        'codec',         '^libq(.*)\.so$')
         qtopia_split('decorations',   'decoration',    '^libqdecoration(.*)\.so$')
@@ -261,44 +248,55 @@ python populate_packages_prepend() {
         qtopia_split('script',        'script',        '^libqtscript(.*)\.so$')
         qtopia_split('styles',        'style',         '^libq(.*)\.so$')
         qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
+        qtopia_split('bearer',        'bearer',        '^libq(.*)bearer\.so$')
 }
 
 do_install() {
-	oe_runmake install INSTALL_ROOT=${D}
-
-	# These are host binaries, we should only use them in staging
-	rm -rf ${D}/${bindir}/qmake
-
-	# fix pkgconfig, libtool and prl files
-	sed -i -e s#-L${S}/lib##g \
-			-e s#-L${STAGING_LIBDIR}##g \
-			-e 's#STAGING_LIBDIR}#libdir}'#g \
-			-e s#-L${libdir}##g \
-			-e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
-			-e s#" -Wl,-rpath-link,${S}/lib"##g \
-			-e s#" -Wl,-rpath-link,${libdir}"##g \
-			-e 's#I/usr/include#Iincludedir}#g' \ 
-			-e 's#Iin#I${in#g' \
-			${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
-
-	sed -i -e s#" -Wl,-rpath-link,${S}/lib"##g \
-			${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf
-
-	# fix pkgconfig files
-	sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
-			-e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
-			${D}${libdir}/pkgconfig/*.pc
-	for name in ${QT_LIB_NAMES}; do
-			sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
-	done
-
-	# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
-	for pc in ${D}${libdir}/pkgconfig/*.pc ; do
-		sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
-				-e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
-				-e 's:IP{:I${:g' $pc
-	done
-
-	install -d ${D}/${libdir}/fonts
-	touch ${D}/${libdir}/fonts/fontdir
+    oe_runmake install INSTALL_ROOT=${D}
+
+    # These are host binaries, we should only use them in staging
+    rm -rf ${D}/${bindir}/qmake
+
+    # fix pkgconfig, libtool and prl files
+    sed -i -e s#-L${S}/lib##g \
+           -e s#-L${STAGING_LIBDIR}##g \
+           -e 's#STAGING_LIBDIR}#libdir}'#g \ 
+           -e s#-L${libdir}##g \
+           -e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \
+           -e s#" -Wl,-rpath-link,${S}/lib"##g \
+           -e s#" -Wl,-rpath-link,${libdir}"##g \
+           -e 's#I/usr/include#Iincludedir}#g' \ 
+           -e 's#Iin#I${in#g' \
+           ${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc
+
+    sed -i -e s#" -Wl,-rpath-link,${S}/lib"##g \
+            ${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf
+
+    # fix pkgconfig files
+    sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \
+           -e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
+           ${D}${libdir}/pkgconfig/*.pc
+    for name in ${QT_LIB_NAMES}; do
+        sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
+    done
+
+    # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
+    for pc in ${D}${libdir}/pkgconfig/*.pc ; do
+        sed -i -e "s:prefix}include/${QT_BASE_NAME}/$(basename $pc .pc):prefix}/include:" \
+               -e "s,Cflags: ,Cflags: -IP{includedir}/${QT_BASE_NAME}/$(basename $pc .pc) ," \
+               -e 's:IP{:I${:g' $pc
+    done
+
+    install -d ${D}/${libdir}/fonts
+    touch ${D}/${libdir}/fonts/fontdir
+
+    install -d ${D}${bindir}
+    for i in rcc uic moc ; do
+        install -m 0755 ${S}/bin/$i ${D}${bindir}/
+    done
+
+    #Append an E to the qtdemo file
+    if [ -n "${QT_LIBINFIX}" ] ; then
+        mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
+    fi
 }
diff --git a/meta/recipes-qt/qt4/qt4_arch.inc b/meta/recipes-qt/qt4/qt4_arch.inc
new file mode 100644
index 0000000..7f4be63
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4_arch.inc
@@ -0,0 +1,25 @@
+inherit siteinfo
+
+ARM_INSTRUCTION_SET = "arm"
+
+def qt_arch(d):
+    import bb, re
+    arch = bb.data.getVar('TARGET_ARCH', d, 1)
+    if re.match("^i.86$", arch):
+        arch = "i386"
+    elif re.match("^arm.*", arch):
+        arch = "arm"
+    elif arch == "x86_64":
+        arch = "x86"
+    elif arch == "mipsel":
+        arch = "mips"
+    return arch
+
+def qt_endian(d):
+    import bb
+    if bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "le":
+        return "-little-endian"
+    elif bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "be":
+        return "-big-endian"
+    else:
+        assert False
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 03/11] qt4: add qt4-embedded 4.6.3 from meta-openembedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
  2011-01-28  0:36 ` [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded Paul Eggleton
  2011-01-28  0:36 ` [PATCH 02/11] qt4: Bring in improvements " Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 04/11] qt4: add 4.7.1 version " Paul Eggleton
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Changes from the meta-openembedded version:
* Change the order of includes so that embedded takes precedence (ensuring
  SRC_URI additions from qt-embedded.inc work)
* Specify -embedded in qt-embedded.inc
* Remove SRC_URI and S which should come from qt-${PV}.inc
* Remove QT_DIR_NAME and QT_LIBINFIX as these come from qt4e.bbclass
* Correct LICENSE
* Set DESCRIPTION instead of SUMMARY as SUMMARY will inherit by default
* Add qthelp-lib-qtclucene.patch (required to build)
* Whitespace fixes

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/qt4e.bbclass                          |   18 ++++
 meta/recipes-qt/qt4/files/qte.sh                   |    7 ++
 .../qt4/files/qthelp-lib-qtclucene.patch           |   86 ++++++++++++++++++++
 meta/recipes-qt/qt4/qt4-embedded.inc               |   34 ++++++++
 meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb          |    9 ++
 5 files changed, 154 insertions(+), 0 deletions(-)
 create mode 100644 meta/classes/qt4e.bbclass
 create mode 100644 meta/recipes-qt/qt4/files/qte.sh
 create mode 100644 meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
 create mode 100644 meta/recipes-qt/qt4/qt4-embedded.inc
 create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb

diff --git a/meta/classes/qt4e.bbclass b/meta/classes/qt4e.bbclass
new file mode 100644
index 0000000..670605b
--- /dev/null
+++ b/meta/classes/qt4e.bbclass
@@ -0,0 +1,18 @@
+DEPENDS_prepend = "${@["qt4-embedded ", ""][(bb.data.getVar('PN', d, 1)[:12] == 'qt4-embedded')]}"
+
+inherit qmake2
+
+QT_DIR_NAME = "qtopia"
+QT_LIBINFIX = "E"
+# override variables set by qmake-base to compile Qt/Embedded apps
+#
+export QMAKESPEC = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++"
+export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/${QT_DIR_NAME}"
+export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = ""
+export OE_QMAKE_EXTRA_MODULES = "network"
+EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=${QT_LIBINFIX} "
+
+# Qt4 uses atomic instructions not supported in thumb mode
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/recipes-qt/qt4/files/qte.sh b/meta/recipes-qt/qt4/files/qte.sh
new file mode 100644
index 0000000..21d6ecb
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qte.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -e /dev/input/touchscreen0 ]
+then
+    QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
+    export QWS_MOUSE_PROTO
+fi
diff --git a/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch b/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
new file mode 100644
index 0000000..1d250d8
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
@@ -0,0 +1,86 @@
+qt-embedded: fix linker error in do_compile
+
+This patch ensures that we link to libQtCLucene where required (i.e. when 
+linking to libQtHelp) avoiding a linker error.
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Index: qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/demos/qtdemo/qtdemo.pro	2011-01-11 16:06:47.382828004 +0000
++++ qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro	2011-01-11 16:10:06.906828001 +0000
+@@ -76,3 +76,10 @@
+ sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES qtdemo.pro images xml *.ico *.icns *.rc *.plist
+ sources.path = $$[QT_INSTALL_DEMOS]/qtdemo
+ 
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++    mac:qclucene = $${qclucene}_debug
++    win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/examples/help/contextsensitivehelp/contextsensitivehelp.pro	2011-01-11 16:05:56.598828002 +0000
++++ qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro	2011-01-11 16:09:57.762828002 +0000
+@@ -18,3 +18,11 @@
+ INSTALLS += target sources
+ 
+ symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++    mac:qclucene = $${qclucene}_debug
++    win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/assistant/assistant.pro	2011-01-11 14:56:50.902828001 +0000
++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro	2011-01-11 16:09:39.914828003 +0000
+@@ -85,3 +85,11 @@
+         DEFINES += USE_STATIC_SQLITE_PLUGIN
+     }
+ }
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++    mac:qclucene = $${qclucene}_debug
++    win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro	2011-01-11 14:56:50.918828002 +0000
++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro	2011-01-11 16:09:44.538828001 +0000
+@@ -12,3 +12,11 @@
+            main.cpp
+ 
+ HEADERS += ../shared/helpgenerator.h
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++    mac:qclucene = $${qclucene}_debug
++    win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro	2011-01-11 14:56:50.930828002 +0000
++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro	2011-01-11 16:09:50.274828003 +0000
+@@ -12,3 +12,11 @@
+            main.cpp
+ 
+ HEADERS += ../shared/helpgenerator.h
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++    mac:qclucene = $${qclucene}_debug
++    win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
diff --git a/meta/recipes-qt/qt4/qt4-embedded.inc b/meta/recipes-qt/qt4/qt4-embedded.inc
new file mode 100644
index 0000000..2ed1819
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-embedded.inc
@@ -0,0 +1,34 @@
+DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the embedded version."
+SECTION = "libs"
+LICENSE = "LGPLv2.1 | GPLv3"
+PRIORITY = "optional"
+HOMEPAGE = "http://qt.nokia.com"
+DEPENDS += "directfb tslib"
+INC_PR = "r26"
+
+QT_BASE_NAME ?= "qt4-embedded"
+QT_BASE_LIB  ?= "libqt-embedded"
+
+# Set necessary variables in the profile
+SRC_URI += "file://qte.sh"
+
+QT_CONFIG_FLAGS += " \
+    -embedded ${QT_ARCH} \
+    -qtlibinfix ${QT_LIBINFIX} \
+    -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \
+    -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb -qt-mouse-linuxinput \
+    -qt-kbd-tty \
+    -DQT_KEYPAD_NAVIGATION \
+    "
+
+require qt4.inc
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/profile.d/
+    install -m 0755 ${WORKDIR}/qte.sh ${D}${sysconfdir}/profile.d/
+}
+
+FILES_${PN} += " ${sysconfdir}/profile.d/qte.sh"
+
+inherit qt4e
+
diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb b/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb
new file mode 100644
index 0000000..dd662aa
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb
@@ -0,0 +1,9 @@
+require qt-${PV}.inc
+require qt4-embedded.inc
+
+SRC_URI += "file://qthelp-lib-qtclucene.patch"
+
+PR = "${INC_PR}.1"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 04/11] qt4: add 4.7.1 version from meta-openembedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (2 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 03/11] qt4: add qt4-embedded 4.6.3 " Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 05/11] qt4-tools-native: update from OpenEmbedded Paul Eggleton
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Differences from meta-openembedded version:
* Change the order of includes so that embedded/x11 overrides take precedence
* Move contents of do_install_append from qt-${PV}.inc to do_install in
  qt4.inc as this is the same for 4.6.3 and 4.7.1 and gets in the way of
  do_install_append in qt-embedded.inc.
* Don't add qte.sh to SRC_URI in qt-4.7.1.inc (this is embedded-specific)
* Don't specify DEFAULT_PREFERENCE
* Use http source URL to match other Qt4 recipes

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-qt/qt4/qt-4.7.1.inc                   |   58 +++++++++++++++++
 .../0001-Added-Openembedded-crossarch-option.patch |   44 +++++++++++++
 meta/recipes-qt/qt4/qt-4.7.1/g++.conf              |   60 ++++++++++++++++++
 .../qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch          |   19 ++++++
 meta/recipes-qt/qt4/qt-4.7.1/linux.conf            |   66 ++++++++++++++++++++
 meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb          |   10 +++
 meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb          |   12 ++++
 7 files changed, 269 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1.inc
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/g++.conf
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
 create mode 100644 meta/recipes-qt/qt4/qt-4.7.1/linux.conf
 create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb

diff --git a/meta/recipes-qt/qt4/qt-4.7.1.inc b/meta/recipes-qt/qt4/qt-4.7.1.inc
new file mode 100644
index 0000000..70ee596
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1.inc
@@ -0,0 +1,58 @@
+LICENSE = "LGPLv2.1 | GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+                    file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+                    file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:"
+
+SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+           file://0004-no-qmake.patch \
+           file://hack-out-pg2-4.7.0.patch \
+           file://0006-freetype-host-includes.patch \
+           file://0001-Added-Openembedded-crossarch-option.patch \
+           file://g++.conf \
+           file://linux.conf \
+           "
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+FILES_${QT_BASE_NAME}-tools                += "${bindir}/qml"
+
+do_configure_prepend() {
+    for pro in $(find ${S} -name "*.pro") ; do
+        sed -i 's:$$QT_BUILD_TREE/bin/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
+}
+
+do_configure_append() {
+    sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
+}
+
+QT_GLFLAGS ?= ""
+QT_CONFIG_FLAGS += " -xmlpatterns -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
+
+do_compile() {
+    # Fixup missing wsegl header in some SGX SDKs
+    if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
+        cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
+    fi
+
+    unset CFLAGS CXXFLAGS
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/lrelease4 ${S}/bin/lrelease
+
+    oe_runmake ${EXTRA_ENV}
+}
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch b/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
new file mode 100644
index 0000000..71a04a5
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
@@ -0,0 +1,44 @@
+From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Matthias=20G=C3=BCnther?= <matgnt@gmail.com>
+Date: Wed, 12 May 2010 16:52:45 +0200
+Subject: [PATCH 1/9] Added Openembedded "-crossarch" option
+
+---
+ configure |    7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/configure b/configure
+index facd192..9d15136 100755
+--- a/configure
++++ b/configure
+@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do
+         shift
+         VAL=$1
+         ;;
+-    -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
++    -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
+         VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+         shift
+         VAL="$1"
+@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do
+     xplatform)
+         XPLATFORM="$VAL"
+         ;;
++	crossarch)
++		CROSSARCH="$VAL"
++		;;
+     debug-and-release)
+         if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+             CFG_DEBUG_RELEASE="$VAL"
+@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
+     CFG_ARCH=$CFG_HOST_ARCH
+ fi
+ 
++CFG_ARCH="$CROSSARCH"
++
+ if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
+     if [ "$OPT_VERBOSE" = "yes" ]; then
+         echo "    '$CFG_ARCH' is supported"
+-- 
+1.7.0.4
+
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/g++.conf b/meta/recipes-qt/qt4/qt-4.7.1/g++.conf
new file mode 100644
index 0000000..80f925c
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/g++.conf
@@ -0,0 +1,60 @@
+#
+# qmake configuration for common gcc
+#
+
+QMAKE_CC       = $(OE_QMAKE_CC)
+QMAKE_CFLAGS       += -pipe $(OE_QMAKE_CFLAGS)
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
+QMAKE_CFLAGS_DEPS	+= -M
+QMAKE_CFLAGS_WARN_ON	+= -Wall -W
+QMAKE_CFLAGS_WARN_OFF	+= -w
+QMAKE_CFLAGS_RELEASE	+=
+QMAKE_CFLAGS_DEBUG	+= -g
+QMAKE_CFLAGS_SHLIB	+= -fPIC
+QMAKE_CFLAGS_STATIC_LIB	+= -fPIC
+QMAKE_CFLAGS_YACC	+= -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS   += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+
+QMAKE_CXX      = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS     += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
+QMAKE_CXXFLAGS_DEPS	+= $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON	+= $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF	+= $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE	+= $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+QMAKE_CXXFLAGS_DEBUG	+= $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB	+= $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC	+= $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK     = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB   = $(OE_QMAKE_LINK)
+QMAKE_LINK_C		= $(OE_QMAKE_LINK)
+QMAKE_LINK_C_SHLIB	= $(OE_QMAKE_LINK)
+QMAKE_LFLAGS       += $(OE_QMAKE_LDFLAGS)
+QMAKE_LFLAGS_RELEASE	+=
+QMAKE_LFLAGS_DEBUG	+=
+QMAKE_LFLAGS_APP	+=
+QMAKE_LFLAGS_SHLIB	+= -shared
+QMAKE_LFLAGS_PLUGIN	+= $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME	+= -Wl,-soname,
+QMAKE_LFLAGS_THREAD	+=
+QMAKE_LFLAGS_NOUNDEF	+= -Wl,--no-undefined
+QMAKE_LFLAGS_RPATH        = -Wl,-rpath-link,
+
+QMAKE_PCH_OUTPUT_EXT    = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+# some linking helper...
+CONFIG += rpath_libdirs
+
+# for the SDK
+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch b/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
new file mode 100644
index 0000000..5c588ff
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
@@ -0,0 +1,19 @@
+Index: qt-everywhere-opensource-src-4.7.0/configure
+===================================================================
+--- qt-everywhere-opensource-src-4.7.0.orig/configure	2010-09-22 15:43:51.191162141 -0400
++++ qt-everywhere-opensource-src-4.7.0/configure	2010-09-22 15:44:35.179981232 -0400
+@@ -4921,10 +4921,10 @@
+         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
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/linux.conf b/meta/recipes-qt/qt4/qt-4.7.1/linux.conf
new file mode 100644
index 0000000..a541355
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/linux.conf
@@ -0,0 +1,66 @@
+#
+# qmake configuration for common linux
+#
+
+QMAKE_CFLAGS_THREAD	+= -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD	+= $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR          =
+QMAKE_LIBDIR          =
+QMAKE_INCDIR_X11      =
+QMAKE_LIBDIR_X11      =
+QMAKE_INCDIR_QT       = $(OE_QMAKE_INCDIR_QT)
+QMAKE_LIBDIR_QT       = $(OE_QMAKE_LIBDIR_QT)
+QMAKE_INCDIR_OPENGL   =
+QMAKE_LIBDIR_OPENGL   =
+QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_EGL      =
+QMAKE_LIBDIR_EGL      =
+QMAKE_INCDIR_OPENVG   =
+QMAKE_LIBDIR_OPENVG   =
+
+
+QMAKE_LIBS            =
+QMAKE_LIBS_DYNLOAD    = -ldl
+QMAKE_LIBS_X11        = $(OE_QMAKE_LIBS_X11)
+QMAKE_LIBS_X11SM      = $(OE_QMAKE_LIBS_X11SM)
+QMAKE_LIBS_NIS        = -lnsl
+QMAKE_LIBS_EGL        = -lEGL
+QMAKE_LIBS_OPENGL     = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT  = -lGL
+QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
+QMAKE_LIBS_OPENVG     = -lOpenVG
+QMAKE_LIBS_THREAD     = -lpthread
+
+QMAKE_MOC             = $(OE_QMAKE_MOC)
+QMAKE_UIC             = $(OE_QMAKE_UIC)
+QMAKE_UIC3            = $(OE_QMAKE_UIC3)
+QMAKE_RCC             = $(OE_QMAKE_RCC)
+QMAKE_QDBUSCPP2XML    = $(OE_QMAKE_QDBUSCPP2XML)
+QMAKE_QDBUSXML2CPP    = $(OE_QMAKE_QDBUSXML2CPP)
+
+QMAKE_AR              = $(OE_QMAKE_AR) cqs
+QMAKE_OBJCOPY         = objcopy
+QMAKE_RANLIB          =
+
+QMAKE_TAR             = tar -cf
+QMAKE_GZIP            = gzip -9f
+
+QMAKE_COPY            = cp -f
+QMAKE_COPY_FILE       = $(COPY)
+QMAKE_COPY_DIR        = $(COPY) -r
+QMAKE_MOVE            = mv -f
+QMAKE_DEL_FILE        = rm -f
+QMAKE_DEL_DIR         = rmdir
+QMAKE_STRIP           = $(OE_QMAKE_STRIP)
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS  = test -d
+QMAKE_MKDIR           = mkdir -p
+QMAKE_INSTALL_FILE    = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(unix.conf)
diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb b/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb
new file mode 100644
index 0000000..c3f6713
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb
@@ -0,0 +1,10 @@
+require qt-${PV}.inc
+require qt4-embedded.inc
+
+PR = "${INC_PR}.1"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
+QT_CONFIG_FLAGS += " \
+ -exceptions \
+"
diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
new file mode 100644
index 0000000..75c6314
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
@@ -0,0 +1,12 @@
+require qt4-x11-free.inc
+require qt-${PV}.inc
+
+PR = "${INC_PR}.1"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
+QT_CONFIG_FLAGS += " \
+ -no-embedded \
+ -xrandr \
+ -x11"
+
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 05/11] qt4-tools-native: update from OpenEmbedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (3 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 04/11] qt4: add 4.7.1 version " Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 06/11] glib-2.0: extend to nativesdk Paul Eggleton
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Differences from OE version:
* Add source checksums
* Correct LICENCE and move to .inc file
* Update HOMEPAGE
* Don't specify DEFAULT_PREFERENCE
* Remove S and SRC_URI from 4.7.1 (duplicates of .inc file values)
* Use http source URL to match other Qt4 recipes
* Don't add back tools previously disabled in poky

Differences from current (plus the above):
* Add Qt 4.7.1 recipe
* Specify -embedded to remove dependency on X (as we are only building tools)
* Disable some other options to reduce dependencies
* Specify -no-freetype / -no-fontconfig in .inc file rather than in .bb
* Use INC_PR
* Whitespace fixes
---
 meta/recipes-qt/qt4/qt4-tools-native.inc      |   44 ++++++++++++++----------
 meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb |   12 +++---
 meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb |   13 +++++++
 3 files changed, 45 insertions(+), 24 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb

diff --git a/meta/recipes-qt/qt4/qt4-tools-native.inc b/meta/recipes-qt/qt4/qt4-tools-native.inc
index 6dca218..9114e7d 100644
--- a/meta/recipes-qt/qt4/qt4-tools-native.inc
+++ b/meta/recipes-qt/qt4/qt4-tools-native.inc
@@ -1,9 +1,16 @@
 DESCRIPTION = "Native tools for Qt/[X11|Mac|Embedded] version 4.x"
-DEPENDS = "zlib-native dbus-native libsm-native"
+DEPENDS = "zlib-native dbus-native"
 SECTION = "libs"
 HOMEPAGE = "http://qt.nokia.com"
 PRIORITY = "optional"
 
+LICENSE = "LGPLv2.1 | GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+                    file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+                    file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+INC_PR = "r11"
+
 inherit native
 
 SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
@@ -16,13 +23,14 @@ EXTRA_OECONF = "-prefix ${prefix} \
                 -L ${STAGING_LIBDIR_NATIVE} \
                 -I ${STAGING_INCDIR_NATIVE} \
                 -qt-libjpeg -qt-gif -system-zlib \
-                -no-libjpeg -no-libpng \
+                -no-libjpeg -no-libpng -no-libmng -no-libtiff \
                 -no-accessibility \
                 -no-cups \
                 -no-exceptions  \
                 -no-nas-sound \
-                -no-nis \
+                -no-nis -no-openssl \
                 -verbose -release -static \
+                -embedded -no-freetype -no-glib -no-iconv \
                 -qt3support"
 
 # yank default -e, otherwise we get the following error:
@@ -30,7 +38,7 @@ EXTRA_OECONF = "-prefix ${prefix} \
 EXTRA_OEMAKE = " "
 
 do_configure() {
-	(echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+   (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
 }
 
 TOBUILD = "\
@@ -48,22 +56,22 @@ TOBUILD = "\
 "
 
 do_compile() {
-	for i in ${TOBUILD}; do
-		cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
-	done
+    for i in ${TOBUILD}; do
+        cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
+    done
 }
 
 do_install() {
-	install -d ${D}${bindir}/
-	install -m 0755 bin/qmake ${D}${bindir}/qmake2
-	for i in moc uic rcc lrelease lupdate; do
-		install -m 0755 bin/${i} ${D}${bindir}/${i}4
-	done
-
-	install -d ${D}${datadir}/qt4/
-	cp -PfR mkspecs ${D}${datadir}/qt4/
-	ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
-	cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/
+    install -d ${D}${bindir}/
+    install -m 0755 bin/qmake ${D}${bindir}/qmake2
+    for i in moc uic rcc lrelease lupdate; do
+        install -m 0755 bin/${i} ${D}${bindir}/${i}4
+    done
+    
+    install -d ${D}${datadir}/qt4/
+    cp -PfR mkspecs ${D}${datadir}/qt4/
+    ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
+    cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/
 
-	install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
+    install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/
 }
diff --git a/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
index ac66eb3..dae8cd1 100644
--- a/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
+++ b/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
@@ -1,11 +1,11 @@
 require qt4-tools-native.inc
 
-LICENSE = "LGPLv2.1 | GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
-                    file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
-                    file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
-PR = "r2"
+PR = "${INC_PR}.0"
 
-EXTRA_OECONF += " -no-fast -silent -no-rpath -no-freetype -no-fontconfig"
+EXTRA_OECONF += " -no-fast -silent -no-rpath"
 
 TOBUILD := "src/tools/bootstrap ${TOBUILD}"
+
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
+
diff --git a/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
new file mode 100644
index 0000000..e9de510
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
@@ -0,0 +1,13 @@
+require qt4-tools-native.inc
+
+PR = "${INC_PR}.0"
+
+# Find the g++.conf/linux.conf in the right directory.
+FILESPATHPKG =. "qt-${PV}:"
+
+EXTRA_OECONF += " -no-fast -silent -no-rpath"
+
+TOBUILD := "src/tools/bootstrap ${TOBUILD}"
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 06/11] glib-2.0: extend to nativesdk
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (4 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 05/11] qt4-tools-native: update from OpenEmbedded Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 07/11] dbus: " Paul Eggleton
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

This needs to be added to nativesdk for meta-toolchain-qte.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb |    2 +-
 meta/recipes-core/glib-2.0/glib.inc           |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb
index b26da7b..cddb7ef 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb
@@ -12,4 +12,4 @@ SRC_URI[md5sum] = "b7025b581bf78fcd656117bfc113f21f"
 SRC_URI[sha256sum] = "aad3038db865b762e01b1dc455ffd601b4083c069018d290e5fdfe1a61d328dc"
 
 SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 0b6e752..0319b9d 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -17,6 +17,7 @@ require glib-2.0.inc
 
 DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl zip dbus"
 DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native dbus-native"
+DEPENDS_virtclass-nativesdk = "libtool-nativesdk"
 PACKAGES =+ "glib-2.0-utils "
 
 LEAD_SONAME = "libglib-2.0.*"
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 07/11] dbus: extend to nativesdk
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (5 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 06/11] glib-2.0: extend to nativesdk Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded Paul Eggleton
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

BBCLASSEXTEND dbus to nativesdk for meta-toolchain-qte, and disable the
dependency on libsm when building in this context (thus avoiding a number of
sub-dependencies).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-core/dbus/dbus.inc |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index beb2072..da77819 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -6,6 +6,7 @@ LICENSE = "AFL2.1 | GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
                     file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
 DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
+DEPENDS_virtclass-nativesdk = "expat virtual/libintl virtual/libx11"
 
 SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
            file://tmpdir.patch; \
@@ -88,4 +89,4 @@ do_install_virtclass-native() {
 	# dbus-glib-native and dbus-glib need this xml file
 	./bus/dbus-daemon --introspect > ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml
 }
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (6 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 07/11] dbus: " Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28 15:27   ` Joshua Lock
  2011-01-28  0:36 ` [PATCH 09/11] package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname Paul Eggleton
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Differences from OpenEmbedded qt4-tools-sdk:

* Convert to nativesdk and make fixes necessary to build
* Use .inc file in 4.6.3 version
* Add LIC_FILES_CHKSUM
* Fix LICENSE to match other Qt4 recipes
* Use http source URL to match other Qt4 recipes
* Whitespace fixes

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../recipes-qt/qt4/files/compile.test-lflags.patch |   13 +++
 meta/recipes-qt/qt4/files/configure-lflags.patch   |   13 +++
 meta/recipes-qt/qt4/files/configure-paths.patch    |   21 ++++
 meta/recipes-qt/qt4/files/qmake-exists-check.patch |   18 +++
 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc        |  111 ++++++++++++++++++++
 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb   |    6 +
 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb   |    6 +
 7 files changed, 188 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/files/compile.test-lflags.patch
 create mode 100644 meta/recipes-qt/qt4/files/configure-lflags.patch
 create mode 100644 meta/recipes-qt/qt4/files/configure-paths.patch
 create mode 100644 meta/recipes-qt/qt4/files/qmake-exists-check.patch
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
 create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb

diff --git a/meta/recipes-qt/qt4/files/compile.test-lflags.patch b/meta/recipes-qt/qt4/files/compile.test-lflags.patch
new file mode 100644
index 0000000..e4b256b
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/compile.test-lflags.patch
@@ -0,0 +1,13 @@
+Index: qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/config.tests/unix/compile.test	2010-06-02 06:03:18.000000000 +0400
++++ qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test	2010-10-04 17:35:07.587783460 +0400
+@@ -11,7 +11,7 @@
+ EXE=`basename "$6"`
+ DESCRIPTION=$7
+ shift 7
+-LFLAGS=""
++LFLAGS="$LDFLAGS"
+ INCLUDEPATH=""
+ CXXFLAGS=""
+ MAC_ARCH_CXXFLAGS=""
diff --git a/meta/recipes-qt/qt4/files/configure-lflags.patch b/meta/recipes-qt/qt4/files/configure-lflags.patch
new file mode 100644
index 0000000..df19549
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/configure-lflags.patch
@@ -0,0 +1,13 @@
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure	2008-01-14 08:53:51.000000000 +0000
++++ qtopia-core-opensource-src-4.3.3/configure	2008-01-14 08:54:07.000000000 +0000
+@@ -447,7 +447,7 @@
+ # initalize variables
+ #-------------------------------------------------------------------------------
+ 
+-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
++SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
+ for varname in $SYSTEM_VARIABLES; do
+     cmd=`echo \
+ 'if [ -n "\$'${varname}'" ]; then
diff --git a/meta/recipes-qt/qt4/files/configure-paths.patch b/meta/recipes-qt/qt4/files/configure-paths.patch
new file mode 100644
index 0000000..c9259a1
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/configure-paths.patch
@@ -0,0 +1,21 @@
+Index: qt-everywhere-opensource-src-4.6.3/configure
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/configure	2011-01-10 15:47:37.100607001 +0000
++++ qt-everywhere-opensource-src-4.6.3/configure	2011-01-10 15:49:14.576606999 +0000
+@@ -7198,11 +7198,11 @@
+ 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
+ 
diff --git a/meta/recipes-qt/qt4/files/qmake-exists-check.patch b/meta/recipes-qt/qt4/files/qmake-exists-check.patch
new file mode 100644
index 0000000..cc73837
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qmake-exists-check.patch
@@ -0,0 +1,18 @@
+qt4-tools-nativesdk: avoid rebuilding qmake
+
+qt4-tools-nativesdk patch to avoids building qmake in configure if it already exists 
+(as it will, since we symlink it in from the native sysroot in do_configure)
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+--- qt-everywhere-opensource-src-4.6.3.orig/configure	2011-01-10 12:01:56.260607001 +0000
++++ qt-everywhere-opensource-src-4.6.3/configure	2011-01-10 12:02:20.584607015 +0000
+@@ -4286,7 +4286,7 @@
+ }
+ 
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if [ '!' -f "$outpath/bin/qmake" ]; then
+     echo "Creating qmake. Please wait..."
+ 
+     OLD_QCONFIG_H=
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
new file mode 100644
index 0000000..f273c9f
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
@@ -0,0 +1,111 @@
+DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
+DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-tools-native"
+SECTION = "libs"
+HOMEPAGE = "http://qt.nokia.com"
+PRIORITY = "optional"
+LICENSE = "LGPLv2.1 | GPLv3"
+
+INC_PR = "r3"
+
+FILESPATHPKG =. "qt-${PV}:"
+inherit nativesdk qmake2
+
+SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+           file://configure-lflags.patch \
+           file://compile.test-lflags.patch \
+           file://qt-config.patch \
+           file://qmake-exists-check.patch \
+           file://configure-paths.patch \
+           file://g++.conf \
+           file://linux.conf"
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+                    file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+                    file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
+EXTRA_OECONF = "-prefix ${prefix} \
+                -qt-libjpeg -qt-gif -system-zlib \
+                -no-libjpeg -no-libpng -no-libmng -no-libtiff \
+                -no-accessibility \
+                -no-cups \
+                -no-exceptions  \
+                -no-nas-sound \
+                -no-nis -no-openssl \
+                -verbose -release -fast -static \
+                -platform ${TARGET_OS}-oe-g++ \
+                -xplatform ${TARGET_OS}-oe-g++ \
+                -embedded -no-freetype -no-glib -no-iconv \
+                -qt3support \
+                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include \
+                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/freetype2 \
+                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
+                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include \
+                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \
+                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++/${TARGET_SYS} \
+                -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/lib \
+                -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib"
+
+# yank default -e, otherwise we get the following error:
+# moc_qbuffer.cpp: No such file or directory
+EXTRA_OEMAKE = " "
+
+do_configure() {
+    if [ ! -e bin/qmake ]; then
+        ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
+    fi
+
+    if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
+        ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
+    fi
+
+    cp ../g++.conf mkspecs/common
+    cp ../linux.conf mkspecs/common
+
+    (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+}
+
+TOBUILD = "\
+  src/tools/bootstrap \
+  src/tools/moc \
+  src/corelib \
+  src/sql \
+  src/dbus \
+  src/qt3support \
+  src/xml \
+  src/tools/uic \
+  src/tools/rcc \
+  src/network \
+  src/gui \
+  src/tools/uic3 \
+  tools/linguist/lrelease \
+  tools/linguist/lupdate \
+  tools/qdbus \
+"
+
+do_compile() {
+    for i in ${TOBUILD}; do
+        cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
+    done
+}
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 0755 bin/qmake ${D}${bindir}/qmake2
+    for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
+        install -m 0755 bin/${i} ${D}${bindir}/${i}4
+    done
+
+    (cd ${D}${bindir}; \
+    ln -s qmake2 qmake; \
+    for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
+        ln -s ${i}4 ${i}; \
+    done)
+
+    # make a symbolic link to mkspecs for compatibility with Nokia's SDK
+    # and QTCreator
+    (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;)
+}
+
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
new file mode 100644
index 0000000..d64542b
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
new file mode 100644
index 0000000..091a539
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 09/11] package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (7 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 10/11] avahi: prevent unnecessary runtime dependency on gtk+ Paul Eggleton
  2011-01-28  0:36 ` [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded Paul Eggleton
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Setting this flag disables the normal additions to RRECOMMENDS for a package
(useful when splitting dev / dbg packages).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/package.bbclass |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 1b950bb..3f17049 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1041,6 +1041,8 @@ python package_depchains() {
 
 	for suffix in pkgs:
 		for pkg in pkgs[suffix]:
+			if bb.data.getVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs', d):
+				continue
 			(base, func) = pkgs[suffix][pkg]
 			if suffix == "-dev":
 				pkg_adddeprrecs(pkg, base, suffix, func, depends, d)
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 10/11] avahi: prevent unnecessary runtime dependency on gtk+
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (8 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 09/11] package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28  0:36 ` [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded Paul Eggleton
  10 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

* Move avahi-discover-standalone to avahi-ui-utils as it's a GUI tool
* Split out avahi-ui dev files from avahi-dev to a libavahi-ui-dev package
  (using the new nodeprrecs flag to avoid automatic RRECOMMENDS calculation
  for avahi-dev)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-connectivity/avahi/avahi.inc       |    9 ++++++++-
 meta/recipes-connectivity/avahi/avahi_0.6.28.bb |    2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
index 5c3b4dd..9f83d8d 100644
--- a/meta/recipes-connectivity/avahi/avahi.inc
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -37,11 +37,14 @@ EXTRA_OECONF = "--with-distro=debian \
              --disable-python \
              --disable-doxygen-doc"
 
-PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-utils libavahi-ui avahi-ui-utils"
+PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-ui-utils avahi-utils libavahi-ui libavahi-ui-dev"
 
 FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
 FILES_libavahi-core = "${libdir}/libavahi-core.so.*"
 FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*"
+FILES_libavahi-ui-dev = "${libdir}/libavahi-ui.* \
+                         ${includedir}/avahi-ui/* \
+                         ${libdir}/pkgconfig/avahi-ui.pc"
 FILES_avahi-daemon = "${sbindir}/avahi-daemon \
                       ${sysconfdir}/avahi/avahi-daemon.conf \
                       ${sysconfdir}/avahi/hosts \
@@ -59,9 +62,13 @@ FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
 FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*"
 FILES_avahi-utils = "${bindir}/avahi-*"
 FILES_avahi-ui-utils = "${bindir}/bssh ${bindir}/bvnc ${bindir}/bshell \
+                        ${bindir}/avahi-discover-standalone \
                         ${datadir}/applications \
                         ${datadir}/avahi/interfaces"
 
+RRECOMMENDS_avahi-dev = "gettext-dev expat-dev libcap-dev libdaemon-dev dbus-dev glib-2.0-dev update-rc.d-dev"
+RRECOMMENDS_avahi-dev[nodeprrecs] = 1
+
 CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
 
 INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.28.bb b/meta/recipes-connectivity/avahi/avahi_0.6.28.bb
index fb339e7..6e034b0 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.6.28.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.6.28.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
 
 RDEPENDS_avahi-daemon = "sysvinit-pidof"
-PR = "r1"
+PR = "r2"
 
 EXTRA_OECONF += "--disable-gtk3"
 
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
  2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
                   ` (9 preceding siblings ...)
  2011-01-28  0:36 ` [PATCH 10/11] avahi: prevent unnecessary runtime dependency on gtk+ Paul Eggleton
@ 2011-01-28  0:36 ` Paul Eggleton
  2011-01-28 15:27   ` Joshua Lock
  10 siblings, 1 reply; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28  0:36 UTC (permalink / raw)
  To: poky

From: Paul Eggleton <paul.eggleton@linux.intel.com>

Differences from OE versions:

task-qte-toolchain-target.bb:
 * Depend on task-poky-standalone-sdk-target instead of task-sdk-bare
 * Add LIC_FILES_CHKSUM
 * Correct libsqlite3-dev dependency for Poky
 * Remove dependency on libts-dev

task-qte-toolchain-host.bb
 * Fix for Poky directory structure
 * qt4-tools-sdk -> qt4-tools-nativesdk

meta-toolchain-qte:
 * Fix for Poky directory structure
 * Use ${FAKEROOT} instead of fakeroot
 * Remove angstrom-specific suffix

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-qt/meta/meta-toolchain-qte.bb         |   32 ++++++++++++++++
 meta/recipes-qt/tasks/task-qte-toolchain-host.bb   |    7 ++++
 meta/recipes-qt/tasks/task-qte-toolchain-target.bb |   39 ++++++++++++++++++++
 3 files changed, 78 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-qt/meta/meta-toolchain-qte.bb
 create mode 100644 meta/recipes-qt/tasks/task-qte-toolchain-host.bb
 create mode 100644 meta/recipes-qt/tasks/task-qte-toolchain-target.bb

diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb
new file mode 100644
index 0000000..b29c5cf
--- /dev/null
+++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb
@@ -0,0 +1,32 @@
+# Qt Embedded toolchain
+PR = "r5"
+TOOLCHAIN_HOST_TASK = "task-qte-toolchain-host"
+TOOLCHAIN_TARGET_TASK = "task-qte-toolchain-target"
+
+require recipes-core/meta/meta-toolchain.bb
+SDK_SUFFIX = "toolchain-qte"
+
+QT_DIR_NAME = "qtopia"
+
+do_populate_sdk_append() {
+    script="${SDK_OUTPUT}/${SDKPATH}/environment-setup"
+    touch $script
+    echo 'export OE_QMAKE_CC=${TARGET_SYS}-gcc' >> $script
+    echo 'export OE_QMAKE_CXX=${TARGET_SYS}-g++' >> $script
+    echo 'export OE_QMAKE_LINK=${TARGET_SYS}-g++' >> $script
+    echo 'export OE_QMAKE_AR=${TARGET_SYS}-ar' >> $script
+    echo 'export OE_QMAKE_LIBDIR_QT=${SDKPATH}/${TARGET_SYS}/${libdir}' >> $script
+    echo 'export OE_QMAKE_INCDIR_QT=${SDKPATH}/${TARGET_SYS}/${includedir}/${QT_DIR_NAME}' >> $script
+    echo 'export OE_QMAKE_MOC=${SDKPATH}/bin/moc4' >> $script
+    echo 'export OE_QMAKE_UIC=${SDKPATH}/bin/uic4' >> $script
+    echo 'export OE_QMAKE_UIC3=${SDKPATH}/bin/uic34' >> $script
+    echo 'export OE_QMAKE_RCC=${SDKPATH}/bin/rcc4' >> $script
+    echo 'export OE_QMAKE_QDBUSCPP2XML=${SDKPATH}/bin/qdbuscpp2xml4' >> $script
+    echo 'export OE_QMAKE_QDBUSXML2CPP=${SDKPATH}/bin/qdbusxml2cpp4' >> $script
+    echo 'export OE_QMAKE_QT_CONFIG=${SDKPATH}/${TARGET_SYS}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
+    echo 'export QMAKESPEC=${SDKPATH}/${TARGET_SYS}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
+
+    # Repack SDK with new environment-setup
+    cd ${SDK_OUTPUT}
+    ${FAKEROOT} tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .       
+}
diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-host.bb b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb
new file mode 100644
index 0000000..2ab6ccf
--- /dev/null
+++ b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb
@@ -0,0 +1,7 @@
+require recipes-core/tasks/task-sdk-host.bb
+
+DESCRIPTION = "Host packages for Qt Embedded SDK"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+RDEPENDS_${PN} += "qt4-tools-nativesdk"
diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-target.bb b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb
new file mode 100644
index 0000000..03e0e54
--- /dev/null
+++ b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Target packages for Qt Embedded SDK"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+PR = "r5"
+
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+RDEPENDS_${PN} += " \
+        task-poky-standalone-sdk-target \
+        qt4-embedded-mkspecs \
+        libqt-embeddedmultimedia4-dev \
+        libqt-embeddedphonon4-dev \
+        libqt-embedded3support4-dev \
+        libqt-embeddedclucene4-dev \
+        libqt-embeddedcore4-dev \
+        libqt-embeddeddbus4-dev \
+        libqt-embeddeddesignercomponents4-dev \
+        libqt-embeddeddesigner4-dev \
+        libqt-embeddeduitools4-dev \
+        libqt-embeddedgui4-dev \
+        libqt-embeddedhelp4-dev \
+        libqt-embeddednetwork4-dev \
+        libqt-embeddedscript4-dev \
+        libqt-embeddedscripttools4-dev \
+        libqt-embeddedsql4-dev \
+        libqt-embeddedsvg4-dev \
+        libqt-embeddedtest4-dev \
+        libqt-embeddedwebkit4-dev \
+        libqt-embeddedxml4-dev \
+        libsqlite3-dev \
+        expat-dev \
+        "
+
+#Qt Declarative is new in 4.7, try to include it like this.
+#RRECOMMENDS_${PN} += " \
+#        libqt-embeddeddeclarative4-dev \
+#        "
-- 
1.7.1



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded
  2011-01-28  0:36 ` [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded Paul Eggleton
@ 2011-01-28 15:27   ` Joshua Lock
  2011-01-30 20:21     ` Saul Wold
  0 siblings, 1 reply; 21+ messages in thread
From: Joshua Lock @ 2011-01-28 15:27 UTC (permalink / raw)
  To: poky

On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
> From: Paul Eggleton <paul.eggleton@linux.intel.com>
> 
> This package has been added from meta-openembedded (with no changes) in order
> to be able to build qt4-embedded.
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  .../directfb/directfb-1.4.6/mkdfiff.patch          |   24 +++++++
>  meta/recipes-graphics/directfb/directfb.inc        |   73 ++++++++++++++++++++
>  meta/recipes-graphics/directfb/directfb_1.4.6.bb   |   27 +++++++
>  .../directfb-1.2.x-fix-pkgconfig-cflags.patch      |   47 +++++++++++++
>  .../directfb/files/dont-use-linux-config.patch     |   12 +++
>  5 files changed, 183 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
>  create mode 100644 meta/recipes-graphics/directfb/directfb.inc
>  create mode 100644 meta/recipes-graphics/directfb/directfb_1.4.6.bb
>  create mode 100644 meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
>  create mode 100644 meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
> 
> diff --git a/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
> new file mode 100644
> index 0000000..28bd534
> --- /dev/null
> +++ b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
> @@ -0,0 +1,24 @@
> +diff -uNr DirectFB-1.4.6.orig/tools/mkdfiff.c DirectFB-1.4.6/tools/mkdfiff.c
> +--- DirectFB-1.4.6.orig/tools/mkdfiff.c 2010-10-15 10:54:57.000000000 +0200
> ++++ DirectFB-1.4.6/tools/mkdfiff.c      2010-10-15 10:54:15.000000000 +0200
> +@@ -50,6 +50,8 @@
> +
> + #include <dfiff.h>
> +
> ++#include <unistd.h>
> ++
> + static DirectFBPixelFormatNames( format_names );
> +
> + static const char            *filename;
> +diff -uNr DirectFB-1.4.6.orig/tools/mkdgifft.cpp DirectFB-1.4.6/tools/mkdgifft.cpp
> +--- DirectFB-1.4.6.orig/tools/mkdgifft.cpp      2010-10-08 14:02:57.000000000 +0200
> ++++ DirectFB-1.4.6/tools/mkdgifft.cpp   2010-10-15 10:56:06.000000000 +0200
> +@@ -40,6 +40,8 @@
> + #include <errno.h>
> + #include <stdio.h>
> + #include <stdlib.h>
> ++#include <sys/stat.h>
> ++#include <sys/types.h>
> + #include <unistd.h>
> + #include <fcntl.h>
> + #include <sys/mman.h>
> diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc
> new file mode 100644
> index 0000000..ca22d24
> --- /dev/null
> +++ b/meta/recipes-graphics/directfb/directfb.inc
> @@ -0,0 +1,73 @@
> +DESCRIPTION = "DirectFB is a thin library that provides developers \
> +with hardware graphics acceleration, input device handling and \
> +abstraction, an integrated windowing system with support for \
> +translucent windows and multiple display layers on top of the \
> +Linux framebuffer device."
> +SECTION = "libs"
> +LICENSE = "LGPLv2.1"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
> +
> +HOMEPAGE = "http://directfb.org"
> +DEPENDS = "jpeg libpng freetype zlib tslib"
> +
> +SRC_URI = " \
> +    http://www.directfb.org/downloads/Old/DirectFB-${PV}.tar.gz \
> +    file://fix-pkgconfig-cflags.patch \
> +    file://fix-font-missing-char.patch \
> +    file://getpagesize.patch \
> +    file://mkdfiff.patch \
> +    file://dont-use-linux-config.patch \
> +    file://ts_lib_autotools.patch \
> +"
> +S = "${WORKDIR}/DirectFB-${PV}"
> +
> +LDFLAGS_append =" -lts -lm"
> +
> +inherit autotools binconfig pkgconfig
> +
> +EXTRA_OECONF = "\
> +  --with-gfxdrivers=none \
> +  --enable-libmpeg3=no \
> +  --enable-freetype=yes \
> +  --enable-sdl=no \
> +  --enable-vnc=no \
> +  --disable-x11 \
> +"
> +
> +do_install() {
> +        oe_runmake 'DESTDIR=${D}' install
> +}

Isn't this what do_install() always does?

> +
> +
> +#PACKAGES_DYNAMIC = "directfb-inputdrivers-*"
> +#
> +#python populate_packages_prepend () {
> +#    import os.path
> +#    inputdrivers_libdir = bb.data.expand('${libdir}/directfb-${RV}/inputdrivers', d)
> +#    do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
> +#}
> +
> +# NOTE: monolithic packaging for now, should improve that eventually
> +
> +
> +
> +FILES_${PN}-dbg += "\
> +  ${libdir}/directfb-${RV}/*/*/.debug/*.so \
> +  ${libdir}/directfb-${RV}/*/.debug/*.so \
> +"
> +
> +FILES_${PN}-dev += "\
> +  ${bindir}/directfb-config \
> +  ${libdir}/directfb-${RV}/systems/*.la \
> +  ${libdir}/directfb-${RV}/inputdrivers/*.la \
> +  ${libdir}/directfb-${RV}/interfaces/*/*.la \
> +  ${libdir}/directfb-${RV}/wm/*.la \
> +"
> +
> +FILES_${PN} += "\
> +  ${libdir}/directfb-${RV}/systems/*.so \
> +  ${libdir}/directfb-${RV}/inputdrivers/*.so \
> +  ${libdir}/directfb-${RV}/interfaces/*/*.so \
> +  ${libdir}/directfb-${RV}/wm/*.so \
> +  ${datadir}/directfb-${PV} \
> +"
> diff --git a/meta/recipes-graphics/directfb/directfb_1.4.6.bb b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
> new file mode 100644
> index 0000000..70c0225
> --- /dev/null
> +++ b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
> @@ -0,0 +1,27 @@
> +require directfb.inc
> +
> +RV = "1.4-5"
> +PR = "r2"
> +
> +DEPENDS += "sysfsutils"
> +
> +SRC_URI = " \
> +    http://directfb.org/downloads/Core/DirectFB-1.4/DirectFB-${PV}.tar.gz \
> +    file://directfb-1.2.x-fix-pkgconfig-cflags.patch \
> +    file://mkdfiff.patch \
> +    file://dont-use-linux-config.patch \
> +   "
> +
> +EXTRA_OECONF = "\
> +  --enable-freetype=yes \
> +  --enable-zlib \
> +  --with-gfxdrivers=none \
> +  --disable-sdl \
> +  --disable-vnc \
> +  --disable-x11 \
> +"
> +
> +LEAD_SONAME = "libdirectfb-1.4.so.5"
> +
> +SRC_URI[md5sum] = "dbe1957932f81790742b58b94c1c7b84"
> +SRC_URI[sha256sum] = "b18121e60e9a084ee347037a53a46cfaea1c09505bd99d673c2e65eca285e69b"
> diff --git a/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
> new file mode 100644
> index 0000000..745c561
> --- /dev/null
> +++ b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
> @@ -0,0 +1,47 @@
> +Index: DirectFB-1.1.1/directfb-internal.pc.in
> +===================================================================
> +--- DirectFB-1.1.1.orig/directfb-internal.pc.in	2007-08-07 21:43:00.000000000 +0200
> ++++ DirectFB-1.1.1/directfb-internal.pc.in	2008-07-17 21:00:47.424654304 +0200
> +@@ -2,10 +2,10 @@
> + exec_prefix=@exec_prefix@
> + moduledir=@MODULEDIR@
> + moduledirname=@MODULEDIRNAME@
> +-includedir=@INTERNALINCLUDEDIR@
> ++includedir=@includedir@
> + 
> + Name: DirectFB-Internal
> + Description: Third party module support package for DirectFB.
> + Version: @VERSION@
> + Requires: directfb = @VERSION@
> +-Cflags: @DFB_INTERNAL_CFLAGS@ -I@INTERNALINCLUDEDIR@
> ++Cflags: @DFB_INTERNAL_CFLAGS@ -I${includedir}/directfb -I${includedir}
> +Index: DirectFB-1.1.1/directfb.pc.in
> +===================================================================
> +--- DirectFB-1.1.1.orig/directfb.pc.in	2007-12-15 16:23:16.000000000 +0100
> ++++ DirectFB-1.1.1/directfb.pc.in	2008-07-17 20:59:58.044985193 +0200
> +@@ -9,4 +9,4 @@
> + Requires: fusion direct
> + Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
> + Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
> +-Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
> ++Cflags: @THREADFLAGS@ -I${includedir}/directfb
> +Index: DirectFB-1.1.1/lib/fusion/fusion.pc.in
> +===================================================================
> +--- DirectFB-1.1.1.orig/lib/fusion/fusion.pc.in	2007-08-07 21:43:00.000000000 +0200
> ++++ DirectFB-1.1.1/lib/fusion/fusion.pc.in	2008-07-17 20:58:07.051338866 +0200
> +@@ -8,4 +8,4 @@
> + Version: @VERSION@
> + Requires: direct
> + Libs: -L${libdir} -lfusion
> +-Cflags: -I@INCLUDEDIR@
> ++Cflags: -I${includedir}/directfb -I${includedir}
> +Index: DirectFB-1.1.1/lib/voodoo/voodoo.pc.in
> +===================================================================
> +--- DirectFB-1.1.1.orig/lib/voodoo/voodoo.pc.in	2007-08-07 21:43:00.000000000 +0200
> ++++ DirectFB-1.1.1/lib/voodoo/voodoo.pc.in	2008-07-17 20:58:07.054671842 +0200
> +@@ -8,4 +8,4 @@
> + Version: @VERSION@
> + Requires: direct
> + Libs: -L${libdir} -lvoodoo
> +-Cflags: -I@INCLUDEDIR@
> ++Cflags: -I${includedir}/directfb -I${includedir}
> diff --git a/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
> new file mode 100644
> index 0000000..f971660
> --- /dev/null
> +++ b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
> @@ -0,0 +1,12 @@
> +diff -urN DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S
> +--- DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S	2007-08-07 21:43:00.000000000 +0200
> ++++ DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S	2008-06-07 04:14:26.000000000 +0200
> +@@ -34,8 +34,6 @@
> + 
> + #define __ASSEMBLY__
> + 
> +-#include <linux/config.h>
> +-
> + #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
> + #define L1_CACHE_LINE_SIZE       16
> + #define LG_L1_CACHE_LINE_SIZE     4 

-- 
Joshua Lock
        Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded
  2011-01-28  0:36 ` [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded Paul Eggleton
@ 2011-01-28 15:27   ` Joshua Lock
  2011-01-28 17:25     ` Paul Eggleton
  0 siblings, 1 reply; 21+ messages in thread
From: Joshua Lock @ 2011-01-28 15:27 UTC (permalink / raw)
  To: poky

On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
> From: Paul Eggleton <paul.eggleton@linux.intel.com>
> 
> Differences from OpenEmbedded qt4-tools-sdk:
> 
> * Convert to nativesdk and make fixes necessary to build

Any reason why this wouldn't be based on the same recipe as
qt4-tools-native?

> * Use .inc file in 4.6.3 version
> * Add LIC_FILES_CHKSUM
> * Fix LICENSE to match other Qt4 recipes
> * Use http source URL to match other Qt4 recipes
> * Whitespace fixes
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  .../recipes-qt/qt4/files/compile.test-lflags.patch |   13 +++
>  meta/recipes-qt/qt4/files/configure-lflags.patch   |   13 +++
>  meta/recipes-qt/qt4/files/configure-paths.patch    |   21 ++++
>  meta/recipes-qt/qt4/files/qmake-exists-check.patch |   18 +++
>  meta/recipes-qt/qt4/qt4-tools-nativesdk.inc        |  111 ++++++++++++++++++++
>  meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb   |    6 +
>  meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb   |    6 +
>  7 files changed, 188 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-qt/qt4/files/compile.test-lflags.patch
>  create mode 100644 meta/recipes-qt/qt4/files/configure-lflags.patch
>  create mode 100644 meta/recipes-qt/qt4/files/configure-paths.patch
>  create mode 100644 meta/recipes-qt/qt4/files/qmake-exists-check.patch
>  create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
>  create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
>  create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
> 
> diff --git a/meta/recipes-qt/qt4/files/compile.test-lflags.patch b/meta/recipes-qt/qt4/files/compile.test-lflags.patch
> new file mode 100644
> index 0000000..e4b256b
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/files/compile.test-lflags.patch
> @@ -0,0 +1,13 @@
> +Index: qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test
> +===================================================================
> +--- qt-everywhere-opensource-src-4.6.3.orig/config.tests/unix/compile.test	2010-06-02 06:03:18.000000000 +0400
> ++++ qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test	2010-10-04 17:35:07.587783460 +0400
> +@@ -11,7 +11,7 @@
> + EXE=`basename "$6"`
> + DESCRIPTION=$7
> + shift 7
> +-LFLAGS=""
> ++LFLAGS="$LDFLAGS"
> + INCLUDEPATH=""
> + CXXFLAGS=""
> + MAC_ARCH_CXXFLAGS=""
> diff --git a/meta/recipes-qt/qt4/files/configure-lflags.patch b/meta/recipes-qt/qt4/files/configure-lflags.patch
> new file mode 100644
> index 0000000..df19549
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/files/configure-lflags.patch
> @@ -0,0 +1,13 @@
> +Index: qtopia-core-opensource-src-4.3.3/configure
> +===================================================================
> +--- qtopia-core-opensource-src-4.3.3.orig/configure	2008-01-14 08:53:51.000000000 +0000
> ++++ qtopia-core-opensource-src-4.3.3/configure	2008-01-14 08:54:07.000000000 +0000
> +@@ -447,7 +447,7 @@
> + # initalize variables
> + #-------------------------------------------------------------------------------
> + 
> +-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
> ++SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
> + for varname in $SYSTEM_VARIABLES; do
> +     cmd=`echo \
> + 'if [ -n "\$'${varname}'" ]; then
> diff --git a/meta/recipes-qt/qt4/files/configure-paths.patch b/meta/recipes-qt/qt4/files/configure-paths.patch
> new file mode 100644
> index 0000000..c9259a1
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/files/configure-paths.patch
> @@ -0,0 +1,21 @@
> +Index: qt-everywhere-opensource-src-4.6.3/configure
> +===================================================================
> +--- qt-everywhere-opensource-src-4.6.3.orig/configure	2011-01-10 15:47:37.100607001 +0000
> ++++ qt-everywhere-opensource-src-4.6.3/configure	2011-01-10 15:49:14.576606999 +0000
> +@@ -7198,11 +7198,11 @@
> + 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
> + 
> diff --git a/meta/recipes-qt/qt4/files/qmake-exists-check.patch b/meta/recipes-qt/qt4/files/qmake-exists-check.patch
> new file mode 100644
> index 0000000..cc73837
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/files/qmake-exists-check.patch
> @@ -0,0 +1,18 @@
> +qt4-tools-nativesdk: avoid rebuilding qmake
> +
> +qt4-tools-nativesdk patch to avoids building qmake in configure if it already exists 
> +(as it will, since we symlink it in from the native sysroot in do_configure)
> +
> +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> +
> +--- qt-everywhere-opensource-src-4.6.3.orig/configure	2011-01-10 12:01:56.260607001 +0000
> ++++ qt-everywhere-opensource-src-4.6.3/configure	2011-01-10 12:02:20.584607015 +0000
> +@@ -4286,7 +4286,7 @@
> + }
> + 
> + # build qmake
> +-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
> ++if [ '!' -f "$outpath/bin/qmake" ]; then
> +     echo "Creating qmake. Please wait..."
> + 
> +     OLD_QCONFIG_H=
> diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
> new file mode 100644
> index 0000000..f273c9f
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
> @@ -0,0 +1,111 @@
> +DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
> +DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-tools-native"
> +SECTION = "libs"
> +HOMEPAGE = "http://qt.nokia.com"
> +PRIORITY = "optional"
> +LICENSE = "LGPLv2.1 | GPLv3"
> +
> +INC_PR = "r3"
> +
> +FILESPATHPKG =. "qt-${PV}:"
> +inherit nativesdk qmake2
> +
> +SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
> +           file://configure-lflags.patch \
> +           file://compile.test-lflags.patch \
> +           file://qt-config.patch \
> +           file://qmake-exists-check.patch \
> +           file://configure-paths.patch \
> +           file://g++.conf \
> +           file://linux.conf"
> +
> +S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
> +                    file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
> +                    file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
> +
> +# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
> +EXTRA_OECONF = "-prefix ${prefix} \
> +                -qt-libjpeg -qt-gif -system-zlib \
> +                -no-libjpeg -no-libpng -no-libmng -no-libtiff \
> +                -no-accessibility \
> +                -no-cups \
> +                -no-exceptions  \
> +                -no-nas-sound \
> +                -no-nis -no-openssl \
> +                -verbose -release -fast -static \
> +                -platform ${TARGET_OS}-oe-g++ \
> +                -xplatform ${TARGET_OS}-oe-g++ \
> +                -embedded -no-freetype -no-glib -no-iconv \
> +                -qt3support \
> +                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include \
> +                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/freetype2 \
> +                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
> +                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include \
> +                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \
> +                -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++/${TARGET_SYS} \
> +                -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/lib \
> +                -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib"
> +
> +# yank default -e, otherwise we get the following error:
> +# moc_qbuffer.cpp: No such file or directory
> +EXTRA_OEMAKE = " "
> +
> +do_configure() {
> +    if [ ! -e bin/qmake ]; then
> +        ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
> +    fi
> +
> +    if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
> +        ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
> +    fi
> +
> +    cp ../g++.conf mkspecs/common
> +    cp ../linux.conf mkspecs/common
> +
> +    (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
> +}
> +
> +TOBUILD = "\
> +  src/tools/bootstrap \
> +  src/tools/moc \
> +  src/corelib \
> +  src/sql \
> +  src/dbus \
> +  src/qt3support \
> +  src/xml \
> +  src/tools/uic \
> +  src/tools/rcc \
> +  src/network \
> +  src/gui \
> +  src/tools/uic3 \
> +  tools/linguist/lrelease \
> +  tools/linguist/lupdate \
> +  tools/qdbus \
> +"
> +
> +do_compile() {
> +    for i in ${TOBUILD}; do
> +        cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
> +    done
> +}
> +
> +do_install() {
> +    install -d ${D}${bindir}
> +    install -m 0755 bin/qmake ${D}${bindir}/qmake2
> +    for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
> +        install -m 0755 bin/${i} ${D}${bindir}/${i}4
> +    done
> +
> +    (cd ${D}${bindir}; \
> +    ln -s qmake2 qmake; \
> +    for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
> +        ln -s ${i}4 ${i}; \
> +    done)
> +
> +    # make a symbolic link to mkspecs for compatibility with Nokia's SDK
> +    # and QTCreator
> +    (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;)
> +}
> +
> diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
> new file mode 100644
> index 0000000..d64542b
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
> @@ -0,0 +1,6 @@
> +require qt4-tools-nativesdk.inc
> +
> +PR = "${INC_PR}.0"
> +
> +SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
> +SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
> diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
> new file mode 100644
> index 0000000..091a539
> --- /dev/null
> +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
> @@ -0,0 +1,6 @@
> +require qt4-tools-nativesdk.inc
> +
> +PR = "${INC_PR}.0"
> +
> +SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
> +SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"

-- 
Joshua Lock
        Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
  2011-01-28  0:36 ` [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded Paul Eggleton
@ 2011-01-28 15:27   ` Joshua Lock
  2011-01-28 15:47     ` Koen Kooi
  0 siblings, 1 reply; 21+ messages in thread
From: Joshua Lock @ 2011-01-28 15:27 UTC (permalink / raw)
  To: poky

On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
> From: Paul Eggleton <paul.eggleton@linux.intel.com>
> 
> Differences from OE versions:
> 
> task-qte-toolchain-target.bb:
>  * Depend on task-poky-standalone-sdk-target instead of task-sdk-bare
>  * Add LIC_FILES_CHKSUM
>  * Correct libsqlite3-dev dependency for Poky
>  * Remove dependency on libts-dev
> 
> task-qte-toolchain-host.bb
>  * Fix for Poky directory structure
>  * qt4-tools-sdk -> qt4-tools-nativesdk
> 
> meta-toolchain-qte:
>  * Fix for Poky directory structure
>  * Use ${FAKEROOT} instead of fakeroot
>  * Remove angstrom-specific suffix
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  meta/recipes-qt/meta/meta-toolchain-qte.bb         |   32 ++++++++++++++++
>  meta/recipes-qt/tasks/task-qte-toolchain-host.bb   |    7 ++++
>  meta/recipes-qt/tasks/task-qte-toolchain-target.bb |   39 ++++++++++++++++++++
>  3 files changed, 78 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-qt/meta/meta-toolchain-qte.bb
>  create mode 100644 meta/recipes-qt/tasks/task-qte-toolchain-host.bb
>  create mode 100644 meta/recipes-qt/tasks/task-qte-toolchain-target.bb
> 
> diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb
> new file mode 100644
> index 0000000..b29c5cf
> --- /dev/null
> +++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb
> @@ -0,0 +1,32 @@
> +# Qt Embedded toolchain
> +PR = "r5"
> +TOOLCHAIN_HOST_TASK = "task-qte-toolchain-host"
> +TOOLCHAIN_TARGET_TASK = "task-qte-toolchain-target"
> +
> +require recipes-core/meta/meta-toolchain.bb
> +SDK_SUFFIX = "toolchain-qte"
> +
> +QT_DIR_NAME = "qtopia"
> +
> +do_populate_sdk_append() {
> +    script="${SDK_OUTPUT}/${SDKPATH}/environment-setup"
> +    touch $script
> +    echo 'export OE_QMAKE_CC=${TARGET_SYS}-gcc' >> $script
> +    echo 'export OE_QMAKE_CXX=${TARGET_SYS}-g++' >> $script
> +    echo 'export OE_QMAKE_LINK=${TARGET_SYS}-g++' >> $script
> +    echo 'export OE_QMAKE_AR=${TARGET_SYS}-ar' >> $script
> +    echo 'export OE_QMAKE_LIBDIR_QT=${SDKPATH}/${TARGET_SYS}/${libdir}' >> $script
> +    echo 'export OE_QMAKE_INCDIR_QT=${SDKPATH}/${TARGET_SYS}/${includedir}/${QT_DIR_NAME}' >> $script
> +    echo 'export OE_QMAKE_MOC=${SDKPATH}/bin/moc4' >> $script
> +    echo 'export OE_QMAKE_UIC=${SDKPATH}/bin/uic4' >> $script
> +    echo 'export OE_QMAKE_UIC3=${SDKPATH}/bin/uic34' >> $script
> +    echo 'export OE_QMAKE_RCC=${SDKPATH}/bin/rcc4' >> $script
> +    echo 'export OE_QMAKE_QDBUSCPP2XML=${SDKPATH}/bin/qdbuscpp2xml4' >> $script
> +    echo 'export OE_QMAKE_QDBUSXML2CPP=${SDKPATH}/bin/qdbusxml2cpp4' >> $script
> +    echo 'export OE_QMAKE_QT_CONFIG=${SDKPATH}/${TARGET_SYS}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
> +    echo 'export QMAKESPEC=${SDKPATH}/${TARGET_SYS}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
> +
> +    # Repack SDK with new environment-setup
> +    cd ${SDK_OUTPUT}
> +    ${FAKEROOT} tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . 

We can avoid pseudo overhead here by using some switches to tar, see:
http://git.pokylinux.org/cgit/cgit.cgi/poky/commit/?id=8ae1f88214acf8f44073f2e499bef59e9433fdfd

>      
> +}
> diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-host.bb b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb
> new file mode 100644
> index 0000000..2ab6ccf
> --- /dev/null
> +++ b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb
> @@ -0,0 +1,7 @@
> +require recipes-core/tasks/task-sdk-host.bb
> +
> +DESCRIPTION = "Host packages for Qt Embedded SDK"
> +LICENSE = "MIT"
> +ALLOW_EMPTY = "1"
> +
> +RDEPENDS_${PN} += "qt4-tools-nativesdk"
> diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-target.bb b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb
> new file mode 100644
> index 0000000..03e0e54
> --- /dev/null
> +++ b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb
> @@ -0,0 +1,39 @@
> +DESCRIPTION = "Target packages for Qt Embedded SDK"
> +LICENSE = "MIT"
> +ALLOW_EMPTY = "1"
> +
> +PR = "r5"
> +
> +LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
> +                    file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> +
> +RDEPENDS_${PN} += " \
> +        task-poky-standalone-sdk-target \
> +        qt4-embedded-mkspecs \
> +        libqt-embeddedmultimedia4-dev \
> +        libqt-embeddedphonon4-dev \
> +        libqt-embedded3support4-dev \
> +        libqt-embeddedclucene4-dev \
> +        libqt-embeddedcore4-dev \
> +        libqt-embeddeddbus4-dev \
> +        libqt-embeddeddesignercomponents4-dev \
> +        libqt-embeddeddesigner4-dev \
> +        libqt-embeddeduitools4-dev \
> +        libqt-embeddedgui4-dev \
> +        libqt-embeddedhelp4-dev \
> +        libqt-embeddednetwork4-dev \
> +        libqt-embeddedscript4-dev \
> +        libqt-embeddedscripttools4-dev \
> +        libqt-embeddedsql4-dev \
> +        libqt-embeddedsvg4-dev \
> +        libqt-embeddedtest4-dev \
> +        libqt-embeddedwebkit4-dev \
> +        libqt-embeddedxml4-dev \
> +        libsqlite3-dev \
> +        expat-dev \
> +        "
> +
> +#Qt Declarative is new in 4.7, try to include it like this.
> +#RRECOMMENDS_${PN} += " \
> +#        libqt-embeddeddeclarative4-dev \
> +#        "

We don't want to include this?

Cheers,
Joshua
-- 
Joshua Lock
        Intel Open Source Technology Centre



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
  2011-01-28 15:27   ` Joshua Lock
@ 2011-01-28 15:47     ` Koen Kooi
  2011-01-28 17:20       ` Paul Eggleton
  0 siblings, 1 reply; 21+ messages in thread
From: Koen Kooi @ 2011-01-28 15:47 UTC (permalink / raw)
  To: Joshua Lock; +Cc: poky


Op 28 jan 2011, om 16:27 heeft Joshua Lock het volgende geschreven:

> On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
>> 
>> +#Qt Declarative is new in 4.7, try to include it like this.
>> +#RRECOMMENDS_${PN} += " \
>> +#        libqt-embeddeddeclarative4-dev \
>> +#        "
> 
> We don't want to include this?

There was a bug in the OE recipes where the declarative stuff was only mentioned in the 4.7.1 recipe, so building meta-toolchain-qte would build both 4.6.x and 4.7.1. I think I fixed that a few weeks back, so it should be safe to include again. Maybe the opengl stuff can go in as well (if it isn't in already).

regards,

Koen

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
  2011-01-28 15:47     ` Koen Kooi
@ 2011-01-28 17:20       ` Paul Eggleton
  2011-01-28 17:43         ` Koen Kooi
  2011-01-29  2:32         ` Paul Eggleton
  0 siblings, 2 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28 17:20 UTC (permalink / raw)
  To: poky

On Friday 28 January 2011 15:47:28 Koen Kooi wrote:
> Op 28 jan 2011, om 16:27 heeft Joshua Lock het volgende geschreven:
> > On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
> >> +#Qt Declarative is new in 4.7, try to include it like this.
> >> +#RRECOMMENDS_${PN} += " \
> >> +#        libqt-embeddeddeclarative4-dev \
> >> +#        "
> > 
> > We don't want to include this?
> 
> There was a bug in the OE recipes where the declarative stuff was only
> mentioned in the 4.7.1 recipe, so building meta-toolchain-qte would build
> both 4.6.x and 4.7.1. I think I fixed that a few weeks back, so it should
> be safe to include again. 

Am testing that as we speak, if it works I'll include it in v3 of this 
patchset which I will try to post very soon.

BTW Koen I realise that your original reply to my first patchset pointed out 
the virtues of having MySQL and PostgreSQL support in the Qt recipes; 
unfortunately I've had to cut those out from this patchset as we don't have 
these DBMSs in Poky at the moment and probably won't for the 1.0 timeframe. 
However as you will no doubt want these in meta-openembedded it might be worth 
modifying qt4.inc to make re-enabling these easier in a .bbappend (e.g. by 
splitting out the SQL plugin configure flags to a separate variable). I didn't 
have a chance to make such a change for this patchset but you could submit a 
patch to do so, or I will when I get back from holiday.

Cheers,
Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded
  2011-01-28 15:27   ` Joshua Lock
@ 2011-01-28 17:25     ` Paul Eggleton
  0 siblings, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-28 17:25 UTC (permalink / raw)
  To: poky

On Friday 28 January 2011 15:27:20 Joshua Lock wrote:
> On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
> > From: Paul Eggleton <paul.eggleton@linux.intel.com>
> > 
> > Differences from OpenEmbedded qt4-tools-sdk:
> > 
> > * Convert to nativesdk and make fixes necessary to build
> 
> Any reason why this wouldn't be based on the same recipe as
> qt4-tools-native?

Possibly; it took a few hacks to get the nativesdk recipe to build though and 
I'm not sure that they are necessary for the native recipe. I think this is 
something that could be left for a future update unless there are violent 
objections, in which case I'll have to rework this after I get back from 
holiday (about 3 weeks time).

Cheers,
Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
  2011-01-28 17:20       ` Paul Eggleton
@ 2011-01-28 17:43         ` Koen Kooi
  2011-01-29  2:32         ` Paul Eggleton
  1 sibling, 0 replies; 21+ messages in thread
From: Koen Kooi @ 2011-01-28 17:43 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: poky


Op 28 jan 2011, om 18:20 heeft Paul Eggleton het volgende geschreven:

> On Friday 28 January 2011 15:47:28 Koen Kooi wrote:
>> Op 28 jan 2011, om 16:27 heeft Joshua Lock het volgende geschreven:
>>> On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
>>>> +#Qt Declarative is new in 4.7, try to include it like this.
>>>> +#RRECOMMENDS_${PN} += " \
>>>> +#        libqt-embeddeddeclarative4-dev \
>>>> +#        "
>>> 
>>> We don't want to include this?
>> 
>> There was a bug in the OE recipes where the declarative stuff was only
>> mentioned in the 4.7.1 recipe, so building meta-toolchain-qte would build
>> both 4.6.x and 4.7.1. I think I fixed that a few weeks back, so it should
>> be safe to include again. 
> 
> Am testing that as we speak, if it works I'll include it in v3 of this 
> patchset which I will try to post very soon.
> 
> BTW Koen I realise that your original reply to my first patchset pointed out 
> the virtues of having MySQL and PostgreSQL support in the Qt recipes; 
> unfortunately I've had to cut those out from this patchset as we don't have 
> these DBMSs in Poky at the moment and probably won't for the 1.0 timeframe. 
> However as you will no doubt want these in meta-openembedded it might be worth 
> modifying qt4.inc to make re-enabling these easier in a .bbappend (e.g. by 
> splitting out the SQL plugin configure flags to a separate variable). I didn't 
> have a chance to make such a change for this patchset but you could submit a 
> patch to do so, or I will when I get back from holiday.

I'll have a look at that when after this lands in master, enjoy your holiday!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
  2011-01-28 17:20       ` Paul Eggleton
  2011-01-28 17:43         ` Koen Kooi
@ 2011-01-29  2:32         ` Paul Eggleton
  1 sibling, 0 replies; 21+ messages in thread
From: Paul Eggleton @ 2011-01-29  2:32 UTC (permalink / raw)
  To: poky

On Friday 28 January 2011 17:20:59 Paul Eggleton wrote:
> On Friday 28 January 2011 15:47:28 Koen Kooi wrote:
> > Op 28 jan 2011, om 16:27 heeft Joshua Lock het volgende geschreven:
> > > On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
> > >> +#Qt Declarative is new in 4.7, try to include it like this.
> > >> +#RRECOMMENDS_${PN} += " \
> > >> +#        libqt-embeddeddeclarative4-dev \
> > >> +#        "
> > > 
> > > We don't want to include this?
> > 
> > There was a bug in the OE recipes where the declarative stuff was only
> > mentioned in the 4.7.1 recipe, so building meta-toolchain-qte would build
> > both 4.6.x and 4.7.1. I think I fixed that a few weeks back, so it should
> > be safe to include again.
> 
> Am testing that as we speak, if it works I'll include it in v3 of this
> patchset which I will try to post very soon.

Unfortunately this fails to build when enabled for 4.6.3, so I have removed 
the lines until the issue can be rectified properly.

Cheers,
Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded
  2011-01-28 15:27   ` Joshua Lock
@ 2011-01-30 20:21     ` Saul Wold
  0 siblings, 0 replies; 21+ messages in thread
From: Saul Wold @ 2011-01-30 20:21 UTC (permalink / raw)
  To: Joshua Lock; +Cc: poky

On 01/28/2011 07:27 AM, Joshua Lock wrote:
> On Fri, 2011-01-28 at 00:36 +0000, Paul Eggleton wrote:
>> From: Paul Eggleton<paul.eggleton@linux.intel.com>
>>
>> This package has been added from meta-openembedded (with no changes) in order
>> to be able to build qt4-embedded.
>>
>> Signed-off-by: Paul Eggleton<paul.eggleton@linux.intel.com>
>> ---
>>   .../directfb/directfb-1.4.6/mkdfiff.patch          |   24 +++++++
>>   meta/recipes-graphics/directfb/directfb.inc        |   73 ++++++++++++++++++++
>>   meta/recipes-graphics/directfb/directfb_1.4.6.bb   |   27 +++++++
>>   .../directfb-1.2.x-fix-pkgconfig-cflags.patch      |   47 +++++++++++++
>>   .../directfb/files/dont-use-linux-config.patch     |   12 +++
>>   5 files changed, 183 insertions(+), 0 deletions(-)
>>   create mode 100644 meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
>>   create mode 100644 meta/recipes-graphics/directfb/directfb.inc
>>   create mode 100644 meta/recipes-graphics/directfb/directfb_1.4.6.bb
>>   create mode 100644 meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
>>   create mode 100644 meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
>>
>> diff --git a/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
>> new file mode 100644
>> index 0000000..28bd534
>> --- /dev/null
>> +++ b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
>> @@ -0,0 +1,24 @@
>> +diff -uNr DirectFB-1.4.6.orig/tools/mkdfiff.c DirectFB-1.4.6/tools/mkdfiff.c
>> +--- DirectFB-1.4.6.orig/tools/mkdfiff.c 2010-10-15 10:54:57.000000000 +0200
>> ++++ DirectFB-1.4.6/tools/mkdfiff.c      2010-10-15 10:54:15.000000000 +0200
>> +@@ -50,6 +50,8 @@
>> +
>> + #include<dfiff.h>
>> +
>> ++#include<unistd.h>
>> ++
>> + static DirectFBPixelFormatNames( format_names );
>> +
>> + static const char            *filename;
>> +diff -uNr DirectFB-1.4.6.orig/tools/mkdgifft.cpp DirectFB-1.4.6/tools/mkdgifft.cpp
>> +--- DirectFB-1.4.6.orig/tools/mkdgifft.cpp      2010-10-08 14:02:57.000000000 +0200
>> ++++ DirectFB-1.4.6/tools/mkdgifft.cpp   2010-10-15 10:56:06.000000000 +0200
>> +@@ -40,6 +40,8 @@
>> + #include<errno.h>
>> + #include<stdio.h>
>> + #include<stdlib.h>
>> ++#include<sys/stat.h>
>> ++#include<sys/types.h>
>> + #include<unistd.h>
>> + #include<fcntl.h>
>> + #include<sys/mman.h>
>> diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc
>> new file mode 100644
>> index 0000000..ca22d24
>> --- /dev/null
>> +++ b/meta/recipes-graphics/directfb/directfb.inc
>> @@ -0,0 +1,73 @@
>> +DESCRIPTION = "DirectFB is a thin library that provides developers \
>> +with hardware graphics acceleration, input device handling and \
>> +abstraction, an integrated windowing system with support for \
>> +translucent windows and multiple display layers on top of the \
>> +Linux framebuffer device."
>> +SECTION = "libs"
>> +LICENSE = "LGPLv2.1"
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
>> +
>> +HOMEPAGE = "http://directfb.org"
>> +DEPENDS = "jpeg libpng freetype zlib tslib"
>> +
>> +SRC_URI = " \
>> +    http://www.directfb.org/downloads/Old/DirectFB-${PV}.tar.gz \
>> +    file://fix-pkgconfig-cflags.patch \
>> +    file://fix-font-missing-char.patch \
>> +    file://getpagesize.patch \
>> +    file://mkdfiff.patch \
>> +    file://dont-use-linux-config.patch \
>> +    file://ts_lib_autotools.patch \
>> +"
>> +S = "${WORKDIR}/DirectFB-${PV}"
>> +
>> +LDFLAGS_append =" -lts -lm"
>> +
>> +inherit autotools binconfig pkgconfig
>> +
>> +EXTRA_OECONF = "\
>> +  --with-gfxdrivers=none \
>> +  --enable-libmpeg3=no \
>> +  --enable-freetype=yes \
>> +  --enable-sdl=no \
>> +  --enable-vnc=no \
>> +  --disable-x11 \
>> +"
>> +
>> +do_install() {
>> +        oe_runmake 'DESTDIR=${D}' install
>> +}
>
> Isn't this what do_install() always does?
>
Josh,

I have noticed that others include this do_install, I just double 
checked the autotools.bbclass and it appears to do the same thing, so 
unless something is not working, this should be unnecessary.

Sau!


>> +
>> +
>> +#PACKAGES_DYNAMIC = "directfb-inputdrivers-*"
>> +#
>> +#python populate_packages_prepend () {
>> +#    import os.path
>> +#    inputdrivers_libdir = bb.data.expand('${libdir}/directfb-${RV}/inputdrivers', d)
>> +#    do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
>> +#}
>> +
>> +# NOTE: monolithic packaging for now, should improve that eventually
>> +
>> +
>> +
>> +FILES_${PN}-dbg += "\
>> +  ${libdir}/directfb-${RV}/*/*/.debug/*.so \
>> +  ${libdir}/directfb-${RV}/*/.debug/*.so \
>> +"
>> +
>> +FILES_${PN}-dev += "\
>> +  ${bindir}/directfb-config \
>> +  ${libdir}/directfb-${RV}/systems/*.la \
>> +  ${libdir}/directfb-${RV}/inputdrivers/*.la \
>> +  ${libdir}/directfb-${RV}/interfaces/*/*.la \
>> +  ${libdir}/directfb-${RV}/wm/*.la \
>> +"
>> +
>> +FILES_${PN} += "\
>> +  ${libdir}/directfb-${RV}/systems/*.so \
>> +  ${libdir}/directfb-${RV}/inputdrivers/*.so \
>> +  ${libdir}/directfb-${RV}/interfaces/*/*.so \
>> +  ${libdir}/directfb-${RV}/wm/*.so \
>> +  ${datadir}/directfb-${PV} \
>> +"
>> diff --git a/meta/recipes-graphics/directfb/directfb_1.4.6.bb b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
>> new file mode 100644
>> index 0000000..70c0225
>> --- /dev/null
>> +++ b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
>> @@ -0,0 +1,27 @@
>> +require directfb.inc
>> +
>> +RV = "1.4-5"
>> +PR = "r2"
>> +
>> +DEPENDS += "sysfsutils"
>> +
>> +SRC_URI = " \
>> +    http://directfb.org/downloads/Core/DirectFB-1.4/DirectFB-${PV}.tar.gz \
>> +    file://directfb-1.2.x-fix-pkgconfig-cflags.patch \
>> +    file://mkdfiff.patch \
>> +    file://dont-use-linux-config.patch \
>> +   "
>> +
>> +EXTRA_OECONF = "\
>> +  --enable-freetype=yes \
>> +  --enable-zlib \
>> +  --with-gfxdrivers=none \
>> +  --disable-sdl \
>> +  --disable-vnc \
>> +  --disable-x11 \
>> +"
>> +
>> +LEAD_SONAME = "libdirectfb-1.4.so.5"
>> +
>> +SRC_URI[md5sum] = "dbe1957932f81790742b58b94c1c7b84"
>> +SRC_URI[sha256sum] = "b18121e60e9a084ee347037a53a46cfaea1c09505bd99d673c2e65eca285e69b"
>> diff --git a/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
>> new file mode 100644
>> index 0000000..745c561
>> --- /dev/null
>> +++ b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
>> @@ -0,0 +1,47 @@
>> +Index: DirectFB-1.1.1/directfb-internal.pc.in
>> +===================================================================
>> +--- DirectFB-1.1.1.orig/directfb-internal.pc.in	2007-08-07 21:43:00.000000000 +0200
>> ++++ DirectFB-1.1.1/directfb-internal.pc.in	2008-07-17 21:00:47.424654304 +0200
>> +@@ -2,10 +2,10 @@
>> + exec_prefix=@exec_prefix@
>> + moduledir=@MODULEDIR@
>> + moduledirname=@MODULEDIRNAME@
>> +-includedir=@INTERNALINCLUDEDIR@
>> ++includedir=@includedir@
>> +
>> + Name: DirectFB-Internal
>> + Description: Third party module support package for DirectFB.
>> + Version: @VERSION@
>> + Requires: directfb = @VERSION@
>> +-Cflags: @DFB_INTERNAL_CFLAGS@ -I@INTERNALINCLUDEDIR@
>> ++Cflags: @DFB_INTERNAL_CFLAGS@ -I${includedir}/directfb -I${includedir}
>> +Index: DirectFB-1.1.1/directfb.pc.in
>> +===================================================================
>> +--- DirectFB-1.1.1.orig/directfb.pc.in	2007-12-15 16:23:16.000000000 +0100
>> ++++ DirectFB-1.1.1/directfb.pc.in	2008-07-17 20:59:58.044985193 +0200
>> +@@ -9,4 +9,4 @@
>> + Requires: fusion direct
>> + Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
>> + Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
>> +-Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
>> ++Cflags: @THREADFLAGS@ -I${includedir}/directfb
>> +Index: DirectFB-1.1.1/lib/fusion/fusion.pc.in
>> +===================================================================
>> +--- DirectFB-1.1.1.orig/lib/fusion/fusion.pc.in	2007-08-07 21:43:00.000000000 +0200
>> ++++ DirectFB-1.1.1/lib/fusion/fusion.pc.in	2008-07-17 20:58:07.051338866 +0200
>> +@@ -8,4 +8,4 @@
>> + Version: @VERSION@
>> + Requires: direct
>> + Libs: -L${libdir} -lfusion
>> +-Cflags: -I@INCLUDEDIR@
>> ++Cflags: -I${includedir}/directfb -I${includedir}
>> +Index: DirectFB-1.1.1/lib/voodoo/voodoo.pc.in
>> +===================================================================
>> +--- DirectFB-1.1.1.orig/lib/voodoo/voodoo.pc.in	2007-08-07 21:43:00.000000000 +0200
>> ++++ DirectFB-1.1.1/lib/voodoo/voodoo.pc.in	2008-07-17 20:58:07.054671842 +0200
>> +@@ -8,4 +8,4 @@
>> + Version: @VERSION@
>> + Requires: direct
>> + Libs: -L${libdir} -lvoodoo
>> +-Cflags: -I@INCLUDEDIR@
>> ++Cflags: -I${includedir}/directfb -I${includedir}
>> diff --git a/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
>> new file mode 100644
>> index 0000000..f971660
>> --- /dev/null
>> +++ b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
>> @@ -0,0 +1,12 @@
>> +diff -urN DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S
>> +--- DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S	2007-08-07 21:43:00.000000000 +0200
>> ++++ DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S	2008-06-07 04:14:26.000000000 +0200
>> +@@ -34,8 +34,6 @@
>> +
>> + #define __ASSEMBLY__
>> +
>> +-#include<linux/config.h>
>> +-
>> + #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
>> + #define L1_CACHE_LINE_SIZE       16
>> + #define LG_L1_CACHE_LINE_SIZE     4
>



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-01-30 20:21 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-28  0:36 [PATCH 00/11] Qt4 update Paul Eggleton
2011-01-28  0:36 ` [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded Paul Eggleton
2011-01-28 15:27   ` Joshua Lock
2011-01-30 20:21     ` Saul Wold
2011-01-28  0:36 ` [PATCH 02/11] qt4: Bring in improvements " Paul Eggleton
2011-01-28  0:36 ` [PATCH 03/11] qt4: add qt4-embedded 4.6.3 " Paul Eggleton
2011-01-28  0:36 ` [PATCH 04/11] qt4: add 4.7.1 version " Paul Eggleton
2011-01-28  0:36 ` [PATCH 05/11] qt4-tools-native: update from OpenEmbedded Paul Eggleton
2011-01-28  0:36 ` [PATCH 06/11] glib-2.0: extend to nativesdk Paul Eggleton
2011-01-28  0:36 ` [PATCH 07/11] dbus: " Paul Eggleton
2011-01-28  0:36 ` [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded Paul Eggleton
2011-01-28 15:27   ` Joshua Lock
2011-01-28 17:25     ` Paul Eggleton
2011-01-28  0:36 ` [PATCH 09/11] package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname Paul Eggleton
2011-01-28  0:36 ` [PATCH 10/11] avahi: prevent unnecessary runtime dependency on gtk+ Paul Eggleton
2011-01-28  0:36 ` [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded Paul Eggleton
2011-01-28 15:27   ` Joshua Lock
2011-01-28 15:47     ` Koen Kooi
2011-01-28 17:20       ` Paul Eggleton
2011-01-28 17:43         ` Koen Kooi
2011-01-29  2:32         ` Paul Eggleton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.