Qt4 upgrade/fixes
cover Qt4 upgrade/fixes
This is a pull request for Eric Bénard's qt4_upgrade branch, including an update of Qt to 4.7.4 (preserving 4.7.3 until other layers such as meta-oe, meta-yocto etc. can sync up) as well as several important bug fixes.
The patches look good; if was to be really picky though I would say that the two demo/doc patches in the series ought to be merged into one patch, and there are a few typos in the commit messages. I'm also relying on others to review the correctness of the armv6-vfp no-neon patch as I have no knowledge of this area.
The following changes since commit c54c1280fc0d06a53e23339c3913ec88eead13d9:
base.bbclass: Drop unneeded dependency (2011-09-30 11:34:44 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/qt4_upgrade
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/qt4_upgrade
Denis Carikli (3):
qt4.inc: remove the optional documentation package from the demo's
RRECOMMENDS
qt4(embedded and x11): disable neon for armv6-vfp qt4.inc: package qtdemo's docs in a separate package
Eric Bénard (3):
qt4e-demo-image: improve image
qt4: fix generated sdk
qt4: update to latest version 4.7.4
Otavio Salvador (1):
qt4: fix translation support
meta/recipes-qt/images/qt4e-demo-image.bb | 2 +- meta/recipes-qt/meta/meta-toolchain-qte.bb | 7 ++ meta/recipes-qt/qt4/qt-4.7.3.inc | 9 +-- .../recipes-qt/qt4/qt-4.7.3/fix-translations.patch | 32 ++++++++++ meta/recipes-qt/qt4/qt-4.7.4.inc | 62 ++++++++++++++++++ .../0001-Added-Openembedded-crossarch-option.patch | 47 ++++++++++++++ meta/recipes-qt/qt4/qt-4.7.4/fix-qtbug-20925.patch | 56 +++++++++++++++++ meta/recipes-qt/qt4/qt-4.7.4/g++.conf | 60 ++++++++++++++++++ .../qt4/qt-4.7.4/hack-out-pg2-4.7.0.patch | 31 +++++++++ meta/recipes-qt/qt4/qt-4.7.4/linux.conf | 66 ++++++++++++++++++++ meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- meta/recipes-qt/qt4/qt4-embedded_4.7.3.bb | 4 +- meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb | 12 ++++ meta/recipes-qt/qt4/qt4-native.inc | 2 +- meta/recipes-qt/qt4/qt4-native_4.7.4.bb | 18 +++++ meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 24 ++++---- meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.4.bb | 11 +++ meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- meta/recipes-qt/qt4/qt4-x11-free_4.7.3.bb | 4 +- meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb | 13 ++++ meta/recipes-qt/qt4/qt4.inc | 7 ++- 21 files changed, 445 insertions(+), 26 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.7.3/fix-translations.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4.inc create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/0001-Added-Openembedded-crossarch-option.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/fix-qtbug-20925.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/g++.conf create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/hack-out-pg2-4.7.0.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/linux.conf create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb create mode 100644 meta/recipes-qt/qt4/qt4-native_4.7.4.bb create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.4.bb create mode 100644 meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb
Signature · 1 line
1.7.4.1
PATCH 1/7 qt4e-demo-image: improve image
From: Eric Bénard <[email protected]>
use ${POKY_BASE_INSTALL} in order to have the base files and ools in the image.
--- meta/recipes-qt/images/qt4e-demo-image.bb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-qt/images/qt4e-demo-image.bb +1 -1
@@ -11,7 +11,7 @@ RDEPENDS_${PN} += " \ " IMAGE_INSTALL += "\ - busybox \ + ${POKY_BASE_INSTALL} \ module-init-tools \ task-qt4e-base \ "
Signature · 1 line
1.7.4.1
PATCH 2/7 qt4: fix generated sdk
In reply to Paul EggletonFrom: Eric Bénard <[email protected]>
- qt4-tools-nativesdk : actually the qmake binary which gets installed comes from the native recipe. This patch fix this problem by laucnhing configure twice : once to compile qmake using the right toolchain for nativesdk, and a second time using the native qmake to compile all the other tools for the nativesdk. Then we install the right qmake.
- mkspec : the link actually created in qt4-tools-nativesdk's do_install point to nowhere so remove it and generate the link in meta-toolchain-qte as it's the only place where we have all the variable to create it.
- toolchain_create_sdk_env_script_append : we need to add OE_QMAKE_CFLAGS, OE_QMAKE_CXXFLAGS and OE_QMAKE_LDFLAGS else the sdk won't find these variables that are inserted by qmake in the Makefiles.
- with this patch, oe-core generates a working meta-toolchain-qte which can compile a small example and is properly recognized by qtcreator (this brings oe-core's meta-toolchain-qte to oe-dev's functional state).
--- meta/recipes-qt/meta/meta-toolchain-qte.bb | 7 +++++++ meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 22 +++++++++++----------- 2 files changed, 18 insertions(+), 11 deletions(-)
meta/recipes-qt/meta/meta-toolchain-qte.bb +7 -0
@@ -10,6 +10,9 @@ QT_DIR_NAME = "qtopia" QT_TOOLS_PREFIX = "${SDKPATHNATIVE}${bindir_nativesdk}" toolchain_create_sdk_env_script_append() { + echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script + echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script + echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script echo 'export OE_QMAKE_CC=${TARGET_PREFIX}gcc' >> $script echo 'export OE_QMAKE_CXX=${TARGET_PREFIX}g++' >> $script echo 'export OE_QMAKE_LINK=${TARGET_PREFIX}g++' >> $script
@@ -24,4 +27,8 @@ toolchain_create_sdk_env_script_append() { echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script + + # make a symbolic link to mkspecs for compatibility with Nokia's SDK + # and QTCreator + (cd ${SDK_OUTPUT}/${QT_TOOLS_PREFIX}/..; ln -s ${SDKTARGETSYSROOT}/usr/share/qtopia/mkspecs mkspecs;) }
meta/recipes-qt/qt4/qt4-tools-nativesdk.inc +11 -11
@@ -51,10 +51,6 @@ EXTRA_OECONF = "-prefix ${prefix} \ 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
@@ -62,7 +58,16 @@ do_configure() { 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}" + # first launch configure to get qmake compiled for the nativesdk + (echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || true + + # then backup the binary and start again with a qmake which can run on the build host + mv bin/qmake bin/qmake_nativesdk + if [ ! -e bin/qmake ]; then + ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake + fi + + (echo o; echo yes) | CC="${CC}" CXX="${CXX}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" } TOBUILD = "\
@@ -91,7 +96,7 @@ do_compile() { do_install() { install -d ${D}${bindir} - install -m 0755 bin/qmake ${D}${bindir}/qmake2 + install -m 0755 bin/qmake_nativesdk ${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
@@ -101,9 +106,4 @@ do_install() { 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;) } -
Signature · 1 line
1.7.4.1
PATCH 3/7 qt4.inc: remove the optional documentation package from the demo's RRECOMMENDS
In reply to Paul EggletonFrom: Denis Carikli <[email protected]>
The documentation is 285M and doesn't fit on the NAND of many machines.
--- meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- meta/recipes-qt/qt4/qt4.inc | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-)
meta/recipes-qt/qt4/qt4-embedded.inc +1 -1
@@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "LGPLv2.1 | GPLv3" HOMEPAGE = "http://qt.nokia.com" DEPENDS += "directfb tslib" -INC_PR = "r32" +INC_PR = "r33" QT_BASE_NAME ?= "qt4-embedded" QT_BASE_LIB ?= "libqt-embedded"
meta/recipes-qt/qt4/qt4.inc +1 -2
@@ -124,8 +124,7 @@ RRECOMMENDS_${QT_BASE_NAME}-demos += " \ ${QT_BASE_NAME}-plugin-sqldriver-sqlite \ ${QT_BASE_NAME}-plugin-imageformat-jpeg \ ${QT_BASE_NAME}-qml-plugins \ - ${QT_BASE_NAME}-assistant \ - ${PN}-doc" + ${QT_BASE_NAME}-assistant" RRECOMMENDS_${QT_BASE_NAME}-examples += " \ ${QT_BASE_NAME}-plugin-sqldriver-sqlite \ ${QT_BASE_NAME}-plugin-imageformat-jpeg \
Signature · 1 line
1.7.4.1
PATCH 4/7 qt4(embedded and x11): disable neon for armv6-vfp
In reply to Paul EggletonFrom: Denis Carikli <[email protected]>
without the -no-neon flag, neon is "autodetected"
by looking if the compiler is capable of compiling a neon test, and succeed, and neon is then enabled during the compilation.
--- meta/recipes-qt/qt4/qt4-embedded_4.7.3.bb | 4 ++-- meta/recipes-qt/qt4/qt4-x11-free_4.7.3.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
meta/recipes-qt/qt4/qt4-embedded_4.7.3.bb +2 -2
@@ -1,9 +1,9 @@ require qt-${PV}.inc require qt4-embedded.inc -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" -QT_CONFIG_FLAGS_append_armv6 = " -no-neon " +QT_CONFIG_FLAGS_append_armv6-vfp = " -no-neon " QT_CONFIG_FLAGS += " \ -exceptions \
meta/recipes-qt/qt4/qt4-x11-free_4.7.3.bb +2 -2
@@ -1,9 +1,9 @@ require qt4-x11-free.inc require qt-${PV}.inc -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" -QT_CONFIG_FLAGS_append_armv6 = " -no-neon " +QT_CONFIG_FLAGS_append_armv6-vfp = " -no-neon " QT_CONFIG_FLAGS += " \ -no-embedded \
Signature · 1 line
1.7.4.1
PATCH 5/7 qt4.inc: package qtdemo's docs in a separate package
In reply to Paul EggletonFrom: Denis Carikli <[email protected]>
The documentation was 285M and doesn't fit on the NAND of many machines,
but in another had part of the documentation is needed for the QT demos, so we split the documentation: so qt demo only RRECOMMAND the documentation that it really needs.
Thanks to Eric Bénard for explaining me how to split it.
--- meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- meta/recipes-qt/qt4/qt4.inc | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-)
meta/recipes-qt/qt4/qt4-x11-free.inc +1 -1
@@ -5,7 +5,7 @@ HOMEPAGE = "http://qt.nokia.com" SECTION = "x11/libs" DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor" -INC_PR = "r28" +INC_PR = "r30" QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} " QT_GLFLAGS_qemux86 = "-opengl"
meta/recipes-qt/qt4/qt4.inc +7 -1
@@ -101,6 +101,8 @@ OTHER_PACKAGES = "\ ${QT_BASE_NAME}-qt3to4 \ ${QT_BASE_NAME}-qml-plugins" +#We prepend so ${QT_BASE_NAME}-demos-doc comes before ${PN}-doc,so the packaging of FILES_ get done before. +PACKAGES =+ "${QT_BASE_NAME}-demos-doc" PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}" PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-* ${QT_BASE_NAME}-translation-* ${QT_BASE_NAME}-fonts-*"
@@ -109,6 +111,7 @@ ALLOW_EMPTY_${QT_BASE_NAME}-fonts = "1" FILES_${PN} = "" FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" FILES_${PN}-dbg = "${exec_prefix}/src/debug/" +FILES_${QT_BASE_NAME}-demos-doc = "${docdir}/qtopia/qch/qt.qch" RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}" RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}" RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}"
@@ -124,13 +127,16 @@ RRECOMMENDS_${QT_BASE_NAME}-demos += " \ ${QT_BASE_NAME}-plugin-sqldriver-sqlite \ ${QT_BASE_NAME}-plugin-imageformat-jpeg \ ${QT_BASE_NAME}-qml-plugins \ - ${QT_BASE_NAME}-assistant" + ${QT_BASE_NAME}-assistant \ + ${QT_BASE_NAME}-demos-doc" RRECOMMENDS_${QT_BASE_NAME}-examples += " \ ${QT_BASE_NAME}-plugin-sqldriver-sqlite \ ${QT_BASE_NAME}-plugin-imageformat-jpeg \ ${QT_BASE_NAME}-qml-plugins" RRECOMMENDS_${QT_BASE_NAME}-qmlviewer += " \ ${QT_BASE_NAME}-qml-plugins" +RRECOMMENDS_${QT_BASE_NAME}-doc += " \ + ${QT_BASE_NAME}-demos-doc" FILES_${QT_BASE_NAME}-tools = "${bindir}/qttracereplay ${bindir}/qdoc*" FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc*"
Signature · 1 line
1.7.4.1
PATCH 6/7 qt4: fix translation support
In reply to Paul EggletonFrom: Otavio Salvador <[email protected]>
The translation support was disable in build. The fix-translation.patch was imported from OpenEmbedded to fix a linking issue in phonon translation support.
--- meta/recipes-qt/qt4/qt-4.7.3.inc | 9 ++--- .../recipes-qt/qt4/qt-4.7.3/fix-translations.patch | 32 ++++++++++++++++++++ meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- meta/recipes-qt/qt4/qt4-native.inc | 2 +- meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 2 +- meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- 6 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.7.3/fix-translations.patch
meta/recipes-qt/qt4/qt-4.7.3.inc +4 -5
@@ -13,6 +13,7 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}. file://0009-support-2bpp.patch \ file://0001-Added-Openembedded-crossarch-option.patch \ file://blacklist-diginotar-certs.diff \ + file://fix-translations.patch \ file://g++.conf \ file://linux.conf \ "
@@ -26,7 +27,9 @@ 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 + sed -i \ + -e 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' \ + -e 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' $pro done sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
@@ -38,10 +41,6 @@ do_configure_prepend() { ${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}"
meta/recipes-qt/qt4/qt-4.7.3/fix-translations.patch new file +32 -0
@@ -0,0 +1,32 @@ +fix phony translation linking error + + | .../usr/lib/crt1.o: In function `_start': + | .../../sysdeps/i386/elf/start.S:115: undefined reference to `main' + | collect2: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador <[email protected]> + +diff --git a/translations/translations.pro b/translations/translations.pro +index cdaf04a..24fa668 100644 +--- a/translations/translations.pro ++++ b/translations/translations.pro +@@ -20,7 +20,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN} + updateqm.CONFIG += no_link + QMAKE_EXTRA_COMPILERS += updateqm + +-isEmpty(vcproj) { ++!isEmpty(vcproj) { + QMAKE_LINK = @: IGNORE THIS LINE + OBJECTS_DIR = + win32:CONFIG -= embed_manifest_exe +@@ -30,7 +30,7 @@ isEmpty(vcproj) { + phony_src.input = PHONY_DEPS + phony_src.output = phony.c + phony_src.variable_out = GENERATED_SOURCES +- phony_src.commands = echo int main() { return 0; } > phony.c ++ phony_src.commands = echo \"int main() { return 0; }\" > phony.c + phony_src.name = CREATE phony.c + phony_src.CONFIG += combine + QMAKE_EXTRA_COMPILERS += phony_src
meta/recipes-qt/qt4/qt4-embedded.inc +1 -1
@@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "LGPLv2.1 | GPLv3" HOMEPAGE = "http://qt.nokia.com" DEPENDS += "directfb tslib" -INC_PR = "r33" +INC_PR = "r34" QT_BASE_NAME ?= "qt4-embedded" QT_BASE_LIB ?= "libqt-embedded"
meta/recipes-qt/qt4/qt4-native.inc +1 -1
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" -INC_PR = "r12" +INC_PR = "r13" inherit native
meta/recipes-qt/qt4/qt4-tools-nativesdk.inc +1 -1
@@ -4,7 +4,7 @@ SECTION = "libs" HOMEPAGE = "http://qt.nokia.com" LICENSE = "LGPLv2.1 | GPLv3" -INC_PR = "r6" +INC_PR = "r7" FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
meta/recipes-qt/qt4/qt4-x11-free.inc +1 -1
@@ -5,7 +5,7 @@ HOMEPAGE = "http://qt.nokia.com" SECTION = "x11/libs" DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor" -INC_PR = "r30" +INC_PR = "r31" QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} " QT_GLFLAGS_qemux86 = "-opengl"
Signature · 1 line
1.7.4.1
PATCH 7/7 qt4: update to latest version 4.7.4
In reply to Paul EggletonFrom: Eric Bénard <[email protected]>
- 4.7.4 was release on the 1st of september, the changelog is available here : http://qt.gitorious.org/+qt-developers/qt/releases/blobs/v4.7.4/dist/changes-4.7.4
and mostly contains bug fix.
- this patch include the fix for QTBUG-20925 which was a regression against 4.7.3 : https://bugreports.qt.nokia.com/browse/QTBUG-20925
http://qt.gitorious.org/qt/qt/commit/852abfca6f4c349dce9b895956922f96d82df579
thanks to Paul Eggleton to point us to this bug.
--- meta/recipes-qt/qt4/qt-4.7.4.inc | 62 ++++++++++++++++++ .../0001-Added-Openembedded-crossarch-option.patch | 47 ++++++++++++++ meta/recipes-qt/qt4/qt-4.7.4/fix-qtbug-20925.patch | 56 +++++++++++++++++ meta/recipes-qt/qt4/qt-4.7.4/g++.conf | 60 ++++++++++++++++++ .../qt4/qt-4.7.4/hack-out-pg2-4.7.0.patch | 31 +++++++++ meta/recipes-qt/qt4/qt-4.7.4/linux.conf | 66 ++++++++++++++++++++ meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb | 12 ++++ meta/recipes-qt/qt4/qt4-native_4.7.4.bb | 18 +++++ meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.4.bb | 11 +++ meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb | 13 ++++ 10 files changed, 376 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.7.4.inc create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/0001-Added-Openembedded-crossarch-option.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/fix-qtbug-20925.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/g++.conf create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/hack-out-pg2-4.7.0.patch create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/linux.conf create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb create mode 100644 meta/recipes-qt/qt4/qt4-native_4.7.4.bb create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.4.bb create mode 100644 meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb
meta/recipes-qt/qt4/qt-4.7.4.inc new file +62 -0
@@ -0,0 +1,62 @@ +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://0008-qt-lib-infix.patch \ + file://0009-support-2bpp.patch \ + file://0001-Added-Openembedded-crossarch-option.patch \ + file://blacklist-diginotar-certs.diff \ + file://g++.conf \ + file://linux.conf \ + file://fix-qtbug-20925.patch \ + " + +SRC_URI[md5sum] = "9831cf1dfa8d0689a06c2c54c5c65aaf" +SRC_URI[sha256sum] = "97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e" + +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.4/0001-Added-Openembedded-crossarch-option.patch new file +47 -0
47 lines not on this page · raw message
meta/recipes-qt/qt4/qt-4.7.4/fix-qtbug-20925.patch new file +56 -0
56 lines not on this page · raw message
meta/recipes-qt/qt4/qt-4.7.4/g++.conf new file +60 -0
60 lines not on this page · raw message
meta/recipes-qt/qt4/qt-4.7.4/hack-out-pg2-4.7.0.patch new file +31 -0
@@ -0,0 +1,31 @@ +Hack to not use the pg_config of the host system which will add /usr/include + +pg_config is a native binary so using that when cross compiling +will always fail. The commented out fix would do, but for OE +our -platform and -xplatform is the same so we are actually not +really cross compiling. Just comment out the test, we are passing +the location to the postgres headers and if they are okay we +will pad. + +Original Author: Holger Hans Peter Freyther <[email protected]> +Upstream-Status: Inappropriate [configuration] + +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.4/linux.conf new file +66 -0
66 lines not on this page · raw message
meta/recipes-qt/qt4/qt4-embedded_4.7.4.bb new file +12 -0
@@ -0,0 +1,12 @@ +require qt-${PV}.inc +require qt4-embedded.inc + +PR = "${INC_PR}.2" + +QT_CONFIG_FLAGS_append_armv6-vfp = " -no-neon " + +QT_CONFIG_FLAGS += " \ + -exceptions \ +" + +DEFAULT_PREFERENCE = "-1"
meta/recipes-qt/qt4/qt4-native_4.7.4.bb new file +18 -0
@@ -0,0 +1,18 @@ +require qt4-native.inc + +PR = "${INC_PR}.1" + +SRC_URI += "file://blacklist-diginotar-certs.diff \ + file://fix-qtbug-20925.patch" + +# Find the g++.conf/linux.conf in the right directory. +FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:" + +EXTRA_OECONF += " -no-fast -silent -no-rpath" + +TOBUILD := "src/tools/bootstrap ${TOBUILD}" + +SRC_URI[md5sum] = "9831cf1dfa8d0689a06c2c54c5c65aaf" +SRC_URI[sha256sum] = "97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e" + +DEFAULT_PREFERENCE = "-1"
meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.4.bb new file +11 -0
@@ -0,0 +1,11 @@ +require qt4-tools-nativesdk.inc + +PR = "${INC_PR}.0" + +SRC_URI += "file://blacklist-diginotar-certs.diff \ + file://fix-qtbug-20925.patch" + +SRC_URI[md5sum] = "9831cf1dfa8d0689a06c2c54c5c65aaf" +SRC_URI[sha256sum] = "97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e" + +DEFAULT_PREFERENCE = "-1"
meta/recipes-qt/qt4/qt4-x11-free_4.7.4.bb new file +13 -0
@@ -0,0 +1,13 @@ +require qt4-x11-free.inc +require qt-${PV}.inc + +PR = "${INC_PR}.2" + +QT_CONFIG_FLAGS_append_armv6-vfp = " -no-neon " + +QT_CONFIG_FLAGS += " \ + -no-embedded \ + -xrandr \ + -x11" + +DEFAULT_PREFERENCE = "-1"
Signature · 1 line
1.7.4.1
Quoted 26 lines · Paul Eggleton
This is a pull request for Eric Bénard's
qt4_upgradebranch, including an update of Qt to 4.7.4 (preserving 4.7.3 until other layers such as meta-oe, meta-yocto etc. can sync up) as well as several important bug fixes.The patches look good; if was to be really picky though I would say that the two demo/doc patches in the series ought to be merged into one patch, and there are a few typos in the commit messages. I'm also relying on others to review the correctness of the armv6-vfp no-neon patch as I have no knowledge of this area.
The following changes since commit
c54c1280fc0d06a53e23339c3913ec88eead13d9:base.bbclass: Drop unneeded dependency (2011-09-30 11:34:44 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribpaule/qt4_upgrade
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/qt4_upgradeDenis Carikli (3):
qt4.inc: remove the optional documentation package from the demo's
RRECOMMENDS
qt4(embedded and x11): disable neon for armv6-vfp qt4.inc: package qtdemo's docs in a separate package
Quoted 7 lines
Eric Bénard (3):
qt4e-demo-image: improve image
qt4: fix generated sdk
qt4: update to latest version 4.7.4Otavio Salvador (1):
qt4: fix translation support
Thanks Paul. I fixed the typos and queued this on master-next.
Cheers,
Richard
Quoted 32 lines · Richard Purdie
Quoted 31 lines · Paul Eggleton
This is a pull request for Eric Bénard's
qt4_upgradebranch, including an update of Qt to 4.7.4 (preserving 4.7.3 until other layers such as meta-oe, meta-yocto etc. can sync up) as well as several important bug fixes.The patches look good; if was to be really picky though I would say that the two demo/doc patches in the series ought to be merged into one patch, and there are a few typos in the commit messages. I'm also relying on others to review the correctness of the armv6-vfp no-neon patch as I have no knowledge of this area.
The following changes since commit
c54c1280fc0d06a53e23339c3913ec88eead13d9:base.bbclass: Drop unneeded dependency (2011-09-30 11:34:44 +0100)are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribpaule/qt4_upgrade
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/qt4_upgradeDenis Carikli (3):
qt4.inc: remove the optional documentation package from the demo's
RRECOMMENDS
qt4(embedded and x11): disable neon for armv6-vfp qt4.inc: package qtdemo's docs in a separate packageEric Bénard (3):
qt4e-demo-image: improve image
qt4: fix generated sdk
qt4: update to latest version 4.7.4
Quoted 4 lines
Quoted 2 lines
Otavio Salvador (1):
qt4: fix translation supportThanks Paul. I fixed the typos and queued this on master-next.
It seems, during 4.7.3 -> 4.7.4 addition, fix-translation patch got lost. Richard please reaply the "qt4: fix translation support" after s/4.7.3/4.7.4/ . I can provide a patch if you'd like.
Quoted 10 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 2 lines
With best wishes Dmitry
PATCH 1/1 qt-4.7.4: fix translation support
- this was fiexed in 4.7.3 by :d8b9aad9e3fa0cacbde4597d45f68652009af001
- but forgotten in the 4.7.4 upgrade in :c3a784cb13f0afc0616ae3ed4102271c6dde17af
Thanks to Dmitry Eremin-Solenikov for noticing this.
--- meta/recipes-qt/qt4/qt-4.7.4.inc | 9 ++--- .../recipes-qt/qt4/qt-4.7.4/fix-translations.patch | 32 ++++++++++++++++++++ meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- meta/recipes-qt/qt4/qt4-native.inc | 2 +- meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 2 +- meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- 6 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.7.4/fix-translations.patch
meta/recipes-qt/qt4/qt-4.7.4.inc +4 -5
@@ -13,6 +13,7 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}. file://0009-support-2bpp.patch \ file://0001-Added-Openembedded-crossarch-option.patch \ file://blacklist-diginotar-certs.diff \ + file://fix-translations.patch \ file://g++.conf \ file://linux.conf \ file://fix-qtbug-20925.patch \
@@ -27,7 +28,9 @@ 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 + sed -i \ + -e 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' \ + -e 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' $pro done sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
@@ -39,10 +42,6 @@ do_configure_prepend() { ${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}"
meta/recipes-qt/qt4/qt-4.7.4/fix-translations.patch new file +32 -0
@@ -0,0 +1,32 @@ +fix phony translation linking error + + | .../usr/lib/crt1.o: In function `_start': + | .../../sysdeps/i386/elf/start.S:115: undefined reference to `main' + | collect2: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador <[email protected]> + +diff --git a/translations/translations.pro b/translations/translations.pro +index cdaf04a..24fa668 100644 +--- a/translations/translations.pro ++++ b/translations/translations.pro +@@ -20,7 +20,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN} + updateqm.CONFIG += no_link + QMAKE_EXTRA_COMPILERS += updateqm + +-isEmpty(vcproj) { ++!isEmpty(vcproj) { + QMAKE_LINK = @: IGNORE THIS LINE + OBJECTS_DIR = + win32:CONFIG -= embed_manifest_exe +@@ -30,7 +30,7 @@ isEmpty(vcproj) { + phony_src.input = PHONY_DEPS + phony_src.output = phony.c + phony_src.variable_out = GENERATED_SOURCES +- phony_src.commands = echo int main() { return 0; } > phony.c ++ phony_src.commands = echo \"int main() { return 0; }\" > phony.c + phony_src.name = CREATE phony.c + phony_src.CONFIG += combine + QMAKE_EXTRA_COMPILERS += phony_src
meta/recipes-qt/qt4/qt4-embedded.inc +1 -1
@@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "LGPLv2.1 | GPLv3" HOMEPAGE = "http://qt.nokia.com" DEPENDS += "directfb tslib" -INC_PR = "r34" +INC_PR = "r35" QT_BASE_NAME ?= "qt4-embedded" QT_BASE_LIB ?= "libqt-embedded"
meta/recipes-qt/qt4/qt4-native.inc +1 -1
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" -INC_PR = "r13" +INC_PR = "r14" inherit native
meta/recipes-qt/qt4/qt4-tools-nativesdk.inc +1 -1
@@ -4,7 +4,7 @@ SECTION = "libs" HOMEPAGE = "http://qt.nokia.com" LICENSE = "LGPLv2.1 | GPLv3" -INC_PR = "r7" +INC_PR = "r8" FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:"
meta/recipes-qt/qt4/qt4-x11-free.inc +1 -1
@@ -5,7 +5,7 @@ HOMEPAGE = "http://qt.nokia.com" SECTION = "x11/libs" DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor" -INC_PR = "r31" +INC_PR = "r32" QT_GLFLAGS ?= "${@base_contains('DISTRO_FEATURES', 'opengl', '-opengl', '-no-opengl', d)} " QT_GLFLAGS_qemux86 = "-opengl"
Signature · 1 line
1.7.6.2
Quoted 33 lines · Dmitry Eremin-Solenikov
Quoted 32 lines · Richard Purdie
Quoted 31 lines · Paul Eggleton
This is a pull request for Eric Bénard's
qt4_upgradebranch, including an update of Qt to 4.7.4 (preserving 4.7.3 until other layers such as meta-oe, meta-yocto etc. can sync up) as well as several important bug fixes.The patches look good; if was to be really picky though I would say that the two demo/doc patches in the series ought to be merged into one patch, and there are a few typos in the commit messages. I'm also relying on others to review the correctness of the armv6-vfp no-neon patch as I have no knowledge of this area.
The following changes since commit
c54c1280fc0d06a53e23339c3913ec88eead13d9:base.bbclass: Drop unneeded dependency (2011-09-30 11:34:44 +0100)are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribpaule/qt4_upgrade
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/qt4_upgradeDenis Carikli (3):
qt4.inc: remove the optional documentation package from the demo's
RRECOMMENDS
qt4(embedded and x11): disable neon for armv6-vfp qt4.inc: package qtdemo's docs in a separate packageEric Bénard (3):
qt4e-demo-image: improve image
qt4: fix generated sdk
qt4: update to latest version 4.7.4
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
Otavio Salvador (1):
qt4: fix translation supportThanks Paul. I fixed the typos and queued this on master-next.
It seems, during 4.7.3 -> 4.7.4 addition, fix-translation patch got lost. Richard please reaply the "qt4: fix translation support" after s/4.7.3/4.7.4/ . I can provide a patch if you'd like.
Thanks, I'll merge your two patches. If there is anything else qt4 related that is missing please let me know as I'm assuming these merges bring the qt4 patches up to date!
Cheers,
Richard