From 05e05db305873e35b03cd1adf670e133c1799be1 Mon Sep 17 00:00:00 2001 From: Julien Gueytat Date: Wed, 27 Apr 2016 19:45:44 +0200 Subject: qtbase: Reorder EGL libraries from pkgconfig and defaults: https://bugreports.qt.io/browse/QTBUG-50838 https://bugreports.qt.io/browse/QTBUG-52739 The modification is the less intrusive possible. It only swaps LIBS and QMAKE_LIBS_EGL. The reason behind that was that for the RaspberryPi: * -lEGL -GLESv2 can link * -lGLESv2 -lEGL can't Adding -lEGL -lGLESv2 and then -lEGL gives -lGLESv2 -lEGL ... the libraries swaped. Signed-off-by: Julien Gueytat Signed-off-by: Martin Jansa --- ...EGL-libraries-from-pkgconfig-and-defaults.patch | 98 ++++++++++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 1 + 2 files changed, 99 insertions(+) create mode 100644 recipes-qt/qt5/qtbase/0011-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtbase/0011-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch b/recipes-qt/qt5/qtbase/0011-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch new file mode 100644 index 00000000..3c0b9e61 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0011-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch @@ -0,0 +1,98 @@ +From d623d2c2ed49c4dc57fb0dde1faab20976dfc3dc Mon Sep 17 00:00:00 2001 +From: Julien Gueytat +Date: Wed, 27 Apr 2016 19:24:39 +0200 +Subject: [PATCH] Reorder EGL libraries from pkgconfig and defaults: + +https://bugreports.qt.io/browse/QTBUG-50838 +https://bugreports.qt.io/browse/QTBUG-52739 + +The modification is the less intrusive possible. It only swaps LIBS and QMAKE_LIBS_EGL. +The reason behind that was that for the RaspberryPi: + * -lEGL -GLESv2 can link + * -lGLESv2 -lEGL can't + +Adding -lEGL -lGLESv2 and then -lEGL gives -lGLESv2 -lEGL ... the libraries swaped. + +Signed-off-by: Julien Gueytat +--- + config.tests/qpa/egl/egl.pro | 5 ++++- + config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | 12 +++++++----- + configure | 16 ++++++++++++++-- + 3 files changed, 25 insertions(+), 8 deletions(-) + +diff --git a/config.tests/qpa/egl/egl.pro b/config.tests/qpa/egl/egl.pro +index b5396da..828b674 100644 +--- a/config.tests/qpa/egl/egl.pro ++++ b/config.tests/qpa/egl/egl.pro +@@ -5,6 +5,9 @@ for(p, QMAKE_LIBDIR_EGL) { + } + + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL +-!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL ++ ++BACKUP_LIBS = $$LIBS ++!isEmpty(QMAKE_LIBS_EGL): LIBS = $$QMAKE_LIBS_EGL ++LIBS += $$BACKUP_LIBS + + CONFIG -= qt +diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro +index d8b1c3e..06f7241 100644 +--- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro ++++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro +@@ -1,11 +1,13 @@ + SOURCES = eglfs-brcm.cpp + +-CONFIG -= qt +- +-INCLUDEPATH += $$QMAKE_INCDIR_EGL +- + for(p, QMAKE_LIBDIR_EGL) { + LIBS += -L$$p + } + +-LIBS += -lEGL -lGLESv2 -lbcm_host ++INCLUDEPATH += $$QMAKE_INCDIR_EGL ++ ++BACKUP_LIBS = $$LIBS ++LIBS = -lEGL -lGLESv2 -lbcm_host ++LIBS += $$BACKUP_LIBS ++ ++CONFIG -= qt +diff --git a/configure b/configure +index 2e99d39..072838b 100755 +--- a/configure ++++ b/configure +@@ -5803,7 +5803,9 @@ if [ "$CFG_EGL" != "no" ]; then + QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL" + QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL" + QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`" +- fi # detect EGL support ++ fi ++ ++ # detect EGL support + if compileTest qpa/egl "EGL" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then + CFG_EGL=yes + if compileTest qpa/egl-x11 "EGL-X11" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then +@@ -5826,8 +5828,18 @@ fi + if [ "$CFG_EGLFS" != "no" ]; then + if [ "$XPLATFORM_QNX" = "no" ] && [ "$CFG_OPENGL" != "no" ]; then + CFG_EGLFS="$CFG_EGL" ++ ++ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then ++ QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'` ++ QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null` ++ QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null` ++ QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL" ++ QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL" ++ QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`" ++ fi ++ + # Detect eglfs backends. +- if compileTest qpa/eglfs-brcm "eglfs-brcm"; then ++ if compileTest qpa/eglfs-brcm "eglfs-brcm" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then + CFG_EGLFS_BRCM=yes + else + CFG_EGLFS_BRCM=no +-- +1.9.1 + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 766424e9..ee926f8f 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -20,6 +20,7 @@ SRC_URI += "\ file://0006-QOpenGLPaintDevice-sub-area-support.patch \ file://0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch \ file://0008-configure-paths-for-target-qmake-properly.patch \ + file://0011-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch \ " DEPENDS += "qtbase-native" -- cgit v1.2.3-54-g00ecf From cbd9331b7acc9b1b53043077993f94bcb9e3f38a Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Mon, 9 May 2016 11:33:40 +0300 Subject: qt5: Allow disabling SHA validation for branch Qt releases are done from a release branch (5.x.x), which is later merged back to a stable branch (5.x) and then removed. When a recipe is updated to use the released SHA from the release branch, it will eventually break when the release branch is removed. This happens because bitbake tries to validate that given SHA is found from the given branch. Add additional variable that can be used to disable the SHA check when branch is known to be later removed, but SHA remains valid. Signed-off-by: Samuli Piippo Signed-off-by: Martin Jansa --- recipes-qt/qt5/qt5-git.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc index 8f88b6d4..ad0abe88 100644 --- a/recipes-qt/qt5/qt5-git.inc +++ b/recipes-qt/qt5/qt5-git.inc @@ -3,10 +3,11 @@ QT_MODULE ?= "${BPN}" QT_MODULE_BRANCH ?= "5.7" +QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH}" # each module needs to define valid SRCREV SRC_URI = " \ - ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};branch=${QT_MODULE_BRANCH};protocol=${QT_GIT_PROTOCOL} \ + ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \ " S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 05103827d50ec218954dee3866ec40bee9ec59af Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Wed, 11 May 2016 15:53:14 +0200 Subject: qtbase: add patch to make Qt5Config modules behave better with cmake builds Currently if a project if using the cmake bbclass and the CMakeLists.txt file uses find_package to find Qt5 and error like this is produced: | The imported target "Qt5::Core" references the file | | "/qmake" | | but this file does not exist. Possible reasons include: This is because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is only set in the cmake_qt5 bblcass. To make it work better in that case the Qt5Config files check if OE_QMAKE_PATH_EXTERNAL_HOST_BINS is defined and bail out if not. For CMake this is the same as Qt5 wasn't found. Signed-off-by: Pascal Bach Signed-off-by: Martin Jansa --- ...-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch | 67 ++++++++++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 1 + 2 files changed, 68 insertions(+) create mode 100644 recipes-qt/qt5/qtbase/0011-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtbase/0011-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/recipes-qt/qt5/qtbase/0011-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch new file mode 100644 index 00000000..7a24459c --- /dev/null +++ b/recipes-qt/qt5/qtbase/0011-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch @@ -0,0 +1,67 @@ +From f5a949e17aa8b37491fbc414c38557c9920fa1e5 Mon Sep 17 00:00:00 2001 +From: Pascal Bach +Date: Wed, 11 May 2016 15:20:41 +0200 +Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS + isn't set + +This prevents errors like: + +| The imported target "Qt5::Core" references the file +| +| "/qmake" +| +| but this file does not exist. Possible reasons include: + +Which happen if CMake is used without setting OE_QMAKE_PATH_EXTERNAL_HOST_BINS. +To achieve this a check for OE_QMAKE_PATH_EXTERNAL_HOST_BINS is added to each Qt5*Config.cmake +file. And in the case where the variable is not set we just return which is basically +equal to telling CMake that Qt5 wasn't found. + +Upstream-Status: Pending + The patch only makes sense in connection with other patches included here. + Specifically this are: + - 0003-Add-external-hostbindir-option.patch + - 0010-Add-external-hostbindir-option-for-native-sdk.patch + +Signed-off-by: Pascal Bach + +--- + mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 5 +++++ + src/corelib/Qt5Config.cmake.in | 5 +++++ + 2 files changed, 10 insertions(+) + +diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +index d2358ca..feb73c0 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -9,6 +9,11 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) + endif() + !!ENDIF + ++if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) ++ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") ++ return() ++endif() ++ + !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) + !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in +index a872d0e..233d663 100644 +--- a/src/corelib/Qt5Config.cmake.in ++++ b/src/corelib/Qt5Config.cmake.in +@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 2.8.9) + message(FATAL_ERROR \"Qt5 requires at least CMake version 2.8.9\") + endif() + ++if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS) ++ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined") ++ return() ++endif() ++ + if (NOT Qt5_FIND_COMPONENTS) + set(Qt5_NOT_FOUND_MESSAGE \"The Qt5 package requires at least one component\") + set(Qt5_FOUND False) +-- +2.1.4 + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index ee926f8f..72ef3ae7 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -21,6 +21,7 @@ SRC_URI += "\ file://0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch \ file://0008-configure-paths-for-target-qmake-properly.patch \ file://0011-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch \ + file://0011-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ " DEPENDS += "qtbase-native" -- cgit v1.2.3-54-g00ecf From 78c0b636f772ccd3ec7661add0186fa1d0dfff4f Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 16 May 2016 10:52:38 +1000 Subject: qtcharts: add recipe Qt Charts module was added in Qt 5.7. Signed-off-by: Jonathan Liu Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtcharts_git.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 recipes-qt/qt5/qtcharts_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb new file mode 100644 index 00000000..5aaddc96 --- /dev/null +++ b/recipes-qt/qt5/qtcharts_git.bb @@ -0,0 +1,11 @@ +require qt5.inc +require qt5-git.inc + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ +" + +DEPENDS += "qtbase qtdeclarative" + +SRCREV = "8a781841812a42ed728a76c0dcdcaa6196eac44e" -- cgit v1.2.3-54-g00ecf From 9da1ed9757511444f13dd51c90fd8ab9832d38cb Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 16 May 2016 10:53:47 +1000 Subject: qtdatavis3d: add recipe Qt Data Visualization module was added in Qt 5.7. Signed-off-by: Jonathan Liu Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtdatavis3d_git.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 recipes-qt/qt5/qtdatavis3d_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb new file mode 100644 index 00000000..ccdd1b3e --- /dev/null +++ b/recipes-qt/qt5/qtdatavis3d_git.bb @@ -0,0 +1,11 @@ +require qt5.inc +require qt5-git.inc + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ +" + +DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns" + +SRCREV = "2f6074fde0ec050c77f881e0d2ce265fa93a0fcc" -- cgit v1.2.3-54-g00ecf From f91d2c5d370a65b424e0781a08f858eb42af247b Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 16 May 2016 10:56:59 +1000 Subject: qtdeclarative-render2d: add recipe Qt Quick 2D Renderer module was added in Qt 5.7. Signed-off-by: Jonathan Liu Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtdeclarative-render2d_git.bb | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 recipes-qt/qt5/qtdeclarative-render2d_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtdeclarative-render2d_git.bb b/recipes-qt/qt5/qtdeclarative-render2d_git.bb new file mode 100644 index 00000000..cb2ee8bb --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative-render2d_git.bb @@ -0,0 +1,12 @@ +require qt5.inc +require qt5-git.inc + +LICENSE = "GPL-3.0 | The-Qt-Company-TPLA-2.4" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE.PREVIEW.COMMERCIAL;md5=c458c2ae1b463cca5219eaee54f6287e \ +" + +DEPENDS += "qtbase qtdeclarative" + +SRCREV = "13a6c51f26128015c0a3c335bdae676b46df6ed6" -- cgit v1.2.3-54-g00ecf From ee697dda792764d491a77d8dd3709e743bbe5107 Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 16 May 2016 10:58:23 +1000 Subject: qtvirtualkeyboard: add recipe Qt Virtual Keyboard module was added in Qt 5.7. Signed-off-by: Jonathan Liu Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtvirtualkeyboard_git.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 recipes-qt/qt5/qtvirtualkeyboard_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb new file mode 100644 index 00000000..a8fcb9c3 --- /dev/null +++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb @@ -0,0 +1,11 @@ +require qt5.inc +require qt5-git.inc + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ +" + +DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns" + +SRCREV = "42344a4b21b95bce913d60267d554ac17e120af1" -- cgit v1.2.3-54-g00ecf