Skip to contentSkip to conversation

Qt4 upgrade/fixes

PATCH In review Paul Eggleton 4 participants 12 messages Sep 30, 2011 – Oct 4, 2011

lore
Share & tools
lore
#0 lore raw

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

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
index 6a7c086..6523379 100644
@@ -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
#2 lore raw

PATCH 2/7 qt4: fix generated sdk

In reply to Paul Eggleton

From: 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
index 72d58db..735ccd1 100644
@@ -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
index 6c396a5..097fadc 100644
@@ -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
#3 lore raw

PATCH 3/7 qt4.inc: remove the optional documentation package from the demo's RRECOMMENDS

In reply to Paul Eggleton

From: 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
index ed872b0..ffa5288 100644
@@ -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
index 7f3e1a4..23832db 100644
@@ -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
#4 lore raw

PATCH 4/7 qt4(embedded and x11): disable neon for armv6-vfp

In reply to Paul Eggleton

From: 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
index c3f6713..801b45a 100644
@@ -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
index 75c6314..413afb4 100644
@@ -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
#5 lore raw

PATCH 5/7 qt4.inc: package qtdemo's docs in a separate package

In reply to Paul Eggleton

From: 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
index a360ec3..93feb0e 100644
@@ -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
index 23832db..eb01a1b 100644
@@ -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
#6 lore raw

PATCH 6/7 qt4: fix translation support

In reply to Paul Eggleton

From: 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
index a5b8b05..16c7b08 100644
@@ -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
new file mode 100644
index 0000000..906d4e3
@@ -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
index ffa5288..53e1297 100644
@@ -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
index 59c0059..ebbee9b 100644
@@ -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
index 097fadc..a71c3ae 100644
@@ -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
index 93feb0e..f76a97f 100644
@@ -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
#7 lore raw

PATCH 7/7 qt4: update to latest version 4.7.4

In reply to Paul Eggleton

From: 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
new file mode 100644
index 0000000..5c06bbe
@@ -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
new file mode 100644
index 0000000..39c5f4a
@@ -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
new file mode 100644
index 0000000..9d893f9
@@ -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
new file mode 100644
index 0000000..7196c73
@@ -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
new file mode 100644
index 0000000..77e1f36
@@ -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
new file mode 100644
index 0000000..2f39ec0
@@ -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
#8 lore raw
In reply to Paul Eggleton
Quoted 26 lines · Paul Eggleton

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

Quoted 7 lines

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

Thanks Paul. I fixed the typos and queued this on master-next.

Cheers,

Richard

#9 lore raw
Quoted 32 lines · Richard Purdie
Quoted 31 lines · Paul Eggleton

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

Quoted 4 lines
Quoted 2 lines

Otavio Salvador (1):
qt4: fix translation support

Thanks 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
#10 lore raw

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
index 5c06bbe..bc33b6b 100644
@@ -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
new file mode 100644
index 0000000..906d4e3
@@ -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
index 53e1297..79473c9 100644
@@ -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
index ebbee9b..a3ffe03 100644
@@ -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
index a71c3ae..b1a5661 100644
@@ -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
index f76a97f..f391028 100644
@@ -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
#11 lore raw
In reply to Dmitry Eremin-Solenikov
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_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

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

Otavio Salvador (1):
qt4: fix translation support

Thanks 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