diff options
Diffstat (limited to 'meta/recipes-qt')
34 files changed, 831 insertions, 108 deletions
diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb new file mode 100644 index 000000000..da0dda77c --- /dev/null +++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb @@ -0,0 +1,26 @@ +# 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" + +toolchain_create_sdk_env_script_append() { + 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 +} diff --git a/meta/recipes-qt/qt-apps/fotowall_0.9.bb b/meta/recipes-qt/qt-apps/fotowall_0.9.bb index 30dca4eeb..c5c751d9a 100644 --- a/meta/recipes-qt/qt-apps/fotowall_0.9.bb +++ b/meta/recipes-qt/qt-apps/fotowall_0.9.bb @@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://GPL_V2;md5=79808397c3355f163c012616125c9e26 \ file://main.cpp;beginline=6;endline=11;md5=b569acc2bf8974a3082b58fc53b9d8dc" SECTION = "x11/apps" +PR = "r1" + DEPENDS = "qt4-x11-free" -RDEPENDS = "qt4-x11-free" +RRECOMMENDS_${PN} += "qt4-plugin-imageformat-gif qt4-plugin-imageformat-jpeg qt4-plugin-imageformat-tiff" SRC_URI = "http://qt-apps.org/CONTENT/content-files/71316-Fotowall-0.9.tar.bz2" diff --git a/meta/recipes-qt/qt-apps/qmmp_0.4.1.bb b/meta/recipes-qt/qt-apps/qmmp_0.4.1.bb deleted file mode 100644 index c5afd91ea..000000000 --- a/meta/recipes-qt/qt-apps/qmmp_0.4.1.bb +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library" -HOMEPAGE = "http://qmmp.ylsoftware.com" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" -SECTION = "multimedia" - -PR = "r1" - -DEPENDS = "qt4-x11-free taglib" -RDEPENDS = "qt4-x11-free libmad libvorbis libogg taglib alsa-lib curl" - -SRC_URI = "http://qmmp.ylsoftware.com/files/qmmp-0.4.1.tar.bz2" - -PARALLEL_MAKE = "" - -inherit qmake2 pkgconfig - -do_configure_prepend() { - # fix qt4 lrelease name - sed -i -e 's/lrelease-qt4/lrelease4/' ${S}/qmmp.pro - - # disable the unsupported plugin - for plugin in sndfile wavpack ; do - sed -i -e "s/$plugin//" ${S}/src/plugins/Input/Input.pro - done - sed -i -e 's/mms//' ${S}/src/plugins/Transports/Transports.pro - sed -i -e 's/srconverter//' ${S}/src/plugins/Effect/Effect.pro - - sed -i -e 's/^CONFIG/#CONFIG/' ${S}/qmmp.pri - sed -i -e 's/CONFIG += WITH_ENCA/#CONFIG += WITH_ENCA/' ${S}/qmmp.pri -} - -do_install() { - oe_runmake INSTALL_ROOT=${D} install -} diff --git a/meta/recipes-qt/qt-apps/qmmp_0.4.3.bb b/meta/recipes-qt/qt-apps/qmmp_0.4.3.bb new file mode 100644 index 000000000..b01c61660 --- /dev/null +++ b/meta/recipes-qt/qt-apps/qmmp_0.4.3.bb @@ -0,0 +1,46 @@ +DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library" +HOMEPAGE = "http://qmmp.ylsoftware.com" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" +SECTION = "multimedia" + +PR = "r0" + +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib" +RDEPENDS_${PN} += "taglib alsa-lib curl" + +SRC_URI = "http://qmmp.ylsoftware.com/files/${PN}-${PV}.tar.bz2" + +SRC_URI[md5sum] = "b79ce55ed8aca31a29360ff828ce1881" +SRC_URI[sha256sum] = "a75c2c676515182ecfbe811cba29ba4ca736912e52fde283db4d03eb116457a4" + +PARALLEL_MAKE = "" + +inherit qmake2 cmake + +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \ + -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \ + -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \ + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \ + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \ + -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \ + -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \ + -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \ + " + +FILES_${PN} = "${bindir}/qmmp ${libdir}/*.so* \ + ${libdir}/qmmp/PlaylistFormats/*.so \ + ${libdir}/qmmp/Output/libalsa.so \ + ${libdir}/qmmp/Transports/libhttp.so \ + ${libdir}/qmmp/Visual/libanalyzer.so \ + ${datadir}/icons/* \ + ${datadir}/qmmp/images/* \ + ${datadir}/applications/qmmp.desktop \ + " + +PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis" + +FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so" +RDEPENDS_${PN}-plugin-input-mad = "libmad" +FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so" +RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg" diff --git a/meta/recipes-qt/qt-apps/quicky_0.4.bb b/meta/recipes-qt/qt-apps/quicky_0.4.bb index 004e02940..20c04f8db 100644 --- a/meta/recipes-qt/qt-apps/quicky_0.4.bb +++ b/meta/recipes-qt/qt-apps/quicky_0.4.bb @@ -4,8 +4,9 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://version.h;endline=19;md5=878bdaff438dab86298301fd1a210e14" SECTION = "x11/apps" +PR = "r1" + DEPENDS = "qt4-x11-free" -RDEPENDS = "qt4-x11-free" SRC_URI = "http://qt-apps.org/CONTENT/content-files/80325-quicky-0.4.tar.gz" diff --git a/meta/recipes-qt/qt4/files/compile.test-lflags.patch b/meta/recipes-qt/qt4/files/compile.test-lflags.patch new file mode 100644 index 000000000..e4b256b0c --- /dev/null +++ b/meta/recipes-qt/qt4/files/compile.test-lflags.patch @@ -0,0 +1,13 @@ +Index: qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/config.tests/unix/compile.test 2010-06-02 06:03:18.000000000 +0400 ++++ qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test 2010-10-04 17:35:07.587783460 +0400 +@@ -11,7 +11,7 @@ + EXE=`basename "$6"` + DESCRIPTION=$7 + shift 7 +-LFLAGS="" ++LFLAGS="$LDFLAGS" + INCLUDEPATH="" + CXXFLAGS="" + MAC_ARCH_CXXFLAGS="" diff --git a/meta/recipes-qt/qt4/files/configure-lflags.patch b/meta/recipes-qt/qt4/files/configure-lflags.patch new file mode 100644 index 000000000..df195494e --- /dev/null +++ b/meta/recipes-qt/qt4/files/configure-lflags.patch @@ -0,0 +1,13 @@ +Index: qtopia-core-opensource-src-4.3.3/configure +=================================================================== +--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-14 08:53:51.000000000 +0000 ++++ qtopia-core-opensource-src-4.3.3/configure 2008-01-14 08:54:07.000000000 +0000 +@@ -447,7 +447,7 @@ + # initalize variables + #------------------------------------------------------------------------------- + +-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS" ++SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS" + for varname in $SYSTEM_VARIABLES; do + cmd=`echo \ + 'if [ -n "\$'${varname}'" ]; then diff --git a/meta/recipes-qt/qt4/files/configure-paths.patch b/meta/recipes-qt/qt4/files/configure-paths.patch new file mode 100644 index 000000000..c9259a115 --- /dev/null +++ b/meta/recipes-qt/qt4/files/configure-paths.patch @@ -0,0 +1,21 @@ +Index: qt-everywhere-opensource-src-4.6.3/configure +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 15:47:37.100607001 +0000 ++++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 15:49:14.576606999 +0000 +@@ -7198,11 +7198,11 @@ + QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc + + #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR +-QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc +-QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic +-QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3 +-QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc +-QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp ++QMAKE_MOC = \${OE_QMAKE_MOC} ++QMAKE_UIC = \${OE_QMAKE_UIC} ++QMAKE_UIC3 = \${OE_QMAKE_UIC3} ++QMAKE_RCC = \${OE_QMAKE_RCC} ++QMAKE_QDBUSXML2CPP = \${OE_QMAKE_QDBUSXML2CPP} + QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include + QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib + diff --git a/meta/recipes-qt/qt4/files/qmake-exists-check.patch b/meta/recipes-qt/qt4/files/qmake-exists-check.patch new file mode 100644 index 000000000..cc73837e5 --- /dev/null +++ b/meta/recipes-qt/qt4/files/qmake-exists-check.patch @@ -0,0 +1,18 @@ +qt4-tools-nativesdk: avoid rebuilding qmake + +qt4-tools-nativesdk patch to avoids building qmake in configure if it already exists +(as it will, since we symlink it in from the native sysroot in do_configure) + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 12:01:56.260607001 +0000 ++++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 12:02:20.584607015 +0000 +@@ -4286,7 +4286,7 @@ + } + + # build qmake +-if true; then ###[ '!' -f "$outpath/bin/qmake" ]; ++if [ '!' -f "$outpath/bin/qmake" ]; then + echo "Creating qmake. Please wait..." + + OLD_QCONFIG_H= diff --git a/meta/recipes-qt/qt4/files/qte.sh b/meta/recipes-qt/qt4/files/qte.sh new file mode 100644 index 000000000..21d6ecbd6 --- /dev/null +++ b/meta/recipes-qt/qt4/files/qte.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ -e /dev/input/touchscreen0 ] +then + QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0 + export QWS_MOUSE_PROTO +fi diff --git a/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch b/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch new file mode 100644 index 000000000..1d250d8a9 --- /dev/null +++ b/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch @@ -0,0 +1,86 @@ +qt-embedded: fix linker error in do_compile + +This patch ensures that we link to libQtCLucene where required (i.e. when +linking to libQtHelp) avoiding a linker error. + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Index: qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/demos/qtdemo/qtdemo.pro 2011-01-11 16:06:47.382828004 +0000 ++++ qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro 2011-01-11 16:10:06.906828001 +0000 +@@ -76,3 +76,10 @@ + sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES qtdemo.pro images xml *.ico *.icns *.rc *.plist + sources.path = $$[QT_INSTALL_DEMOS]/qtdemo + ++qclucene = QtCLucene$${QT_LIBINFIX} ++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { ++ mac:qclucene = $${qclucene}_debug ++ win32:qclucene = $${qclucene}d ++} ++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene ++LIBS_PRIVATE += -l$$qclucene +Index: qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/examples/help/contextsensitivehelp/contextsensitivehelp.pro 2011-01-11 16:05:56.598828002 +0000 ++++ qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro 2011-01-11 16:09:57.762828002 +0000 +@@ -18,3 +18,11 @@ + INSTALLS += target sources + + symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) ++ ++qclucene = QtCLucene$${QT_LIBINFIX} ++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { ++ mac:qclucene = $${qclucene}_debug ++ win32:qclucene = $${qclucene}d ++} ++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene ++LIBS_PRIVATE += -l$$qclucene +Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/assistant/assistant.pro 2011-01-11 14:56:50.902828001 +0000 ++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro 2011-01-11 16:09:39.914828003 +0000 +@@ -85,3 +85,11 @@ + DEFINES += USE_STATIC_SQLITE_PLUGIN + } + } ++ ++qclucene = QtCLucene$${QT_LIBINFIX} ++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { ++ mac:qclucene = $${qclucene}_debug ++ win32:qclucene = $${qclucene}d ++} ++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene ++LIBS_PRIVATE += -l$$qclucene +Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro 2011-01-11 14:56:50.918828002 +0000 ++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro 2011-01-11 16:09:44.538828001 +0000 +@@ -12,3 +12,11 @@ + main.cpp + + HEADERS += ../shared/helpgenerator.h ++ ++qclucene = QtCLucene$${QT_LIBINFIX} ++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { ++ mac:qclucene = $${qclucene}_debug ++ win32:qclucene = $${qclucene}d ++} ++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene ++LIBS_PRIVATE += -l$$qclucene +Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro +=================================================================== +--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro 2011-01-11 14:56:50.930828002 +0000 ++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro 2011-01-11 16:09:50.274828003 +0000 +@@ -12,3 +12,11 @@ + main.cpp + + HEADERS += ../shared/helpgenerator.h ++ ++qclucene = QtCLucene$${QT_LIBINFIX} ++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { ++ mac:qclucene = $${qclucene}_debug ++ win32:qclucene = $${qclucene}d ++} ++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene ++LIBS_PRIVATE += -l$$qclucene diff --git a/meta/recipes-qt/qt4/qt-4.6.3.inc b/meta/recipes-qt/qt4/qt-4.6.3.inc index 155af66b8..ec2c9208d 100644 --- a/meta/recipes-qt/qt4/qt-4.6.3.inc +++ b/meta/recipes-qt/qt4/qt-4.6.3.inc @@ -19,6 +19,9 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}. file://mips-relocate.patch \ " +SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072" +SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768" + S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" do_configure_prepend() { @@ -40,7 +43,7 @@ do_configure_append() { } QT_GLFLAGS ?= "" -QT_CONFIG_FLAGS += " -no-rpath -qt3support -silent ${QT_GLFLAGS}" +QT_CONFIG_FLAGS += " -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}" do_compile() { # Fixup missing wsegl header in some SGX SDKs @@ -51,16 +54,3 @@ do_compile() { unset CFLAGS CXXFLAGS oe_runmake ${EXTRA_ENV} } - -do_install_append() { - install -d ${D}${bindir} - for i in rcc uic moc ; do - install -m 0755 ${S}/bin/$i ${D}${bindir}/ - done - - #Append an E to the qtdemo file - if [ -n "${QT_LIBINFIX}" ] ; then - mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX} - fi -} - diff --git a/meta/recipes-qt/qt4/qt-4.7.1.inc b/meta/recipes-qt/qt4/qt-4.7.1.inc new file mode 100644 index 000000000..70ee59697 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.7.1.inc @@ -0,0 +1,58 @@ +LICENSE = "LGPLv2.1 | GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ + file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ + file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" + +FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:" + +SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \ + file://0004-no-qmake.patch \ + file://hack-out-pg2-4.7.0.patch \ + file://0006-freetype-host-includes.patch \ + file://0001-Added-Openembedded-crossarch-option.patch \ + file://g++.conf \ + file://linux.conf \ + " + +SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7" +SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a" + +S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" + +FILES_${QT_BASE_NAME}-tools += "${bindir}/qml" + +do_configure_prepend() { + for pro in $(find ${S} -name "*.pro") ; do + sed -i 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' $pro + done + + sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf + sed -i \ + -e /QMAKE_MOC\ /d \ + -e /QMAKE_UIC\ /d \ + -e /QMAKE_UIC3\ /d \ + -e /QMAKE_RCC\ /d \ + ${S}/configure +} + +do_configure_append() { + sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile +} + +QT_GLFLAGS ?= "" +QT_CONFIG_FLAGS += " -xmlpatterns -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}" + +do_compile() { + # Fixup missing wsegl header in some SGX SDKs + if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then + cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/ + fi + + unset CFLAGS CXXFLAGS + install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc + install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc + install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic + install -m 0755 ${STAGING_BINDIR_NATIVE}/lrelease4 ${S}/bin/lrelease + + oe_runmake ${EXTRA_ENV} +} diff --git a/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch b/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch new file mode 100644 index 000000000..71a04a59d --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch @@ -0,0 +1,44 @@ +From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Matthias=20G=C3=BCnther?= <matgnt@gmail.com> +Date: Wed, 12 May 2010 16:52:45 +0200 +Subject: [PATCH 1/9] Added Openembedded "-crossarch" option + +--- + configure | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/configure b/configure +index facd192..9d15136 100755 +--- a/configure ++++ b/configure +@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do + shift + VAL=$1 + ;; +- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config) ++ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + shift + VAL="$1" +@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do + xplatform) + XPLATFORM="$VAL" + ;; ++ crossarch) ++ CROSSARCH="$VAL" ++ ;; + debug-and-release) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_DEBUG_RELEASE="$VAL" +@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then + CFG_ARCH=$CFG_HOST_ARCH + fi + ++CFG_ARCH="$CROSSARCH" ++ + if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " '$CFG_ARCH' is supported" +-- +1.7.0.4 + diff --git a/meta/recipes-qt/qt4/qt-4.7.1/g++.conf b/meta/recipes-qt/qt4/qt-4.7.1/g++.conf new file mode 100644 index 000000000..80f925cc5 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.7.1/g++.conf @@ -0,0 +1,60 @@ +# +# qmake configuration for common gcc +# + +QMAKE_CC = $(OE_QMAKE_CC) +QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) +QMAKE_CFLAGS_DEPS += -M +QMAKE_CFLAGS_WARN_ON += -Wall -W +QMAKE_CFLAGS_WARN_OFF += -w +QMAKE_CFLAGS_RELEASE += +QMAKE_CFLAGS_DEBUG += -g +QMAKE_CFLAGS_SHLIB += -fPIC +QMAKE_CFLAGS_STATIC_LIB += -fPIC +QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} + +QMAKE_CXX = $(OE_QMAKE_CXX) +QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) +QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden +QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +QMAKE_LINK = $(OE_QMAKE_LINK) +QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) +QMAKE_LINK_C = $(OE_QMAKE_LINK) +QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK) +QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) +QMAKE_LFLAGS_RELEASE += +QMAKE_LFLAGS_DEBUG += +QMAKE_LFLAGS_APP += +QMAKE_LFLAGS_SHLIB += -shared +QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB +QMAKE_LFLAGS_SONAME += -Wl,-soname, +QMAKE_LFLAGS_THREAD += +QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined +QMAKE_LFLAGS_RPATH = -Wl,-rpath-link, + +QMAKE_PCH_OUTPUT_EXT = .gch + +# -Bsymbolic-functions (ld) support +QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions +QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list, + +# some linking helper... +CONFIG += rpath_libdirs + +# for the SDK +isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) diff --git a/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch b/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch new file mode 100644 index 000000000..5c588ff0f --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch @@ -0,0 +1,19 @@ +Index: qt-everywhere-opensource-src-4.7.0/configure +=================================================================== +--- qt-everywhere-opensource-src-4.7.0.orig/configure 2010-09-22 15:43:51.191162141 -0400 ++++ qt-everywhere-opensource-src-4.7.0/configure 2010-09-22 15:44:35.179981232 -0400 +@@ -4921,10 +4921,10 @@ + psql) + if [ "$CFG_SQL_psql" != "no" ]; then + # Be careful not to use native pg_config when cross building. +- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then +- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null` +- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null` +- fi ++# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then ++# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null` ++# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null` ++# fi + [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL" + [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" + # But, respect PSQL_LIBS if set diff --git a/meta/recipes-qt/qt4/qt-4.7.1/linux.conf b/meta/recipes-qt/qt4/qt-4.7.1/linux.conf new file mode 100644 index 000000000..a54135513 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.7.1/linux.conf @@ -0,0 +1,66 @@ +# +# qmake configuration for common linux +# + +QMAKE_CFLAGS_THREAD += -D_REENTRANT +QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD + +QMAKE_INCDIR = +QMAKE_LIBDIR = +QMAKE_INCDIR_X11 = +QMAKE_LIBDIR_X11 = +QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) +QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) +QMAKE_INCDIR_OPENGL = +QMAKE_LIBDIR_OPENGL = +QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL +QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL +QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL +QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL +QMAKE_INCDIR_EGL = +QMAKE_LIBDIR_EGL = +QMAKE_INCDIR_OPENVG = +QMAKE_LIBDIR_OPENVG = + + +QMAKE_LIBS = +QMAKE_LIBS_DYNLOAD = -ldl +QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) +QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) +QMAKE_LIBS_NIS = -lnsl +QMAKE_LIBS_EGL = -lEGL +QMAKE_LIBS_OPENGL = -lGLU -lGL +QMAKE_LIBS_OPENGL_QT = -lGL +QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM +QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 +QMAKE_LIBS_OPENVG = -lOpenVG +QMAKE_LIBS_THREAD = -lpthread + +QMAKE_MOC = $(OE_QMAKE_MOC) +QMAKE_UIC = $(OE_QMAKE_UIC) +QMAKE_UIC3 = $(OE_QMAKE_UIC3) +QMAKE_RCC = $(OE_QMAKE_RCC) +QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML) +QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP) + +QMAKE_AR = $(OE_QMAKE_AR) cqs +QMAKE_OBJCOPY = objcopy +QMAKE_RANLIB = + +QMAKE_TAR = tar -cf +QMAKE_GZIP = gzip -9f + +QMAKE_COPY = cp -f +QMAKE_COPY_FILE = $(COPY) +QMAKE_COPY_DIR = $(COPY) -r +QMAKE_MOVE = mv -f +QMAKE_DEL_FILE = rm -f +QMAKE_DEL_DIR = rmdir +QMAKE_STRIP = $(OE_QMAKE_STRIP) +QMAKE_STRIPFLAGS_LIB += --strip-unneeded +QMAKE_CHK_DIR_EXISTS = test -d +QMAKE_MKDIR = mkdir -p +QMAKE_INSTALL_FILE = install -m 644 -p +QMAKE_INSTALL_PROGRAM = install -m 755 -p + +include(unix.conf) diff --git a/meta/recipes-qt/qt4/qt4-embedded.inc b/meta/recipes-qt/qt4/qt4-embedded.inc new file mode 100644 index 000000000..2ed1819f6 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-embedded.inc @@ -0,0 +1,34 @@ +DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the embedded version." +SECTION = "libs" +LICENSE = "LGPLv2.1 | GPLv3" +PRIORITY = "optional" +HOMEPAGE = "http://qt.nokia.com" +DEPENDS += "directfb tslib" +INC_PR = "r26" + +QT_BASE_NAME ?= "qt4-embedded" +QT_BASE_LIB ?= "libqt-embedded" + +# Set necessary variables in the profile +SRC_URI += "file://qte.sh" + +QT_CONFIG_FLAGS += " \ + -embedded ${QT_ARCH} \ + -qtlibinfix ${QT_LIBINFIX} \ + -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \ + -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb -qt-mouse-linuxinput \ + -qt-kbd-tty \ + -DQT_KEYPAD_NAVIGATION \ + " + +require qt4.inc + +do_install_append() { + install -d ${D}${sysconfdir}/profile.d/ + install -m 0755 ${WORKDIR}/qte.sh ${D}${sysconfdir}/profile.d/ +} + +FILES_${PN} += " ${sysconfdir}/profile.d/qte.sh" + +inherit qt4e + diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb b/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb new file mode 100644 index 000000000..dd662aa3d --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb @@ -0,0 +1,9 @@ +require qt-${PV}.inc +require qt4-embedded.inc + +SRC_URI += "file://qthelp-lib-qtclucene.patch" + +PR = "${INC_PR}.1" + +QT_CONFIG_FLAGS_append_armv6 = " -no-neon " + diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb b/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb new file mode 100644 index 000000000..c3f671319 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb @@ -0,0 +1,10 @@ +require qt-${PV}.inc +require qt4-embedded.inc + +PR = "${INC_PR}.1" + +QT_CONFIG_FLAGS_append_armv6 = " -no-neon " + +QT_CONFIG_FLAGS += " \ + -exceptions \ +" diff --git a/meta/recipes-qt/qt4/qt4-tools-native.inc b/meta/recipes-qt/qt4/qt4-tools-native.inc index 6dca21857..0c4d2c776 100644 --- a/meta/recipes-qt/qt4/qt4-tools-native.inc +++ b/meta/recipes-qt/qt4/qt4-tools-native.inc @@ -1,9 +1,16 @@ DESCRIPTION = "Native tools for Qt/[X11|Mac|Embedded] version 4.x" -DEPENDS = "zlib-native dbus-native libsm-native" +DEPENDS = "zlib-native dbus-native" SECTION = "libs" HOMEPAGE = "http://qt.nokia.com" PRIORITY = "optional" +LICENSE = "LGPLv2.1 | GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ + file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ + file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" + +INC_PR = "r11" + inherit native SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \ @@ -16,13 +23,14 @@ EXTRA_OECONF = "-prefix ${prefix} \ -L ${STAGING_LIBDIR_NATIVE} \ -I ${STAGING_INCDIR_NATIVE} \ -qt-libjpeg -qt-gif -system-zlib \ - -no-libjpeg -no-libpng \ + -no-libjpeg -no-libpng -no-libmng -no-libtiff \ -no-accessibility \ -no-cups \ -no-exceptions \ -no-nas-sound \ - -no-nis \ + -no-nis -no-openssl \ -verbose -release -static \ + -embedded -no-freetype -no-glib -no-iconv \ -qt3support" # yank default -e, otherwise we get the following error: @@ -59,7 +67,7 @@ do_install() { 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++ diff --git a/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb index ac66eb3d5..dae8cd19e 100644 --- a/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb +++ b/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb @@ -1,11 +1,11 @@ require qt4-tools-native.inc -LICENSE = "LGPLv2.1 | GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ - file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ - file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" -PR = "r2" +PR = "${INC_PR}.0" -EXTRA_OECONF += " -no-fast -silent -no-rpath -no-freetype -no-fontconfig" +EXTRA_OECONF += " -no-fast -silent -no-rpath" TOBUILD := "src/tools/bootstrap ${TOBUILD}" + +SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072" +SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768" + diff --git a/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb new file mode 100644 index 000000000..e9de510fe --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb @@ -0,0 +1,13 @@ +require qt4-tools-native.inc + +PR = "${INC_PR}.0" + +# Find the g++.conf/linux.conf in the right directory. +FILESPATHPKG =. "qt-${PV}:" + +EXTRA_OECONF += " -no-fast -silent -no-rpath" + +TOBUILD := "src/tools/bootstrap ${TOBUILD}" + +SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7" +SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a" diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc new file mode 100644 index 000000000..f273c9fab --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc @@ -0,0 +1,111 @@ +DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x" +DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-tools-native" +SECTION = "libs" +HOMEPAGE = "http://qt.nokia.com" +PRIORITY = "optional" +LICENSE = "LGPLv2.1 | GPLv3" + +INC_PR = "r3" + +FILESPATHPKG =. "qt-${PV}:" +inherit nativesdk qmake2 + +SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \ + file://configure-lflags.patch \ + file://compile.test-lflags.patch \ + file://qt-config.patch \ + file://qmake-exists-check.patch \ + file://configure-paths.patch \ + file://g++.conf \ + file://linux.conf" + +S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" + +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ + file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ + file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" + +# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1" +EXTRA_OECONF = "-prefix ${prefix} \ + -qt-libjpeg -qt-gif -system-zlib \ + -no-libjpeg -no-libpng -no-libmng -no-libtiff \ + -no-accessibility \ + -no-cups \ + -no-exceptions \ + -no-nas-sound \ + -no-nis -no-openssl \ + -verbose -release -fast -static \ + -platform ${TARGET_OS}-oe-g++ \ + -xplatform ${TARGET_OS}-oe-g++ \ + -embedded -no-freetype -no-glib -no-iconv \ + -qt3support \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/freetype2 \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \ + -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++/${TARGET_SYS} \ + -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/lib \ + -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib" + +# yank default -e, otherwise we get the following error: +# moc_qbuffer.cpp: No such file or directory +EXTRA_OEMAKE = " " + +do_configure() { + if [ ! -e bin/qmake ]; then + ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake + fi + + if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then + ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++ + fi + + cp ../g++.conf mkspecs/common + cp ../linux.conf mkspecs/common + + (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" +} + +TOBUILD = "\ + src/tools/bootstrap \ + src/tools/moc \ + src/corelib \ + src/sql \ + src/dbus \ + src/qt3support \ + src/xml \ + src/tools/uic \ + src/tools/rcc \ + src/network \ + src/gui \ + src/tools/uic3 \ + tools/linguist/lrelease \ + tools/linguist/lupdate \ + tools/qdbus \ +" + +do_compile() { + for i in ${TOBUILD}; do + cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}" + done +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 bin/qmake ${D}${bindir}/qmake2 + for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do + install -m 0755 bin/${i} ${D}${bindir}/${i}4 + done + + (cd ${D}${bindir}; \ + ln -s qmake2 qmake; \ + for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \ + ln -s ${i}4 ${i}; \ + done) + + # make a symbolic link to mkspecs for compatibility with Nokia's SDK + # and QTCreator + (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;) +} + diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb new file mode 100644 index 000000000..d64542b5f --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb @@ -0,0 +1,6 @@ +require qt4-tools-nativesdk.inc + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072" +SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768" diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb new file mode 100644 index 000000000..091a53927 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb @@ -0,0 +1,6 @@ +require qt4-tools-nativesdk.inc + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7" +SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a" diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc b/meta/recipes-qt/qt4/qt4-x11-free.inc index 22eef7c0e..057a129ec 100644 --- a/meta/recipes-qt/qt4/qt4-x11-free.inc +++ b/meta/recipes-qt/qt4/qt4-x11-free.inc @@ -1,9 +1,13 @@ require qt4.inc +DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version." +HOMEPAGE = "http://qt.nokia.com" SECTION = "x11/libs" PRIORITY = "optional" DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor" +INC_PR = "r21" + QT_GLFLAGS ?= "-no-opengl" QT_GLFLAGS_qemux86 = "-opengl" QT_GLFLAGS_emenlow = "-opengl" @@ -11,7 +15,6 @@ QT_GLFLAGS_atom-pc = "-opengl" QT_CONFIG_FLAGS += "-no-xinerama -no-xkb ${QT_GLFLAGS}" QT_BASE_NAME ?= "qt4" QT_BASE_LIB ?= "libqt" -QT_DIR_NAME = "qt4" -QT_LIBINFIX = "" -inherit qmake2 +inherit qt4x11 + diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb index 0a03e9b5a..8cf544925 100644 --- a/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb +++ b/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb @@ -1,9 +1,6 @@ +require qt-${PV}.inc require qt4-x11-free.inc -require qt-4.6.3.inc -PR = "r1" +PR = "${INC_PR}.0" QT_CONFIG_FLAGS += " -xrandr " - -SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072" -SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768" diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb new file mode 100644 index 000000000..75c6314e7 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb @@ -0,0 +1,12 @@ +require qt4-x11-free.inc +require qt-${PV}.inc + +PR = "${INC_PR}.1" + +QT_CONFIG_FLAGS_append_armv6 = " -no-neon " + +QT_CONFIG_FLAGS += " \ + -no-embedded \ + -xrandr \ + -x11" + diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc index 16d5bebd3..de8cb691e 100644 --- a/meta/recipes-qt/qt4/qt4.inc +++ b/meta/recipes-qt/qt4/qt4.inc @@ -1,15 +1,20 @@ -DESCRIPTION = "Qt is a comprehensive cross-platform C++ application framework" -HOMEPAGE = "http://qt.nokia.com" +inherit qmake_base DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3" -inherit qmake_base +require qt4_arch.inc +QT_ARCH := "${@qt_arch(d)}" +QT_ENDIAN = "${@qt_endian(d)}" -QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \ - -shared -no-nas-sound -no-sm -no-nis \ +QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm" +QT_DISTRO_FLAGS_poky-lsb = "-sm" + +QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \ + -shared -no-nas-sound -no-nis \ -qt-gif -system-libjpeg -system-libpng -system-zlib \ -no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -plugin-sql-sqlite \ - -no-pch -dbus -stl -glib -phonon -webkit" + -no-pch -qdbus -stl -glib -phonon -webkit \ + ${QT_DISTRO_FLAGS} " EXTRA_OEMAKE = "-e" @@ -22,7 +27,7 @@ EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \ export QT_CONF_PATH="${WORKDIR}/qt.conf" # Library packages -QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices" +QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices QtDeclarative" QT_EXTRA_LIBS = "pvrQWSWSEGL" @@ -33,7 +38,7 @@ python __anonymous () { dev_packages = [] dbg_packages = [] for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split(): - pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4" + pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4" # NOTE: the headers for QtAssistantClient are different incname = name.replace("QtAssistantClient", "QtAssistant") bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d) @@ -51,7 +56,7 @@ python __anonymous () { dbg_packages.append("%s-dbg" % name) for name in bb.data.getVar("QT_EXTRA_LIBS", d, 1).split(): - pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4" + pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4" bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals(), d) bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl ${libdir}/lib%(name)s.a @@ -87,6 +92,8 @@ OTHER_PACKAGES = "\ ${QT_BASE_NAME}-makeqpf \ ${QT_BASE_NAME}-mkspecs \ ${QT_BASE_NAME}-pixeltool \ + ${QT_BASE_NAME}-qmlviewer \ + ${QT_BASE_NAME}-xmlpatterns \ ${QT_BASE_NAME}-qt3to4" PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}" @@ -106,8 +113,19 @@ 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*" FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator" FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator" FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig" @@ -119,7 +137,7 @@ FILES_${QT_BASE_NAME}-demos-dbg = "${bindir}/.debug/qtdemo* ${bindir} FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*" FILES_${QT_BASE_NAME}-designer-dbg = "${bindir}/.debug/*designer*" FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*" -FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug" +FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/*/.debug/* ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/.debug/*" FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf" FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf" FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa" @@ -131,28 +149,19 @@ FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool" FILES_${QT_BASE_NAME}-pixeltool-dbg = "${bindir}/.debug/pixeltool" FILES_${QT_BASE_NAME}-qt3to4 = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml" FILES_${QT_BASE_NAME}-qt3to4-dbg = "${bindir}/.debug/qt3to4" +FILES_${QT_BASE_NAME}-qmlviewer = "${bindir}/qmlviewer" +FILES_${QT_BASE_NAME}-qmlviewer-dbg = "${bindir}/.debug/qmlviewer" FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf" FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf" FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*" +FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*" +FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*" -ARM_INSTRUCTION_SET = "arm" - -set_arch() { - case ${TARGET_ARCH} in - arm*) QT_ARCH=arm ;; - i*86*) QT_ARCH=i386 ;; - mips*) QT_ARCH=mips ;; - powerpc*) QT_ARCH=powerpc ;; - x86_64*) QT_ARCH=x86_64 ;; - esac -} do_configure() { unset QMAKESPEC unset QTDIR - set_arch - if [ ! -e bin/qmake ]; then ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake fi @@ -192,30 +201,22 @@ do_configure() { -demosdir ${bindir}/${QT_DIR_NAME}/demos \ -platform ${TARGET_OS}-oe-g++ \ -xplatform ${TARGET_OS}-oe-g++ \ + ${QT_ENDIAN} \ -crossarch ${QT_ARCH} \ ${QT_CONFIG_FLAGS} -no-fast \ -L${STAGING_LIBDIR} -I${STAGING_INCDIR} \ -I${STAGING_INCDIR}/freetype2 } -do_compile() { - unset CFLAGS CXXFLAGS - install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc - install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc - install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic - - oe_runmake ${EXTRA_ENV} -} - python populate_packages_prepend() { translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d) translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d) do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' ) - + phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d) phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d) do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' ) - + # Package all the plugins and their -dbg version and create a meta package import os def qtopia_split(path, name, glob): @@ -227,7 +228,7 @@ python populate_packages_prepend() { if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)): bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir) return - + plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d) dev_packages = [] dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg)) @@ -257,6 +258,7 @@ python populate_packages_prepend() { qtopia_split('script', 'script', '^libqtscript(.*)\.so$') qtopia_split('styles', 'style', '^libq(.*)\.so$') qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$') + qtopia_split('bearer', 'bearer', '^libq(.*)bearer\.so$') } do_install() { @@ -285,7 +287,7 @@ do_install() { -e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \ ${D}${libdir}/pkgconfig/*.pc for name in ${QT_LIB_NAMES}; do - sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc + sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc done # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here: @@ -297,4 +299,14 @@ do_install() { install -d ${D}/${libdir}/fonts touch ${D}/${libdir}/fonts/fontdir + + install -d ${D}${bindir} + for i in rcc uic moc ; do + install -m 0755 ${S}/bin/$i ${D}${bindir}/ + done + + #Append an E to the qtdemo file + if [ -n "${QT_LIBINFIX}" ] ; then + mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX} + fi } diff --git a/meta/recipes-qt/qt4/qt4_arch.inc b/meta/recipes-qt/qt4/qt4_arch.inc new file mode 100644 index 000000000..7f4be63bc --- /dev/null +++ b/meta/recipes-qt/qt4/qt4_arch.inc @@ -0,0 +1,25 @@ +inherit siteinfo + +ARM_INSTRUCTION_SET = "arm" + +def qt_arch(d): + import bb, re + arch = bb.data.getVar('TARGET_ARCH', d, 1) + if re.match("^i.86$", arch): + arch = "i386" + elif re.match("^arm.*", arch): + arch = "arm" + elif arch == "x86_64": + arch = "x86" + elif arch == "mipsel": + arch = "mips" + return arch + +def qt_endian(d): + import bb + if bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "le": + return "-little-endian" + elif bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "be": + return "-big-endian" + else: + assert False diff --git a/meta/recipes-qt/tasks/task-poky-qt.bb b/meta/recipes-qt/tasks/task-poky-qt.bb index e82e27758..da960db5b 100644 --- a/meta/recipes-qt/tasks/task-poky-qt.bb +++ b/meta/recipes-qt/tasks/task-poky-qt.bb @@ -6,7 +6,7 @@ DESCRIPTION = "Qt Tasks for Poky" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -PR = "r2" +PR = "r3" PACKAGES = "\ task-poky-qt-demos \ @@ -16,7 +16,7 @@ PACKAGES = "\ ALLOW_EMPTY = "1" -QTDEMOS ?= "quicky ${COMMERCIAL_QT}" -QTDEMOS_disabled = "fotowall" +QTDEMOS ?= "quicky ${COMMERCIAL_QT} fotowall" +#QTDEMOS_disabled = "fotowall" RDEPENDS_task-poky-qt-demos = "${QTDEMOS}" diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-host.bb b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb new file mode 100644 index 000000000..2ab6ccf6b --- /dev/null +++ b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb @@ -0,0 +1,7 @@ +require recipes-core/tasks/task-sdk-host.bb + +DESCRIPTION = "Host packages for Qt Embedded SDK" +LICENSE = "MIT" +ALLOW_EMPTY = "1" + +RDEPENDS_${PN} += "qt4-tools-nativesdk" diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-target.bb b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb new file mode 100644 index 000000000..98fe47794 --- /dev/null +++ b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb @@ -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 \ + " + |