aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2016-11-16 22:24:01 +0200
committerSamuli Piippo <samuli.piippo@qt.io>2016-11-16 22:27:09 +0200
commit4e113c7b8e0a7512d2f0ad306decc8b4885ef807 (patch)
tree02e337512c2b061d6d3e9b8523491d3441556237
parent8c7e11523eb0bc1044e79593a1ffa823867ff567 (diff)
parent81fb771c3f31110e50eebcb004809361fdb28194 (diff)
Merge remote-tracking branch 'qtyocto/upstream/master' into 5.8
Conflicts: classes/qmake5_base.bbclass recipes-qt/qt5/nativesdk-qtbase_git.bb recipes-qt/qt5/qtbase_git.bb recipes-qt/qt5/qtwayland-native_git.bb recipes-qt/qt5/qtwayland_git.bb Change-Id: I4d383e069efb8f64b7469e414ab368c9ca0ff1ad
-rw-r--r--classes/qmake5_base.bbclass2
-rw-r--r--conf/layer.conf9
-rw-r--r--recipes-qt/examples/qt5everywheredemo_1.0.bb2
-rw-r--r--recipes-qt/qt5/qt5-creator_3.5.1.bb6
-rw-r--r--recipes-qt/qt5/qtdeclarative_git.bb4
-rw-r--r--recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch103
-rw-r--r--recipes-qt/qt5/qtmultimedia_git.bb1
-rw-r--r--recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch117
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb5
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb1
10 files changed, 242 insertions, 8 deletions
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass
index fa1bc563..3da8e655 100644
--- a/classes/qmake5_base.bbclass
+++ b/classes/qmake5_base.bbclass
@@ -30,7 +30,7 @@ EXTRA_OEMAKE = " \
OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \
"
-OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qmake"
+OE_QMAKE_QMAKE = "${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake"
export OE_QMAKE_COMPILER = "${CC}"
export OE_QMAKE_CC = "${CC}"
export OE_QMAKE_CFLAGS = "${CFLAGS}"
diff --git a/conf/layer.conf b/conf/layer.conf
index b7207e63..7eb3b2db 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -23,9 +23,16 @@ BBFILE_PATTERN_qt5-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_qt5-layer = "7"
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_qt5-layer = "1"
+
+LAYERDEPENDS_qt5-layer = "core"
+
LICENSE_PATH += "${LAYERDIR}/licenses"
IMAGE_FEATURES[validitems] += "qtcreator-debug"
-QT_GIT ?= "git://github.com/qtproject"
+QT_GIT ?= "git://github.com/qt"
+QT_LABS_GIT ?= "git://github.com/qt-labs"
QT_GIT_PROTOCOL ?= "git"
diff --git a/recipes-qt/examples/qt5everywheredemo_1.0.bb b/recipes-qt/examples/qt5everywheredemo_1.0.bb
index ab2bbd4a..7735d902 100644
--- a/recipes-qt/examples/qt5everywheredemo_1.0.bb
+++ b/recipes-qt/examples/qt5everywheredemo_1.0.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://main.cpp;md5=1187cb795a0f96bce64e63dd1a67dc2b"
DEPENDS = "qtdeclarative qtgraphicaleffects"
SRCREV = "c17fe9e0ec0882ac4c4dc1168095f569acab5d09"
-SRC_URI = "${QT_GIT}/qt-labs-qt5-everywhere-demo"
+SRC_URI = "${QT_LABS_GIT}/qt-labs-qt5-everywhere-demo"
S = "${WORKDIR}/git/QtDemo"
diff --git a/recipes-qt/qt5/qt5-creator_3.5.1.bb b/recipes-qt/qt5/qt5-creator_3.5.1.bb
index 2d8cee9d..f4ba8580 100644
--- a/recipes-qt/qt5/qt5-creator_3.5.1.bb
+++ b/recipes-qt/qt5/qt5-creator_3.5.1.bb
@@ -32,8 +32,8 @@ EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}"
do_configure_append() {
# Find native tools
- sed -i 's:${STAGING_BINDIR}.*/lrelease:${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
- sed -i 's:${STAGING_BINDIR}.*/qdoc:${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/qdoc:g' ${B}/Makefile
+ sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile
# see qtbase-native.inc
# sed -i 's:QT_INSTALL_DOCS=${docdir}:QT_INSTALL_DOCS=${STAGING_DATADIR_NATIVE}${QT_DIR_NAME}/doc:g' ${B}/Makefile
@@ -50,7 +50,7 @@ do_install() {
# install desktop and ensure that qt-creator finds qmake
install -d ${D}${datadir}/applications
install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop
- sed -i 's:@QT5_QMAKE@:${bindir}${QT_DIR_NAME}:g' ${D}${datadir}/applications/qtcreator.desktop
+ sed -i 's:@QT5_QMAKE@:${OE_QMAKE_PATH_QT_BINS}:g' ${D}${datadir}/applications/qtcreator.desktop
}
FILES_${PN} += " \
diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb
index c1d6b77f..6912ea87 100644
--- a/recipes-qt/qt5/qtdeclarative_git.bb
+++ b/recipes-qt/qt5/qtdeclarative_git.bb
@@ -21,7 +21,7 @@ SRC_URI += " \
file://0002-qquickviewcomparison-fix-QCoreApplication-has-not-be.patch \
"
-EXTRA_OEMAKE += "QMAKE_SYNCQT=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt"
+EXTRA_OEMAKE += "QMAKE_SYNCQT=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/syncqt"
PACKAGECONFIG ??= "qtxmlpatterns"
PACKAGECONFIG[qtxmlpatterns] = ",,qtxmlpatterns"
@@ -32,7 +32,7 @@ do_configure_prepend() {
sed -e 's/^\(!qtHaveModule(xmlpatterns)\)/!OE_QTXMLPATTERNS_ENABLED|\1/' -i ${S}/tests/auto/quick/quick.pro
#set the path for syncqt properly
- echo "QT_TOOL.syncqt.binary = \"${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/syncqt\"" > ${B}/.qmake.cache
+ echo "QT_TOOL.syncqt.binary = \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/syncqt\"" > ${B}/.qmake.cache
}
do_install_append_class-nativesdk() {
diff --git a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
new file mode 100644
index 00000000..8547f72a
--- /dev/null
+++ b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
@@ -0,0 +1,103 @@
+From 849355a1c59d76fa39dc93b537458a084190fa45 Mon Sep 17 00:00:00 2001
+From: Wenlin Kang <wenlin.kang@windriver.com>
+Date: Thu, 8 Sep 2016 12:18:13 +0800
+Subject: [PATCH] qtmultimedia: fix a conflicting declaration
+
+Use lgl2.h instead of gl2.h and gl2ext.h,
+fix a "conflicting declaration" error.
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ src/plugins/videonode/imx6/lgl2.h | 46 ++++++++++++++++++++++
+ .../videonode/imx6/qsgvivantevideomaterial.cpp | 5 ++-
+ src/plugins/videonode/imx6/qsgvivantevideonode.cpp | 5 ++-
+ 3 files changed, 52 insertions(+), 4 deletions(-)
+ create mode 100644 src/plugins/videonode/imx6/lgl2.h
+
+diff --git a/src/plugins/videonode/imx6/lgl2.h b/src/plugins/videonode/imx6/lgl2.h
+new file mode 100644
+index 0000000..2423697
+--- /dev/null
++++ b/src/plugins/videonode/imx6/lgl2.h
+@@ -0,0 +1,46 @@
++#ifndef __L_GL2_H__
++#define __L_GL2_H__
++
++// this file comes from <GLES2/gl2.h> and <GLES2/gl2ext.h>,
++// it's a light gl2.h.
++
++/*-------------------------------------------------------------------------
++ * Definition of KHRONOS_APIENTRY
++ *-------------------------------------------------------------------------
++ * This follows the return type of the function and precedes the function
++ * name in the function prototype.
++ */
++#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
++ /* Win32 but not WinCE */
++# define KHRONOS_APIENTRY __stdcall
++#else
++# define KHRONOS_APIENTRY
++#endif
++
++#ifndef GL_APIENTRY
++# define GL_APIENTRY KHRONOS_APIENTRY
++#endif
++
++#ifndef GL_APIENTRYP
++# define GL_APIENTRYP GL_APIENTRY*
++#endif
++
++typedef void GLvoid;
++typedef unsigned int GLenum;
++typedef unsigned int GLuint;
++typedef int GLsizei;
++
++#define GL_VIV_YV12 0x8FC0
++#define GL_VIV_NV12 0x8FC1
++#define GL_VIV_YUY2 0x8FC2
++#define GL_VIV_UYVY 0x8FC3
++#define GL_VIV_NV21 0x8FC4
++#define GL_VIV_I420 0x8FC5
++
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTVIVMAPPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTMAPVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Pixels);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTINVALIDATEVIVPROC) (GLenum Target);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTTILEDMAPVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical);
++
++#endif
+diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
+index 2e2092b..54568db 100644
+--- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
++++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
+@@ -31,8 +31,9 @@
+ **
+ ****************************************************************************/
+
+-#include <GLES2/gl2.h>
+-#include <GLES2/gl2ext.h>
++// use lgl2.h instead of <GLES2/gl2.h> and <GLES2/gl2ext.h>,
++// fixes a conflicting declaration issue.
++#include "lgl2.h"
+
+ #include "qsgvivantevideomaterial.h"
+ #include "qsgvivantevideomaterialshader.h"
+diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
+index 229a69b..184fd12 100644
+--- a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
++++ b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
+@@ -31,8 +31,9 @@
+ **
+ ****************************************************************************/
+
+-#include <GLES2/gl2.h>
+-#include <GLES2/gl2ext.h>
++// use lgl2.h instead of <GLES2/gl2.h> and <GLES2/gl2ext.h>,
++// fixes a conflicting declaration issue.
++#include "lgl2.h"
+
+ #include "qsgvivantevideonode.h"
+ #include "qsgvivantevideomaterialshader.h"
+--
+1.9.1
+
diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb
index e93904ae..4fe2d8e6 100644
--- a/recipes-qt/qt5/qtmultimedia_git.bb
+++ b/recipes-qt/qt5/qtmultimedia_git.bb
@@ -36,6 +36,7 @@ EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gst
SRC_URI += "\
file://0001-Initial-porting-effort-to-GStreamer-1.0.patch \
+ file://0001-qtmultimedia-fix-a-conflicting-declaration.patch \
"
SRCREV = "0cb4dc5c1fded81b4f47945b51b8de0b0151bf67"
diff --git a/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch b/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
new file mode 100644
index 00000000..982c60c5
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
@@ -0,0 +1,117 @@
+From 4fd9d8ce8289e0b7d5ecf01c7cce89d20d93b0d4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Vesa=20J=C3=A4=C3=A4skel=C3=A4inen?= <dachaac@gmail.com>
+Date: Sun, 18 Sep 2016 11:51:59 +0300
+Subject: [PATCH] Fix building of QWaylandIntegration if some Qt5 features are
+ disabled.
+
+QPlatformIntegration's interface methods are disabled based on QT_NO_OPENGL,
+QT_NO_CLIPBOARD, QT_NO_DRAGANDDROP, QT_NO_ACCESSIBILITY and
+QT_NO_SESSIONMANAGER, these has to be taken into account when compiling
+QtWayland.
+---
+ src/client/qwaylandintegration.cpp | 17 ++++++++++++++++-
+ src/client/qwaylandintegration_p.h | 8 ++++++++
+ 2 files changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp
+index 48517fc..9ea8647 100644
+--- a/src/client/qwaylandintegration.cpp
++++ b/src/client/qwaylandintegration.cpp
+@@ -45,7 +45,9 @@
+ #include "qwaylandinputcontext_p.h"
+ #include "qwaylandshmbackingstore_p.h"
+ #include "qwaylandnativeinterface_p.h"
++#ifndef QT_NO_CLIPBOARD
+ #include "qwaylandclipboard_p.h"
++#endif
+ #include "qwaylanddnd_p.h"
+ #include "qwaylandwindowmanagerintegration_p.h"
+ #include "qwaylandscreen_p.h"
+@@ -63,7 +65,9 @@
+ #include <QSocketNotifier>
+
+ #include <qpa/qplatforminputcontextfactory_p.h>
++#ifndef QT_NO_ACCESSIBILITY
+ #include <qpa/qplatformaccessibility.h>
++#endif
+ #include <qpa/qplatforminputcontext.h>
+
+ #include "qwaylandhardwareintegration_p.h"
+@@ -132,9 +136,12 @@ QWaylandIntegration::QWaylandIntegration()
+ {
+ initializeInputDeviceIntegration();
+ mDisplay = new QWaylandDisplay(this);
++#ifndef QT_NO_CLIPBOARD
+ mClipboard = new QWaylandClipboard(mDisplay);
++#endif
++#ifndef QT_NO_DRAGANDDROP
+ mDrag = new QWaylandDrag(mDisplay);
+-
++#endif
+ QString icStr = QPlatformInputContextFactory::requested();
+ if (!icStr.isNull()) {
+ mInputContext.reset(QPlatformInputContextFactory::create(icStr));
+@@ -153,8 +160,12 @@ QWaylandIntegration::QWaylandIntegration()
+
+ QWaylandIntegration::~QWaylandIntegration()
+ {
++#ifndef QT_NO_DRAGANDDROP
+ delete mDrag;
++#endif
++#ifndef QT_NO_CLIPBOARD
+ delete mClipboard;
++#endif
+ #ifndef QT_NO_ACCESSIBILITY
+ delete mAccessibility;
+ #endif
+@@ -230,15 +241,19 @@ QPlatformFontDatabase *QWaylandIntegration::fontDatabase() const
+ return mFontDb;
+ }
+
++#ifndef QT_NO_CLIPBOARD
+ QPlatformClipboard *QWaylandIntegration::clipboard() const
+ {
+ return mClipboard;
+ }
++#endif
+
++#ifndef QT_NO_DRAGANDDROP
+ QPlatformDrag *QWaylandIntegration::drag() const
+ {
+ return mDrag;
+ }
++#endif
+
+ QPlatformInputContext *QWaylandIntegration::inputContext() const
+ {
+diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h
+index 9a49902..082e0c8 100644
+--- a/src/client/qwaylandintegration_p.h
++++ b/src/client/qwaylandintegration_p.h
+@@ -86,9 +86,13 @@ public:
+
+ QPlatformNativeInterface *nativeInterface() const Q_DECL_OVERRIDE;
+
++#ifndef QT_NO_CLIPBOARD
+ QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE;
++#endif
+
++#ifndef QT_NO_DRAGANDDROP
+ QPlatformDrag *drag() const Q_DECL_OVERRIDE;
++#endif
+
+ QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE;
+
+@@ -126,8 +130,12 @@ private:
+ QWaylandShellIntegration *createShellIntegration(const QString& interfaceName);
+
+ QPlatformFontDatabase *mFontDb;
++#ifndef QT_NO_CLIPBOARD
+ QPlatformClipboard *mClipboard;
++#endif
++#ifndef QT_NO_DRAGANDDROP
+ QPlatformDrag *mDrag;
++#endif
+ QWaylandDisplay *mDisplay;
+ QPlatformNativeInterface *mNativeInterface;
+ QScopedPointer<QPlatformInputContext> mInputContext;
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index c2931257..c64a92f1 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -15,6 +15,7 @@ LIC_FILES_CHKSUM = " \
file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
+
#FIXME: xkb should be optional; we add it here to fix the build error without it
# (https://bugreports.qt.io/browse/QTBUG-54851)
PACKAGECONFIG ?= " \
@@ -41,6 +42,10 @@ PACKAGECONFIG[libhybris-egl] = "CONFIG+=config_libhybris_egl_server CONFIG+=done
EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
+SRC_URI += " \
+ file://0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch \
+"
+
SRCREV = "3443483c9efdcfbfe049f96c83f83a5bf1d81e61"
BBCLASSEXTEND =+ "native nativesdk"
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index 24f94d56..4152ef0a 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -19,6 +19,7 @@ DEPENDS += " \
qtlocation \
libdrm fontconfig pixman openssl pango cairo icu pciutils \
libcap \
+ gperf-native \
"
# when qtbase is built with xcb enabled (default with x11 in DISTRO_FEATURES),