From bba70ec0001c96e29ec60ab697f3e82d48b87549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 8 Apr 2016 01:37:48 +0200 Subject: [PATCH] greenisland: update to 0.7.90+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Andreas Müller --- .../greenisland/greenisland-native.bb | 13 ++++ ...d-to-waylandscanner-for-native-build.patch | 64 ++++++++++++++++ recipes-hawaii/greenisland/greenisland.bb | 55 ++++++++++++++ recipes-hawaii/greenisland/greenisland.inc | 19 +++++ ...d-native-greenisland-wayland-scanner.patch | 25 +++++++ ....cpp-include-qwlclientbufferintegrat.patch | 35 +++++++++ ...r-remove-property-useHardwareIntegra.patch | 73 +++++++++++++++++++ ...ion-glx-compositor-does-not-build-in.patch | 30 ++++++++ recipes-hawaii/greenisland/greenisland_git.bb | 45 ------------ 9 files changed, 314 insertions(+), 45 deletions(-) create mode 100644 recipes-hawaii/greenisland/greenisland-native.bb create mode 100644 recipes-hawaii/greenisland/greenisland-native/0001-reduce-build-to-waylandscanner-for-native-build.patch create mode 100644 recipes-hawaii/greenisland/greenisland.bb create mode 100644 recipes-hawaii/greenisland/greenisland.inc create mode 100644 recipes-hawaii/greenisland/greenisland/0001-find-native-greenisland-wayland-scanner.patch create mode 100644 recipes-hawaii/greenisland/greenisland/0002-qwlsurfacebuffer.cpp-include-qwlclientbufferintegrat.patch create mode 100644 recipes-hawaii/greenisland/greenisland/0003-waylandcompositor-remove-property-useHardwareIntegra.patch create mode 100644 recipes-hawaii/greenisland/greenisland/0004-hardwareintegration-glx-compositor-does-not-build-in.patch delete mode 100644 recipes-hawaii/greenisland/greenisland_git.bb diff --git a/recipes-hawaii/greenisland/greenisland-native.bb b/recipes-hawaii/greenisland/greenisland-native.bb new file mode 100644 index 00000000..ed7dd397 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland-native.bb @@ -0,0 +1,13 @@ +require greenisland.inc + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:" + +inherit native + +DEPENDS += " \ + qtbase-native \ +" + +SRC_URI += " \ + file://0001-reduce-build-to-waylandscanner-for-native-build.patch \ +" diff --git a/recipes-hawaii/greenisland/greenisland-native/0001-reduce-build-to-waylandscanner-for-native-build.patch b/recipes-hawaii/greenisland/greenisland-native/0001-reduce-build-to-waylandscanner-for-native-build.patch new file mode 100644 index 00000000..0ec3f191 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland-native/0001-reduce-build-to-waylandscanner-for-native-build.patch @@ -0,0 +1,64 @@ +From 60bf186466bf236582eef59f3822719cb531ed09 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 11 Mar 2016 18:55:42 +0100 +Subject: [PATCH] reduce build to waylandscanner for native build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + CMakeLists.txt | 19 +++---------------- + tools/CMakeLists.txt | 1 - + 2 files changed, 3 insertions(+), 17 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 895ff5e..1dc5935 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -72,8 +72,9 @@ endif() + + # Find Qt5 + set(REQUIRED_QT_VERSION 5.6.0) +-find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core DBus Gui Qml Quick) ++find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core) + ++if(False) + # OpenGL + find_package(OpenGL) + set_package_properties(OpenGL PROPERTIES +@@ -151,23 +152,9 @@ add_feature_info("systemd" systemd_FOUND "Required for systemd integration") + # xkbcommon + pkg_check_modules(xkbcommon xkbcommon REQUIRED) + add_feature_info("xkbcommon" xkbcommon_FOUND "Required for keymap support") ++endif() + +-# Subdirectories +-if(ENABLE_ONLY_EGLDEVICEINTEGRATION) +- add_subdirectory(plugins) +-else() +- add_subdirectory(compositor) +- add_subdirectory(data) +- add_subdirectory(declarative) +- add_subdirectory(headers) +- add_subdirectory(launcher) +- add_subdirectory(plugins) +- add_subdirectory(qpa) +- add_subdirectory(shells) +- add_subdirectory(src) +- add_subdirectory(tests) + add_subdirectory(tools) +-endif() + + # Display featute summary + feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index f8b167c..3bdf127 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,2 +1 @@ +-add_subdirectory(screencaster) + add_subdirectory(waylandscanner) +-- +2.5.5 + diff --git a/recipes-hawaii/greenisland/greenisland.bb b/recipes-hawaii/greenisland/greenisland.bb new file mode 100644 index 00000000..0bd069ad --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland.bb @@ -0,0 +1,55 @@ +require greenisland.inc + +inherit cmake-lib cmake-auto-align-paths + +DEPENDS += " \ + ${BPN}-native \ + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + wayland \ + qtwayland \ + libkscreen \ + virtual/egl \ + libinput \ +" +SRC_URI = " \ + git://github.com/greenisland/${BPN}.git;protocol=git;branch=master \ + file://0001-find-native-greenisland-wayland-scanner.patch \ + file://0002-qwlsurfacebuffer.cpp-include-qwlclientbufferintegrat.patch \ + file://0003-waylandcompositor-remove-property-useHardwareIntegra.patch \ + file://0004-hardwareintegration-glx-compositor-does-not-build-in.patch \ +" + +# we don't have wayland-protocols yet - revisit +EXTRA_OECMAKE += "-DUSE_LOCAL_WAYLAND_PROTOCOLS=ON" + +do_compile_append() { + for f in `find ${B} -name 'GreenIsland*.cmake'` ; do + sed -i 's:${STAGING_INCDIR}:${includedir}:g' "$f" + sed -i 's:${STAGING_LIBDIR}:${libdir}:g' "$f" + done +} + + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xwayland", "",d)} \ +" +PACKAGECONFIG[xwayland] = "-DENABLE_XWAYLAND=ON,-DENABLE_XWAYLAND=OFF,libxcb" + +# cross libs / headers +CMAKE_ALIGN_SYSROOT[1] = "GreenIsland, -S${libdir}/lib, -S${STAGING_LIBDIR}/lib" +CMAKE_ALIGN_SYSROOT[2] = "GreenIsland, -S${includedir}, -S${STAGING_INCDIR}" + +FILES_${PN} += " \ + ${OE_QMAKE_PATH_PLUGINS} \ + ${OE_QMAKE_PATH_QML}/GreenIsland \ +" + +FILES_${PN}-dbg += " \ + ${OE_QMAKE_PATH_PLUGINS}/.debug \ + ${OE_QMAKE_PATH_QML}/GreenIsland/.debug \ +" + +FILES_${PN}-dev += " \ + ${libdir}/cmake \ + ${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \ +" diff --git a/recipes-hawaii/greenisland/greenisland.inc b/recipes-hawaii/greenisland/greenisland.inc new file mode 100644 index 00000000..a5a19442 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland.inc @@ -0,0 +1,19 @@ +SUMMARY = "Support library to make Qt-based Wayland compositors development easier" +LICENSE = "LGPLv3 | GPLv2 | GPLv3" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ +" + +inherit hawaii pythonnative pkgconfig + +SRC_URI = " \ + git://github.com/greenisland/${BPN}.git;protocol=git;branch=master \ +" + +SRCREV = "c39760ad84b8d7d872b23d97a6f7aa5be236dacd" +PV = "0.7.90+git${SRCPV}" + +S = "${WORKDIR}/git" diff --git a/recipes-hawaii/greenisland/greenisland/0001-find-native-greenisland-wayland-scanner.patch b/recipes-hawaii/greenisland/greenisland/0001-find-native-greenisland-wayland-scanner.patch new file mode 100644 index 00000000..3adba952 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland/0001-find-native-greenisland-wayland-scanner.patch @@ -0,0 +1,25 @@ +From 2af2ca532ade54a610f3fab506894f68f8ca6388 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 11 Mar 2016 21:10:34 +0100 +Subject: [PATCH] find native greenisland-wayland-scanner +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + src/GreenIslandConfigExtrasLocal.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/server/GreenIslandServerConfigExtrasLocal.cmake b/src/server/GreenIslandServerConfigExtrasLocal.cmake +index 321be30..b1f4da6 100644 +--- a/src/server/GreenIslandServerConfigExtrasLocal.cmake ++++ b/src/server/GreenIslandServerConfigExtrasLocal.cmake +@@ -1,3 +1,3 @@ + # GreenIslandConfigExtras.cmake copy that uses the local target + +-set(GreenIsland_WAYLAND_SCANNER_EXECUTABLE GreenIsland::greenisland-wayland-scanner) ++set(GreenIsland_WAYLAND_SCANNER_EXECUTABLE greenisland-wayland-scanner) +-- +2.5.0 + diff --git a/recipes-hawaii/greenisland/greenisland/0002-qwlsurfacebuffer.cpp-include-qwlclientbufferintegrat.patch b/recipes-hawaii/greenisland/greenisland/0002-qwlsurfacebuffer.cpp-include-qwlclientbufferintegrat.patch new file mode 100644 index 00000000..3a0995b7 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland/0002-qwlsurfacebuffer.cpp-include-qwlclientbufferintegrat.patch @@ -0,0 +1,35 @@ +From be70976f2bbbe9e7ff6826e9a4b5863a2dd5b70e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Thu, 7 Apr 2016 23:48:18 +0200 +Subject: [PATCH] qwlsurfacebuffer.cpp: include qwlclientbufferintegration_p.h + unconditionoally +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In GLESv2 environment I get: + +<...>/src/waylandcompositor/wayland_wrapper/qwlsurfacebuffer.cpp:104:22: error: invalid use of incomplete type 'class QtWayland::ClientBufferIntegration' + +Signed-off-by: Andreas Müller +--- + src/waylandcompositor/wayland_wrapper/qwlsurfacebuffer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/waylandcompositor/wayland_wrapper/qwlsurfacebuffer.cpp b/src/waylandcompositor/wayland_wrapper/qwlsurfacebuffer.cpp +index cf0c566..42591c3 100644 +--- a/src/waylandcompositor/wayland_wrapper/qwlsurfacebuffer.cpp ++++ b/src/waylandcompositor/wayland_wrapper/qwlsurfacebuffer.cpp +@@ -36,8 +36,8 @@ + + #include "qwlsurfacebuffer_p.h" + +-#ifdef QT_COMPOSITOR_WAYLAND_GL + #include "hardware_integration/qwlclientbufferintegration_p.h" ++#ifdef QT_COMPOSITOR_WAYLAND_GL + #include + #endif + +-- +2.5.5 + diff --git a/recipes-hawaii/greenisland/greenisland/0003-waylandcompositor-remove-property-useHardwareIntegra.patch b/recipes-hawaii/greenisland/greenisland/0003-waylandcompositor-remove-property-useHardwareIntegra.patch new file mode 100644 index 00000000..fff168ed --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland/0003-waylandcompositor-remove-property-useHardwareIntegra.patch @@ -0,0 +1,73 @@ +From 79a00446364852a51c58835b2c778a8be99ff911 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Thu, 7 Apr 2016 23:01:29 +0200 +Subject: [PATCH] waylandcompositor: remove property + useHardwareIntegrationExtension for non GL (GLES) builds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/greenisland/0.7.90+gitAUTOINC+c39760ad84-r0/git/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp:817:15: error: 'const class QWaylandCompositorPrivate' has no member named 'use_hw_integration_extension' + return d->use_hw_integration_extension; + ^ +/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/greenisland/0.7.90+gitAUTOINC+c39760ad84-r0/git/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp: In member function 'void QWaylandCompositor::setUseHardwareIntegrationExtension(bool)': +/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/greenisland/0.7.90+gitAUTOINC+c39760ad84-r0/git/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp:823:19: error: 'class QWaylandCompositorPrivate' has no member named 'use_hw_integration_extension' + if (use == d->use_hw_integration_extension) + ^ +/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/greenisland/0.7.90+gitAUTOINC+c39760ad84-r0/git/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp:829:8: error: 'class QWaylandCompositorPrivate' has no member named 'use_hw_integration_extension' + d->use_hw_integration_extension = use; + ^ + +Signed-off-by: Andreas Müller +--- + src/waylandcompositor/compositor_api/qwaylandcompositor.cpp | 2 ++ + src/waylandcompositor/compositor_api/qwaylandcompositor.h | 4 ++++ + 2 files changed, 6 insertions(+) + +diff --git a/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp b/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp +index ab789c3..dee85f7 100644 +--- a/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp ++++ b/src/waylandcompositor/compositor_api/qwaylandcompositor.cpp +@@ -794,6 +794,7 @@ QWaylandInputDevice *QWaylandCompositor::inputDeviceFor(QInputEvent *inputEvent) + return dev; + } + ++#ifdef QT_COMPOSITOR_WAYLAND_GL + /*! + * \qmlproperty bool QtWaylandCompositor::WaylandCompositor::useHardwareIntegrationExtension + * +@@ -829,5 +830,6 @@ void QWaylandCompositor::setUseHardwareIntegrationExtension(bool use) + d->use_hw_integration_extension = use; + useHardwareIntegrationExtensionChanged(); + } ++#endif + + QT_END_NAMESPACE +diff --git a/src/waylandcompositor/compositor_api/qwaylandcompositor.h b/src/waylandcompositor/compositor_api/qwaylandcompositor.h +index 5eae20e..3d305fb 100644 +--- a/src/waylandcompositor/compositor_api/qwaylandcompositor.h ++++ b/src/waylandcompositor/compositor_api/qwaylandcompositor.h +@@ -74,7 +74,9 @@ class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandCompositor : public QWaylandObject + Q_PROPERTY(QByteArray socketName READ socketName WRITE setSocketName) + Q_PROPERTY(bool retainedSelection READ retainedSelectionEnabled WRITE setRetainedSelectionEnabled) + Q_PROPERTY(QWaylandOutput *defaultOutput READ defaultOutput WRITE setDefaultOutput NOTIFY defaultOutputChanged) ++#ifdef QT_COMPOSITOR_WAYLAND_GL + Q_PROPERTY(bool useHardwareIntegrationExtension READ useHardwareIntegrationExtension WRITE setUseHardwareIntegrationExtension NOTIFY useHardwareIntegrationExtensionChanged) ++#endif + Q_PROPERTY(QWaylandInputDevice *defaultInputDevice READ defaultInputDevice NOTIFY defaultInputDeviceChanged) + + public: +@@ -115,8 +117,10 @@ public: + + QWaylandInputDevice *inputDeviceFor(QInputEvent *inputEvent); + ++#ifdef QT_COMPOSITOR_WAYLAND_GL + bool useHardwareIntegrationExtension() const; + void setUseHardwareIntegrationExtension(bool use); ++#endif + + public Q_SLOTS: + void processWaylandEvents(); +-- +2.5.5 + diff --git a/recipes-hawaii/greenisland/greenisland/0004-hardwareintegration-glx-compositor-does-not-build-in.patch b/recipes-hawaii/greenisland/greenisland/0004-hardwareintegration-glx-compositor-does-not-build-in.patch new file mode 100644 index 00000000..60cda662 --- /dev/null +++ b/recipes-hawaii/greenisland/greenisland/0004-hardwareintegration-glx-compositor-does-not-build-in.patch @@ -0,0 +1,30 @@ +From a9c1fc97b0b8e0586b799955e8909937e88e81c1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Fri, 8 Apr 2016 00:45:05 +0200 +Subject: [PATCH] hardwareintegration: glx compositor does not build in GLES + environments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + src/hardwareintegration/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hardwareintegration/CMakeLists.txt b/src/hardwareintegration/CMakeLists.txt +index a10419c..6de68e8 100644 +--- a/src/hardwareintegration/CMakeLists.txt ++++ b/src/hardwareintegration/CMakeLists.txt +@@ -9,7 +9,7 @@ if(X11_FOUND AND X11_Xcomposite_FOUND) + if(EGL_FOUND) + add_subdirectory(xcomposite-egl) + endif() +- if(OPENGL_FOUND) ++ if(${Qt5Gui_OPENGL_IMPLEMENTATION} STREQUAL "GL") + add_subdirectory(xcomposite-glx) + endif() + endif() +-- +2.5.5 + diff --git a/recipes-hawaii/greenisland/greenisland_git.bb b/recipes-hawaii/greenisland/greenisland_git.bb deleted file mode 100644 index a42949bd..00000000 --- a/recipes-hawaii/greenisland/greenisland_git.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Support library to make Qt-based Wayland compositors development easier" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c" - -inherit hawaii cmake-lib pythonnative pkgconfig - -DEPENDS += " \ - ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ - wayland \ - qtwayland \ - libkscreen \ - virtual/egl \ -" -SRC_URI = " \ - git://github.com/greenisland/${BPN}.git;protocol=git;branch=master \ -" - -SRCREV = "9c3ce026da4249346c4e85ff9215eab66522444d" -PV = "0.6.0" - -S = "${WORKDIR}/git" - -# make it find qtwaylandscanner -EXTRA_OECMAKE += " \ - -DCMAKE_PROGRAM_PATH=${STAGING_DIR_NATIVE}/$bindir/qt5 \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xwayland", "",d)} \ -" -PACKAGECONFIG[xawayland] = "-DENABLE_XWAYLAND=ON,-DENABLE_XWAYLAND=OFF,libxcb" - -# cross libs / headers -CMAKE_ALIGN_SYSROOT[1] = "GreenIsland, -S${libdir}/lib, -S${STAGING_LIBDIR}/lib" -CMAKE_ALIGN_SYSROOT[2] = "GreenIsland, -S${includedir}, -S${STAGING_INCDIR}" - -FILES_${PN} += " \ - ${OE_QMAKE_PATH_QML}/GreenIsland \ - ${libdir}/plugins/greenisland \ -" -FILES_${PN}-dbg += " \ - ${OE_QMAKE_PATH_QML}/GreenIsland/.debug \ - ${libdir}/plugins/greenisland/.debug \ -" -FILES_${PN}-dev += "${libdir}/cmake"