Skip to contentSkip to conversation

Qt4 update

PATCH In review Paul Eggleton 4 participants 21 messages Jan 28, 2011 – Jan 30, 2011

lore
Share & tools
lore
#0 lore raw

cover Qt4 update

From: Paul Eggleton <[email protected]>

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 <[email protected]>
---

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
#1 lore raw

PATCH 1/11 Add directfb 1.4.6 from meta-openembedded

From: Paul Eggleton <[email protected]>

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

---
 .../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
meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch new file +24 -0
new file mode 100644
index 0000000..28bd534
@@ -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>
meta/recipes-graphics/directfb/directfb.inc new file +73 -0

73 lines not on this page · raw message

meta/recipes-graphics/directfb/directfb_1.4.6.bb new file +27 -0
new file mode 100644
index 0000000..70c0225
@@ -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"
meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch new file +47 -0

47 lines not on this page · raw message

meta/recipes-graphics/directfb/files/dont-use-linux-config.patch new file +12 -0
new file mode 100644
index 0000000..f971660
@@ -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 
Signature · 1 line
1.7.1
#2 lore raw

Re: [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded

Quoted 84 lines · Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 .../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
meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch new file +24 -0
new file mode 100644
index 0000000..28bd534
@@ -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>
meta/recipes-graphics/directfb/directfb.inc new file +29 -0
new file mode 100644
index 0000000..ca22d24
@@ -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 \

meta/recipes-graphics/directfb/directfb.inc line 39

Quoted 10 lines
meta/recipes-graphics/directfb/directfb.inc new file +10 -0
+  --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?

Quoted 138 lines
meta/recipes-graphics/directfb/directfb.inc new file +34 -0
+
+
+#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} \
+"
meta/recipes-graphics/directfb/directfb_1.4.6.bb new file +27 -0
new file mode 100644
index 0000000..70c0225
@@ -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"
meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch new file +47 -0
new file mode 100644
index 0000000..745c561
@@ -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}
meta/recipes-graphics/directfb/files/dont-use-linux-config.patch new file +12 -0
new file mode 100644
index 0000000..f971660
@@ -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 
Signature · 2 lines
Joshua Lock
        Intel Open Source Technology Centre
#3 lore raw

Re: [PATCH 01/11] Add directfb 1.4.6 from meta-openembedded

Quoted 89 lines · Joshua Lock
Quoted 88 lines · Paul Eggleton

From: Paul Eggleton<[email protected]>

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

---
  .../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

meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch new file +24 -0
new file mode 100644
index 0000000..28bd534
@@ -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>
meta/recipes-graphics/directfb/directfb.inc new file +33 -0
new file mode 100644
index 0000000..ca22d24
@@ -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 \
Quoted 9 lines

meta/recipes-graphics/directfb/directfb.inc line 39

Quoted 6 lines
meta/recipes-graphics/directfb/directfb.inc new file +6 -0
+  --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!

Quoted 139 lines
Quoted 138 lines
meta/recipes-graphics/directfb/directfb.inc new file +34 -0
+
+
+#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} \
+"
meta/recipes-graphics/directfb/directfb_1.4.6.bb new file +27 -0
new file mode 100644
index 0000000..70c0225
@@ -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"
meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch new file +47 -0
new file mode 100644
index 0000000..745c561
@@ -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}
meta/recipes-graphics/directfb/files/dont-use-linux-config.patch new file +12 -0
new file mode 100644
index 0000000..f971660
@@ -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
#4 lore raw

PATCH 2/11 qt4: Bring in improvements from meta-openembedded

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 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
meta/classes/qt4x11.bbclass new file +9 -0
new file mode 100644
index 0000000..abb1d9d
@@ -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"
meta/recipes-qt/qt4/qt-4.6.3.inc +22 -32

70 lines not on this page · raw message

meta/recipes-qt/qt4/qt4-x11-free.inc +6 -3
index 22eef7c..057a129 100644
@@ -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
+
meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb +2 -5
index f13b947..8cf5449 100644
@@ -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"
meta/recipes-qt/qt4/qt4.inc +115 -117

320 lines not on this page · raw message

meta/recipes-qt/qt4/qt4_arch.inc new file +25 -0
new file mode 100644
index 0000000..7f4be63
@@ -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
Signature · 1 line
1.7.1
#5 lore raw

PATCH 3/11 qt4: add qt4-embedded 4.6.3 from meta-openembedded

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 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
meta/classes/qt4e.bbclass new file +18 -0
new file mode 100644
index 0000000..670605b
@@ -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"
meta/recipes-qt/qt4/files/qte.sh new file +7 -0
new file mode 100644
index 0000000..21d6ecb
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -e /dev/input/touchscreen0 ]
+then
+    QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
+    export QWS_MOUSE_PROTO
+fi
meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch new file +86 -0

86 lines not on this page · raw message

meta/recipes-qt/qt4/qt4-embedded.inc new file +34 -0
new file mode 100644
index 0000000..2ed1819
@@ -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
+
meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb new file +9 -0
new file mode 100644
index 0000000..dd662aa
@@ -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 "
+
Signature · 1 line
1.7.1
#6 lore raw

PATCH 4/11 qt4: add 4.7.1 version from meta-openembedded

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 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
meta/recipes-qt/qt4/qt-4.7.1.inc new file +58 -0
new file mode 100644
index 0000000..70ee596
@@ -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}
+}
meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch new file +44 -0

44 lines not on this page · raw message

meta/recipes-qt/qt4/qt-4.7.1/g++.conf new file +60 -0

60 lines not on this page · raw message

meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch new file +19 -0
new file mode 100644
index 0000000..5c588ff
@@ -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
meta/recipes-qt/qt4/qt-4.7.1/linux.conf new file +66 -0

66 lines not on this page · raw message

meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb new file +10 -0
new file mode 100644
index 0000000..c3f6713
@@ -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 \
+"
meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb new file +12 -0
new file mode 100644
index 0000000..75c6314
@@ -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"
+
Signature · 1 line
1.7.1
#7 lore raw

PATCH 5/11 qt4-tools-native: update from OpenEmbedded

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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
meta/recipes-qt/qt4/qt4-tools-native.inc +26 -18
index 6dca218..9114e7d 100644
@@ -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/
 }
meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb +6 -6
index ac66eb3..dae8cd1 100644
@@ -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"
+
meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb new file +13 -0
new file mode 100644
index 0000000..e9de510
@@ -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"
Signature · 1 line
1.7.1
#8 lore raw

PATCH 6/11 glib-2.0: extend to nativesdk

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 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(-)
meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb +1 -1
index b26da7b..cddb7ef 100644
@@ -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"
meta/recipes-core/glib-2.0/glib.inc +1 -0
index 0b6e752..0319b9d 100644
@@ -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.*"
Signature · 1 line
1.7.1
#9 lore raw

PATCH 7/11 dbus: extend to nativesdk

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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).

---
 meta/recipes-core/dbus/dbus.inc |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-core/dbus/dbus.inc +2 -1
index beb2072..da77819 100644
@@ -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"
Signature · 1 line
1.7.1
#10 lore raw

PATCH 8/11 qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 .../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
meta/recipes-qt/qt4/files/compile.test-lflags.patch new file +13 -0
new file mode 100644
index 0000000..e4b256b
@@ -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=""
meta/recipes-qt/qt4/files/configure-lflags.patch new file +13 -0
new file mode 100644
index 0000000..df19549
@@ -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
meta/recipes-qt/qt4/files/configure-paths.patch new file +21 -0
new file mode 100644
index 0000000..c9259a1
@@ -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
+ 
meta/recipes-qt/qt4/files/qmake-exists-check.patch new file +18 -0
new file mode 100644
index 0000000..cc73837
@@ -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 <[email protected]>
+
+--- 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=
meta/recipes-qt/qt4/qt4-tools-nativesdk.inc new file +111 -0

111 lines not on this page · raw message

meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb new file +6 -0
new file mode 100644
index 0000000..d64542b
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb new file +6 -0
new file mode 100644
index 0000000..091a539
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
Signature · 1 line
1.7.1
#11 lore raw

Re: [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded

Quoted 5 lines · Paul Eggleton

From: Paul Eggleton <[email protected]>

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?

Quoted 254 lines

* 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

---
 .../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
meta/recipes-qt/qt4/files/compile.test-lflags.patch new file +13 -0
new file mode 100644
index 0000000..e4b256b
@@ -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=""
meta/recipes-qt/qt4/files/configure-lflags.patch new file +13 -0
new file mode 100644
index 0000000..df19549
@@ -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
meta/recipes-qt/qt4/files/configure-paths.patch new file +21 -0
new file mode 100644
index 0000000..c9259a1
@@ -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
+ 
meta/recipes-qt/qt4/files/qmake-exists-check.patch new file +18 -0
new file mode 100644
index 0000000..cc73837
@@ -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 <[email protected]>
+
+--- 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=
meta/recipes-qt/qt4/qt4-tools-nativesdk.inc new file +111 -0
new file mode 100644
index 0000000..f273c9f
@@ -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;)
+}
+
meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb new file +6 -0
new file mode 100644
index 0000000..d64542b
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb new file +6 -0
new file mode 100644
index 0000000..091a539
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
Signature · 2 lines
Joshua Lock
        Intel Open Source Technology Centre
#12 lore raw

Re: [PATCH 08/11] qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded

Quoted 9 lines · On Friday 28 January 2011 15:27:20 Joshua Lock wrote:
Quoted 5 lines · Paul Eggleton

From: Paul Eggleton <[email protected]>

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

#13 lore raw

PATCH 9/11 package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 meta/classes/package.bbclass |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
meta/classes/package.bbclass +2 -0
index 1b950bb..3f17049 100644
@@ -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)
Signature · 1 line
1.7.1
#14 lore raw

PATCH 10/11 avahi: prevent unnecessary runtime dependency on gtk+

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

* 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)

---
 meta/recipes-connectivity/avahi/avahi.inc       |    9 ++++++++-
 meta/recipes-connectivity/avahi/avahi_0.6.28.bb |    2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)
meta/recipes-connectivity/avahi/avahi.inc +8 -1
index 5c3b4dd..9f83d8d 100644
@@ -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"
meta/recipes-connectivity/avahi/avahi_0.6.28.bb +1 -1
index fb339e7..6e034b0 100644
@@ -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"
 
Signature · 1 line
1.7.1
#15 lore raw

PATCH 11/11 qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

In reply to Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 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
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +32 -0
new file mode 100644
index 0000000..b29c5cf
@@ -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 .       
+}
meta/recipes-qt/tasks/task-qte-toolchain-host.bb new file +7 -0
new file mode 100644
index 0000000..2ab6ccf
@@ -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"
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +39 -0
new file mode 100644
index 0000000..03e0e54
@@ -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 \
+#        "
Signature · 1 line
1.7.1
#16 lore raw

Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

Quoted 56 lines · Paul Eggleton

From: Paul Eggleton <[email protected]>

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

---
 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
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +21 -0
new file mode 100644
index 0000000..b29c5cf
@@ -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

meta/recipes-qt/meta/meta-toolchain-qte.bb line 31

Quoted 10 lines
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +10 -0
+    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

Quoted 50 lines
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +1 -0
+}
meta/recipes-qt/tasks/task-qte-toolchain-host.bb new file +7 -0
new file mode 100644
index 0000000..2ab6ccf
@@ -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"
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +29 -0
new file mode 100644
index 0000000..03e0e54
@@ -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 \

meta/recipes-qt/tasks/task-qte-toolchain-target.bb line 39

Quoted 10 lines
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +10 -0
+        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

Signature · 2 lines
Joshua Lock
        Intel Open Source Technology Centre
#17 lore raw

Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

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

Quoted 8 lines · Paul Eggleton

meta/recipes-qt/tasks/task-qte-toolchain-target.bb line 39

Quoted 5 lines
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +4 -0
+#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

#18 lore raw

Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

Quoted 9 lines · On Friday 28 January 2011 15:47:28 Koen Kooi wrote:

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

Quoted 7 lines · Paul Eggleton

meta/recipes-qt/tasks/task-qte-toolchain-target.bb line 39

Quoted 4 lines
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +4 -0
+#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?

Quoted 4 lines

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

#19 lore raw

Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

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

Quoted 18 lines · On Friday 28 January 2011 15:47:28 Koen Kooi wrote:
Quoted 9 lines

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

Quoted 7 lines · Paul Eggleton

meta/recipes-qt/tasks/task-qte-toolchain-target.bb line 39

Quoted 4 lines
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +4 -0
+#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?

Quoted 4 lines

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.

Quoted 9 lines

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!

#20 lore raw

Re: [PATCH 11/11] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded

In reply to Paul Eggleton
Quoted 10 lines · On Friday 28 January 2011 17:20:59 Paul Eggleton wrote:
Quoted 9 lines · On Friday 28 January 2011 15:47:28 Koen Kooi wrote:

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

Quoted 7 lines · Paul Eggleton

meta/recipes-qt/tasks/task-qte-toolchain-target.bb line 39

Quoted 4 lines
meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file +4 -0
+#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?

Quoted 7 lines
Quoted 4 lines

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