qt5: remove Qt Quick dependency on opengl
authorJoshua Henderson <joshua.henderson@microchip.com>
Fri, 3 Nov 2017 00:01:24 +0000 (17:01 -0700)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 1 Dec 2017 22:12:01 +0000 (23:12 +0100)
Qt Quick should no longer depend on opengl, and instead fallback to
the limited functionality software renderer as a replacement [1] when
not available.

[1] http://blog.qt.io/blog/2016/08/15/the-qt-quick-graphics-stack-in-qt-5-8/

Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Tested-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: drop qt5declarative patch, since we have bumped to 5.9.3,
which contains the patch.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/qt5/qt5declarative/5.6.3/0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch
package/qt5/qt5declarative/Config.in
package/qt5/qt5multimedia/qt5multimedia.mk
package/qt5/qt5quickcontrols/Config.in
package/qt5/qt5quickcontrols2/Config.in
package/qt5/qt5virtualkeyboard/Config.in

index 875634fdb4c17c1a517231acdc054538558ef026..7959d38946dc88ae7ae5013949cc3d134b0580fc 100644 (file)
@@ -33,6 +33,12 @@ Fixes:
   .obj/moc_fbitem.o:(.data.rel.ro+0xf0): undefined reference to `QQuickFramebufferObject::staticMetaObject'
 
 Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+
+Note:
+An equivalent patch is upstream for qt5declarative 5.10, but it is not suitable for
+backporting to this version due to license differences.
+
 ---
  examples/quick/quick.pro | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
index 5384b5f187ff30d8311063719d9607f962be22cf..3a353a832629ff5c36957f9188ee8e9751502d41 100644 (file)
@@ -17,11 +17,11 @@ config BR2_PACKAGE_QT5DECLARATIVE
 if BR2_PACKAGE_QT5DECLARATIVE
 
 comment "quick module needs an OpenGL-capable backend"
-       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST
 
 config BR2_PACKAGE_QT5DECLARATIVE_QUICK
        bool "quick module"
-       depends on BR2_PACKAGE_QT5_GL_AVAILABLE
-       select BR2_PACKAGE_QT5BASE_OPENGL
+       depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST
+       select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE
 
 endif
index 835142e3a47dfc88999e12bfa7a7572066a22bf4..6df96bcab460f9034a8fbfd24c3533a679345777 100644 (file)
@@ -61,7 +61,8 @@ define QT5MULTIMEDIA_INSTALL_TARGET_LIBS
 endef
 endif
 
-ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
+# this is only built with quick/opengl support enabled
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5_GL_AVAILABLE),yy)
 define QT5MULTIMEDIA_INSTALL_TARGET_QMLS
        cp -dpfr $(STAGING_DIR)/usr/qml/QtMultimedia $(TARGET_DIR)/usr/qml/
 endef
index 3cc5821b1e6324e1ae54337dc016453d515571b7..59f6ca4114b5b2d56344a23f07001e6c9df633a5 100644 (file)
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_QT5QUICKCONTROLS
        bool "qt5quickcontrols"
-       depends on BR2_PACKAGE_QT5_GL_AVAILABLE
+       depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST
        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
        select BR2_PACKAGE_QT5DECLARATIVE
        select BR2_PACKAGE_QT5DECLARATIVE_QUICK
@@ -14,5 +14,5 @@ config BR2_PACKAGE_QT5QUICKCONTROLS
          http://doc.qt.io/qt-5/qtquickcontrols-index.html
 
 comment "qt5quickcontrols needs an OpenGL-capable backend"
-       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST
        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
index 1066b173bdb49167e17f5408fee76309af4aca86..d036f74baba813be6f57fefbe6496d7e0ab0574b 100644 (file)
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_QT5QUICKCONTROLS2
        bool "qt5quickcontrols2"
-       depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative/quick
+       depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative/quick
        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative/quick
        select BR2_PACKAGE_QT5DECLARATIVE
        select BR2_PACKAGE_QT5DECLARATIVE_QUICK
@@ -16,5 +16,5 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2
          https://doc.qt.io/qt-5/qtquickcontrols2-index.html
 
 comment "qt5quickcontrols2 needs an OpenGL-capable backend"
-       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST
        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
index a68581544d3856eb53126e1e1498f653026cfd3c..f0e4f03f61183de687cfcc9dc647a987050be013 100644 (file)
@@ -1,13 +1,13 @@
 comment "qt5virtualkeyboard needs at least qt-5.7 and an OpenGL backend"
        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
-       depends on !BR2_PACKAGE_QT5_VERSION_LATEST || !BR2_PACKAGE_QT5_GL_AVAILABLE
+       depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST
 
 config BR2_PACKAGE_QT5VIRTUALKEYBOARD
        bool "qt5virtualkeyboard"
        # needs at least Qt 5.7
        depends on BR2_PACKAGE_QT5_VERSION_LATEST
        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
-       depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative quick
+       depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative/quick
        select BR2_PACKAGE_QT5DECLARATIVE
        select BR2_PACKAGE_QT5DECLARATIVE_QUICK
        select BR2_PACKAGE_QT5SVG