aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2013-07-20 14:39:37 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2013-07-25 12:14:12 +0200
commit5eb22ffbfafc558a66943e666c415a9749a39e2b (patch)
tree5951716277f68708ab8b51f4b108e0bec008580c
parent507c7466ea3a7b10a72b57ce06c3bf1ddd769037 (diff)
qtwayland: add second recipe with latest SRCREV, compatible with qt5 5.1.0
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch46
-rw-r--r--recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch33
-rw-r--r--recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch71
-rw-r--r--recipes-qt/qt5/qtwayland-git/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch (renamed from recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch)0
-rw-r--r--recipes-qt/qt5/qtwayland-git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch (renamed from recipes-qt/qt5/qtwayland/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch)0
-rw-r--r--recipes-qt/qt5/qtwayland-git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch (renamed from recipes-qt/qt5/qtwayland/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch)0
-rw-r--r--recipes-qt/qt5/qtwayland-git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch (renamed from recipes-qt/qt5/qtwayland/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch)0
-rw-r--r--recipes-qt/qt5/qtwayland-git/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch (renamed from recipes-qt/qt5/qtwayland/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch)0
-rw-r--r--recipes-qt/qt5/qtwayland-native_git.bb4
-rw-r--r--recipes-qt/qt5/qtwayland.inc3
-rw-r--r--recipes-qt/qt5/qtwayland_5.1.0+git.bb15
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb12
12 files changed, 177 insertions, 7 deletions
diff --git a/recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch b/recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch
new file mode 100644
index 00000000..0571ea5e
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland-5.1.0+git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch
@@ -0,0 +1,46 @@
+From 7f97da120b5b3dde22c9d89a8da8a4f35a9f2a26 Mon Sep 17 00:00:00 2001
+From: Mikko Levonmaa <mikko.levonmaa@palm.com>
+Date: Tue, 19 Feb 2013 11:16:05 -0800
+Subject: [PATCH 1/3] xcbcommon should not be a mandatory dependency
+
+Not all platforms that use qtwayland depend on xcbcommon to be present
+for them to be functional
+
+This change won't be needed when this commit from dev branch is merged
+to stable:
+commit 894adf8a447865119be7c6c4d01577d8032f4177
+Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
+Date: Mon Apr 8 12:54:58 2013 +0200
+
+make failure to configure wayland non-fatal for a top-level build of qt
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ qtwayland.pro | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qtwayland.pro b/qtwayland.pro
+index 24e104b..66dd38a 100644
+--- a/qtwayland.pro
++++ b/qtwayland.pro
+@@ -11,7 +11,7 @@ qtCompileTest(xcomposite)
+ load(qt_parts)
+
+ !config_wayland {
+- error(QtWayland requires Wayland 1.0.3 or higher)
++ error("QtWayland requires Wayland 1.0.3 or higher")
+ }
+
+ !config_xkbcommon {
+@@ -19,7 +19,7 @@ load(qt_parts)
+ }
+
+ !config_wayland_scanner {
+- error(QtWayland requires wayland-scanner)
++ error("QtWayland requires wayland-scanner")
+ }
+
+ !config_wayland_egl {
+--
+1.8.2.1
+
diff --git a/recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch b/recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch
new file mode 100644
index 00000000..77172908
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland-5.1.0+git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch
@@ -0,0 +1,33 @@
+From 5b7c89d211a193acfd182eb0519b658629af3193 Mon Sep 17 00:00:00 2001
+From: Mikko Levonmaa <mikko.levonmaa@palm.com>
+Date: Fri, 1 Mar 2013 13:00:53 -0800
+Subject: [PATCH 2/3] Temporarily patching this out as Qt5.0.0 does not have
+ qtHaveModule
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/compositor/compositor_api/compositor_api.pri | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri
+index f0bbe76..e7905e5 100644
+--- a/src/compositor/compositor_api/compositor_api.pri
++++ b/src/compositor/compositor_api/compositor_api.pri
+@@ -12,7 +12,7 @@ SOURCES += \
+
+ QT += core-private
+
+-qtHaveModule(quick) {
++#qtHaveModule(quick) {
+ SOURCES += \
+ compositor_api/qwaylandsurfaceitem.cpp \
+ compositor_api/qwaylandsurfacenode.cpp \
+@@ -27,4 +27,4 @@ qtHaveModule(quick) {
+
+ QT += qml quick
+ QT += quick-private gui-private
+-}
++#}
+--
+1.8.2.1
+
diff --git a/recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch b/recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch
new file mode 100644
index 00000000..58f82663
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland-5.1.0+git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch
@@ -0,0 +1,71 @@
+From 2d707f8dc9f0658d889aef4f4c5a62595598402c Mon Sep 17 00:00:00 2001
+From: Mikko Levonmaa <mikko.levonmaa@palm.com>
+Date: Wed, 6 Mar 2013 10:18:49 -0800
+Subject: [PATCH 3/3] eglCreateImageKHR requires the context to be NULL
+
+As per the EGL spec the context passed to that function should
+be null.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ .../wayland-egl/waylandeglintegration.cpp | 16 ++--------------
+ 1 file changed, 2 insertions(+), 14 deletions(-)
+
+diff --git a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
+index 73877c4..16e77fb 100644
+--- a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
++++ b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
+@@ -101,7 +101,6 @@ public:
+
+ PFNGLEGLIMAGETARGETTEXTURE2DOESPROC gl_egl_image_target_texture_2d;
+
+- QPlatformNativeInterface::NativeResourceForContextFunction get_egl_context;
+ };
+
+ WaylandEglIntegration::WaylandEglIntegration()
+@@ -121,10 +120,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla
+ const char *extensionString = eglQueryString(d->egl_display, EGL_EXTENSIONS);
+ if (extensionString && strstr(extensionString, "EGL_WL_bind_wayland_display"))
+ {
+- d->get_egl_context = nativeInterface->nativeResourceFunctionForContext("get_egl_context");
+- if (!d->get_egl_context) {
+- qWarning("Failed to retrieve the get_egl_context function");
+- }
+ d->egl_bind_wayland_display =
+ reinterpret_cast<PFNEGLBINDWAYLANDDISPLAYWL>(eglGetProcAddress("eglBindWaylandDisplayWL"));
+ d->egl_unbind_wayland_display =
+@@ -137,7 +132,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla
+ reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(eglGetProcAddress("glEGLImageTargetTexture2DOES"));
+
+ if (d->egl_bind_wayland_display
+- && d->get_egl_context
+ && d->egl_unbind_wayland_display
+ && d->egl_create_image
+ && d->egl_destroy_image
+@@ -162,10 +156,7 @@ GLuint WaylandEglIntegration::createTextureFromBuffer(wl_buffer *buffer, QOpenGL
+ return 0;
+ }
+
+- QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
+- EGLContext egl_context = d->get_egl_context(context);
+-
+- EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context,
++ EGLImageKHR image = d->egl_create_image(d->egl_display, NULL,
+ EGL_WAYLAND_BUFFER_WL,
+ buffer, NULL);
+
+@@ -229,10 +220,7 @@ void *WaylandEglIntegration::lockNativeBuffer(struct wl_buffer *buffer, QOpenGLC
+ {
+ Q_D(const WaylandEglIntegration);
+
+- QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
+- EGLContext egl_context = d->get_egl_context(context);
+-
+- EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context,
++ EGLImageKHR image = d->egl_create_image(d->egl_display, NULL,
+ EGL_WAYLAND_BUFFER_WL,
+ buffer, NULL);
+ return image;
+--
+1.8.2.1
+
diff --git a/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch b/recipes-qt/qt5/qtwayland-git/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch
index 1fac95b7..1fac95b7 100644
--- a/recipes-qt/qt5/qtwayland/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch
+++ b/recipes-qt/qt5/qtwayland-git/0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch
diff --git a/recipes-qt/qt5/qtwayland/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch b/recipes-qt/qt5/qtwayland-git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch
index e9e705cd..e9e705cd 100644
--- a/recipes-qt/qt5/qtwayland/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch
+++ b/recipes-qt/qt5/qtwayland-git/0001-xcbcommon-should-not-be-a-mandatory-dependency.patch
diff --git a/recipes-qt/qt5/qtwayland/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch b/recipes-qt/qt5/qtwayland-git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch
index 0c9bbbe7..0c9bbbe7 100644
--- a/recipes-qt/qt5/qtwayland/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch
+++ b/recipes-qt/qt5/qtwayland-git/0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch
diff --git a/recipes-qt/qt5/qtwayland/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch b/recipes-qt/qt5/qtwayland-git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch
index 48eb870b..48eb870b 100644
--- a/recipes-qt/qt5/qtwayland/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch
+++ b/recipes-qt/qt5/qtwayland-git/0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch
diff --git a/recipes-qt/qt5/qtwayland/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch b/recipes-qt/qt5/qtwayland-git/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch
index 47ea65fd..47ea65fd 100644
--- a/recipes-qt/qt5/qtwayland/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch
+++ b/recipes-qt/qt5/qtwayland-git/0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch
diff --git a/recipes-qt/qt5/qtwayland-native_git.bb b/recipes-qt/qt5/qtwayland-native_git.bb
index 090faafa..20cd2519 100644
--- a/recipes-qt/qt5/qtwayland-native_git.bb
+++ b/recipes-qt/qt5/qtwayland-native_git.bb
@@ -2,6 +2,8 @@ require qt5-git.inc
require ${PN}.inc
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
-PV = "4.999+5.0.0-beta1+git${SRCPV}"
+# this PV is only to indicate that this recipe is compatible with qt5 5.1.0
+# while qtwayland_git stays compatible with 5.0.2
+PV = "5.1.0+git${SRCPV}"
SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"
diff --git a/recipes-qt/qt5/qtwayland.inc b/recipes-qt/qt5/qtwayland.inc
index 7cf39351..3ae98ede 100644
--- a/recipes-qt/qt5/qtwayland.inc
+++ b/recipes-qt/qt5/qtwayland.inc
@@ -13,13 +13,10 @@ LIC_FILES_CHKSUM = "file://${S}/src/compositor/compositor_api/qwaylandsurfacenod
XKB_DEPENDS = "libxkbcommon xproto"
DEPENDS += "qtbase qtdeclarative wayland wayland-native ${XKB_DEPENDS}"
-INC_PR = "r1"
-
SRC_URI += " \
file://0001-xcbcommon-should-not-be-a-mandatory-dependency.patch \
file://0002-Temporarily-patching-this-out-as-Qt5.0.0-does-not-ha.patch \
file://0003-eglCreateImageKHR-requires-the-context-to-be-NULL.patch \
- file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \
"
QT_WAYLAND_CONFIG ?= "wayland-compositor"
diff --git a/recipes-qt/qt5/qtwayland_5.1.0+git.bb b/recipes-qt/qt5/qtwayland_5.1.0+git.bb
new file mode 100644
index 00000000..aaa439cf
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland_5.1.0+git.bb
@@ -0,0 +1,15 @@
+require qt5-git.inc
+require ${PN}.inc
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-5.1.0+git:"
+
+DEPENDS += "qtwayland-native"
+
+# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
+# this PV is only to indicate that this recipe is compatible with qt5 5.1.0
+# while qtwayland_git stays compatible with 5.0.2
+PV = "5.1.0+git${SRCPV}"
+
+# newer revisions depend on newer wayland-1.1 APIs
+SRCREV = "87dba733acfddecd8562e8e26ce5f994aa499fe3"
+# SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index f91df4d5..170b3673 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -1,13 +1,19 @@
require qt5-git.inc
require ${PN}.inc
-# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
-PV = "4.999+5.0.0-beta1+git${SRCPV}"
+# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1,
+# but we'll use 5.0.2+git to indicate this version is compatible with 5.0.2
+PV = "5.0.2+git${SRCPV}"
-PR = "${INC_PR}.1"
+# drop when bumping SRCREV
+PR = "r2"
SRCREV = "5cb159395eccb1d96fb73a78e499eef30aacb46d"
+SRC_URI += " \
+ file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \
+"
+
do_configure_prepend() {
# Temporary hack to get qtwayland build for Qt 5.0.2
if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then