From c2ddf663e22937cb64a7fb343892806d473b978f Mon Sep 17 00:00:00 2001 From: Johannes Pointner Date: Wed, 10 Aug 2016 16:50:37 +0200 Subject: qtbase: Fix build with QT_NO_OPENGL This fixes the build of qtbase without opengl support Signed-off-by: Johannes Pointner Signed-off-by: Martin Jansa --- .../qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch | 33 ++++++++++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 1 + 2 files changed, 34 insertions(+) create mode 100644 recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch diff --git a/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch b/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch new file mode 100644 index 00000000..7b681dce --- /dev/null +++ b/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch @@ -0,0 +1,33 @@ +From 2e176e3d10535e4fdaa6ecc919538f66f4a2930d Mon Sep 17 00:00:00 2001 +From: Andy Nichols +Date: Mon, 11 Jul 2016 09:18:33 +0200 +Subject: QWidgetBackingStore: Fix build with QT_NO_OPENGL + +A define moved out of the #ifndef QT_NO_OPENGL scope. + +Change-Id: I41c943b97f165b5171581e01f3a4b2d3fb25747e +Reviewed-by: Laszlo Agocs + +Upstream-Status: Backport +Signed-off-by: Johannes Pointner +--- + src/widgets/kernel/qwidgetbackingstore.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp +index 32aabce..242e625 100644 +--- a/src/widgets/kernel/qwidgetbackingstore.cpp ++++ b/src/widgets/kernel/qwidgetbackingstore.cpp +@@ -67,7 +67,9 @@ QT_BEGIN_NAMESPACE + + extern QRegion qt_dirtyRegion(QWidget *); + ++#ifndef QT_NO_OPENGL + Q_GLOBAL_STATIC(QPlatformTextureList, qt_dummy_platformTextureList) ++#endif + + /** + * Flushes the contents of the \a backingStore into the screen area of \a widget. +-- +cgit v1.0-4-g1e03 + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index f69c33cb..c82195db 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -26,6 +26,7 @@ SRC_URI += "\ file://0008-configure-paths-for-target-qmake-properly.patch \ file://0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch \ file://0010-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ + file://0013-Fix-build-with-QT_NO_OPENGL.patch \ " DEPENDS += "qtbase-native" -- cgit v1.2.3 From 5041f270892c24633d44139ff2679ec0ee9f270f Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Tue, 23 Aug 2016 18:15:36 +1000 Subject: qtbase: avoid QA warning if PACKAGECONFIG_RELEASE = "debug" If PACKAGECONFIG_RELEASE = "debug", an invalid PACKAGECONFIG QA warning is shown. To avoid this, we add dummy debug PACKAGECONFIG. Signed-off-by: Jonathan Liu Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtbase_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index c82195db..ee41db54 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -68,6 +68,7 @@ PACKAGECONFIG ?= " \ " PACKAGECONFIG[release] = "-release,-debug" +PACKAGECONFIG[debug] = "" PACKAGECONFIG[developer] = "-developer-build" PACKAGECONFIG[sm] = "-sm,-no-sm" PACKAGECONFIG[tests] = "-make tests,-nomake tests" -- cgit v1.2.3 From 3c279156a0640dddc49279ac9738decfe28dcd44 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Thu, 25 Aug 2016 12:29:09 +0300 Subject: qtvirtualkeyboard: add PACKAGECONFIG options Add all available configurations to PACKAGECONFIGs. Signed-off-by: Samuli Piippo Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtvirtualkeyboard_git.bb | 42 ++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb index ff478f3f..7e2f445e 100644 --- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb +++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb @@ -1,11 +1,51 @@ require qt5.inc require qt5-git.inc -LICENSE = "GPL-3.0" +LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " +# To enabled Nuance T9 Write support, you need to provide the licensed components +# and enable "t9write" in PACKAGECONFIG. This can be done in a separate .bbappend file. +# for example: +#T9WRITEPACKAGE = "${HOME}/Downloads/zzEval_QT_T9Write_Alpha_v750_20150916.zip" +#SRC_URI += "file://${T9WRITEPACKAGE};subdir=git/src/virtualkeyboard/3rdparty/t9write" +#PACKAGECONFIG = "t9write lang-all" + +PACKAGECONFIG ?= "lang-all lipi-toolkit" +PACKAGECONFIG[hunspell] = ",CONFIG+=disable-hunspell,hunspell" +PACKAGECONFIG[t9write] = "CONFIG+=t9write" +PACKAGECONFIG[lipi-toolkit] = "CONFIG+=lipi-toolkit" +PACKAGECONFIG[lang-all] = "CONFIG+=lang-all" +PACKAGECONFIG[lang-ar_AR] = "CONFIG+=lang-ar_AR" +PACKAGECONFIG[lang-da_DK] = "CONFIG+=lang-da_DK" +PACKAGECONFIG[lang-de_DE] = "CONFIG+=lang-de_DE" +PACKAGECONFIG[lang-en_GB] = "CONFIG+=lang-en_GB" +PACKAGECONFIG[lang-es_ES] = "CONFIG+=lang-es_ES" +PACKAGECONFIG[lang-fa_FA] = "CONFIG+=lang-fa_FA" +PACKAGECONFIG[lang-fi_FI] = "CONFIG+=lang-fi_FI" +PACKAGECONFIG[lang-fr_FR] = "CONFIG+=lang-fr_FR" +PACKAGECONFIG[lang-hi_IN] = "CONFIG+=lang-hi_IN" +PACKAGECONFIG[lang-it_IT] = "CONFIG+=lang-it_IT" +PACKAGECONFIG[lang-ja_JP] = "CONFIG+=lang-ja_JP" +PACKAGECONFIG[lang-ko_KR] = "CONFIG+=lang-ko_KR" +PACKAGECONFIG[lang-nb_NO] = "CONFIG+=lang-nb_NO" +PACKAGECONFIG[lang-pl_PL] = "CONFIG+=lang-pl_PL" +PACKAGECONFIG[lang-pt_PT] = "CONFIG+=lang-pt_PT" +PACKAGECONFIG[lang-ru_RU] = "CONFIG+=lang-ru_RU" +PACKAGECONFIG[lang-sv_SE] = "CONFIG+=lang-sv_SE" +PACKAGECONFIG[lang-zh_CN] = "CONFIG+=lang-zh_CN" +PACKAGECONFIG[lang-zh_TW] = "CONFIG+=lang-zh_TW" + +EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'CONFIG+=disable-desktop', d)}" + +PACKAGES += "${PN}-dictionaries" +RRECOMMENDS_${PN} += "${PN}-dictionaries" +FILES_${PN}-dictionaries = "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/*/*.dat" +FILES_${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit" + DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns" SRCREV = "626e78c9660cff063e1f9370538b5a424631571c" -- cgit v1.2.3 From 37a165badb89c4908cfbb535c784586481949a26 Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 29 Aug 2016 22:42:36 +1000 Subject: qtdeclarative: add upstream patch to fix QtQml crash with GCC 6 Signed-off-by: Jonathan Liu Signed-off-by: Martin Jansa --- ...crashes-in-QtQml-code-related-to-dead-sto.patch | 44 ++++++++++++++++++++++ recipes-qt/qt5/qtdeclarative_git.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 recipes-qt/qt5/qtdeclarative/0003-Workaround-crashes-in-QtQml-code-related-to-dead-sto.patch diff --git a/recipes-qt/qt5/qtdeclarative/0003-Workaround-crashes-in-QtQml-code-related-to-dead-sto.patch b/recipes-qt/qt5/qtdeclarative/0003-Workaround-crashes-in-QtQml-code-related-to-dead-sto.patch new file mode 100644 index 00000000..d3ee42ef --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative/0003-Workaround-crashes-in-QtQml-code-related-to-dead-sto.patch @@ -0,0 +1,44 @@ +From fcc2c95421710f98c7b2dec73e2c8b0d9164bc9b Mon Sep 17 00:00:00 2001 +From: Jonathan Liu +Date: Wed, 24 Aug 2016 11:18:37 +1000 +Subject: [PATCH] Workaround crashes in QtQml code related to dead-store + elimination + +When compiled in release mode with GCC 6, QtQml may crash. +This is because the C++ compiler is more aggressive about dead-store +elimination in situations where a memory store to a location precedes +the construction of an object at that memory location. + +The QV4::MemoryManager::allocate{Managed,Object} functions allocate +memory and write to it before the caller does a placement new to +construct an object in the same memory. The compiler considers these +writes before the constructor as "dead stores" and eliminates them. + +The -fno-lifetime-dse compiler flag is added to disable this more +aggressive dead-store eliminiation optimization. + +This is a temporary workaround until a proper solution is found. + +Upstream-Status: Accepted + +Task-number: QTBUG-55482 +Change-Id: I7dbae6e9e613e53ce5fb25957c449bc6657803b5 +Reviewed-by: Thiago Macieira +Signed-off-by: Jonathan Liu +--- + src/qml/qml.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/qml/qml.pro b/src/qml/qml.pro +index f4862a1..651afa6 100644 +--- a/src/qml/qml.pro ++++ b/src/qml/qml.pro +@@ -18,7 +18,7 @@ exists("qqml_enable_gcov") { + + greaterThan(QT_GCC_MAJOR_VERSION, 5) { + # Our code is bad. Temporary workaround. +- QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks ++ QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -fno-lifetime-dse + } + + QMAKE_DOCS = $$PWD/doc/qtqml.qdocconf diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 4a690cb9..5cc4caa1 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -19,6 +19,7 @@ DEPENDS += "qtbase" SRC_URI += " \ file://0001-qmltestexample-fix-link.patch \ file://0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch \ + file://0003-Workaround-crashes-in-QtQml-code-related-to-dead-sto.patch \ " EXTRA_OEMAKE += "QMAKE_SYNCQT=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt" -- cgit v1.2.3 From 20e3c35f9ce30dcd25fac773d2b63f43ac8668a1 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 10 Aug 2016 13:59:44 +0200 Subject: libconnman-qt5: move to recipes-connectivity and don't use MeeGo as prefix Signed-off-by: Martin Jansa --- ...eeGo-as-prefix-in-order-to-make-this-a-co.patch | 50 ++++++++++++++++++++++ .../libconnman-qt/libconnman-qt5_git.bb | 25 +++++++++++ recipes-qt/libconnman-qt/libconnman-qt5_git.bb | 23 ---------- 3 files changed, 75 insertions(+), 23 deletions(-) create mode 100644 recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch create mode 100644 recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb delete mode 100644 recipes-qt/libconnman-qt/libconnman-qt5_git.bb diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch new file mode 100644 index 00000000..75943db0 --- /dev/null +++ b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch @@ -0,0 +1,50 @@ +From 46b6456bc8995b8d6249fb008a538222d30716cd Mon Sep 17 00:00:00 2001 +From: Christophe Chapuis +Date: Tue, 26 Jan 2016 18:56:42 +0100 +Subject: [PATCH] Don't use MeeGo as prefix in order to make this a common + component + +Signed-off-by: Christophe Chapuis +--- + plugin/components.h | 2 +- + plugin/plugin.pro | 2 +- + plugin/qmldir | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/plugin/components.h b/plugin/components.h +index d4f2bcd..49b7ac2 100644 +--- a/plugin/components.h ++++ b/plugin/components.h +@@ -17,7 +17,7 @@ + class Components : public QQmlExtensionPlugin + { + Q_OBJECT +- Q_PLUGIN_METADATA(IID "MeeGo.Connman") ++ Q_PLUGIN_METADATA(IID "Connman") + + public: + void registerTypes(const char *uri); +diff --git a/plugin/plugin.pro b/plugin/plugin.pro +index 31d9076..da47ad9 100644 +--- a/plugin/plugin.pro ++++ b/plugin/plugin.pro +@@ -17,7 +17,7 @@ LIBS += -l$$qtLibraryTarget(connman-$$TARGET_SUFFIX) + QT += qml + OTHER_FILES += plugin.json qmldirs + +-MODULENAME = MeeGo/Connman ++MODULENAME = Connman + TARGETPATH = $$[QT_INSTALL_QML]/$$MODULENAME + + target.path = $$TARGETPATH +diff --git a/plugin/qmldir b/plugin/qmldir +index 5db82b7..de56688 100644 +--- a/plugin/qmldir ++++ b/plugin/qmldir +@@ -1,2 +1,2 @@ +-module MeeGo.Connman ++module Connman + plugin ConnmanQtDeclarative +-- +1.8.1.2 + diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb new file mode 100644 index 00000000..3ceb3558 --- /dev/null +++ b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb @@ -0,0 +1,25 @@ +require recipes-qt/qt5/qt5.inc + +SUMMARY = "Qt Library for ConnMan" +HOMEPAGE = "https://git.merproject.org/mer-core/libconnman-qt" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://libconnman-qt/clockmodel.h;endline=8;md5=ea9f724050803f15d2d900ce3c5dac88" +DEPENDS += "qtbase qtdeclarative" +PV = "1.0.98+git${SRCPV}" + +SRCREV = "8d4580a55ca02b84fc3db374c6530e39c94e0d92" +SRC_URI = "git://git.merproject.org/mer-core/libconnman-qt.git;protocol=https \ + file://0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch \ +" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +RDEPENDS_${PN} += "connman" + +do_install_append() { + if ls ${D}${libdir}/pkgconfig/connman-qt5.pc >/dev/null 2>/dev/null; then + sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/connman-qt5.pc + fi +} diff --git a/recipes-qt/libconnman-qt/libconnman-qt5_git.bb b/recipes-qt/libconnman-qt/libconnman-qt5_git.bb deleted file mode 100644 index fe86eb56..00000000 --- a/recipes-qt/libconnman-qt/libconnman-qt5_git.bb +++ /dev/null @@ -1,23 +0,0 @@ -require recipes-qt/qt5/qt5.inc - -SUMMARY = "Qt Library for ConnMan" -HOMEPAGE = "https://git.merproject.org/mer-core/libconnman-qt" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://libconnman-qt/clockmodel.h;endline=8;md5=ea9f724050803f15d2d900ce3c5dac88" -DEPENDS += "qtbase qtdeclarative" -PV = "1.0.98+git${SRCPV}" - -SRCREV = "8d4580a55ca02b84fc3db374c6530e39c94e0d92" -SRC_URI = "git://git.merproject.org/mer-core/libconnman-qt.git;protocol=https" - -S = "${WORKDIR}/git" - -inherit pkgconfig - -RDEPENDS_${PN} += "connman" - -do_install_append() { - if ls ${D}${libdir}/pkgconfig/connman-qt5.pc >/dev/null 2>/dev/null; then - sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/connman-qt5.pc - fi -} -- cgit v1.2.3 From aa413ccc067000459795854ed74993068b36d64c Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 10 Aug 2016 14:05:14 +0200 Subject: libqofono: import from meta-luneos layer * we alreadh have libconnman-qt5 here, so it makes sense to import libqofono as well Signed-off-by: Martin Jansa --- recipes-connectivity/libqofono/libqofono_git.bb | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 recipes-connectivity/libqofono/libqofono_git.bb diff --git a/recipes-connectivity/libqofono/libqofono_git.bb b/recipes-connectivity/libqofono/libqofono_git.bb new file mode 100644 index 00000000..88df1351 --- /dev/null +++ b/recipes-connectivity/libqofono/libqofono_git.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "Qt 5 bindings for the ofono dbus API" +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS += "qtbase qtdeclarative" + +SRCREV = "54435de3bed0b454ef4ea3ea32c7234fcd9f24c6" +SRC_URI = "git://git.merproject.org/mer-core/libqofono.git" +S = "${WORKDIR}/git" + +PV = "0.87+gitr${SRCPV}" + +inherit qmake5 + +do_install_append() { + if ls ${D}${libdir}/pkgconfig/qofono-qt5.pc >/dev/null 2>/dev/null; then + sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/qofono-qt5.pc + fi +} + +PACKAGES += "${PN}-tests" + +FILES_${PN}-dbg += " \ + /lib/libqofono-qt5/tests/.debug \ + ${libdir}/qt5/qml/MeeGo/QOfono/.debug \ +" +FILES_${PN}-tests = " \ + ${libdir}/libqofono-qt5/tests/tst_* \ + /opt/tests/libqofono-qt5 \ +" +FILES_${PN} += " \ + ${libdir}/qt5/qml/MeeGo/QOfono/qmldir \ + ${libdir}/qt5/qml/MeeGo/QOfono/libQOfonoQtDeclarative.so \ +" +FILES_${PN}-dev += " \ + ${datadir}/qt5/mkspecs \ + ${libdir}/libqofono-qt5.prl \ +" -- cgit v1.2.3 From 4656ab3636c099906989e0d923e1ac7a8ffe7b31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= Date: Fri, 2 Sep 2016 16:58:37 +0200 Subject: qt5-opengles2-test: Add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This brings back the qt5-opengles2-test. I cloned the vanished repository, as it is a handy and small test application. We use it for our embedded boards. Signed-off-by: Stefan Müller-Klieser Signed-off-by: Martin Jansa --- recipes-qt/examples/qt5-opengles2-test_git.bb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 recipes-qt/examples/qt5-opengles2-test_git.bb diff --git a/recipes-qt/examples/qt5-opengles2-test_git.bb b/recipes-qt/examples/qt5-opengles2-test_git.bb new file mode 100644 index 00000000..5da25dc9 --- /dev/null +++ b/recipes-qt/examples/qt5-opengles2-test_git.bb @@ -0,0 +1,19 @@ +SUMMARY = "Qt5 OpenGL ES 2.0 Test Application" +DESCRIPTION = "This application is used to test OpenGL ES 2.0 rendering \ +in a simple QWindow, plus multi-touch input, window orientation, window \ +focus handling and some other game-related features." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/main.cpp;beginline=1;endline=26;md5=93b83ece006c9e76b9fca80c3aecb169" + +PV = "1.0.4+gitr${SRCPV}" + +DEPENDS = "qtbase qtsensors" + +# Depends on gles2 enabled and that's not default configuration +EXCLUDE_FROM_WORLD = "1" + +SRC_URI = "git://github.com/smk-embedded/qt5-opengles2-test.git" +SRCREV = "938390507054ed1258345f70ed55770d2fe56176" +S = "${WORKDIR}/git" + +inherit qmake5 -- cgit v1.2.3