summaryrefslogtreecommitdiff
path: root/dev-qt/qtwayland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-qt/qtwayland
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r--dev-qt/qtwayland/Manifest8
-rw-r--r--dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch109
-rw-r--r--dev-qt/qtwayland/metadata.xml20
-rw-r--r--dev-qt/qtwayland/qtwayland-5.11.1.ebuild39
-rw-r--r--dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild41
-rw-r--r--dev-qt/qtwayland/qtwayland-5.9.6.ebuild39
6 files changed, 256 insertions, 0 deletions
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
new file mode 100644
index 000000000000..4d5947180190
--- /dev/null
+++ b/dev-qt/qtwayland/Manifest
@@ -0,0 +1,8 @@
+AUX qtwayland-5.9.4-qquickwindow-crash.patch 3408 BLAKE2B c37b4bf3612509d08de1437181db18fe0c5abafbe447010ec092fe7657cf6b2536e2cb181a3741f52eb4dff30c39946602861ecf6916a9a4b6ad576aa7d24a72 SHA512 33f660550904e2811d8f2816c7e62020a342007f6ea444bd62a3560a74c1f5816a40c99df42b5923f4871b10828c8bff5155fa197db1f1cb7432ead02cd56477
+DIST qtwayland-everywhere-src-5.11.1.tar.xz 392200 BLAKE2B 2e65c6bd8c9ea44ae84f608312db6983d540382bfb2a22412fe054f4e7253d70e21f4d0577653b246de5b0266271e40911a7c79fc28b266cc29ff30669df280e SHA512 dc1327ef8cdc9ed9521e9db316da0bcdbe9639b714a2dda7a792c52ba5897ddb75deba1ab89e010bc05cc2a96ede781b9990f5449ce4a2f85e15466a4d6d82ad
+DIST qtwayland-opensource-src-5.9.4.tar.xz 314932 BLAKE2B de90fb47af0d07e0b6476b84de2f51900e4e09ecd57aee800534998d3a2e733501da877f912c4b0ce671d417f543eb44bc1607225af0a134ba5702d17efae431 SHA512 93d43bdcc39fd471cdd335c0699c5e5dd77cd0bc2d15f2a1170d8ccd103d84e2c7e657575a370ac6c678b52c2b617fb2c80ce4d226264cb6c857064452f7dc10
+DIST qtwayland-opensource-src-5.9.6.tar.xz 316152 BLAKE2B a1ebbf98eea9ca36f8229ed0bdfdeb79eb9d1519ff35eb153d7f8b7af2ad9831905e564464ec1faf793a7b11088d43d6dda6dc21b36943fccb569163c119a30a SHA512 7376f76001323d7971cb3be7592086b26c855d8d702184e84f28656b4262a9780b4cc0a0991c97ca011863570b6abd63b006c78021934e1516be65715f82ae4b
+EBUILD qtwayland-5.11.1.ebuild 907 BLAKE2B a7f254dc9571a1860f8caa6cfa15a13e8d6859116f0de5cf7cd66ad5cd6969a948445391f78dc3df927c90437235bf1cbb26bc4809a5f6faf66b6ae23f2fed41 SHA512 db097b4577f81f5354c9b07944c3a47120f93fb61cad54346114c515460390d375d7412464904b9a07a24c08edc150df9378b766ca348694182a1b6209069174
+EBUILD qtwayland-5.9.4-r1.ebuild 973 BLAKE2B 11a8749fecdbc4fc8035ad2001dd4614e17d2577f194d6ba10a02fc5929e31e65488e86857498ea822590b098295722938096c2901c391cad97e78ab0c477de8 SHA512 7288dd998a999c98eb2053f21c82f9d0518ce6d79a6992bea0b1a58c6bfedcc530cdea0e0b501751df0e07c8afdee4a21a6bcadc945cb8dcdd0a07cb6ef2e4a8
+EBUILD qtwayland-5.9.6.ebuild 906 BLAKE2B 5e40da583875aec4d19a346654f5daa11c5887ed1783fdfbad211316ee1148f2d2ae6dba3fceaecd8b398721602c68ba602e2165c0a848951be81af81120ec4a SHA512 01daebae4a839b188bbd71b1c09fb84614af6f6287978d6905923cf78f1478581a7dc50321401447cb0f32cfddda8fa157ace1cd3f86f00f97f3bcf01257a51a
+MISC metadata.xml 593 BLAKE2B a6af5855403e860ee4a4900cef3019fea4552e8c9edc02ada1de5edc467ae9a8f9d86aff6bc656c4154ddb8018c8c8599b75f92d7b766c48e05e56e37999a009 SHA512 2603bc1d30993bf0d0b94784c7dca7c2cd2d15ff5fce4ca4bbdad4b2dc65a8ab7b7bb8cf207649ca4717ca6e4caaa8c75e079db81f0598511a1355c0f325a00d
diff --git a/dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch b/dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch
new file mode 100644
index 000000000000..40f2a6dff4e0
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-5.9.4-qquickwindow-crash.patch
@@ -0,0 +1,109 @@
+From bf09c7a1493c01a65ee0f110b37a04e653edc08e Mon Sep 17 00:00:00 2001
+From: David Edmundson <davidedmundson@kde.org>
+Date: Wed, 3 Jan 2018 19:18:42 +0000
+Subject: [PATCH] Don't recreate hidden egl surfaces
+
+QWaylandEglWindow deletes surfaces when a window changes from hidden to
+visible, presumably as a result of us not having a valid wl_surface
+object. By extension it doesn't make sense to create a surface whilst a
+window is still hidden.
+
+This fixes a crash where a QQuickWindow hides and then is destroyed. In
+QQuickWindow destruction we have to create a valid context in order to
+delete any textures/assets owned by the scene graph; as the wl_surface
+has gone this causes an error in the EGL libs when we create an EGL
+surface.
+
+Task-number: QTBUG-65553
+Change-Id: I9b37a86326bf2cd7737c4e839c1aa8c74cf08116
+Reviewed-by: Johan Helsing <johan.helsing@qt.io>
+---
+ .../client/wayland-egl/qwaylandglcontext.cpp | 2 +-
+ tests/auto/client/client/tst_client.cpp | 37 ++++++++++++++++++++++
+ 2 files changed, 38 insertions(+), 1 deletion(-)
+
+diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+index 2a9e39e..f4dd6f4 100644
+--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
++++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+@@ -407,7 +407,7 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
+ window->createDecoration();
+
+ if (eglSurface == EGL_NO_SURFACE) {
+- window->updateSurface(true);
++ window->updateSurface(window->isExposed());
+ eglSurface = window->eglSurface();
+ }
+
+diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp
+index 3897bd3..aed601d 100644
+--- a/tests/auto/client/client/tst_client.cpp
++++ b/tests/auto/client/client/tst_client.cpp
+@@ -35,6 +35,8 @@
+ #include <QMimeData>
+ #include <QPixmap>
+ #include <QDrag>
++#include <QWindow>
++#include <QOpenGLWindow>
+
+ #include <QtTest/QtTest>
+ #include <QtWaylandClient/private/qwaylandintegration_p.h>
+@@ -112,6 +114,25 @@ public:
+ QPoint mousePressPos;
+ };
+
++class TestGlWindow : public QOpenGLWindow
++{
++ Q_OBJECT
++
++public:
++ TestGlWindow();
++
++protected:
++ void paintGL() override;
++};
++
++TestGlWindow::TestGlWindow()
++{}
++
++void TestGlWindow::paintGL()
++{
++ glClear(GL_COLOR_BUFFER_BIT);
++}
++
+ class tst_WaylandClient : public QObject
+ {
+ Q_OBJECT
+@@ -149,6 +170,7 @@ private slots:
+ void dontCrashOnMultipleCommits();
+ void hiddenTransientParent();
+ void hiddenPopupParent();
++ void glWindow();
+
+ private:
+ MockCompositor *compositor;
+@@ -409,6 +431,21 @@ void tst_WaylandClient::hiddenPopupParent()
+ QTRY_VERIFY(compositor->surface());
+ }
+
++void tst_WaylandClient::glWindow()
++{
++ QSKIP("Skipping GL tests, as not supported by all CI systems: See https://bugreports.qt.io/browse/QTBUG-65802");
++
++ QScopedPointer<TestGlWindow> testWindow(new TestGlWindow);
++ testWindow->show();
++ QSharedPointer<MockSurface> surface;
++ QTRY_VERIFY(surface = compositor->surface());
++
++ //confirm we don't crash when we delete an already hidden GL window
++ //QTBUG-65553
++ testWindow->setVisible(false);
++ QTRY_VERIFY(!compositor->surface());
++}
++
+ int main(int argc, char **argv)
+ {
+ setenv("XDG_RUNTIME_DIR", ".", 1);
+--
+2.7.4
+
diff --git a/dev-qt/qtwayland/metadata.xml b/dev-qt/qtwayland/metadata.xml
new file mode 100644
index 000000000000..4fb03e679017
--- /dev/null
+++ b/dev-qt/qtwayland/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <use>
+ <flag name="libinput">Enable support for input devices via <pkg>dev-libs/libinput</pkg></flag>
+ </use>
+ <upstream>
+ <bugs-to>https://bugreports.qt.io/</bugs-to>
+ <doc>https://doc.qt.io/</doc>
+ </upstream>
+ <slots>
+ <subslots>
+ Must only be used by packages that are known to use private parts of the Qt API.
+ </subslots>
+ </slots>
+</pkgmetadata>
diff --git a/dev-qt/qtwayland/qtwayland-5.11.1.ebuild b/dev-qt/qtwayland/qtwayland-5.11.1.ebuild
new file mode 100644
index 000000000000..4c3553046dbc
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.11.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+fi
+
+IUSE="+libinput xcomposite"
+
+DEPEND="
+ >=dev-libs/wayland-1.6.0
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}[egl,libinput?]
+ media-libs/mesa[egl]
+ >=x11-libs/libxkbcommon-0.2.0
+ xcomposite? (
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ qt_use_disable_config libinput xkbcommon-evdev \
+ src/client/client.pro \
+ src/compositor/wayland_wrapper/wayland_wrapper.pri \
+ src/plugins/shellintegration/ivi-shell/ivi-shell.pro \
+ tests/auto/compositor/compositor/compositor.pro
+
+ use xcomposite || rm -r config.tests/xcomposite || die
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild b/dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild
new file mode 100644
index 000000000000..5a6da39c498d
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.9.4-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 x86"
+fi
+
+IUSE="+libinput xcomposite"
+
+DEPEND="
+ >=dev-libs/wayland-1.6.0
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}[egl,libinput?]
+ media-libs/mesa[egl]
+ >=x11-libs/libxkbcommon-0.2.0
+ xcomposite? (
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-qquickwindow-crash.patch" ) # 5.9 branch
+
+src_prepare() {
+ qt_use_disable_config libinput xkbcommon-evdev \
+ src/client/client.pro \
+ src/compositor/wayland_wrapper/wayland_wrapper.pri \
+ src/plugins/shellintegration/ivi-shell/ivi-shell.pro \
+ tests/auto/compositor/compositor/compositor.pro
+
+ use xcomposite || rm -r config.tests/xcomposite || die
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtwayland/qtwayland-5.9.6.ebuild b/dev-qt/qtwayland/qtwayland-5.9.6.ebuild
new file mode 100644
index 000000000000..95d69972cf65
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.9.6.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+fi
+
+IUSE="+libinput xcomposite"
+
+DEPEND="
+ >=dev-libs/wayland-1.6.0
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}[egl,libinput?]
+ media-libs/mesa[egl]
+ >=x11-libs/libxkbcommon-0.2.0
+ xcomposite? (
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ qt_use_disable_config libinput xkbcommon-evdev \
+ src/client/client.pro \
+ src/compositor/wayland_wrapper/wayland_wrapper.pri \
+ src/plugins/shellintegration/ivi-shell/ivi-shell.pro \
+ tests/auto/compositor/compositor/compositor.pro
+
+ use xcomposite || rm -r config.tests/xcomposite || die
+
+ qt5-build_src_prepare
+}