Qt4 updates v3
cover Qt4 updates v3
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.
v3 changes:
* Fixes directfb do_install, pseudo overhead, and removes commented out QtDeclarative lines in task-qte-toolchain-target.bb issues found by Joshua Lock.
* Adds a patch to improve qtdemo package runtime dependencies, addressing bugs #452 and #492.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: paule/qt-fixes3
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=paule/qt-fixes3
Thanks,
Paul Eggleton <[email protected]>
---
Paul Eggleton (12):
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
qt4: set RRECOMMENDS correctly for qt4 demos and examples packages
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 | 68 ++++++ 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 | 242 ++++++++++---------- 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 | 35 +++ 42 files changed, 1112 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
PATCH 1/12 Add directfb 1.4.6 from meta-openembedded
From: Paul Eggleton <[email protected]>
This package has been added from meta-openembedded in order to be able to build qt4-embedded. The only change was to remove do_install() which was exactly the same as autotools_do_install().
--- .../directfb/directfb-1.4.6/mkdfiff.patch | 24 +++++++ meta/recipes-graphics/directfb/directfb.inc | 68 ++++++++++++++++++++ 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, 178 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
@@ -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 +68 -0
68 lines not on this page · raw message
meta/recipes-graphics/directfb/directfb_1.4.6.bb new file +27 -0
@@ -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
@@ -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
PATCH 2/12 qt4: Bring in improvements from meta-openembedded
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 3/12 qt4: add qt4-embedded 4.6.3 from meta-openembedded
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 4/12 qt4: add 4.7.1 version from meta-openembedded
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 5/12 qt4-tools-native: update from OpenEmbedded
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
@@ -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
Re: [PATCH 05/12] qt4-tools-native: update from OpenEmbedded
Quoted 10 lines · Paul Eggleton
meta/recipes-qt/qt4/qt4-tools-native.inc +1
-1@@ -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 = "\
meta/recipes-qt/qt4/qt4-tools-native.inc TOBUILD = "\ · line 62
Quoted 10 lines
meta/recipes-qt/qt4/qt4-tools-native.inc +3
-3@@ -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 }
Please don't reindent files when making other changes, it makes it hard to see where the real changes were. I've pulled things but taken out the worst whitespace changes manually this time.
Please keep in mind:
shell functions/code use tabs
python code uses four space indentation
There are a number of new files that merged which don't do this for shell functions, we should probably patch those up.
Cheers,
Richard
Re: [PATCH 05/12] qt4-tools-native: update from OpenEmbedded
Op 1 feb 2011, om 18:44 heeft Richard Purdie het volgende geschreven:
Quoted 13 lines · Paul Eggleton
Quoted 12 lines
(quoted diff) +0
-0@@ -30,7 +38,7 @@ EXTRA_OECONF = "-prefix ${prefix} \
EXTRA_OEMAKE= " "
do_configure(){meta/recipes-qt/qt4/qt4-tools-native.inc +1
-1- (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 = "\
(quoted diff) +0
-0@@ -48,22 +56,22 @@ TOBUILD = "\"
Quoted 13 lines
Quoted 8 lines
do_compile(){meta/recipes-qt/qt4/qt4-tools-native.inc +3
-3- 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}
Please don't reindent files when making other changes, it makes it hard to see where the real changes were. I've pulled things but taken out the worst whitespace changes manually this time.
There were huge whitespace differences between the code in OE and the one in yocto, which made diffing really difficult. I ran into this when doing qt in meta-oe. I'll resync that with the current yocto tree when I get some time.
regards,
Koen
Re: [PATCH 05/12] qt4-tools-native: update from OpenEmbedded
In reply to Richard PurdieQuoted 3 lines · On Tuesday 01 February 2011 17:44:12 you wrote:
Please don't reindent files when making other changes, it makes it hard to see where the real changes were. I've pulled things but taken out the worst whitespace changes manually this time.
A lot of those changes were brought in from meta-oe, although I admit I added a fair few others. I will endeavour to keep indentation changes (if any) separate in future.
Quoted 4 lines
Please keep in mind:
shell functions/code use tabs
python code uses four space indentation
Is there a particular reason for this? Can we not use four spaces everywhere? I see a wiki document that spells this out [1] however if it's of any consequence, OE's documentation specifies spaces only [2].
Cheers,
Paul
[2] http://docs.openembedded.org/usermanual/html/recipes_syntax.html
Re: [PATCH 05/12] qt4-tools-native: update from OpenEmbedded
Quoted 9 lines · Paul Eggleton
Quoted 3 lines · On Tuesday 01 February 2011 17:44:12 you wrote:
Please don't reindent files when making other changes, it makes it hard to see where the real changes were. I've pulled things but taken out the worst whitespace changes manually this time.
A lot of those changes were brought in from meta-oe, although I admit I added a fair few others. I will endeavour to keep indentation changes (if any) separate in future.
Quoted 8 lines
Quoted 4 lines
Please keep in mind:
shell functions/code use tabs
python code uses four space indentationIs there a particular reason for this? Can we not use four spaces everywhere? I see a wiki document that spells this out [1] however if it's of any consequence, OE's documentation specifies spaces only [2].
Hmm, OE always used to be tabs for shell functions :/.
"it is a policy decision of OE that spaces always be used." - that is news to me.
Ideally Yocto and OE need to be consistent. Something to table for discussion with the TSC when we establish a new one I guess...
Cheers,
Richard
Quoted 12 lines
Cheers,
Paul[2] http://docs.openembedded.org/usermanual/html/recipes_syntax.html
_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky
PATCH 6/12 glib-2.0: extend to nativesdk
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
PATCH 7/12 dbus: extend to nativesdk
In reply to Paul EggletonFrom: 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
@@ -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
PATCH 8/12 qt4: Add qt4-tools-nativesdk based on qt4-tools-sdk from OpenEmbedded
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 9/12 package.bbclass: add nodeprrecs flag to RRECOMMENDS_pkgname
In reply to Paul EggletonFrom: 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
@@ -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
PATCH 10/12 avahi: prevent unnecessary runtime dependency on gtk+
In reply to Paul EggletonFrom: 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
@@ -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
@@ -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
PATCH 11/12 qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
In reply to Paul EggletonFrom: 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
* Remove QtDeclarative as it does not build for 4.6.3. (This will need to be addressed in a future update.)
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 "tar --owner=root" 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 | 35 ++++++++++++++++++++ 3 files changed, 74 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
@@ -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} + tar --owner=root --group=root -cj --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . +}
meta/recipes-qt/tasks/task-qte-toolchain-host.bb new file +7 -0
@@ -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 +35 -0
@@ -0,0 +1,35 @@ +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 \ + " +
Signature · 1 line
1.7.1
Re: [PATCH 11/12] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
Quoted 24 lines · Paul Eggleton
+++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +22
-0@@ -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
meta/recipes-qt/meta/meta-toolchain-qte.bb line 32
Quoted 10 lines
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +10
-0+ 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} + tar --owner=root --group=root -cj --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . +}
This is horrible :)
I added this:
http://git.pokylinux.org/cgit.cgi/poky/commit/?id=19e1f4f672806c8a45847ce5c2adac6da663ff69
Cheers,
Richard
Re: [PATCH 11/12] qt4: Add meta-toolchain-qte and dependent tasks from OpenEmbedded
Quoted 7 lines · On Tuesday 01 February 2011 17:44:59 you wrote:
meta/recipes-qt/meta/meta-toolchain-qte.bb
Quoted 4 lines · Paul Eggleton
meta/recipes-qt/meta/meta-toolchain-qte.bb new file +3
-1+ # Repack SDK with new environment-setup + cd ${SDK_OUTPUT} + tar --owner=root --group=root -cj --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . +}This is horrible :)
I agree :)
Quoted 4 lines
I added this:
http://git.pokylinux.org/cgit.cgi/poky/commit/?id=19e1f4f672806c8a45847ce5c
2adac6da663ff69
Superb, much better. Thanks!
- Paul
PATCH 12/12 qt4: set RRECOMMENDS correctly for qt4 demos and examples packages
In reply to Paul EggletonFrom: Paul Eggleton <[email protected]>
The demos and examples require a few optional plugins to operate correctly (e.g. SQLite and JPEG support). The demos package requires the documentation package to show descriptions for each demo/example, and assistant to show the documentation.
Fixes [BUGID #492] and [BUGID #452].
--- meta/recipes-qt/qt4/qt4.inc | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
meta/recipes-qt/qt4/qt4.inc +10 -0
@@ -113,6 +113,16 @@ RRECOMMENDS_${QT_BASE_NAME}-fonts = " \ ${QT_BASE_NAME}-fonts-pfa \ ${QT_BASE_NAME}-fonts-pfb \ ${QT_BASE_NAME}-fonts-qpf" +RRECOMMENDS_${QT_BASE_NAME}-demos += " \ + ${QT_BASE_NAME}-fonts \ + ${QT_BASE_NAME}-examples \ + ${QT_BASE_NAME}-plugin-sqldriver-sqlite \ + ${QT_BASE_NAME}-plugin-imageformat-jpeg \ + ${QT_BASE_NAME}-assistant \ + ${PN}-doc" +RRECOMMENDS_${QT_BASE_NAME}-examples += " \ + ${QT_BASE_NAME}-plugin-sqldriver-sqlite \ + ${QT_BASE_NAME}-plugin-imageformat-jpeg" 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*"
Signature · 1 line
1.7.1
Op 29 jan 2011, om 03:29 heeft Paul Eggleton het volgende geschreven:
Quoted 21 lines
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.v3 changes:
* Fixes directfbdo_install, pseudo overhead, and removes commented out QtDeclarative lines in task-qte-toolchain-target.bb issues found by Joshua Lock.
* Adds a patch to improve qtdemo package runtime dependencies, addressing bugs #452 and #492.
Quoted 3 lines
Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: paule/qt-fixes3
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=paule/qt-fixes3
I've tested it and it works well enough to merge to master IMO. I've synced this to meta-oe and then put my changes (SQL stuff) on top to make diffing and merging easier.
regards,
Koen