Selaa lähdekoodia

Linux RT 4.4 qt 5.6.2 und qt 5.8.0 selectable

Reinhard Russinger 8 vuotta sitten
vanhempi
commit
0259b79263

+ 2902 - 0
GfA-buildroot_qt-latest_qt-LTS-5.6.2.patch

@@ -0,0 +1,2902 @@
+commit b42c9b76dcc623d263737b6e8010a0d5f6ec1540
+Author: Reinhard Russinger <reinhard@russinger.at>
+Date:   Tue May 23 09:45:40 2017 +0200
+
+    qt latest and qt lts 5.6.2 enable
+
+diff --git a/MakeIMAGE.sh b/MakeIMAGE.sh
+index c64a09d36..1f919e25a 100755
+--- a/MakeIMAGE.sh
++++ b/MakeIMAGE.sh
+@@ -63,7 +63,7 @@ cp ./output/images/*.dtb /tmp/boot
+ cp ./output/images/uImage /tmp/boot
+ cp ./output/images/MLO /tmp/boot
+ cp ./output/images/u-boot.img /tmp/boot   
+-cp ./output/images/rootfs.tar.gz /tmp/boot
++#cp ./output/images/rootfs.tar.gz /tmp/boot
+                                         
+ ls -alh /tmp/boot
+ 
+diff --git a/UpdateRootfs.sh.in b/UpdateRootfs.sh.in
+index 47f556623..d80c3999d 100644
+--- a/UpdateRootfs.sh.in
++++ b/UpdateRootfs.sh.in
+@@ -73,6 +73,12 @@ then
+ 	cp /etc/init.d/S98usb_g_ether /etc/init.d/M98usb_g_ether
+ 	rm /etc/init.d/S98usb_g_ether
+ fi
++
++
++if [ -e /etc/init.d/S80ti-sgx ]
++then
++	rm /etc/init.d/S80ti-sgx
++fi
+         
+ #echo "Update Firmware"
+ #echo "."
+diff --git a/package/qt5/Config.in b/package/qt5/Config.in
+index fb57d2574..aeec18814 100644
+--- a/package/qt5/Config.in
++++ b/package/qt5/Config.in
+@@ -1,15 +1,15 @@
+ config BR2_PACKAGE_QT5_GL_AVAILABLE
+ 	bool
+-	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
+ 	default y
++	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
+ 
+ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+ 	bool
++	default y
+ 	# Javascript engine is only available on certain architectures
+ 	depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel
+ 	# ARM needs BLX, so v5t+
+ 	depends on !BR2_ARM_CPU_ARMV4
+-	default y
+ 
+ comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library"
+ 	depends on !BR2_PACKAGE_QT
+@@ -30,8 +30,36 @@ menuconfig BR2_PACKAGE_QT5
+ 	  http://qt.io
+ 
+ if BR2_PACKAGE_QT5
+-source "package/qt5/qt5base/Config.in"
++
++choice
++	prompt "Qt5 version"
++
++config BR2_PACKAGE_QT5_VERSION_LATEST
++	bool "Latest (5.8)"
++	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
++	depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
++	depends on !BR2_ARM_CPU_ARMV4 # needs ARMv5+
++	# no built-in double-conversion support
++	depends on !BR2_arc && !BR2_nios2 && !BR2_xtensa
++	help
++	  This option builds Qt 5.8, which is licensed under
++	  (L)GPL-3.0+.
++
++comment "Latest Qt version needs host/toolchain w/ gcc >= 4.8"
++	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_HOST_GCC_AT_LEAST_4_8
++	depends on !BR2_ARM_CPU_ARMV4
++	depends on !BR2_arc && !BR2_nios2 && !BR2_xtensa
++
++config BR2_PACKAGE_QT5_VERSION_5_6
++	bool "LTS (5.6)"
++	help
++	  This option builds Qt 5.6, which is licensed under
++	  (L)GPL-2.0+.
++
++endchoice
++
+ source "package/qt5/qt53d/Config.in"
++source "package/qt5/qt5base/Config.in"
+ source "package/qt5/qt5canvas3d/Config.in"
+ source "package/qt5/qt5connectivity/Config.in"
+ source "package/qt5/qt5declarative/Config.in"
+@@ -41,22 +69,20 @@ source "package/qt5/qt5imageformats/Config.in"
+ source "package/qt5/qt5location/Config.in"
+ source "package/qt5/qt5multimedia/Config.in"
+ source "package/qt5/qt5quickcontrols/Config.in"
++source "package/qt5/qt5quickcontrols2/Config.in"
++source "package/qt5/qt5script/Config.in"
+ source "package/qt5/qt5sensors/Config.in"
++source "package/qt5/qt5charts/Config.in"
++source "package/qt5/qt5virtualkeyboard/Config.in"
++source "package/qt5/qt5wayland/Config.in"
+ source "package/qt5/qt5serialbus/Config.in"
+ source "package/qt5/qt5serialport/Config.in"
+-source "package/qt5/qt5wayland/Config.in"
+ source "package/qt5/qt5svg/Config.in"
+ source "package/qt5/qt5tools/Config.in"
+ source "package/qt5/qt5webchannel/Config.in"
++source "package/qt5/qt5webkit/Config.in"
++source "package/qt5/qt5webengine/Config.in"
+ source "package/qt5/qt5websockets/Config.in"
+ source "package/qt5/qt5x11extras/Config.in"
+-source "package/qt5/qt5webengine/Config.in"
+ source "package/qt5/qt5xmlpatterns/Config.in"
+-source "package/qt5/qt5virtualkeyboard/Config.in"
+-source "package/qt5/qt5charts/Config.in"
+-source "package/qt5/qt5datavis3d/Config.in"
+-source "package/qt5/qt5quickcontrols2/Config.in"
+-comment "legacy compatibility"
+-source "package/qt5/qt5script/Config.in"
+-source "package/qt5/qt5webkit/Config.in"
+ endif
+diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
+index 0710ef432..5c7af3926 100644
+--- a/package/qt5/qt5.mk
++++ b/package/qt5/qt5.mk
+@@ -1,8 +1,21 @@
+-QT5_VERSION_MAJOR = 5.7
++################################################################################
++#
++# qt5
++#
++################################################################################
++
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5_VERSION_MAJOR = 5.8
+ QT5_VERSION = $(QT5_VERSION_MAJOR).0
+ QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
+-##QT5_VERSION = $(QT5_VERSION_MAJOR).1
+-##QT5_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules
++QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules
++else
++QT5_VERSION_MAJOR = 5.6
++QT5_VERSION = $(QT5_VERSION_MAJOR).2
++QT5_SITE = http://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules
++QT5_SNAPSHOTS_SITE = http://download.qt.io/snapshots/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/latest_src/submodules
++endif
++
+ include $(sort $(wildcard package/qt5/*/*.mk))
+ 
+ define QT5_LA_PRL_FILES_FIXUP
+diff --git a/package/qt5/qt53d/Config.in b/package/qt5/qt53d/Config.in
+index ff50204fc..f776da2c8 100644
+--- a/package/qt5/qt53d/Config.in
++++ b/package/qt5/qt53d/Config.in
+@@ -1,17 +1,21 @@
+ config BR2_PACKAGE_QT53D
+ 	bool "qt53d"
++	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
++	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative_quick
+ 	select BR2_PACKAGE_QT5BASE
+ 	select BR2_PACKAGE_QT5BASE_GUI
+ 	select BR2_PACKAGE_QT5DECLARATIVE
+ 	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+-	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
+-	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative_quick
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+ 	  This package corresponds to the qt53d module.
+ 
++
++	  This module was in tech preview in Qt 5.6, and promoted
++	  to a core module in Qt 5.7.0.
++
+ 	  Enable the assimp package to gain the assimp sceneparser plugin.
+ 
+ 	  http://doc.qt.io/qt-5/qt3d-index.html
+diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash
+deleted file mode 100644
+index f59a67143..000000000
+--- a/package/qt5/qt53d/qt53d.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	a8248a1779b561ea450e92345e8187bacac359df0e92ad61a1ad7652bb233e29	qt3d-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt53d/qt53d.mk b/package/qt5/qt53d/qt53d.mk
+index 5dac5b0b6..d66923677 100644
+--- a/package/qt5/qt53d/qt53d.mk
++++ b/package/qt5/qt53d/qt53d.mk
+@@ -14,13 +14,8 @@ ifeq ($(BR2_PACKAGE_ASSIMP),y)
+ QT53D_DEPENDENCIES += assimp
+ endif
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT53D_LICENSE = GPLv2 or GPLv3 or LGPLv3
++QT53D_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0
+ QT53D_LICENSE_FILES = LICENSE.GPL LICENSE.GPLv3 LICENSE.LGPLv3
+-else
+-QT53D_LICENSE = Commercial license
+-QT53D_REDISTRIBUTE = NO
+-endif
+ 
+ define QT53D_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+diff --git a/package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch b/package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch
+deleted file mode 100644
+index 54e4db8e6..000000000
+--- a/package/qt5/qt5base/0001-Disable-c-standard-compiler-flags-for-the-host-build.__patch
++++ /dev/null
+@@ -1,44 +0,0 @@
+-From e69e69519661954716d59bfa5bbd0626515cfda9 Mon Sep 17 00:00:00 2001
+-From: Peter Seiderer <ps.report@gmx.net>
+-Date: Thu, 3 Mar 2016 15:17:31 +0100
+-Subject: [PATCH] Disable c++ standard compiler flags for the host build
+-MIME-Version: 1.0
+-Content-Type: text/plain; charset=UTF-8
+-Content-Transfer-Encoding: 8bit
+-
+-There is no test for c++ standard support for the host build
+-(only for the target compiler/build) which leads to trouble
+-in some cross compiling environments (old host compiler, new
+-cross compiler):
+-
+-  g++: error: unrecognized command line option ‘-std=c++1z’
+-
+-So disable c++ standard compiler flags unconditionally for host builds.
+-
+-Task-number: QTBUG-51644
+-Change-Id: Ifb3042e125fe199a7e081740d1171d26ccacf0c5
+-Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
+-Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+----
+- mkspecs/features/default_post.prf | 5 ++++-
+- 1 file changed, 4 insertions(+), 1 deletion(-)
+-
+-diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
+-index cd8d885..561c8f4 100644
+---- a/mkspecs/features/default_post.prf
+-+++ b/mkspecs/features/default_post.prf
+-@@ -95,7 +95,10 @@ breakpad {
+-     !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP $$DEBUGFILENAME)
+- }
+- 
+--c++11|c++14|c++1z {
+-+# Disable special compiler flags for host builds (needs to be changed for 5.7
+-+# to fall back to c++11 because since 5.7 c++11 is required everywhere,
+-+# including host builds).
+-+if(!host_build|!cross_compile):if(c++11|c++14|c++1z) {
+-     c++1z:       cxxstd = CXX1Z
+-     else: c++14: cxxstd = CXX14
+-     else:        cxxstd = CXX11
+--- 
+-2.1.4
+-
+diff --git a/package/qt5/qt5base/0006-eglfs-rasp-pi-header-inclusion.patch b/package/qt5/qt5base/5.6.2/0001-eglfs-rasp-pi-header-inclusion.patch
+similarity index 100%
+rename from package/qt5/qt5base/0006-eglfs-rasp-pi-header-inclusion.patch
+rename to package/qt5/qt5base/5.6.2/0001-eglfs-rasp-pi-header-inclusion.patch
+diff --git a/package/qt5/qt5base/0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch b/package/qt5/qt5base/5.6.2/0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch
+similarity index 100%
+rename from package/qt5/qt5base/0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch
+rename to package/qt5/qt5base/5.6.2/0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch
+diff --git a/package/qt5/qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch b/package/qt5/qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch
+new file mode 100644
+index 000000000..8548ef0e2
+--- /dev/null
++++ b/package/qt5/qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch
+@@ -0,0 +1,34 @@
++From 74af93f5298b54bc2327843f390bf202776f2f48 Mon Sep 17 00:00:00 2001
++From: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
++Date: Tue, 10 Jan 2017 14:18:02 +0100
++Subject: [PATCH] fix parallel builds with -qt-freetype -system-libpng
++
++freetype has no dependency on gui, so it needs to pull in gui's
++configuration manually, as that's where the system libpng is found.
++
++Task-number: QTBUG-58038
++Change-Id: I881495f7d2a8f7c1a45d7d4c9e7698ff1d30f2a9
++Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
++Reviewed-by: Joni Poikelin <joni.poikelin@qt.io>
++
++Upstream: https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4dcfd90e4fd7d4c49138038dbbcbda8794a9fbff
++Signed-off-by: Peter Seiderer <ps.report@gmx.net>
++---
++ src/3rdparty/freetype/freetype.pro | 1 +
++ 1 file changed, 1 insertion(+)
++
++diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro
++index 5b1eb92e..390a6da7 100644
++--- a/src/3rdparty/freetype/freetype.pro
+++++ b/src/3rdparty/freetype/freetype.pro
++@@ -69,6 +69,7 @@ DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
++ include(../zlib_dependency.pri)
++ 
++ DEFINES += FT_CONFIG_OPTION_USE_PNG
+++include($$OUT_PWD/../../gui/qtgui-config.pri)
++ QMAKE_USE_PRIVATE += libpng
++ 
++ DEFINES += TT_CONFIG_OPTION_SUBPIXEL_HINTING
++-- 
++2.11.0
++
+diff --git a/package/qt5/qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch b/package/qt5/qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch
+new file mode 100644
+index 000000000..e7d7ee360
+--- /dev/null
++++ b/package/qt5/qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch
+@@ -0,0 +1,97 @@
++From 35ee8b53549fab6ebffe289417e1d94298447af7 Mon Sep 17 00:00:00 2001
++From: Shawn Rutledge <shawn.rutledge@digia.com>
++Date: Fri, 10 Feb 2017 13:56:58 +0100
++Subject: [PATCH] fix VNC platform plugin build on big-endian machines
++
++Task-number: QTBUG-58734
++Change-Id: I3e44ee4be5003acaba2f1b8ed2658a3ff1bd700e
++Reviewed-by: Lars Knoll <lars.knoll@qt.io>
++Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
++
++Upstream: http://code.qt.io/cgit/qt/qtbase.git/patch/?id=6f64bfa654fb7e20bb75ec3b0544b81482babb44
++Signed-off-by: Peter Seiderer <ps.report@gmx.net>
++---
++ src/plugins/platforms/vnc/qvncclient.cpp | 6 +++---
++ src/plugins/platforms/vnc/qvncscreen.cpp | 7 ++++++-
++ src/plugins/platforms/vnc/qvncscreen.h   | 2 +-
++ 3 files changed, 10 insertions(+), 5 deletions(-)
++
++diff --git a/src/plugins/platforms/vnc/qvncclient.cpp b/src/plugins/platforms/vnc/qvncclient.cpp
++index dae3e83f..58dcfc9b 100644
++--- a/src/plugins/platforms/vnc/qvncclient.cpp
+++++ b/src/plugins/platforms/vnc/qvncclient.cpp
++@@ -142,7 +142,7 @@ void QVncClient::convertPixels(char *dst, const char *src, int count) const
++         case 16: {
++             quint16 p = *reinterpret_cast<const quint16*>(src);
++ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
++-            if (swapBytes)
+++            if (m_swapBytes)
++                 p = ((p & 0xff) << 8) | ((p & 0xff00) >> 8);
++ #endif
++             r = (p >> 11) & 0x1f;
++@@ -484,7 +484,7 @@ void QVncClient::setPixelFormat()
++         m_sameEndian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) == !!m_pixelFormat.bigEndian;
++         m_needConversion = pixelConversionNeeded();
++ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
++-        m_swapBytes = qvnc_screen->swapBytes();
+++        m_swapBytes = server()->screen()->swapBytes();
++ #endif
++     }
++ }
++@@ -639,7 +639,7 @@ bool QVncClient::pixelConversionNeeded() const
++         return true;
++ 
++ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
++-    if (qvnc_screen->swapBytes())
+++    if (server()->screen()->swapBytes())
++         return true;
++ #endif
++ 
++diff --git a/src/plugins/platforms/vnc/qvncscreen.cpp b/src/plugins/platforms/vnc/qvncscreen.cpp
++index 34def457..64f1bc0b 100644
++--- a/src/plugins/platforms/vnc/qvncscreen.cpp
+++++ b/src/plugins/platforms/vnc/qvncscreen.cpp
++@@ -43,6 +43,7 @@
++ #include <QtFbSupport/private/qfbcursor_p.h>
++ 
++ #include <QtGui/QPainter>
+++#include <QtGui/QScreen>
++ #include <QtCore/QRegularExpression>
++ 
++ 
++@@ -172,14 +173,18 @@ QPixmap QVncScreen::grabWindow(WId wid, int x, int y, int width, int height) con
++ }
++ 
++ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
++-bool QVNCScreen::swapBytes() const
+++bool QVncScreen::swapBytes() const
++ {
+++    return false;
+++
+++    /* TODO
++     if (depth() != 16)
++         return false;
++ 
++     if (screen())
++         return screen()->frameBufferLittleEndian();
++     return frameBufferLittleEndian();
+++    */
++ }
++ #endif
++ 
++diff --git a/src/plugins/platforms/vnc/qvncscreen.h b/src/plugins/platforms/vnc/qvncscreen.h
++index 785abd6d..0b42c3c7 100644
++--- a/src/plugins/platforms/vnc/qvncscreen.h
+++++ b/src/plugins/platforms/vnc/qvncscreen.h
++@@ -73,7 +73,7 @@ public:
++     void clearDirty() { dirtyRegion = QRegion(); }
++ 
++ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
++-    bool swapBytes() const
+++    bool swapBytes() const;
++ #endif
++ 
++     QStringList mArgs;
++-- 
++2.11.0
++
+diff --git a/package/qt5/qt5base/5.8.0/0003-QAtomic-pass-explicit-failure-mode-to-std-atomic-com.patch b/package/qt5/qt5base/5.8.0/0003-QAtomic-pass-explicit-failure-mode-to-std-atomic-com.patch
+new file mode 100644
+index 000000000..3a43584ee
+--- /dev/null
++++ b/package/qt5/qt5base/5.8.0/0003-QAtomic-pass-explicit-failure-mode-to-std-atomic-com.patch
+@@ -0,0 +1,65 @@
++From c5d7425f8ad391112758db161e3e08f18dc9d299 Mon Sep 17 00:00:00 2001
++From: Marc Mutz <marc.mutz@kdab.com>
++Date: Thu, 26 May 2016 08:30:26 +0200
++Subject: [PATCH] QAtomic: pass explicit failure mode to
++ std::atomic::compare_exchange_strong
++
++... in an attempt to avoid GCC 4.8 errors such as
++
++  bits/atomic_base.h:577:70: error: failure memory model cannot be stronger than success memory model for '__atomic_compare_exchange'
++  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2);
++                                                                      ^
++
++as seen on Android.
++
++Change-Id: If046e735888cf331d2d6506d8d5ca9aa7402f9ad
++[Bug report: https://bugreports.qt.io/browse/QTBUG-59399
++ Patch sent upstream: https://codereview.qt-project.org/#/c/187980/]
++Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.org>
++---
++ src/corelib/arch/qatomic_cxx11.h |    8 ++++----
++ 1 file changed, 4 insertions(+), 4 deletions(-)
++
++diff --git a/src/corelib/arch/qatomic_cxx11.h b/src/corelib/arch/qatomic_cxx11.h
++index bb49aae..d6731ec 100644
++--- a/src/corelib/arch/qatomic_cxx11.h
+++++ b/src/corelib/arch/qatomic_cxx11.h
++@@ -153,7 +153,7 @@ template <typename X> struct QAtomicOps
++     template <typename T>
++     static bool testAndSetRelaxed(std::atomic<T> &_q_value, T expectedValue, T newValue, T *currentValue = Q_NULLPTR) Q_DECL_NOTHROW
++     {
++-        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_relaxed);
+++        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_relaxed, std::memory_order_relaxed);
++         if (currentValue)
++             *currentValue = expectedValue;
++         return tmp;
++@@ -162,7 +162,7 @@ template <typename X> struct QAtomicOps
++     template <typename T>
++     static bool testAndSetAcquire(std::atomic<T> &_q_value, T expectedValue, T newValue, T *currentValue = Q_NULLPTR) Q_DECL_NOTHROW
++     {
++-        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acquire);
+++        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acquire, std::memory_order_acquire);
++         if (currentValue)
++             *currentValue = expectedValue;
++         return tmp;
++@@ -171,7 +171,7 @@ template <typename X> struct QAtomicOps
++     template <typename T>
++     static bool testAndSetRelease(std::atomic<T> &_q_value, T expectedValue, T newValue, T *currentValue = Q_NULLPTR) Q_DECL_NOTHROW
++     {
++-        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_release);
+++        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_release, std::memory_order_relaxed);
++         if (currentValue)
++             *currentValue = expectedValue;
++         return tmp;
++@@ -180,7 +180,7 @@ template <typename X> struct QAtomicOps
++     template <typename T>
++     static bool testAndSetOrdered(std::atomic<T> &_q_value, T expectedValue, T newValue, T *currentValue = Q_NULLPTR) Q_DECL_NOTHROW
++     {
++-        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acq_rel);
+++        bool tmp = _q_value.compare_exchange_strong(expectedValue, newValue, std::memory_order_acq_rel, std::memory_order_acquire);
++         if (currentValue)
++             *currentValue = expectedValue;
++         return tmp;
++-- 
++1.7.10.4
++
+diff --git a/package/qt5/qt5base/5.8.0/0003-eglfs-fix-x11-header-related-compile-failure.patch b/package/qt5/qt5base/5.8.0/0003-eglfs-fix-x11-header-related-compile-failure.patch
+new file mode 100644
+index 000000000..0e8bcffa2
+--- /dev/null
++++ b/package/qt5/qt5base/5.8.0/0003-eglfs-fix-x11-header-related-compile-failure.patch
+@@ -0,0 +1,36 @@
++From 8902f4d7b7c532592d1a34ad117698d3e380e9e1 Mon Sep 17 00:00:00 2001
++From: Peter Seiderer <ps.report@gmx.net>
++Date: Fri, 10 Mar 2017 22:23:06 +0100
++Subject: [PATCH] eglfs: fix x11 header related compile failure
++
++Add egl config and QT_EGL_NO_X11 define (as all other eglfs project
++files do).
++
++Task-number: QTBUG-59427
++Change-Id: Ifbb11eae0fdf0e58c0b7feecb9a7914a889c8f77
++
++Upstream: https://codereview.qt-project.org/188158
++Signed-off-by: Peter Seiderer <ps.report@gmx.net>
++---
++ src/plugins/platforms/eglfs/eglfs-plugin.pro | 5 +++++
++ 1 file changed, 5 insertions(+)
++
++diff --git a/src/plugins/platforms/eglfs/eglfs-plugin.pro b/src/plugins/platforms/eglfs/eglfs-plugin.pro
++index cf4863975a..ec229796e5 100644
++--- a/src/plugins/platforms/eglfs/eglfs-plugin.pro
+++++ b/src/plugins/platforms/eglfs/eglfs-plugin.pro
++@@ -2,6 +2,11 @@ TARGET = qeglfs
++ 
++ QT += eglfsdeviceintegration-private
++ 
+++CONFIG += egl
+++
+++# Avoid X11 header collision, use generic EGL native types
+++DEFINES += QT_EGL_NO_X11
+++
++ SOURCES += $$PWD/qeglfsmain.cpp
++ 
++ OTHER_FILES += $$PWD/eglfs.json
++-- 
++2.11.0
++
+diff --git a/package/qt5/qt5base/5.8.0/0004-examples-fix-compile-without-gui-module.patch b/package/qt5/qt5base/5.8.0/0004-examples-fix-compile-without-gui-module.patch
+new file mode 100644
+index 000000000..148ced800
+--- /dev/null
++++ b/package/qt5/qt5base/5.8.0/0004-examples-fix-compile-without-gui-module.patch
+@@ -0,0 +1,42 @@
++From fe8a9bacf781fcf290e04a08f2b8e37d881d58bb Mon Sep 17 00:00:00 2001
++From: Peter Seiderer <ps.report@gmx.net>
++Date: Thu, 27 Apr 2017 22:41:28 +0200
++Subject: [PATCH] examples: fix compile without gui module
++
++Fixes:
++
++  Project ERROR: Could not find feature opengl.
++
++Signed-off-by: Peter Seiderer <ps.report@gmx.net>
++---
++ examples/gui/gui.pro         | 2 +-
++ examples/widgets/widgets.pro | 2 +-
++ 2 files changed, 2 insertions(+), 2 deletions(-)
++
++diff --git a/examples/gui/gui.pro b/examples/gui/gui.pro
++index a4d960d3f5..b8080c2075 100644
++--- a/examples/gui/gui.pro
+++++ b/examples/gui/gui.pro
++@@ -6,5 +6,5 @@ CONFIG += no_docs_target
++ 
++ SUBDIRS += analogclock
++ SUBDIRS += rasterwindow
++-qtConfig(opengl): \
+++qtHaveModule(gui):qtConfig(opengl): \
++     SUBDIRS += openglwindow
++diff --git a/examples/widgets/widgets.pro b/examples/widgets/widgets.pro
++index 513ddc91f2..cef4936d32 100644
++--- a/examples/widgets/widgets.pro
+++++ b/examples/widgets/widgets.pro
++@@ -22,7 +22,7 @@ SUBDIRS       = \
++                 tutorials \
++                 widgets
++ 
++-qtConfig(opengl): \
+++qtHaveModule(gui):qtConfig(opengl): \
++     SUBDIRS += windowcontainer
++ 
++ contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
++-- 
++2.11.0
++
+diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
+index 64a7f6538..5d1ff1339 100644
+--- a/package/qt5/qt5base/Config.in
++++ b/package/qt5/qt5base/Config.in
+@@ -16,17 +16,16 @@ config BR2_PACKAGE_QT5BASE
+ 
+ if BR2_PACKAGE_QT5BASE
+ 
+-config BR2_PACKAGE_QT5BASE_LICENSE_APPROVED
+-	bool "Approve free license"
++config BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS
++	string "Custom configuration options"
+ 	help
+-	  Select this if you approve one of the available free licenses for the
+-	  Qt5 library.
+-	  By doing this you will not be asked while the library is compiled.
+-	  Please read and understand the license terms before approving this.
++	  Define custom qt5 configuration options which can be used to
++	  enable or disable options not managed by buildroot. These
++	  options are appended to the ones generated by buildroot and
++	  passed to qt5base during configuration.
+ 
+-	  LGPL: http://doc.qt.io/qt-5/lgpl.html
+-
+-	  See also http://doc.qt.io/qt-5/licensing.html
++	  E.g. to remove the Windows Vista style option, add the option
++	  -no-feature-style_windowsvista.
+ 
+ config BR2_PACKAGE_QT5BASE_CONFIG_FILE
+ 	string "Config file"
+@@ -62,19 +61,19 @@ config BR2_PACKAGE_QT5BASE_SQL
+ if BR2_PACKAGE_QT5BASE_SQL
+ config BR2_PACKAGE_QT5BASE_MYSQL
+ 	bool "MySQL Plugin"
++	depends on BR2_USE_MMU # mysql
+ 	select BR2_PACKAGE_MYSQL
+ 	select BR2_PACKAGE_NCURSES
+ 	select BR2_PACKAGE_READLINE
+-	depends on BR2_USE_MMU # mysql
+ 	help
+ 	  Build MySQL plugin
+ 	  If unsure, say n.
+ 
+ config BR2_PACKAGE_QT5BASE_PSQL
+ 	bool "PostgreSQL Plugin"
+-	select BR2_PACKAGE_POSTGRESQL
+ 	depends on BR2_USE_MMU # postgresql
+ 	depends on !BR2_STATIC_LIBS
++	select BR2_PACKAGE_POSTGRESQL
+ 	help
+ 	  Build PostgreSQL plugin
+ 	  If unsure, say n.
+@@ -117,6 +116,7 @@ config BR2_PACKAGE_QT5BASE_XML
+ 
+ config BR2_PACKAGE_QT5BASE_GUI
+ 	bool "gui module"
++	select BR2_PACKAGE_FREETYPE
+ 	# At least one graphic backend must be enabled, so enable
+ 	# linuxfb if nothing is enabled.
+ 	select BR2_PACKAGE_QT5BASE_LINUXFB if \
+@@ -180,7 +180,7 @@ config BR2_PACKAGE_QT5BASE_DIRECTFB
+ 	bool "directfb support"
+ 	depends on BR2_PACKAGE_DIRECTFB
+ 
+-comment "directfb backend if directb is enabled"
++comment "directfb backend available if directfb is enabled"
+ 	depends on !BR2_PACKAGE_DIRECTFB
+ 
+ config BR2_PACKAGE_QT5BASE_XCB
+@@ -198,9 +198,9 @@ comment "X.org XCB backend available if X.org is enabled"
+ 
+ config BR2_PACKAGE_QT5BASE_EGLFS
+ 	bool "eglfs support"
+-	select BR2_PACKAGE_QT5BASE_OPENGL
+ 	depends on BR2_PACKAGE_HAS_LIBEGL
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
++	select BR2_PACKAGE_QT5BASE_OPENGL
+ 
+ comment "eglfs backend available if OpenGL and EGL are enabled"
+ 	depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_QT5_GL_AVAILABLE
+@@ -250,16 +250,16 @@ endif
+ 
+ config BR2_PACKAGE_QT5BASE_DBUS
+ 	bool "DBus module"
+-	select BR2_PACKAGE_DBUS
+ 	depends on BR2_TOOLCHAIN_HAS_THREADS
+ 	depends on BR2_USE_MMU
++	select BR2_PACKAGE_DBUS
+ 	help
+ 	  This option enables the D-Bus module.
+ 
+ config BR2_PACKAGE_QT5BASE_ICU
+ 	bool "Enable ICU support"
+-	select BR2_PACKAGE_ICU
+ 	depends on !BR2_BINFMT_FLAT # icu
++	select BR2_PACKAGE_ICU
+ 	help
+ 	  This option enables ICU support in Qt5. This is for example
+ 	  needed for Qt5Webkit.
+diff --git a/package/qt5/qt5base/qmake.conf b/package/qt5/qt5base/qmake.conf
+index 2152d3c7a..49cf89831 100644
+--- a/package/qt5/qt5base/qmake.conf
++++ b/package/qt5/qt5base/qmake.conf
+@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS_RELEASE += -O3
+ CONFIG                 += nostrip
+ 
+ QMAKE_LIBS             += -lrt -lpthread -ldl
++QMAKE_CFLAGS_ISYSTEM   =
+ 
+ include(../common/linux_device_post.conf)
+ load(qt_config)
+diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash
+deleted file mode 100644
+index 6795b6030..000000000
+--- a/package/qt5/qt5base/qt5base.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	3e7b6d123cab23a587ccbc45173296b33786faa409dba0494e4658fda3ede646	qtbase-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
+index 81666d699..0c088350e 100644
+--- a/package/qt5/qt5base/qt5base.mk
++++ b/package/qt5/qt5base/qt5base.mk
+@@ -20,31 +20,44 @@ QT5BASE_INSTALL_STAGING = YES
+ #    want to use the one packaged in Buildroot
+ QT5BASE_CONFIGURE_OPTS += \
+ 	-optimized-qmake \
+-	-no-kms \
+ 	-no-cups \
+-	-no-nis \
+ 	-no-iconv \
+ 	-system-zlib \
+ 	-system-pcre \
+-	-system-harfbuzz \
+ 	-no-pch \
+ 	-shared
+ 
++QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS))
++
++# Uses libgbm from mesa3d
++ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
++QT5BASE_CONFIGURE_OPTS += -kms -gbm
++QT5BASE_DEPENDENCIES += mesa3d
++else
++QT5BASE_CONFIGURE_OPTS += -no-kms
++endif
++
+ ifeq ($(BR2_ENABLE_DEBUG),y)
+ QT5BASE_CONFIGURE_OPTS += -debug
+ else
+ QT5BASE_CONFIGURE_OPTS += -release
+ endif
+ 
++ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
+ QT5BASE_CONFIGURE_OPTS += -largefile
++endif
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+ QT5BASE_CONFIGURE_OPTS += -opensource -confirm-license
+-QT5BASE_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5BASE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5BASE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5BASE_LICENSE = Commercial license
+-QT5BASE_REDISTRIBUTE = NO
++QT5BASE_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5BASE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++endif
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++QT5BASE_LICENSE := $(QT5BASE_LICENSE), BSD-3-Clause (examples)
++QT5BASE_LICENSE_FILES += header.BSD
+ endif
+ 
+ QT5BASE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT5BASE_CONFIG_FILE))
+@@ -53,6 +66,10 @@ ifneq ($(QT5BASE_CONFIG_FILE),)
+ QT5BASE_CONFIGURE_OPTS += -qconfig buildroot
+ endif
+ 
++ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
++QT5BASE_DEPENDENCIES += udev
++endif
++
+ # Qt5 SQL Plugins
+ ifeq ($(BR2_PACKAGE_QT5BASE_SQL),y)
+ ifeq ($(BR2_PACKAGE_QT5BASE_MYSQL),y)
+@@ -75,10 +92,16 @@ QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM),sqlite)
+ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_NONE),-no-sql-sqlite)
+ endif
+ 
++ifeq ($(BR2_PACKAGE_QT5BASE_GUI),y)
++QT5BASE_CONFIGURE_OPTS += -gui -system-freetype
++QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5_VERSION_5_6),-I$(STAGING_DIR)/usr/include/freetype2)
++QT5BASE_DEPENDENCIES += freetype
++else
++QT5BASE_CONFIGURE_OPTS += -no-gui -no-freetype
++endif
++QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
+ # We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb
+ # is to add a link against the "inuxfb" library.
+-QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui)
+-QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
+ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
+ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
+ QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
+@@ -144,6 +167,7 @@ QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_ICU),icu)
+ 
+ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_EXAMPLES),-make,-nomake) examples
+ 
++ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
+ # gstreamer 0.10 support is broken in qt5multimedia
+ ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
+ QT5BASE_CONFIGURE_OPTS += -gstreamer 1.0
+@@ -151,6 +175,14 @@ QT5BASE_DEPENDENCIES   += gst1-plugins-base
+ else
+ QT5BASE_CONFIGURE_OPTS += -no-gstreamer
+ endif
++endif
++
++ifeq ($(BR2_PACKAGE_LIBINPUT),y)
++QT5BASE_CONFIGURE_OPTS += -libinput
++QT5BASE_DEPENDENCIES += libinput
++else
++QT5BASE_CONFIGURE_OPTS += -no-libinput
++endif
+ 
+ # Build the list of libraries to be installed on the target
+ QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
+@@ -161,7 +193,14 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_SQL)        += Qt5Sql
+ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_TEST)       += Qt5Test
+ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML)        += Qt5Xml
+ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_OPENGL_LIB) += Qt5OpenGL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFSDeviceIntegration
++ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
++QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFsKmsSupport
++endif
++else
+ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglDeviceIntegration
++endif
+ 
+ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_GUI)          += Qt5Gui
+ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_WIDGETS)      += Qt5Widgets
+@@ -227,12 +266,14 @@ define QT5BASE_INSTALL_TARGET_PLUGINS
+ 	fi
+ endef
+ 
++ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
+ define QT5BASE_INSTALL_TARGET_FONTS
+ 	if [ -d $(STAGING_DIR)/usr/lib/fonts/ ] ; then \
+ 		mkdir -p $(TARGET_DIR)/usr/lib/fonts ; \
+ 		cp -dpfr $(STAGING_DIR)/usr/lib/fonts/* $(TARGET_DIR)/usr/lib/fonts ; \
+ 	fi
+ endef
++endif
+ 
+ define QT5BASE_INSTALL_TARGET_EXAMPLES
+ 	if [ -d $(STAGING_DIR)/usr/lib/qt/examples/ ] ; then \
+diff --git a/package/qt5/qt5canvas3d/Config.in b/package/qt5/qt5canvas3d/Config.in
+index 3ae519284..04c04730b 100644
+--- a/package/qt5/qt5canvas3d/Config.in
++++ b/package/qt5/qt5canvas3d/Config.in
+@@ -1,16 +1,17 @@
+ config BR2_PACKAGE_QT5CANVAS3D
+ 	bool "qt5canvas3d"
+-	select BR2_PACKAGE_QT5DECLARATIVE
+-	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
+ 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
++	select BR2_PACKAGE_QT5DECLARATIVE
++	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5canvas3d module.
++	  Qt Canvas 3D module provides a way to make WebGL-like
++	  3D drawing calls from Qt Quick JavaScript.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtcanvas3d-index.html
+ 
+ comment "qt5canvas3d needs an OpenGL-capable backend"
+ 	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.hash b/package/qt5/qt5canvas3d/qt5canvas3d.hash
+deleted file mode 100644
+index 2d13e400f..000000000
+--- a/package/qt5/qt5canvas3d/qt5canvas3d.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	7871b3fd4c1a561c5b3eb57746e8504bc5d8fa626f9df578e619f9e823e3bd97	qtcanvas3d-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.mk b/package/qt5/qt5canvas3d/qt5canvas3d.mk
+index 3f605ab03..c0448cfd5 100644
+--- a/package/qt5/qt5canvas3d/qt5canvas3d.mk
++++ b/package/qt5/qt5canvas3d/qt5canvas3d.mk
+@@ -10,13 +10,8 @@ QT5CANVAS3D_SOURCE = qtcanvas3d-opensource-src-$(QT5CANVAS3D_VERSION).tar.xz
+ QT5CANVAS3D_DEPENDENCIES = qt5base qt5declarative
+ QT5CANVAS3D_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5CANVAS3D_LICENSE = GPLv2 or GPLv3 or LGPLv3
++QT5CANVAS3D_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0
+ QT5CANVAS3D_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3
+-else
+-QT5CANVAS3D_LICENSE = Commercial license
+-QT5CANVAS3D_REDISTRIBUTE = NO
+-endif
+ 
+ define QT5CANVAS3D_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+diff --git a/package/qt5/qt5charts/Config.in b/package/qt5/qt5charts/Config.in
+index d354bb2fc..bd659878f 100644
+--- a/package/qt5/qt5charts/Config.in
++++ b/package/qt5/qt5charts/Config.in
+@@ -3,6 +3,7 @@ config BR2_PACKAGE_QT5CHARTS
+ 	select BR2_PACKAGE_QT5DECLARATIVE
+ 	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	select BR2_PACKAGE_QT5BASE_WIDGETS
++	depends on BR2_PACKAGE_QT5_VERSION_LATEST
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
+ 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+ 	help
+diff --git a/package/qt5/qt5connectivity/Config.in b/package/qt5/qt5connectivity/Config.in
+index d529ea7f8..8bda8de66 100644
+--- a/package/qt5/qt5connectivity/Config.in
++++ b/package/qt5/qt5connectivity/Config.in
+@@ -1,21 +1,19 @@
+ config BR2_PACKAGE_QT5CONNECTIVITY
+ 	bool "qt5connectivity"
+-	select BR2_PACKAGE_BLUEZ_UTILS
++	depends on BR2_PACKAGE_NEARD || BR2_PACKAGE_BLUEZ_UTILS || BR2_PACKAGE_BLUEZ5_UTILS
+ 	select BR2_PACKAGE_QT5BASE
+ 	select BR2_PACKAGE_QT5BASE_CONCURRENT
+ 	select BR2_PACKAGE_QT5BASE_DBUS
+-	depends on !BR2_STATIC_LIBS # bluez_utils
+-	depends on BR2_USE_WCHAR # bluez_utils
+-	depends on BR2_TOOLCHAIN_HAS_THREADS # bluez_utils
+-	depends on BR2_USE_MMU # bluez_utils
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5connectivity module.
++	  Qt Connectivity module provides support for Bluetooth/NFC
++	  peripherials.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtbluetooth-index.html
++	  http://doc.qt.io/qt-5/qtnfc-index.html
+ 
+-comment "qt5connectivity needs a toolchain w/ wchar, threads, dynamic library"
+-	depends on BR2_USE_MMU
+-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
++comment "qt5connectivity needs neard and/or bluez(5)_utils"
++	depends on !BR2_PACKAGE_NEARD && !BR2_PACKAGE_BLUEZ_UTILS && \
++		!BR2_PACKAGE_BLUEZ5_UTILS
+diff --git a/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash
+deleted file mode 100644
+index 00b7c2086..000000000
+--- a/package/qt5/qt5connectivity/qt5connectivity.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	9844ca7ec5be187a77dfd7e95051fb267006f6c77157ecb0b8ceeac103a32703	qtconnectivity-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5connectivity/qt5connectivity.mk b/package/qt5/qt5connectivity/qt5connectivity.mk
+index 936bc6f63..d53aa91f2 100644
+--- a/package/qt5/qt5connectivity/qt5connectivity.mk
++++ b/package/qt5/qt5connectivity/qt5connectivity.mk
+@@ -7,21 +7,25 @@
+ QT5CONNECTIVITY_VERSION = $(QT5_VERSION)
+ QT5CONNECTIVITY_SITE = $(QT5_SITE)
+ QT5CONNECTIVITY_SOURCE = qtconnectivity-opensource-src-$(QT5CONNECTIVITY_VERSION).tar.xz
+-QT5CONNECTIVITY_DEPENDENCIES = bluez_utils qt5base
++QT5CONNECTIVITY_DEPENDENCIES = qt5base
+ QT5CONNECTIVITY_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5CONNECTIVITY_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5CONNECTIVITY_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5CONNECTIVITY_LICENSE = Commercial license
+-QT5CONNECTIVITY_REDISTRIBUTE = NO
++QT5CONNECTIVITY_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5CONNECTIVITY_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+-
+-ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+-QT5CONNECTIVITY_DEPENDENCIES += qt5declarative
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++QT5CONNECTIVITY_LICENSE := $(QT5CONNECTIVITY_LICENSE), BSD-3-Clause (examples)
+ endif
+ 
++QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5DECLARATIVE),qt5declarative)
++QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils)
++QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_BLUEZ5_UTILS),bluez5_utils)
++QT5CONNECTIVITY_DEPENDENCIES += $(if $(BR2_PACKAGE_NEARD),neard)
++
+ define QT5CONNECTIVITY_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+ endef
+@@ -36,15 +40,48 @@ define QT5CONNECTIVITY_INSTALL_STAGING_CMDS
+ endef
+ 
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
+-define QT5CONNECTIVITY_INSTALL_TARGET_QMLS
++ifneq ($(BR2_PACKAGE_BLUEZ_UTILS)$(BR2_PACKAGE_BLUEZ5_UTILS),)
++define QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH_QMLS
+ 	cp -dpfr $(STAGING_DIR)/usr/qml/QtBluetooth $(TARGET_DIR)/usr/qml/
+ endef
+ endif
++ifeq ($(BR2_PACKAGE_NEARD),y)
++define QT5CONNECTIVITY_INSTALL_TARGET_NFC_QMLS
++	cp -dpfr $(STAGING_DIR)/usr/qml/QtNfc $(TARGET_DIR)/usr/qml/
++endef
++endif
++endif
+ 
+-define QT5CONNECTIVITY_INSTALL_TARGET_CMDS
++ifneq ($(BR2_PACKAGE_BLUEZ_UTILS)$(BR2_PACKAGE_BLUEZ5_UTILS),)
++define QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH
+ 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Bluetooth.so.* $(TARGET_DIR)/usr/lib
+ 	cp -dpf $(STAGING_DIR)/usr/bin/sdpscanner $(TARGET_DIR)/usr/bin
+-	$(QT5CONNECTIVITY_INSTALL_TARGET_QMLS)
++endef
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++define QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/bluetooth $(TARGET_DIR)/usr/lib/qt/examples/
++endef
++endif
++endif
++
++ifeq ($(BR2_PACKAGE_NEARD),y)
++define QT5CONNECTIVITY_INSTALL_TARGET_NFC
++	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Nfc.so.* $(TARGET_DIR)/usr/lib
++endef
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++define QT5CONNECTIVITY_INSTALL_TARGET_NFC_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/nfc $(TARGET_DIR)/usr/lib/qt/examples/
++endef
++endif
++endif
++
++define QT5CONNECTIVITY_INSTALL_TARGET_CMDS
++	$(QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH)
++	$(QT5CONNECTIVITY_INSTALL_TARGET_NFC)
++	$(QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH_QMLS)
++	$(QT5CONNECTIVITY_INSTALL_TARGET_NFC_QMLS)
++	$(QT5CONNECTIVITY_INSTALL_TARGET_BLUETOOTH_EXAMPLES)
++	$(QT5CONNECTIVITY_INSTALL_TARGET_NFC_EXAMPLES)
+ endef
+ 
+ $(eval $(generic-package))
+diff --git a/package/qt5/qt5datavis3d/Config.in b/package/qt5/qt5datavis3d/Config.in
+deleted file mode 100644
+index c7aca9528..000000000
+--- a/package/qt5/qt5datavis3d/Config.in
++++ /dev/null
+@@ -1,17 +0,0 @@
+-config BR2_PACKAGE_QT5DATAVIS3D
+-	bool "qt5datavis3d"
+-	select BR2_PACKAGE_QT5DECLARATIVE
+-	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+-	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
+-	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+-	help
+-	  Qt is a cross-platform application and UI framework for
+-	  developers using C++.
+-
+-	  This package corresponds to the qt5datavis3d module.
+-
+-	  http://qt.io
+-
+-comment "qt5canvas3d needs an OpenGL-capable backend"
+-	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+-	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+diff --git a/package/qt5/qt5datavis3d/qt5datavis3d.mk b/package/qt5/qt5datavis3d/qt5datavis3d.mk
+deleted file mode 100644
+index 9101148c8..000000000
+--- a/package/qt5/qt5datavis3d/qt5datavis3d.mk
++++ /dev/null
+@@ -1,39 +0,0 @@
+-################################################################################
+-#
+-# qt5datavis3d
+-#
+-################################################################################
+-
+-QT5DATAVIS3D_VERSION = $(QT5_VERSION)
+-QT5DATAVIS3D_SITE = $(QT5_SITE)
+-QT5DATAVIS3D_SOURCE = qtdatavis3d-opensource-src-$(QT5DATAVIS3D_VERSION).tar.xz
+-QT5DATAVIS3D_DEPENDENCIES = qt5base qt5declarative
+-QT5DATAVIS3D_INSTALL_STAGING = YES
+-
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5DATAVIS3D_LICENSE = GPLv3
+-QT5DATAVIS3D_LICENSE_FILES = LICENSE.GPL3
+-else
+-QT5DATAVIS3D_LICENSE = Commercial license
+-QT5DATAVIS3D_REDISTRIBUTE = NO
+-endif
+-
+-define QT5DATAVIS3D_CONFIGURE_CMDS
+-	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+-endef
+-
+-define QT5DATAVIS3D_BUILD_CMDS
+-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+-endef
+-
+-define QT5DATAVIS3D_INSTALL_STAGING_CMDS
+-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+-	$(QT5_LA_PRL_FILES_FIXUP)
+-endef
+-
+-define QT5DATAVIS3D_INSTALL_TARGET_CMDS
+-	cp -dpfr $(STAGING_DIR)/usr/lib/libQt5DataVisualization.so.* $(TARGET_DIR)/usr/lib
+-        cp -dpfr $(STAGING_DIR)/usr/qml/QtDataVisualization $(TARGET_DIR)/usr/qml/
+-endef
+-
+-$(eval $(generic-package))
+diff --git a/package/qt5/qt5declarative/0001-examples-photoviewer-needs-widgets-support.patch b/package/qt5/qt5declarative/0001-examples-photoviewer-needs-widgets-support.patch
+new file mode 100644
+index 000000000..aeaaa9177
+--- /dev/null
++++ b/package/qt5/qt5declarative/0001-examples-photoviewer-needs-widgets-support.patch
+@@ -0,0 +1,32 @@
++From b616a7e2a7e03e2eb189dca3dc428c0e19e1652b Mon Sep 17 00:00:00 2001
++From: Peter Seiderer <ps.report@gmx.net>
++Date: Thu, 6 Apr 2017 21:53:40 +0200
++Subject: [PATCH] examples: photoviewer needs widgets support
++
++Fixes:
++
++  .../qt5declarative-5.8.0/examples/quick/demos/photoviewer/photoviewer.pro
++  Project ERROR: Unknown module(s) in QT: widgets
++
++Signed-off-by: Peter Seiderer <ps.report@gmx.net>
++---
++ examples/quick/demos/demos.pro | 6 ++++--
++ 1 file changed, 4 insertions(+), 2 deletions(-)
++
++diff --git a/examples/quick/demos/demos.pro b/examples/quick/demos/demos.pro
++index 0644b81a2..5a6fd52ba 100644
++--- a/examples/quick/demos/demos.pro
+++++ b/examples/quick/demos/demos.pro
++@@ -7,5 +7,7 @@ SUBDIRS = samegame \
++             photosurface \
++             stocqt
++ 
++-qtHaveModule(xmlpatterns): SUBDIRS += rssnews photoviewer
++-
+++qtHaveModule(xmlpatterns) {
+++    SUBDIRS += rssnews
+++    qtHaveModule(widgets): SUBDIRS += photoviewer
+++}
++-- 
++2.11.0
++
+diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
+index eba4c8d61..5384b5f18 100644
+--- a/package/qt5/qt5declarative/Config.in
++++ b/package/qt5/qt5declarative/Config.in
+@@ -1,16 +1,18 @@
+ config BR2_PACKAGE_QT5DECLARATIVE
+ 	bool "qt5declarative"
++	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+ 	select BR2_PACKAGE_QT5XMLPATTERNS
+ 	select BR2_PACKAGE_QT5BASE
+ 	select BR2_PACKAGE_QT5BASE_GUI
+-	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5declarative module.
++	  Qt Declarative module provides the Qt QML and Qt Quick
++	  modules for developing UIs with the QML language
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtqml-index.html
++	  http://doc.qt.io/qt-5/qtquick-index.html
+ 
+ if BR2_PACKAGE_QT5DECLARATIVE
+ 
+@@ -19,7 +21,7 @@ comment "quick module needs an OpenGL-capable backend"
+ 
+ config BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	bool "quick module"
+-	select BR2_PACKAGE_QT5BASE_OPENGL
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
++	select BR2_PACKAGE_QT5BASE_OPENGL
+ 
+ endif
+diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash
+deleted file mode 100644
+index 677966967..000000000
+--- a/package/qt5/qt5declarative/qt5declarative.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	86de6239f3aee2e5f561c16ad7b6e47d8f341c293d4ed11c85acbc21888cf9f4	qtdeclarative-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk
+index be3a7b7d7..f9ed8c751 100644
+--- a/package/qt5/qt5declarative/qt5declarative.mk
++++ b/package/qt5/qt5declarative/qt5declarative.mk
+@@ -10,12 +10,12 @@ QT5DECLARATIVE_SOURCE = qtdeclarative-opensource-src-$(QT5DECLARATIVE_VERSION).t
+ QT5DECLARATIVE_DEPENDENCIES = qt5base qt5xmlpatterns
+ QT5DECLARATIVE_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5DECLARATIVE_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5DECLARATIVE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5DECLARATIVE_LICENSE = Commercial license
+-QT5DECLARATIVE_REDISTRIBUTE = NO
++QT5DECLARATIVE_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5DECLARATIVE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ define QT5DECLARATIVE_CONFIGURE_CMDS
+@@ -23,14 +23,11 @@ define QT5DECLARATIVE_CONFIGURE_CMDS
+ endef
+ 
+ define QT5DECLARATIVE_BUILD_CMDS
+-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+-		sub-src-all sub-tools-all
++	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+ endef
+ 
+ define QT5DECLARATIVE_INSTALL_STAGING_CMDS
+-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+-		sub-src-install_subtargets \
+-		sub-tools-install_subtargets
++	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+ 	$(QT5_LA_PRL_FILES_FIXUP)
+ endef
+ 
+@@ -40,6 +37,9 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
+ define QT5DECLARATIVE_INSTALL_TARGET_QUICK_LIBS
+ 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Quick*.so.* $(TARGET_DIR)/usr/lib
+ endef
++define QT5DECLARATIVE_INSTALL_TARGET_QUICK_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/quick/ $(TARGET_DIR)/usr/lib/qt/examples/
++endef
+ endif
+ 
+ define QT5DECLARATIVE_INSTALL_TARGET_LIBS
+@@ -50,9 +50,17 @@ endef
+ 
+ endif
+ 
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++define QT5DECLARATIVE_INSTALL_TARGET_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/qml* $(TARGET_DIR)/usr/lib/qt/examples/
++	$(QT5DECLARATIVE_INSTALL_TARGET_QUICK_EXAMPLES)
++endef
++endif
++
+ define QT5DECLARATIVE_INSTALL_TARGET_CMDS
+ 	cp -dpf $(STAGING_DIR)/usr/bin/qml* $(TARGET_DIR)/usr/bin
+ 	cp -dpfr $(STAGING_DIR)/usr/qml $(TARGET_DIR)/usr
++	$(QT5DECLARATIVE_INSTALL_TARGET_EXAMPLES)
+ 	$(QT5DECLARATIVE_INSTALL_TARGET_LIBS)
+ endef
+ 
+diff --git a/package/qt5/qt5enginio/Config.in b/package/qt5/qt5enginio/Config.in
+index fcb866cd6..102058e7c 100644
+--- a/package/qt5/qt5enginio/Config.in
++++ b/package/qt5/qt5enginio/Config.in
+@@ -8,6 +8,10 @@ config BR2_PACKAGE_QT5ENGINIO
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5enginio module.
++	  Enginio is a Backend-as-a-Service solution for simplifying
++	  backend development of connected and data-driven applications.
+ 
+-	  http://qt.io
++	  This package has been tagged as deprecated since version
++	  5.6 and not recommended for new design.
++
++	  http://doc.qt.io/archives/qt-5.5/enginio-index.html
+diff --git a/package/qt5/qt5enginio/qt5enginio.hash b/package/qt5/qt5enginio/qt5enginio.hash
+deleted file mode 100644
+index 95f507cf5..000000000
+--- a/package/qt5/qt5enginio/qt5enginio.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	627ddcfbbfc3ec1a83c9dbb5f24287b5cd6cb5d3b9d09af4d1c444c6ac147f0c	qtenginio-opensource-src-1.6.0.tar.xz
+diff --git a/package/qt5/qt5enginio/qt5enginio.mk b/package/qt5/qt5enginio/qt5enginio.mk
+index b858d1cbb..bffd1f627 100644
+--- a/package/qt5/qt5enginio/qt5enginio.mk
++++ b/package/qt5/qt5enginio/qt5enginio.mk
+@@ -6,18 +6,16 @@
+ 
+ # Qt5Enginio does not follow Qt versionning
+ # see https://bugreports.qt.io/browse/QTBUG-50111
+-QT5ENGINIO_VERSION = 1.6.0
++QT5ENGINIO_VERSION = 1.6.2
+ QT5ENGINIO_SITE = $(QT5_SITE)
+ QT5ENGINIO_SOURCE = qtenginio-opensource-src-$(QT5ENGINIO_VERSION).tar.xz
+ QT5ENGINIO_DEPENDENCIES = openssl qt5base
+ QT5ENGINIO_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5ENGINIO_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
++QT5ENGINIO_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
+ QT5ENGINIO_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+-else
+-QT5ENGINIO_LICENSE = Commercial license
+-QT5ENGINIO_REDISTRIBUTE = NO
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++QT5ENGINIO_LICENSE := $(QT5ENGINIO_LICENSE), BSD-3-Clause (examples)
+ endif
+ 
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+diff --git a/package/qt5/qt5graphicaleffects/Config.in b/package/qt5/qt5graphicaleffects/Config.in
+index a42e1f8f2..69b7fca41 100644
+--- a/package/qt5/qt5graphicaleffects/Config.in
++++ b/package/qt5/qt5graphicaleffects/Config.in
+@@ -1,16 +1,18 @@
+ config BR2_PACKAGE_QT5GRAPHICALEFFECTS
+ 	bool "qt5graphicaleffects"
+-	select BR2_PACKAGE_QT5DECLARATIVE
+-	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
+ 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
++	select BR2_PACKAGE_QT5DECLARATIVE
++	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5graphicaleffects module.
++	  The Qt Graphical Effects module provides a set of QML types
++	  for adding visually impressive and configurable effects to
++	  user interfaces.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtgraphicaleffects-index.html
+ 
+ comment "qt5graphicaleffects needs an OpenGL-capable backend"
+ 	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash
+deleted file mode 100644
+index 7c79a9984..000000000
+--- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	c816539ce345e502425a94c624332df78f53aeebc460d76b53b79b59cb938de7	qtgraphicaleffects-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk
+index 223374a27..929a62e2d 100644
+--- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk
++++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk
+@@ -10,12 +10,12 @@ QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-opensource-src-$(QT5GRAPHICALEFF
+ QT5GRAPHICALEFFECTS_DEPENDENCIES = qt5base qt5declarative
+ QT5GRAPHICALEFFECTS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5GRAPHICALEFFECTS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5GRAPHICALEFFECTS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5GRAPHICALEFFECTS_LICENSE = Commercial license
+-QT5GRAPHICALEFFECTS_REDISTRIBUTE = NO
++QT5GRAPHICALEFFECTS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5GRAPHICALEFFECTS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ define QT5GRAPHICALEFFECTS_CONFIGURE_CMDS
+diff --git a/package/qt5/qt5imageformats/Config.in b/package/qt5/qt5imageformats/Config.in
+index 4dd848e41..44c85c9b3 100644
+--- a/package/qt5/qt5imageformats/Config.in
++++ b/package/qt5/qt5imageformats/Config.in
+@@ -6,6 +6,7 @@ config BR2_PACKAGE_QT5IMAGEFORMATS
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5imageformats module.
++	  The Qt Image Formats module provides plugins for
++	  additional image formats: TIFF, MNG, TGA, WBMP
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtimageformats-index.html
+diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash
+deleted file mode 100644
+index b65be404b..000000000
+--- a/package/qt5/qt5imageformats/qt5imageformats.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	ef3344a44194d1414be585f8c8a652ffe217c663a22b6e26d3bb5e114f3f62e5	qtimageformats-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5imageformats/qt5imageformats.mk b/package/qt5/qt5imageformats/qt5imageformats.mk
+index 921656d0a..f3d9d7427 100644
+--- a/package/qt5/qt5imageformats/qt5imageformats.mk
++++ b/package/qt5/qt5imageformats/qt5imageformats.mk
+@@ -10,12 +10,12 @@ QT5IMAGEFORMATS_SOURCE = qtimageformats-opensource-src-$(QT5IMAGEFORMATS_VERSION
+ QT5IMAGEFORMATS_DEPENDENCIES = qt5base
+ QT5IMAGEFORMATS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5IMAGEFORMATS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5IMAGEFORMATS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5IMAGEFORMATS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5IMAGEFORMATS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5IMAGEFORMATS_LICENSE = Commercial license
+-QT5IMAGEFORMATS_REDISTRIBUTE = NO
++QT5IMAGEFORMATS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5IMAGEFORMATS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ define QT5IMAGEFORMATS_CONFIGURE_CMDS
+diff --git a/package/qt5/qt5location/Config.in b/package/qt5/qt5location/Config.in
+index 209d13421..e1778182a 100644
+--- a/package/qt5/qt5location/Config.in
++++ b/package/qt5/qt5location/Config.in
+@@ -5,6 +5,8 @@ config BR2_PACKAGE_QT5LOCATION
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5location module.
++	  The Qt Location API helps you create viable mapping
++	  solutions using the data available from some of the
++	  popular location services.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtlocation-index.html
+diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash
+deleted file mode 100644
+index 074168e03..000000000
+--- a/package/qt5/qt5location/qt5location.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	70273367342493a77c050f033a92d96e79925aa70308746e9681d8661f4aa865	qtlocation-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5location/qt5location.mk b/package/qt5/qt5location/qt5location.mk
+index 358b1621c..b31bee7d1 100644
+--- a/package/qt5/qt5location/qt5location.mk
++++ b/package/qt5/qt5location/qt5location.mk
+@@ -10,12 +10,12 @@ QT5LOCATION_SOURCE = qtlocation-opensource-src-$(QT5LOCATION_VERSION).tar.xz
+ QT5LOCATION_DEPENDENCIES = qt5base
+ QT5LOCATION_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5LOCATION_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5LOCATION_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5LOCATION_LICENSE = Commercial license
+-QT5LOCATION_REDISTRIBUTE = NO
++QT5LOCATION_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+@@ -57,5 +57,4 @@ define QT5LOCATION_INSTALL_TARGET_CMDS
+ 	$(QT5LOCATION_INSTALL_TARGET_QMLS)
+ endef
+ 
+-
+ $(eval $(generic-package))
+diff --git a/package/qt5/qt5multimedia/Config.in b/package/qt5/qt5multimedia/Config.in
+index 59c398478..5b14ac57f 100644
+--- a/package/qt5/qt5multimedia/Config.in
++++ b/package/qt5/qt5multimedia/Config.in
+@@ -3,10 +3,14 @@ config BR2_PACKAGE_QT5MULTIMEDIA
+ 	select BR2_PACKAGE_QT5BASE
+ 	select BR2_PACKAGE_QT5BASE_GUI
+ 	select BR2_PACKAGE_QT5BASE_NETWORK
++	select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5BASE_OPENGL
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5multimedia module.
++	  The Qt Multimedia module provides a rich feature set that
++	  enables you to easily take advantage of a platform's multimedia
++	  capabilities such as media playback and the use of camera and
++	  radio devices.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/multimediaoverview.html
+diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash
+deleted file mode 100644
+index 1a85f9500..000000000
+--- a/package/qt5/qt5multimedia/qt5multimedia.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	05ae705bda224a600b06e390aa7b1448c4a6a52d2d37842d2121fb4a5d84b559	qtmultimedia-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk
+index 67e79686c..133536e1a 100644
+--- a/package/qt5/qt5multimedia/qt5multimedia.mk
++++ b/package/qt5/qt5multimedia/qt5multimedia.mk
+@@ -10,12 +10,12 @@ QT5MULTIMEDIA_SOURCE = qtmultimedia-opensource-src-$(QT5MULTIMEDIA_VERSION).tar.
+ QT5MULTIMEDIA_DEPENDENCIES = qt5base
+ QT5MULTIMEDIA_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5MULTIMEDIA_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5MULTIMEDIA_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5MULTIMEDIA_LICENSE = Commercial license
+-QT5MULTIMEDIA_REDISTRIBUTE = NO
++QT5MULTIMEDIA_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
+@@ -59,9 +59,16 @@ define QT5MULTIMEDIA_INSTALL_TARGET_QMLS
+ endef
+ endif
+ 
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++define QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/multimedia* $(TARGET_DIR)/usr/lib/qt/examples/
++endef
++endif
++
+ define QT5MULTIMEDIA_INSTALL_TARGET_CMDS
+ 	$(QT5MULTIMEDIA_INSTALL_TARGET_LIBS)
+ 	$(QT5MULTIMEDIA_INSTALL_TARGET_QMLS)
++	$(QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES)
+ endef
+ 
+ $(eval $(generic-package))
+diff --git a/package/qt5/qt5quickcontrols/Config.in b/package/qt5/qt5quickcontrols/Config.in
+index 0fe8465e2..3cc5821b1 100644
+--- a/package/qt5/qt5quickcontrols/Config.in
++++ b/package/qt5/qt5quickcontrols/Config.in
+@@ -1,16 +1,17 @@
+ config BR2_PACKAGE_QT5QUICKCONTROLS
+ 	bool "qt5quickcontrols"
+-	select BR2_PACKAGE_QT5DECLARATIVE
+-	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE
+ 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
++	select BR2_PACKAGE_QT5DECLARATIVE
++	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5quickcontrols module.
++	  The Qt Quick Controls module provides a set of controls
++	  that can be used to build complete interfaces in Qt Quick.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtquickcontrols-index.html
+ 
+ comment "qt5quickcontrols needs an OpenGL-capable backend"
+ 	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash
+deleted file mode 100644
+index cf438f84a..000000000
+--- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	d8e19a77100fff109585ccc62116e63dd11ce9486056a8eb5b64159b7ecdec32	qtquickcontrols-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
+index b33ff1575..5fee6ff42 100644
+--- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
++++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
+@@ -10,13 +10,8 @@ QT5QUICKCONTROLS_SOURCE = qtquickcontrols-opensource-src-$(QT5QUICKCONTROLS_VERS
+ QT5QUICKCONTROLS_DEPENDENCIES = qt5base qt5declarative
+ QT5QUICKCONTROLS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5QUICKCONTROLS_LICENSE = GPLv2 or GPLv3 or LGPLv3, GFDLv1.3 (docs)
++QT5QUICKCONTROLS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs)
+ QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL
+-else
+-QT5QUICKCONTROLS_LICENSE = Commercial license
+-QT5QUICKCONTROLS_REDISTRIBUTE = NO
+-endif
+ 
+ define QT5QUICKCONTROLS_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+@@ -30,8 +25,24 @@ define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS
+ 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+ endef
+ 
++ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5BASE_WIDGETS),yy)
++define QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS
++	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
++endef
++endif
++
++ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
++define QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS
++	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
++endef
++endif
++
+ define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
+-	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick $(TARGET_DIR)/usr/qml
++	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
++	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
++	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
++	$(QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS)
++	$(QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS)
+ endef
+ 
+ $(eval $(generic-package))
+diff --git a/package/qt5/qt5quickcontrols2/Config.in b/package/qt5/qt5quickcontrols2/Config.in
+index 1e57674dc..1066b173b 100644
+--- a/package/qt5/qt5quickcontrols2/Config.in
++++ b/package/qt5/qt5quickcontrols2/Config.in
+@@ -1,16 +1,19 @@
+ config BR2_PACKAGE_QT5QUICKCONTROLS2
+ 	bool "qt5quickcontrols2"
+-	select BR2_PACKAGE_QT5DECLARATIVE
+-	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative/quick
+ 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative/quick
++	select BR2_PACKAGE_QT5DECLARATIVE
++	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+ 	  This package corresponds to the qt5quickcontrols2 module.
+ 
+-	  http://qt.io
++	  This module was in tech preview in Qt 5.6, and promoted
++	  to a core module in Qt 5.7.0.
++
++	  https://doc.qt.io/qt-5/qtquickcontrols2-index.html
+ 
+ comment "qt5quickcontrols2 needs an OpenGL-capable backend"
+ 	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
+diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
+deleted file mode 100644
+index c43afd7fb..000000000
+--- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	63f5b0777992c32bd602b88de657e202cd6d5e8ba0371c6d5da16fb8c7481045	qtquickcontrols2-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
+index 23bbb2cc0..23bcbad73 100644
+--- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
++++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
+@@ -10,13 +10,8 @@ QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-opensource-src-$(QT5QUICKCONTROLS2_V
+ QT5QUICKCONTROLS2_DEPENDENCIES = qt5base qt5declarative
+ QT5QUICKCONTROLS2_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5QUICKCONTROLS2_LICENSE = GPLv3 or LGPLv3, GFDLv1.3 (docs)
++QT5QUICKCONTROLS2_LICENSE = GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs)
+ QT5QUICKCONTROLS2_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL
+-else
+-QT5QUICKCONTROLS2_LICENSE = Commercial license
+-QT5QUICKCONTROLS2_REDISTRIBUTE = NO
+-endif
+ 
+ define QT5QUICKCONTROLS2_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+@@ -30,16 +25,30 @@ define QT5QUICKCONTROLS2_INSTALL_STAGING_CMDS
+ 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+ endef
+ 
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++define QT5QUICKCONTROLS2_INSTALL_TARGET_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/quickcontrols2 $(TARGET_DIR)/usr/lib/qt/examples/
++endef
++endif
++
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
+ define QT5QUICKCONTROLS2_INSTALL_TARGET_CMDS
+ 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5QuickTemplates2.so.* $(TARGET_DIR)/usr/lib
+ 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5QuickControls2.so.* $(TARGET_DIR)/usr/lib
+ 	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/calendar $(TARGET_DIR)/usr/qml/Qt/labs
+-#	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/platform $(TARGET_DIR)/usr/qml/Qt/labs
+-	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/folderlistmodel $(TARGET_DIR)/usr/qml/Qt/labs
+-	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/settings $(TARGET_DIR)/usr/qml/Qt/labs
++	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/platform $(TARGET_DIR)/usr/qml/Qt/labs
+ 	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls.2 $(TARGET_DIR)/usr/qml/QtQuick
+ 	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Templates.2 $(TARGET_DIR)/usr/qml/QtQuick
+ 	$(QT5QUICKCONTROLS2_INSTALL_TARGET_EXAMPLES)
+ endef
++else
++define QT5QUICKCONTROLS2_INSTALL_TARGET_CMDS
++	cp -dpf $(STAGING_DIR)/usr/lib/libQt5LabsTemplates.so.* $(TARGET_DIR)/usr/lib
++	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/controls $(TARGET_DIR)/usr/qml/Qt/labs
++	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/calendar $(TARGET_DIR)/usr/qml/Qt/labs
++	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/templates $(TARGET_DIR)/usr/qml/Qt/labs
++	$(QT5QUICKCONTROLS2_INSTALL_TARGET_EXAMPLES)
++endef
++endif
+ 
+ $(eval $(generic-package))
+diff --git a/package/qt5/qt5script/Config.in b/package/qt5/qt5script/Config.in
+index 0d15ef265..034b7d2fc 100644
+--- a/package/qt5/qt5script/Config.in
++++ b/package/qt5/qt5script/Config.in
+@@ -1,15 +1,16 @@
+ config BR2_PACKAGE_QT5SCRIPT
+ 	bool "qt5script"
+-	select BR2_PACKAGE_QT5BASE
+ 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
++	select BR2_PACKAGE_QT5BASE
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5script module.
++	  Qt Script provides support for making Qt applications
++	  scriptable. Provided for Qt 4.x compatibility.
+ 
+ 	  This package has been tagged as deprecated since version
+ 	  5.5.0 and should be replaced by Qt QML module in new
+ 	  design.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtscript-index.html
+diff --git a/package/qt5/qt5script/qt5script.hash b/package/qt5/qt5script/qt5script.hash
+deleted file mode 100644
+index c8ecb75eb..000000000
+--- a/package/qt5/qt5script/qt5script.hash
++++ /dev/null
+@@ -1,2 +0,0 @@
+-# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtscript-opensource-src-5.6.2.tar.xz.mirrorlist
+-sha256 e06ef6b271cae2187b57cd4ffdd6759428fd47f94a060e2ed2af024a8c14110e qtscript-opensource-src-5.6.2.tar.xz
+diff --git a/package/qt5/qt5script/qt5script.mk b/package/qt5/qt5script/qt5script.mk
+index 57ba6f007..50ee52ad0 100644
+--- a/package/qt5/qt5script/qt5script.mk
++++ b/package/qt5/qt5script/qt5script.mk
+@@ -10,13 +10,8 @@ QT5SCRIPT_SOURCE = qtscript-opensource-src-$(QT5SCRIPT_VERSION).tar.xz
+ QT5SCRIPT_DEPENDENCIES = qt5base
+ QT5SCRIPT_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5SCRIPT_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
++QT5SCRIPT_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
+ QT5SCRIPT_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+-else
+-QT5SCRIPT_LICENSE = Commercial license
+-QT5SCRIPT_REDISTRIBUTE = NO
+-endif
+ 
+ define QT5SCRIPT_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+diff --git a/package/qt5/qt5sensors/Config.in b/package/qt5/qt5sensors/Config.in
+index 741ebba14..4846a3f95 100644
+--- a/package/qt5/qt5sensors/Config.in
++++ b/package/qt5/qt5sensors/Config.in
+@@ -5,6 +5,7 @@ config BR2_PACKAGE_QT5SENSORS
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5sensors module.
++	  The Qt Sensors API provides access to sensor hardware
++	  via QML and C++ interfaces.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtsensors-index.html
+diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash
+deleted file mode 100644
+index ec62e3ba8..000000000
+--- a/package/qt5/qt5sensors/qt5sensors.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	283dcc66a24c4367e865fa8301b6ea04d0cb78bd0f166fd09a6bb42e1e3731be	qtsensors-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5sensors/qt5sensors.mk b/package/qt5/qt5sensors/qt5sensors.mk
+index 0dd952a4c..079f056da 100644
+--- a/package/qt5/qt5sensors/qt5sensors.mk
++++ b/package/qt5/qt5sensors/qt5sensors.mk
+@@ -10,12 +10,12 @@ QT5SENSORS_SOURCE = qtsensors-opensource-src-$(QT5SENSORS_VERSION).tar.xz
+ QT5SENSORS_DEPENDENCIES = qt5base
+ QT5SENSORS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5SENSORS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5SENSORS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5SENSORS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5SENSORS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5SENSORS_LICENSE = Commercial license
+-QT5SENSORS_REDISTRIBUTE = NO
++QT5SENSORS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5SENSORS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+diff --git a/package/qt5/qt5serialbus/Config.in b/package/qt5/qt5serialbus/Config.in
+index 504141c63..2882d5064 100644
+--- a/package/qt5/qt5serialbus/Config.in
++++ b/package/qt5/qt5serialbus/Config.in
+@@ -1,5 +1,6 @@
+ config BR2_PACKAGE_QT5SERIALBUS
+ 	bool "qt5serialbus"
++	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 # CAN FD
+ 	select BR2_PACKAGE_QT5BASE
+ 	select BR2_PACKAGE_QT5SERIALPORT
+ 	help
+@@ -8,4 +9,10 @@ config BR2_PACKAGE_QT5SERIALBUS
+ 
+ 	  This package corresponds to the qt5serialbus module.
+ 
+-	  http://qt.io
++	  This module was in tech preview in Qt 5.6, and promoted
++	  to a core module in Qt 5.8.0.
++
++	  http://doc.qt.io/qt-5/qtserialbus-index.html
++
++comment "qt5serialbus needs headers >= 3.6"
++	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
+diff --git a/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash
+deleted file mode 100644
+index 05972195b..000000000
+--- a/package/qt5/qt5serialbus/qt5serialbus.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	2c437ace393e9dcf170990b519cec59c5cbcfc3c830e46116abb52549dc15d38	qtserialbus-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5serialbus/qt5serialbus.mk b/package/qt5/qt5serialbus/qt5serialbus.mk
+index b188f5d85..24fe8b150 100644
+--- a/package/qt5/qt5serialbus/qt5serialbus.mk
++++ b/package/qt5/qt5serialbus/qt5serialbus.mk
+@@ -10,13 +10,8 @@ QT5SERIALBUS_SOURCE = qtserialbus-opensource-src-$(QT5SERIALBUS_VERSION).tar.xz
+ QT5SERIALBUS_DEPENDENCIES = qt5base qt5serialport
+ QT5SERIALBUS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5SERIALBUS_LICENSE = GPLv2 or GPLv3 or LGPLv3, GFDLv1.3 (docs)
++QT5SERIALBUS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs)
+ QT5SERIALBUS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL
+-else
+-QT5SERIALBUS_LICENSE = Commercial license
+-QT5SERIALBUS_REDISTRIBUTE = NO
+-endif
+ 
+ define QT5SERIALBUS_CONFIGURE_CMDS
+ 	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+diff --git a/package/qt5/qt5serialport/Config.in b/package/qt5/qt5serialport/Config.in
+index c419d17dd..3538c5255 100644
+--- a/package/qt5/qt5serialport/Config.in
++++ b/package/qt5/qt5serialport/Config.in
+@@ -5,6 +5,8 @@ config BR2_PACKAGE_QT5SERIALPORT
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5serialport module.
++	  Qt Serial Port provides the basic functionality, which
++	  includes configuring, I/O operations, getting and setting
++	  the control signals of the RS-232 pinouts.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtserialport-index.html
+diff --git a/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash
+deleted file mode 100644
+index 7751d6411..000000000
+--- a/package/qt5/qt5serialport/qt5serialport.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	5ce150d843a243854736489d4a71205a8ca8dc8f93626ec29d1aa7a249a08265	qtserialport-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5serialport/qt5serialport.mk b/package/qt5/qt5serialport/qt5serialport.mk
+index 04df021b5..cf41019a8 100644
+--- a/package/qt5/qt5serialport/qt5serialport.mk
++++ b/package/qt5/qt5serialport/qt5serialport.mk
+@@ -10,12 +10,12 @@ QT5SERIALPORT_SOURCE = qtserialport-opensource-src-$(QT5SERIALPORT_VERSION).tar.
+ QT5SERIALPORT_DEPENDENCIES = qt5base
+ QT5SERIALPORT_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5SERIALPORT_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5SERIALPORT_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5SERIALPORT_LICENSE = Commercial license
+-QT5SERIALPORT_REDISTRIBUTE = NO
++QT5SERIALPORT_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5SERIALPORT_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ define QT5SERIALPORT_CONFIGURE_CMDS
+diff --git a/package/qt5/qt5svg/Config.in b/package/qt5/qt5svg/Config.in
+index e1acafbfe..bc80b6267 100644
+--- a/package/qt5/qt5svg/Config.in
++++ b/package/qt5/qt5svg/Config.in
+@@ -6,6 +6,7 @@ config BR2_PACKAGE_QT5SVG
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5svg module.
++	  Qt SVG provides classes for rendering and displaying SVG
++	  drawings in widgets and on other paint devices.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtsvg-index.html
+diff --git a/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash
+deleted file mode 100644
+index 0c3a9ffae..000000000
+--- a/package/qt5/qt5svg/qt5svg.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	a1f89f035aed48bf8843ff1880c4b54dc2e3a5160dbd743aec03e13831cdd881	qtsvg-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5svg/qt5svg.mk b/package/qt5/qt5svg/qt5svg.mk
+index ebd5cba80..43959615a 100644
+--- a/package/qt5/qt5svg/qt5svg.mk
++++ b/package/qt5/qt5svg/qt5svg.mk
+@@ -10,12 +10,12 @@ QT5SVG_SOURCE = qtsvg-opensource-src-$(QT5SVG_VERSION).tar.xz
+ QT5SVG_DEPENDENCIES = qt5base
+ QT5SVG_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5SVG_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5SVG_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5SVG_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5SVG_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5SVG_LICENSE = Commercial license
+-QT5SVG_REDISTRIBUTE = NO
++QT5SVG_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5SVG_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ define QT5SVG_CONFIGURE_CMDS
+diff --git a/package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch b/package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch
+deleted file mode 100644
+index 61cbdfe6a..000000000
+--- a/package/qt5/qt5tools/0001-Disable-qdoc-needs-qtdeclarative.patch
++++ /dev/null
+@@ -1,30 +0,0 @@
+-From acdb24783322bb6e69df61cf04df2b2e47a06ad2 Mon Sep 17 00:00:00 2001
+-From: Peter Seiderer <ps.report@gmx.net>
+-Date: Tue, 29 Mar 2016 13:37:09 +0200
+-Subject: [PATCH] Disable qdoc (needs qtdeclarative).
+-
+-Fixes:
+-
+-  Project ERROR: Unknown module(s) in QT: qmldevtools-private
+-  Makefile:63: recipe for target 'sub-qdoc-qmake_all' failed
+-
+-Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+----
+- src/src.pro | 1 -
+- 1 file changed, 1 deletion(-)
+-
+-diff --git a/src/src.pro b/src/src.pro
+-index 387d54f..494898f 100644
+---- a/src/src.pro
+-+++ b/src/src.pro
+-@@ -14,7 +14,6 @@ qtHaveModule(widgets) {
+- }
+- 
+- SUBDIRS += linguist \
+--    qdoc \
+-     qtplugininfo
+- if(!android|android_app):!ios: SUBDIRS += qtpaths
+- 
+--- 
+-2.1.4
+-
+diff --git a/package/qt5/qt5tools/Config.in b/package/qt5/qt5tools/Config.in
+index 453913b8a..20f00f6b2 100644
+--- a/package/qt5/qt5tools/Config.in
++++ b/package/qt5/qt5tools/Config.in
+@@ -4,9 +4,10 @@ config BR2_PACKAGE_QT5TOOLS
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5tools module.
++	  Qt Tools provides tools facilitate the development
++	  and design of applications.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtmodules.html#qt-tools
+ 
+ if BR2_PACKAGE_QT5TOOLS
+ 
+diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash
+deleted file mode 100644
+index cc11b2845..000000000
+--- a/package/qt5/qt5tools/qt5tools.hash
++++ /dev/null
+@@ -1,2 +0,0 @@
+-# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz.mirrorlist
+-sha256 db2bb4318786257a47172c377d9c456d5d5ec760d5d69240a4693dc87989e1b7 qttools-opensource-src-5.6.2.tar.xz
+diff --git a/package/qt5/qt5tools/qt5tools.mk b/package/qt5/qt5tools/qt5tools.mk
+index 6befb8b2c..7d5353a43 100644
+--- a/package/qt5/qt5tools/qt5tools.mk
++++ b/package/qt5/qt5tools/qt5tools.mk
+@@ -19,12 +19,12 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+ QT5TOOLS_DEPENDENCIES += qt5declarative
+ endif
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5TOOLS_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5TOOLS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5TOOLS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5TOOLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5TOOLS_LICENSE = Commercial license
+-QT5TOOLS_REDISTRIBUTE = NO
++QT5TOOLS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5TOOLS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS) += \
+diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in
+index 803b9376a..62a705187 100644
+--- a/package/qt5/qt5virtualkeyboard/Config.in
++++ b/package/qt5/qt5virtualkeyboard/Config.in
+@@ -1,6 +1,7 @@
+ config BR2_PACKAGE_QT5VIRTUALKEYBOARD
+ 	bool "qt5virtualkeyboard"
+ 	select BR2_PACKAGE_QT5BASE
++	depends on BR2_PACKAGE_QT5_VERSION_LATEST
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+diff --git a/package/qt5/qt5webchannel/Config.in b/package/qt5/qt5webchannel/Config.in
+index 218629a7c..e3d840584 100644
+--- a/package/qt5/qt5webchannel/Config.in
++++ b/package/qt5/qt5webchannel/Config.in
+@@ -6,6 +6,8 @@ config BR2_PACKAGE_QT5WEBCHANNEL
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5webchannel module.
++	  Qt WebChannel enables peer-to-peer communication between
++	  a server (QML/C++ application) and a client
++	  (HTML/JavaScript or QML application).
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtwebchannel-index.html
+diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash
+deleted file mode 100644
+index c4fc23081..000000000
+--- a/package/qt5/qt5webchannel/qt5webchannel.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	3ab4cd177cc742ee5015f2b7f943c16ce13380b840f824436b5005485b749816	qtwebchannel-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5webchannel/qt5webchannel.mk b/package/qt5/qt5webchannel/qt5webchannel.mk
+index 3865ced34..791f4a92f 100644
+--- a/package/qt5/qt5webchannel/qt5webchannel.mk
++++ b/package/qt5/qt5webchannel/qt5webchannel.mk
+@@ -10,12 +10,15 @@ QT5WEBCHANNEL_SOURCE = qtwebchannel-opensource-src-$(QT5WEBCHANNEL_VERSION).tar.
+ QT5WEBCHANNEL_DEPENDENCIES = qt5base qt5websockets
+ QT5WEBCHANNEL_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5WEBCHANNEL_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5WEBCHANNEL_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5WEBCHANNEL_LICENSE = Commercial license
+-QT5WEBCHANNEL_REDISTRIBUTE = NO
++QT5WEBCHANNEL_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5WEBCHANNEL_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++endif
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++QT5WEBCHANNEL_LICENSE := $(QT5WEBCHANNEL_LICENSE), BSD-3-Clause (examples)
+ endif
+ 
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+diff --git a/package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch b/package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch
+deleted file mode 100644
+index f3d5bdaf7..000000000
+--- a/package/qt5/qt5webengine/001-chromium-glibc-2.24-issue.patch
++++ /dev/null
+@@ -1,14 +0,0 @@
+---- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp	2016-05-26 15:53:47.000000000 +0200
+-+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp	2016-11-19 00:19:49.894527354 +0100
+-@@ -39,6 +39,11 @@
+- 
+- #include <sys/mman.h>
+- 
+-+#if OS(LINUX) && defined(MADV_FREE)
+-+// glibc 2.24 issues in qtwebengine
+-+#undef MADV_FREE
+-+#endif
+-+
+- #ifndef MADV_FREE
+- #define MADV_FREE MADV_DONTNEED
+- #endif
+diff --git a/package/qt5/qt5webengine/5.6.2/001-allow-arm-compiler.__patch b/package/qt5/qt5webengine/5.6.2/001-allow-arm-compiler.__patch
+new file mode 100644
+index 000000000..bb8aa69ed
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.6.2/001-allow-arm-compiler.__patch
+@@ -0,0 +1,26 @@
++diff '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*ninja*' -Naur qt5_a/src/3rdparty/chromium/build/common.gypi qt5webengine-5.5.1/src/3rdparty/chromium/build/common.gypi
++--- qt5_a/src/3rdparty/chromium/build/common.gypi	2015-10-13 06:36:43.000000000 +0200
+++++ qt5webengine-5.5.1/src/3rdparty/chromium/build/common.gypi	2016-02-09 16:37:54.729166157 +0100
++@@ -2294,7 +2294,7 @@
++           }],
++         ],
++         # Change the default to hard once the armhf transition is complete.
++-        'arm_float_abi%': 'softfp',
+++        'arm_float_abi%': 'hard',
++         'arm_thumb%': 1,
++       }],
++ 
++--- qt5webengine-5.5.1/tools/qmake/mkspecs/features/functions.prf	2015-10-13 06:36:55.000000000 +0200
+++++ qt5_we_b/tools/qmake/mkspecs/features/functions.prf	2016-02-09 21:44:30.829783885 +0100
++@@ -12,9 +12,9 @@
++     return(false)
++   }
++ 
++-  linux-g++*:!isGCCVersionSupported(): return(false)
+++  linux*g++*:!isGCCVersionSupported(): return(false)
++   !isPythonVersionSupported(): return(false)
++-  linux-g++*|win32-msvc2013|macx-clang: return(true)
+++  linux*g++*|win32-msvc2013|macx-clang: return(true)
++   boot2qt: return(true)
++ 
++   skipBuild("Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.")
+diff --git a/package/qt5/qt5webengine/001-delegate_frame_node_fence_sync.patch b/package/qt5/qt5webengine/5.6.2/001-delegate_frame_node_fence_sync.patch
+similarity index 100%
+rename from package/qt5/qt5webengine/001-delegate_frame_node_fence_sync.patch
+rename to package/qt5/qt5webengine/5.6.2/001-delegate_frame_node_fence_sync.patch
+diff --git a/package/qt5/qt5webengine/5.6.2/002-buildroot-python-bz2.patch b/package/qt5/qt5webengine/5.6.2/002-buildroot-python-bz2.patch
+new file mode 100644
+index 000000000..b780f49ec
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.6.2/002-buildroot-python-bz2.patch
+@@ -0,0 +1,11 @@
++--- a/src/3rdparty/chromium/v8/tools/js2c.py	2016-03-03 15:48:36.000000000 +0100
+++++ b/src/3rdparty/chromium/v8/tools/js2c.py	2016-04-28 15:56:42.219174252 +0200
++@@ -34,7 +34,7 @@
++ import os, re, sys, string
++ import optparse
++ import jsmin
++-import bz2
+++##import bz2
++ import textwrap
++ 
++ 
+diff --git a/package/qt5/qt5webengine/5.6.2/002-move_icu_to_56_1.__patch b/package/qt5/qt5webengine/5.6.2/002-move_icu_to_56_1.__patch
+new file mode 100644
+index 000000000..a917a9c14
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.6.2/002-move_icu_to_56_1.__patch
+@@ -0,0 +1,43 @@
++--- qt5webengine-5.5.1/src/3rdparty/chromium/third_party/icu/source/common/unicode/uvernum.h	2015-10-13 06:36:26.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/third_party/icu/source/common/unicode/uvernum.h	2016-02-11 12:06:28.304679220 +0100
++@@ -57,7 +57,7 @@
++  *  This value will change in the subsequent releases of ICU
++  *  @stable ICU 2.4
++  */
++-#define U_ICU_VERSION_MAJOR_NUM 52
+++#define U_ICU_VERSION_MAJOR_NUM 56
++ 
++ /** The current ICU minor version as an integer.
++  *  This value will change in the subsequent releases of ICU
++@@ -83,7 +83,7 @@
++  *  This value will change in the subsequent releases of ICU
++  *  @stable ICU 2.6
++  */
++-#define U_ICU_VERSION_SUFFIX _52
+++#define U_ICU_VERSION_SUFFIX _56
++ 
++ /**
++  * \def U_DEF2_ICU_ENTRY_POINT_RENAME
++@@ -118,19 +118,19 @@
++  *  This value will change in the subsequent releases of ICU
++  *  @stable ICU 2.4
++  */
++-#define U_ICU_VERSION "52.1"
+++#define U_ICU_VERSION "56.1"
++ 
++ /** The current ICU library major/minor version as a string without dots, for library name suffixes.
++  *  This value will change in the subsequent releases of ICU
++  *  @stable ICU 2.6
++  */
++-#define U_ICU_VERSION_SHORT "52"
+++#define U_ICU_VERSION_SHORT "56"
++ 
++ #ifndef U_HIDE_INTERNAL_API
++ /** Data version in ICU4C.
++  * @internal ICU 4.4 Internal Use Only
++  **/
++-#define U_ICU_DATA_VERSION "52.1"
+++#define U_ICU_DATA_VERSION "56.1"
++ #endif  /* U_HIDE_INTERNAL_API */
++ 
++ /*===========================================================================
+diff --git a/package/qt5/qt5webengine/5.6.2/003-egl_khr_reusable_sync.patch b/package/qt5/qt5webengine/5.6.2/003-egl_khr_reusable_sync.patch
+new file mode 100644
+index 000000000..8d633d965
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.6.2/003-egl_khr_reusable_sync.patch
+@@ -0,0 +1,14 @@
++--- qt5webengine-5.5.1/src/core/delegated_frame_node.cpp	2015-10-13 06:36:54.000000000 +0200
+++++ qt5_b/src/core/delegated_frame_node.cpp	2016-02-11 13:27:42.142167151 +0100
++@@ -76,6 +76,11 @@
++ #include <EGL/eglext.h>
++ #endif
++ 
+++#ifdef EGL_KHR_reusable_sync
+++#undef EGL_KHR_reusable_sync
+++#endif
+++
+++
++ namespace QtWebEngineCore {
++ 
++ class MailboxTexture : public QSGTexture, protected QOpenGLFunctions {
+diff --git a/package/qt5/qt5webengine/5.6.2/003-jpeg-codec-external-lib.patch b/package/qt5/qt5webengine/5.6.2/003-jpeg-codec-external-lib.patch
+new file mode 100644
+index 000000000..4ace97f64
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.6.2/003-jpeg-codec-external-lib.patch
+@@ -0,0 +1,49 @@
++diff --git a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
++index 6d92637..d34ae33 100644
++--- a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
+++++ b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
++@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
++   // tell libjpeg where to write the next data
++   cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
++   cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
++-  return 1;
+++  return (boolean)(1);
++ }
++ 
++ // Cleans up the JpegEncoderState to prepare for returning in the final form.
++@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
++   cinfo.data_precision = 8;
++ 
++   jpeg_set_defaults(&cinfo);
++-  jpeg_set_quality(&cinfo, quality, 1);  // quality here is 0-100
+++  jpeg_set_quality(&cinfo, quality, (boolean)true);  // quality here is 0-100
++ 
++   // set up the destination manager
++   jpeg_destination_mgr destmgr;
++@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
++   JpegEncoderState state(output);
++   cinfo.client_data = &state;
++ 
++-  jpeg_start_compress(&cinfo, 1);
+++  jpeg_start_compress(&cinfo, (boolean)true);
++ 
++   // feed it the rows, doing necessary conversions for the color format
++ #ifdef JCS_EXTENSIONS
++@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) {
++ //   set to a positive value if TRUE is returned. A FALSE return should only
++ //   be used when I/O suspension is desired."
++ boolean FillInputBuffer(j_decompress_ptr cinfo) {
++-  return false;
+++  return (boolean)false;
++ }
++ 
++ // Skip data in the buffer. Since we have all the data at once, this operation
++@@ -488,7 +488,7 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size,
++   cinfo.client_data = &state;
++ 
++   // fill the file metadata into our buffer
++-  if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK)
+++  if (jpeg_read_header(&cinfo, (boolean)true) != JPEG_HEADER_OK)
++     return false;
++ 
++   // we want to always get RGB data out
+diff --git a/package/qt5/qt5webengine/5.6.2/004-allow-egl-surface.__patch b/package/qt5/qt5webengine/5.6.2/004-allow-egl-surface.__patch
+new file mode 100644
+index 000000000..604cb88f3
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.6.2/004-allow-egl-surface.__patch
+@@ -0,0 +1,166 @@
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/base/files/file_proxy_unittest.cc qt5_b/src/3rdparty/chromium/base/files/file_proxy_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/base/files/file_proxy_unittest.cc	2015-10-13 06:36:48.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/base/files/file_proxy_unittest.cc	2016-02-12 17:58:52.694043375 +0100
++@@ -142,7 +142,7 @@
++ }
++ 
++ TEST_F(FileProxyTest, CreateOrOpen_AbandonedCreate) {
++-  bool prev = ThreadRestrictions::SetIOAllowed(false);
+++  bool prev = ThreadRestrictions::SetIOAllowed(true);
++   {
++     FileProxy proxy(file_task_runner());
++     proxy.CreateOrOpen(
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_main_loop.cc qt5_b/src/3rdparty/chromium/content/browser/browser_main_loop.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_main_loop.cc	2015-10-13 06:36:47.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/content/browser/browser_main_loop.cc	2016-02-12 17:53:52.118534482 +0100
++@@ -745,7 +745,7 @@
++ 
++   // If the UI thread blocks, the whole UI is unresponsive.
++   // Do not allow disk IO from the UI thread.
++-  base::ThreadRestrictions::SetIOAllowed(false);
+++  base::ThreadRestrictions::SetIOAllowed(true);
++   base::ThreadRestrictions::DisallowWaiting();
++   return result_code_;
++ }
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc qt5_b/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc	2015-10-13 06:36:46.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/content/browser/browser_process_sub_thread.cc	2016-02-12 17:52:40.717701092 +0100
++@@ -39,7 +39,7 @@
++     // Though this thread is called the "IO" thread, it actually just routes
++     // messages around; it shouldn't be allowed to perform any blocking disk
++     // I/O.
++-    base::ThreadRestrictions::SetIOAllowed(false);
+++    base::ThreadRestrictions::SetIOAllowed(true);
++     base::ThreadRestrictions::DisallowWaiting();
++   }
++ }
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc qt5_b/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc	2015-10-13 06:36:51.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/dbus/end_to_end_async_unittest.cc	2016-02-12 17:57:04.280777854 +0100
++@@ -39,7 +39,7 @@
++ 
++   virtual void SetUp() {
++     // Make the main thread not to allow IO.
++-    base::ThreadRestrictions::SetIOAllowed(false);
+++    base::ThreadRestrictions::SetIOAllowed(true);
++ 
++     // Start the D-Bus thread.
++     dbus_thread_.reset(new base::Thread("D-Bus Thread"));
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/object_manager_unittest.cc qt5_b/src/3rdparty/chromium/dbus/object_manager_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/object_manager_unittest.cc	2015-10-13 06:36:51.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/dbus/object_manager_unittest.cc	2016-02-12 17:54:33.659019384 +0100
++@@ -61,7 +61,7 @@
++ 
++   virtual void SetUp() {
++     // Make the main thread not to allow IO.
++-    base::ThreadRestrictions::SetIOAllowed(false);
+++    base::ThreadRestrictions::SetIOAllowed(true);
++ 
++     // Start the D-Bus thread.
++     dbus_thread_.reset(new base::Thread("D-Bus Thread"));
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/property_unittest.cc qt5_b/src/3rdparty/chromium/dbus/property_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/property_unittest.cc	2015-10-13 06:36:51.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/dbus/property_unittest.cc	2016-02-12 17:57:54.025358691 +0100
++@@ -51,7 +51,7 @@
++ 
++   virtual void SetUp() {
++     // Make the main thread not to allow IO.
++-    base::ThreadRestrictions::SetIOAllowed(false);
+++    base::ThreadRestrictions::SetIOAllowed(true);
++ 
++     // Start the D-Bus thread.
++     dbus_thread_.reset(new base::Thread("D-Bus Thread"));
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc qt5_b/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc	2015-10-13 06:36:51.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/dbus/signal_sender_verification_unittest.cc	2016-02-12 17:55:57.519998395 +0100
++@@ -32,7 +32,7 @@
++     base::StatisticsRecorder::Initialize();
++ 
++     // Make the main thread not to allow IO.
++-    base::ThreadRestrictions::SetIOAllowed(false);
+++    base::ThreadRestrictions::SetIOAllowed(true);
++ 
++     // Start the D-Bus thread.
++     dbus_thread_.reset(new base::Thread("D-Bus Thread"));
++@@ -161,7 +161,7 @@
++   void SafeServiceStop(TestService* test_service) {
++     base::ThreadRestrictions::SetIOAllowed(true);
++     test_service->Stop();
++-    base::ThreadRestrictions::SetIOAllowed(false);
+++    base::ThreadRestrictions::SetIOAllowed(true);
++   }
++ 
++   base::MessageLoop message_loop_;
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/net/base/file_stream_unittest.cc qt5_b/src/3rdparty/chromium/net/base/file_stream_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/net/base/file_stream_unittest.cc	2015-10-13 06:36:53.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/net/base/file_stream_unittest.cc	2016-02-12 18:00:05.358889970 +0100
++@@ -758,7 +758,7 @@
++   scoped_refptr<base::SequencedWorkerPool> pool(
++       new base::SequencedWorkerPool(1, "StreamTest"));
++ 
++-  bool prev = base::ThreadRestrictions::SetIOAllowed(false);
+++  bool prev = base::ThreadRestrictions::SetIOAllowed(true);
++   scoped_ptr<FileStream> stream(new FileStream(pool.get()));
++   int flags = base::File::FLAG_OPEN | base::File::FLAG_WRITE |
++               base::File::FLAG_ASYNC;
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc qt5_b/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc	2015-10-13 06:36:53.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/net/base/network_config_watcher_mac.cc	2016-02-12 18:00:56.359484236 +0100
++@@ -67,7 +67,7 @@
++ void NetworkConfigWatcherMacThread::Init() {
++   // Disallow IO to make sure NetworkConfigWatcherMacThread's helper thread does
++   // not perform blocking operations.
++-  base::ThreadRestrictions::SetIOAllowed(false);
+++  base::ThreadRestrictions::SetIOAllowed(true);
++ 
++   delegate_->Init();
++ 
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc qt5_b/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc
++--- qt5webengine-5.5.1/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc	2015-10-13 06:36:53.000000000 +0200
+++++ qt5_b/src/3rdparty/chromium/net/disk_cache/backend_unittest.cc	2016-02-12 18:02:24.724514006 +0100
++@@ -463,7 +463,7 @@
++       base::Thread::Options(base::MessageLoop::TYPE_IO, 0)));
++   net::TestCompletionCallback cb;
++ 
++-  bool prev = base::ThreadRestrictions::SetIOAllowed(false);
+++  bool prev = base::ThreadRestrictions::SetIOAllowed(true);
++   scoped_ptr<disk_cache::BackendImpl> cache(new disk_cache::BackendImpl(
++       cache_path_, cache_thread.task_runner(), NULL));
++   int rv = cache->Init(cb.callback());
++@@ -1972,7 +1972,7 @@
++       base::Thread::Options(base::MessageLoop::TYPE_IO, 0)));
++ 
++   net::TestCompletionCallback cb;
++-  bool prev = base::ThreadRestrictions::SetIOAllowed(false);
+++  bool prev = base::ThreadRestrictions::SetIOAllowed(true);
++   base::FilePath path(cache_path_);
++   int rv = disk_cache::CreateCacheBackend(net::DISK_CACHE,
++                                           net::CACHE_BACKEND_BLOCKFILE,
++diff -aur '--exclude=*.pyc' '--exclude=*.o' '--exclude=*.h' '--exclude=*.a' '--exclude=*deps' '--exclude=*log*' '--exclude=*ninja*' '--exclude=*.gyp' '--exclude=*.pak' '--exclude=*.pickle' '--exclude=*.cache' '--exclude=*.py' '--exclude=*.idl' '--exclude=*.gypi' '--exclude=*.tmp' '--exclude=*.in' '--exclude=*.rc' qt5webengine-5.5.1/src/core/gl_surface_qt.cpp qt5_b/src/core/gl_surface_qt.cpp
++--- qt5webengine-5.5.1/src/core/gl_surface_qt.cpp	2015-10-13 06:36:54.000000000 +0200
+++++ qt5_b/src/core/gl_surface_qt.cpp	2016-02-14 11:38:43.661776602 +0100
++@@ -513,15 +513,20 @@
++         return NULL;
++ #endif
++     }
++-    case kGLImplementationEGLGLES2: {
+++   case kGLImplementationEGLGLES2: {
++         scoped_refptr<GLSurface> surface = new GLSurfaceQtEGL(size);
++         if (!surface->Initialize())
++             return NULL;
++         return surface;
++     }
++-    default:
++-        Q_UNREACHABLE();
++-        return NULL;
+++    default: {
+++        scoped_refptr<GLSurface> surface = new GLSurfaceQtEGL(size);
+++        if (!surface->Initialize())
+++            return NULL;
+++        return surface;
+++    }
+++//        Q_UNREACHABLE();
+++//        return NULL;
++     }
++ }
++ 
+diff --git a/package/qt5/qt5webengine/5.8.0/001-use-neon-per-default.patch b/package/qt5/qt5webengine/5.8.0/001-use-neon-per-default.patch
+new file mode 100644
+index 000000000..9e865d3d9
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.8.0/001-use-neon-per-default.patch
+@@ -0,0 +1,13 @@
++diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
++index dc22d14..161ca9e 100644
++--- a/src/core/gyp_run.pro
+++++ b/src/core/gyp_run.pro
++@@ -82,7 +82,7 @@ contains(QT_ARCH, "arm") {
++         else: GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=0
++     } else {
++         # Chromium defaults to arm_neon=1, Qt does not.
++-        GYP_CONFIG += arm_neon=0
+++        GYP_CONFIG += arm_neon=1
++         !lessThan(MARMV, 7): GYP_CONFIG += arm_neon_optional=1
++     }
++ 
+diff --git a/package/qt5/qt5webengine/5.8.0/002-EGL_KHR_reusable_sync-disa.patch b/package/qt5/qt5webengine/5.8.0/002-EGL_KHR_reusable_sync-disa.patch
+new file mode 100644
+index 000000000..2b4b5aad5
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.8.0/002-EGL_KHR_reusable_sync-disa.patch
+@@ -0,0 +1,15 @@
++diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
++index baf0640..0c77eb2 100644
++--- a/src/core/delegated_frame_node.cpp
+++++ b/src/core/delegated_frame_node.cpp
++@@ -91,6 +91,10 @@
++ #include <EGL/eglext.h>
++ #endif
++ 
+++#ifdef EGL_KHR_reusable_sync
+++#undef EGL_KHR_reusable_sync
+++#endif
+++
++ #ifndef GL_TIMEOUT_IGNORED
++ #define GL_TIMEOUT_IGNORED                0xFFFFFFFFFFFFFFFFull
++ #endif
+diff --git a/package/qt5/qt5webengine/5.8.0/003-jpeg-codec-external-lib.patch b/package/qt5/qt5webengine/5.8.0/003-jpeg-codec-external-lib.patch
+new file mode 100644
+index 000000000..4ace97f64
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.8.0/003-jpeg-codec-external-lib.patch
+@@ -0,0 +1,49 @@
++diff --git a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
++index 6d92637..d34ae33 100644
++--- a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
+++++ b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc
++@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
++   // tell libjpeg where to write the next data
++   cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
++   cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
++-  return 1;
+++  return (boolean)(1);
++ }
++ 
++ // Cleans up the JpegEncoderState to prepare for returning in the final form.
++@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
++   cinfo.data_precision = 8;
++ 
++   jpeg_set_defaults(&cinfo);
++-  jpeg_set_quality(&cinfo, quality, 1);  // quality here is 0-100
+++  jpeg_set_quality(&cinfo, quality, (boolean)true);  // quality here is 0-100
++ 
++   // set up the destination manager
++   jpeg_destination_mgr destmgr;
++@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
++   JpegEncoderState state(output);
++   cinfo.client_data = &state;
++ 
++-  jpeg_start_compress(&cinfo, 1);
+++  jpeg_start_compress(&cinfo, (boolean)true);
++ 
++   // feed it the rows, doing necessary conversions for the color format
++ #ifdef JCS_EXTENSIONS
++@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) {
++ //   set to a positive value if TRUE is returned. A FALSE return should only
++ //   be used when I/O suspension is desired."
++ boolean FillInputBuffer(j_decompress_ptr cinfo) {
++-  return false;
+++  return (boolean)false;
++ }
++ 
++ // Skip data in the buffer. Since we have all the data at once, this operation
++@@ -488,7 +488,7 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size,
++   cinfo.client_data = &state;
++ 
++   // fill the file metadata into our buffer
++-  if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK)
+++  if (jpeg_read_header(&cinfo, (boolean)true) != JPEG_HEADER_OK)
++     return false;
++ 
++   // we want to always get RGB data out
+diff --git a/package/qt5/qt5webengine/5.8.0/004-on-arm8-set-armv7-type.patch b/package/qt5/qt5webengine/5.8.0/004-on-arm8-set-armv7-type.patch
+new file mode 100644
+index 000000000..862cb9561
+--- /dev/null
++++ b/package/qt5/qt5webengine/5.8.0/004-on-arm8-set-armv7-type.patch
+@@ -0,0 +1,13 @@
++diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
++index 161ca9e..6a0eacd 100644
++--- a/src/core/gyp_run.pro
+++++ b/src/core/gyp_run.pro
++@@ -69,6 +69,8 @@ contains(QT_ARCH, "arm") {
++         MARMV = $$split(MARMV,)
++         MARMV = $$member(MARMV, 0)
++         lessThan(MARMV, 6): error("$$MARCH architecture is not supported")
+++	else: equals(MARMV, 7): GYP_CONFIG += arm_version=\"$MARMV\"
+++	else: GYP_CONFIG += arm_version=\"7\"
++         GYP_CONFIG += arm_version=\"$$MARMV\"
++     }
++ 
+diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
+index b630a852a..dd6598372 100644
+--- a/package/qt5/qt5webengine/Config.in
++++ b/package/qt5/qt5webengine/Config.in
+@@ -10,6 +10,7 @@ config BR2_PACKAGE_QT5WEBENGINE
+ 	select BR2_PACKAGE_LIBCAP
+ 	select BR2_PACKAGE_QT5DECLARATIVE
+ 	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
++	select BR2_PACKAGE_WEBP
+ 	help
+ 	Qt is a cross-platform application and UI framework for
+ 	developers using C++.
+diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
+index 98c67a63b..46cf6853c 100644
+--- a/package/qt5/qt5webengine/qt5webengine.mk
++++ b/package/qt5/qt5webengine/qt5webengine.mk
+@@ -20,12 +20,25 @@ QT5WEBENGINE_LICENSE = Commercial license
+ QT5WEBENGINE_REDISTRIBUTE = NO
+ endif
+ 
++ifneq ($(BR2_GCC_TARGET_CPU),)
++QT5WEBENGINE_QMAKE_CFLAGS += -mtune=$(BR2_GCC_TARGET_CPU)
++endif
++
++ifneq ($(BR2_GCC_TARGET_FLOAT_ABI),)
++QT5WEBENGINE_QMAKE_CFLAGS += -mfloat-abi=$(BR2_GCC_TARGET_FLOAT_ABI)
++endif
++
++ifneq ($(BR2_GCC_TARGET_FPU),)
++QT5WEBENGINE_QMAKE_CFLAGS += -mfpu=$(BR2_GCC_TARGET_FPU)
++endif
++
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+ QT5WEBENGINE_DEPENDENCIES += qt5declarative
+ endif
+ 
+ define QT5WEBENGINE_CONFIGURE_CMDS
+- (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake WEBENGINE_CONFIG+=use_proprietary_codecs)
++# (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake WEBENGINE_CONFIG+=use_proprietary_codecs)
++ (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+ endef
+ 
+ define QT5WEBENGINE_BUILD_CMDS
+diff --git a/package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch b/package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch
+deleted file mode 100644
+index b7b6791ab..000000000
+--- a/package/qt5/qt5webkit/0004-Fix-linking-with-libpthread.patch
++++ /dev/null
+@@ -1,34 +0,0 @@
+-From 5dd4bb67cfce812fd7686e43616e2069f354a7df Mon Sep 17 00:00:00 2001
+-From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+-Date: Mon, 22 Feb 2016 10:57:32 +0100
+-Subject: [PATCH] Fix linking with libpthread
+-
+-WebKit use libpthread directly but is depending on other qt modules
+-causing it to be linked against, which might break unless -lpthread
+-is last. Instead just add it explicitly after the static libraries.
+-
+-Upstream-Status: Backport from 5.7 branch
+-
+-Change-Id: I2b95cff2c96373f8dce6f95052c4fccbe1982b33
+-Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
+-Signed-off-by: Jonathan Liu <net147@gmail.com>
+-Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
+----
+- Tools/qmake/mkspecs/features/default_post.prf | 1 +
+- 1 file changed, 1 insertion(+)
+-
+-diff --git a/Tools/qmake/mkspecs/features/default_post.prf b/Tools/qmake/mkspecs/features/default_post.prf
+-index 67276b7..39bb3f7 100644
+---- a/Tools/qmake/mkspecs/features/default_post.prf
+-+++ b/Tools/qmake/mkspecs/features/default_post.prf
+-@@ -201,6 +201,7 @@ needToLink() {
+-         linkAgainstLibrary($$library, $$eval(WEBKIT.$${library_identifier}.root_source_dir))
+-         LIBS += $$eval(WEBKIT.$${library_identifier}.dependent_libs)
+-     }
+-+    posix:!darwin: LIBS += -lpthread
+- }
+- 
+- creating_module {
+--- 
+-2.7.1
+-
+diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in
+index 7add5f95a..637996a0d 100644
+--- a/package/qt5/qt5webkit/Config.in
++++ b/package/qt5/qt5webkit/Config.in
+@@ -1,28 +1,33 @@
+ config BR2_PACKAGE_QT5WEBKIT
+ 	bool "qt5webkit"
++	depends on !BR2_STATIC_LIBS
++	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
++	depends on !BR2_BINFMT_FLAT # icu
++	# assumes a FPU is available on MIPS
++	depends on !BR2_MIPS_SOFT_FLOAT
+ 	select BR2_PACKAGE_QT5BASE
+ 	select BR2_PACKAGE_QT5BASE_ICU
+ 	select BR2_PACKAGE_QT5BASE_GUI
+ 	select BR2_PACKAGE_SQLITE
+ 	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT5BASE_XCB
+ 	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_QT5BASE_XCB
+-	depends on !BR2_STATIC_LIBS
+-	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+-	depends on !BR2_BINFMT_FLAT # icu
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5webkit module.
++	  The Qt WebKit module provides the WebView API, which
++	  allows QML applications to render regions of dynamic
++	  web content.
+ 
+ 	  This package has been removed from the official release packages
+ 	  since Qt5.6.0, but it is still available for users to build it
+ 	  from source. This is useful for platforms without GPU since the
+ 	  successor (QtWebEngine) requires OpenGL support.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/archives/qt-5.5/qtwebkit-index.html
+ 
+ comment "qt5webkit needs a toolchain w/ dynamic library"
+-        depends on BR2_STATIC_LIBS
+-        depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+-        depends on !BR2_BINFMT_FLAT
++	depends on BR2_STATIC_LIBS
++	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
++	depends on !BR2_BINFMT_FLAT
++	depends on !BR2_MIPS_SOFT_FLOAT
+diff --git a/package/qt5/qt5webkit/qt5webkit.hash b/package/qt5/qt5webkit/qt5webkit.hash
+deleted file mode 100644
+index 47e93c0d1..000000000
+--- a/package/qt5/qt5webkit/qt5webkit.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	1c79843ef32313312290d4fe0b87256a9129dc44d62b01789a692981edf4d8ab	qt5webkit-d2ff5a085572b1ee24dcb42ae107063f3142d14e.tar.gz
+diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk
+index 629e40a3e..d43519299 100644
+--- a/package/qt5/qt5webkit/qt5webkit.mk
++++ b/package/qt5/qt5webkit/qt5webkit.mk
+@@ -4,24 +4,20 @@
+ #
+ ################################################################################
+ 
+-QT5WEBKIT_VERSION = d2ff5a085572b1ee24dcb42ae107063f3142d14e
+-# Using GitHub since it supports downloading tarballs from random commits.
+-# The http://code.qt.io/cgit/qt/qtwebkit.git/ repo doesn't allow to do so.
+-QT5WEBKIT_SITE = $(call github,qtproject,qtwebkit,$(QT5WEBKIT_VERSION))
+-QT5WEBKIT_DEPENDENCIES = qt5base sqlite host-ruby host-gperf host-bison host-flex
++QT5WEBKIT_VERSION = $(QT5_VERSION)
++QT5WEBKIT_SITE = $(QT5_SNAPSHOTS_SITE)
++QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz
++QT5WEBKIT_DEPENDENCIES = \
++	host-bison host-flex host-gperf host-python host-ruby \
++	qt5base sqlite
+ QT5WEBKIT_INSTALL_STAGING = YES
+ 
+ QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5WEBKIT_LICENSE = LGPLv2.1+, BSD-3c, BSD-2c
++QT5WEBKIT_LICENSE = LGPL-2.1+, BSD-3-Clause, BSD-2-Clause
+ # Source files contain references to LGPL_EXCEPTION.txt but it is not included
+ # in the archive.
+ QT5WEBKIT_LICENSE_FILES += LICENSE.LGPLv21
+-else
+-QT5WEBKIT_LICENSE = LGPLv2.1+ (WebCore), Commercial license
+-QT5WEBKIT_REDISTRIBUTE = NO
+-endif
+ 
+ ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
+ QT5WEBKIT_DEPENDENCIES += xlib_libXext xlib_libXrender
+@@ -31,23 +27,26 @@ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+ QT5WEBKIT_DEPENDENCIES += qt5declarative
+ endif
+ 
+-# Since we get the source from git, generated header files are not included.
+-# qmake detects that header file generation (using the syncqt tool) must be
+-# done based on the existence of a .git directory (cfr. the git_build config
+-# option which is set in qt_build_paths.prf).
+-# So, to make sure that qmake detects that header files must be generated,
+-# create an empty .git directory.
++# QtWebkit's build system uses python, but only supports python2. We work
++# around this by forcing python2 early in the PATH, via a python->python2
++# symlink.
++QT5WEBKIT_ENV = PATH=$(@D)/host-bin:$(BR_PATH)
++define QT5WEBKIT_PYTHON2_SYMLINK
++	mkdir -p $(@D)/host-bin
++	ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/host-bin/python
++endef
++QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK
++
+ define QT5WEBKIT_CONFIGURE_CMDS
+-	mkdir -p $(@D)/.git
+-	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
++	(cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake)
+ endef
+ 
+ define QT5WEBKIT_BUILD_CMDS
+-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
++	$(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(MAKE) -C $(@D)
+ endef
+ 
+ define QT5WEBKIT_INSTALL_STAGING_CMDS
+-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
++	$(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(MAKE) -C $(@D) install
+ 	$(QT5_LA_PRL_FILES_FIXUP)
+ endef
+ 
+diff --git a/package/qt5/qt5websockets/Config.in b/package/qt5/qt5websockets/Config.in
+index 385a07c9f..0cfde91c8 100644
+--- a/package/qt5/qt5websockets/Config.in
++++ b/package/qt5/qt5websockets/Config.in
+@@ -6,6 +6,9 @@ config BR2_PACKAGE_QT5WEBSOCKETS
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5websockets module.
++	  The Qt WebSockets module provides C++ and QML interfaces
++	  that enable Qt applications to act as a server that can
++	  process WebSocket requests, or a client that can
++	  consume data received from the server, or both.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtwebsockets-index.html
+diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash
+deleted file mode 100644
+index 067bd6ffd..000000000
+--- a/package/qt5/qt5websockets/qt5websockets.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	741be11a907f82807a786e6a53ae7316c0b3864491b692e8719c381e0f158b43	qtwebsockets-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5websockets/qt5websockets.mk b/package/qt5/qt5websockets/qt5websockets.mk
+index 609b68e4e..af87435d6 100644
+--- a/package/qt5/qt5websockets/qt5websockets.mk
++++ b/package/qt5/qt5websockets/qt5websockets.mk
+@@ -10,12 +10,15 @@ QT5WEBSOCKETS_SOURCE = qtwebsockets-opensource-src-$(QT5WEBSOCKETS_VERSION).tar.
+ QT5WEBSOCKETS_DEPENDENCIES = qt5base
+ QT5WEBSOCKETS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5WEBSOCKETS_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3
+-QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5WEBSOCKETS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools)
++QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3
+ else
+-QT5WEBSOCKETS_LICENSE = Commercial license
+-QT5WEBSOCKETS_REDISTRIBUTE = NO
++QT5WEBSOCKETS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0
++QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3
++endif
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++QT5WEBSOCKETS_LICENSE := $(QT5WEBSOCKETS_LICENSE), BSD-3-Clause (examples)
+ endif
+ 
+ ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+diff --git a/package/qt5/qt5x11extras/Config.in b/package/qt5/qt5x11extras/Config.in
+index 6fc2c0ade..ff4cc1153 100644
+--- a/package/qt5/qt5x11extras/Config.in
++++ b/package/qt5/qt5x11extras/Config.in
+@@ -1,11 +1,12 @@
+ config BR2_PACKAGE_QT5X11EXTRAS
+ 	bool "qt5x11extras"
+-	select BR2_PACKAGE_QT5BASE_WIDGETS
+ 	depends on BR2_PACKAGE_QT5BASE_XCB
++	select BR2_PACKAGE_QT5BASE_WIDGETS
+ 	help
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5x11extras module.
++	  Qt X11 Extras enables the Qt programmer to write
++	  applications for the Linux/X11 platform.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtx11extras-index.html
+diff --git a/package/qt5/qt5x11extras/qt5x11extras.hash b/package/qt5/qt5x11extras/qt5x11extras.hash
+deleted file mode 100644
+index 297c578b8..000000000
+--- a/package/qt5/qt5x11extras/qt5x11extras.hash
++++ /dev/null
+@@ -1,2 +0,0 @@
+-# Hash from: http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/qtx11extras-opensource-src-5.6.2.tar.xz.mirrorlist
+-sha256 71ffde1cfaeec310677b69ecd16cb5992e8885cf3e73b4cec7d6e7a115b40ced qtx11extras-opensource-src-5.6.2.tar.xz
+diff --git a/package/qt5/qt5x11extras/qt5x11extras.mk b/package/qt5/qt5x11extras/qt5x11extras.mk
+index a0e120986..00667c72f 100644
+--- a/package/qt5/qt5x11extras/qt5x11extras.mk
++++ b/package/qt5/qt5x11extras/qt5x11extras.mk
+@@ -10,12 +10,12 @@ QT5X11EXTRAS_SOURCE = qtx11extras-opensource-src-$(QT5X11EXTRAS_VERSION).tar.xz
+ QT5X11EXTRAS_DEPENDENCIES = qt5base
+ QT5X11EXTRAS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5X11EXTRAS_LICENSE = GPLv2 or GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5X11EXTRAS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5X11EXTRAS_LICENSE = Commercial license
+-QT5X11EXTRAS_REDISTRIBUTE = NO
++QT5X11EXTRAS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
+ endif
+ 
+ define QT5X11EXTRAS_CONFIGURE_CMDS
+diff --git a/package/qt5/qt5xmlpatterns/Config.in b/package/qt5/qt5xmlpatterns/Config.in
+index 8c82656c5..dd8b54eba 100644
+--- a/package/qt5/qt5xmlpatterns/Config.in
++++ b/package/qt5/qt5xmlpatterns/Config.in
+@@ -5,6 +5,7 @@ config BR2_PACKAGE_QT5XMLPATTERNS
+ 	  Qt is a cross-platform application and UI framework for
+ 	  developers using C++.
+ 
+-	  This package corresponds to the qt5xmlpatterns module.
++	  The Qt XML Patterns module provides support for XPath,
++	  XQuery, XSLT, and XML Schema validation.
+ 
+-	  http://qt.io
++	  http://doc.qt.io/qt-5/qtxmlpatterns-index.html
+diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash
+deleted file mode 100644
+index f0f369d6c..000000000
+--- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash
++++ /dev/null
+@@ -1 +0,0 @@
+-sha256	38882a4ea5d711be07d10695759359045f7f9d64727a65e1d5e6515d55c7e20b	qtxmlpatterns-opensource-src-5.7.0.tar.xz
+diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk
+index 31477a7c0..fabca2126 100644
+--- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk
++++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk
+@@ -10,12 +10,15 @@ QT5XMLPATTERNS_SOURCE = qtxmlpatterns-opensource-src-$(QT5XMLPATTERNS_VERSION).t
+ QT5XMLPATTERNS_DEPENDENCIES = qt5base
+ QT5XMLPATTERNS_INSTALL_STAGING = YES
+ 
+-ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+-QT5XMLPATTERNS_LICENSE = GPLv3 or LGPLv2.1 with exception or LGPLv3, GFDLv1.3 (docs)
+-QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
++QT5XMLPATTERNS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
++QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
+ else
+-QT5XMLPATTERNS_LICENSE = Commercial license
+-QT5XMLPATTERNS_REDISTRIBUTE = NO
++QT5XMLPATTERNS_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
++QT5XMLPATTERNS_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
++endif
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++QT5XMLPATTERNS_LICENSE := $(QT5XMLPATTERNS_LICENSE), BSD-3-Clause (examples)
+ endif
+ 
+ define QT5XMLPATTERNS_CONFIGURE_CMDS
+@@ -32,9 +35,20 @@ define QT5XMLPATTERNS_INSTALL_STAGING_CMDS
+ endef
+ 
+ ifeq ($(BR2_STATIC_LIBS),)
+-define QT5XMLPATTERNS_INSTALL_TARGET_CMDS
++define QT5XMLPATTERNS_INSTALL_TARGET_LIBS
+ 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5XmlPatterns*.so.* $(TARGET_DIR)/usr/lib
+ endef
+ endif
+ 
++ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
++define QT5XMLPATTERNS_INSTALL_TARGET_EXAMPLES
++	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/xmlpatterns $(TARGET_DIR)/usr/lib/qt/examples/
++endef
++endif
++
++define QT5XMLPATTERNS_INSTALL_TARGET_CMDS
++	$(QT5XMLPATTERNS_INSTALL_TARGET_LIBS)
++	$(QT5XMLPATTERNS_INSTALL_TARGET_EXAMPLES)
++endef
++
+ $(eval $(generic-package))

+ 4 - 2
Make-bb-kernel.sh

@@ -12,7 +12,7 @@ patch -p1 < ../GfA/build_kernel.sh.patch
 #---------------------------------
 ./build_kernel.sh
 cd $GFAWRKDIR
-tar -C ../bb-kernel/KERNEL --exclude=./.config  -czvf GfAkernel.tar.gz ./
+tar -C ../bb-kernel/KERNEL --exclude=./.config --exclude=./.git  -czvf GfAkernel.tar.gz ./
 #--
 #--
 #!/bin/bash
@@ -34,12 +34,14 @@ patch -p1 < ../GfA/GfA-buildroot_force_mutt_to_bind_openssl.patch
 patch -p1 < ../GfA/GfA-buildroot_remove_hostapd_and_wpa_supplicant_from_update.patch
 patch -p1 < ../GfA/GfA-buildroot_qt57-qt5quickcontrols_mk.patch
 patch -p1 < ../GfA/GfA-buildroot_qt57-qt5quickcontrols2_mk.patch
+patch -p1 < ../GfA/GfA-buildroot_qt-latest_qt-LTS-5.6.2.patch
 #
 chmod a+x *.sh
 cp ../GfA/configs/* ./configs
 git add .
 git commit -m "GfA wrk changes and setup"
-make  BR2_EXTERNAL=../GfA Display001_4.4.65_rt17_defconfig
+make BR2_EXTERNAL=../GfA Display001_4.4.65_rt17_defconfig
+##make BR2_EXTERNAL=../GfA Display001_4.4.65_rt17_Qt5.6.2_defconfig
 cd $GFAWRKDIR
 #------
 

+ 1 - 1
board/GfA/Display001/BUILD

@@ -1 +1 @@
-402
+419

+ 1 - 1
board/GfA/Display001/Display001_4.4.65_rt_defconfig

@@ -36,7 +36,7 @@ CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
 # CONFIG_COMPILE_TEST is not set
-CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION="-bone-rt-r17"
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_HAVE_KERNEL_GZIP=y
 CONFIG_HAVE_KERNEL_LZMA=y

+ 67 - 0
board/GfA/Display001/post-build_4.4.sh

@@ -0,0 +1,67 @@
+#!/bin/sh
+
+TARGETDIR=$1
+
+echo ">>>$TARGETDIR<<<"
+
+BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
+BUILDDATE=`date +"%Y-%m-%d %H:%M"`
+BUILD=$((BUILD+1))
+echo $BUILD > ../GfA/board/GfA/Display001/BUILD
+
+chmod 600  ../GfA/board/GfA/Display001/rootfs/root/.ssh/id*
+cp -a ../GfA/board/GfA/Display001/rootfs/* $TARGETDIR/
+cp -v output/staging/usr/bin/locale $TARGETDIR/usr/bin/
+mkdir -p $TARGETDIR/usr/share/i18n
+cp -a output/staging/usr/share/i18n/* $TARGETDIR/usr/share/i18n
+
+# Dienste auf Manuell stellen
+SERVICE=S80dhcp-relay
+NSERVICE=M80dhcp-relay
+if [ -f $TARGETDIR/etc/init.d/$SERVICE ]
+then
+	rm $TARGETDIR/etc/init.d/$NSERVICE
+	mv $TARGETDIR/etc/init.d/$SERVICE $TARGETDIR/etc/init.d/$NSERVICE
+fi
+
+SERVICE=S80dhcp-server
+NSERVICE=M80dhcp-server
+if [ -f $TARGETDIR/etc/init.d/$SERVICE ]
+then
+	rm $TARGETDIR/etc/init.d/$NSERVICE
+	mv $TARGETDIR/etc/init.d/$SERVICE $TARGETDIR/etc/init.d/$NSERVICE
+fi
+
+SERVICE=S50postgresql
+NSERVICE=M50postgresql
+if [ -f $TARGETDIR/etc/init.d/$SERVICE ]
+then
+	rm $TARGETDIR/etc/init.d/$NSERVICE
+	mv $TARGETDIR/etc/init.d/$SERVICE $TARGETDIR/etc/init.d/$NSERVICE
+fi
+
+SERVICE=S97mysqld
+NSERVICE=M97mysqld
+if [ -f $TARGETDIR/etc/init.d/$SERVICE ]
+then
+	rm $TARGETDIR/etc/init.d/$NSERVICE
+	mv $TARGETDIR/etc/init.d/$SERVICE $TARGETDIR/etc/init.d/$NSERVICE
+fi
+#------------------------------------
+#-- fonts kopieren, muss noch geändert werden dass qt mit fontconfig funktioniert
+mkdir -p $TARGETDIR/usr/lib/fonts
+cp $TARGETDIR/usr/share/fonts/dejavu/* $TARGETDIR/usr/lib/fonts
+cp $TARGETDIR/usr/share/fonts/liberation/* $TARGETDIR/usr/lib/fonts
+#------------------------------------
+#-- links für EGL bibliotheken herstellen
+#WRKDIR=`pwd`
+#cd $TARGETDIR/usr/lib
+#
+#rm ./libEGL.so.1
+#rm ./libGLESv2.so.2
+#ln -s libEGL.so ./libEGL.so.1
+#ln -s libGLESv2.so ./libGLESv2.so.2
+#
+#cd $WRKDIR
+#------------------------------------
+echo "GfA-Display001 Rel 1.0 Build $BUILD ($BUILDDATE)" > $TARGETDIR/etc/BUILD

+ 428 - 0
configs/Display001_4.4.65_rt17_Qt5.6.2_defconfig

@@ -0,0 +1,428 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_INSTRUCTIONS_THUMB2=y
+BR2_DL_DIR="~/buildroot_dl"
+BR2_HOST_DIR="/opt/GfA/TC_L4465_C493_QT60"
+# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_KERNEL_HEADERS_3_12=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
+BR2_GCC_VERSION_4_9_3=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_PACKAGE_HOST_GDB=y
+BR2_PACKAGE_HOST_GDB_TUI=y
+BR2_PACKAGE_HOST_GDB_PYTHON=y
+BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
+BR2_TARGET_OPTIMIZATION="-pipe"
+BR2_TARGET_GENERIC_HOSTNAME="GfA"
+BR2_TARGET_GENERIC_ISSUE="Welcome to GfA Display001"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt ../GfA/board/GfA/Display001/device_table.txt"
+BR2_TARGET_GENERIC_ROOT_PASSWD="root"
+BR2_TARGET_GENERIC_GETTY_PORT="ttyO0"
+BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
+# BR2_ENABLE_LOCALE_PURGE is not set
+BR2_GENERATE_LOCALE="en_US en_GB de_DE de_AT de_CH fr_FR it_IT es_ES sv_FI sv_SE nb_NO nn_NO se_NO da_DK"
+BR2_TARGET_TZ_INFO=y
+BR2_TARGET_LOCALTIME="Europe/Vienna"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build_4.4.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file://$(TOPDIR)/../GfA/GfAkernel.tar.gz  "
+BR2_LINUX_KERNEL_PATCH="../GfA/board/GfA/Display001/linux_4.4.65_rt17"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="../GfA/board/GfA/Display001/Display001_4.4.65_rt_defconfig"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x80008000"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../GfA/board/GfA/Display001/DTS_4.4/Display001.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_10.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_rru.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_4_nopruss.dts ../GfA/board/GfA/Display001/DTS_4.4/Display001_7_gain1.dts"
+BR2_PACKAGE_BUSYBOX_CONFIG="../GfA/board/GfA/Display001/busybox.config"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_FFMPEG_GPL=y
+BR2_PACKAGE_FFMPEG_NONFREE=y
+BR2_PACKAGE_FFMPEG_FFPLAY=y
+BR2_PACKAGE_FFMPEG_FFSERVER=y
+BR2_PACKAGE_FFMPEG_FFPROBE=y
+BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
+BR2_PACKAGE_FFMPEG_POSTPROC=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTPMANAGER=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SMPTE=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOBOX=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VIDEOCROP=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
+BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2_PROBE=y
+BR2_PACKAGE_GST1_PLUGINS_BAD=y
+BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL=y
+BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENH264=y
+BR2_PACKAGE_MPD=y
+BR2_PACKAGE_MPLAYER=y
+BR2_PACKAGE_MPV=y
+BR2_PACKAGE_VLC=y
+BR2_PACKAGE_WAVPACK=y
+BR2_PACKAGE_GZIP=y
+BR2_PACKAGE_LZ4=y
+BR2_PACKAGE_LZIP=y
+BR2_PACKAGE_LZOP=y
+BR2_PACKAGE_P7ZIP=y
+BR2_PACKAGE_UNRAR=y
+BR2_PACKAGE_UNZIP=y
+BR2_PACKAGE_XZ=y
+BR2_PACKAGE_ZIP=y
+BR2_PACKAGE_GDB=y
+BR2_PACKAGE_GDB_DEBUGGER=y
+BR2_PACKAGE_STRACE=y
+BR2_PACKAGE_BINUTILS=y
+BR2_PACKAGE_BINUTILS_TARGET=y
+BR2_PACKAGE_GETTEXT=y
+BR2_PACKAGE_SED=y
+BR2_PACKAGE_CIFS_UTILS=y
+BR2_PACKAGE_DOSFSTOOLS=y
+BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
+BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
+BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
+BR2_PACKAGE_E2FSPROGS=y
+BR2_PACKAGE_E2FSPROGS_DEBUGFS=y
+BR2_PACKAGE_F2FS_TOOLS=y
+BR2_PACKAGE_FLASHBENCH=y
+BR2_PACKAGE_MAKEDEVS=y
+BR2_PACKAGE_MMC_UTILS=y
+BR2_PACKAGE_DEJAVU=y
+BR2_PACKAGE_DIRECTFB=y
+BR2_PACKAGE_DIRECTFB_DIVINE=y
+BR2_PACKAGE_DIRECTFB_SAWMAN=y
+BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
+BR2_PACKAGE_EFL=y
+BR2_PACKAGE_EFL_FB=y
+BR2_PACKAGE_EFL_WEBP=y
+BR2_PACKAGE_FB_TEST_APP=y
+BR2_PACKAGE_FBTERM=y
+BR2_PACKAGE_FBV=y
+BR2_PACKAGE_LINUX_FUSION=y
+BR2_PACKAGE_PSPLASH=y
+BR2_PACKAGE_SDL_DIRECTFB=y
+BR2_PACKAGE_SDL_GFX=y
+BR2_PACKAGE_SDL_IMAGE=y
+BR2_PACKAGE_SDL_IMAGE_GIF=y
+BR2_PACKAGE_SDL_IMAGE_JPEG=y
+BR2_PACKAGE_SDL_IMAGE_LBM=y
+BR2_PACKAGE_SDL_IMAGE_PCX=y
+BR2_PACKAGE_SDL_IMAGE_PNG=y
+BR2_PACKAGE_SDL_IMAGE_PNM=y
+BR2_PACKAGE_SDL_IMAGE_TARGA=y
+BR2_PACKAGE_SDL_IMAGE_TIFF=y
+BR2_PACKAGE_SDL_IMAGE_WEBP=y
+BR2_PACKAGE_SDL_IMAGE_XCF=y
+BR2_PACKAGE_SDL_IMAGE_XPM=y
+BR2_PACKAGE_SDL_IMAGE_XV=y
+BR2_PACKAGE_SDL_MIXER=y
+BR2_PACKAGE_SDL_NET=y
+BR2_PACKAGE_SDL_SOUND=y
+BR2_PACKAGE_SDL_SOUND_PLAYSOUND=y
+BR2_PACKAGE_SDL_TTF=y
+BR2_PACKAGE_SDL2=y
+BR2_PACKAGE_SDL2_DIRECTFB=y
+BR2_PACKAGE_SDL2_GFX=y
+BR2_PACKAGE_SDL2_IMAGE=y
+BR2_PACKAGE_SDL2_TTF=y
+BR2_PACKAGE_QT5=y
+BR2_PACKAGE_QT5_VERSION_5_6=y
+BR2_PACKAGE_QT53D=y
+BR2_PACKAGE_QT5BASE_MYSQL=y
+BR2_PACKAGE_QT5BASE_PSQL=y
+BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
+BR2_PACKAGE_QT5BASE_LINUXFB=y
+BR2_PACKAGE_QT5BASE_EGLFS=y
+BR2_PACKAGE_QT5BASE_FONTCONFIG=y
+BR2_PACKAGE_QT5BASE_GIF=y
+BR2_PACKAGE_QT5BASE_JPEG=y
+BR2_PACKAGE_QT5BASE_PNG=y
+BR2_PACKAGE_QT5CANVAS3D=y
+BR2_PACKAGE_QT5CONNECTIVITY=y
+BR2_PACKAGE_QT5ENGINIO=y
+BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
+BR2_PACKAGE_QT5IMAGEFORMATS=y
+BR2_PACKAGE_QT5LOCATION=y
+BR2_PACKAGE_QT5QUICKCONTROLS=y
+BR2_PACKAGE_QT5QUICKCONTROLS2=y
+BR2_PACKAGE_QT5SENSORS=y
+BR2_PACKAGE_QT5WAYLAND=y
+BR2_PACKAGE_QT5SERIALBUS=y
+BR2_PACKAGE_QT5SVG=y
+BR2_PACKAGE_QT5WEBENGINE=y
+BR2_PACKAGE_TEKUI=y
+BR2_PACKAGE_WESTON=y
+BR2_PACKAGE_QT_WEBKIT_KIOSK=y
+BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS=y
+BR2_PACKAGE_AM33X_CM3=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
+BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y
+BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265=y
+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y
+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9=y
+BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
+BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897=y
+BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
+BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
+BR2_PACKAGE_AM335X_PRU_PACKAGE=y
+BR2_PACKAGE_DEVMEM2=y
+BR2_PACKAGE_EVTEST=y
+BR2_PACKAGE_I2C_TOOLS=y
+BR2_PACKAGE_INPUT_TOOLS=y
+BR2_PACKAGE_KBD=y
+BR2_PACKAGE_LIBUIO=y
+BR2_PACKAGE_LSUIO=y
+BR2_PACKAGE_RS485CONF=y
+BR2_PACKAGE_SPI_TOOLS=y
+BR2_PACKAGE_TI_GFX=y
+BR2_PACKAGE_TI_GFX_EGLIMAGE=y
+BR2_PACKAGE_TI_GFX_ES8=y
+BR2_PACKAGE_TI_UTILS=y
+BR2_PACKAGE_USB_MODESWITCH_DATA=y
+BR2_PACKAGE_USBMOUNT=y
+BR2_PACKAGE_USBUTILS=y
+BR2_PACKAGE_PERL=y
+BR2_PACKAGE_PYTHON=y
+BR2_PACKAGE_PYTHON_BZIP2=y
+BR2_PACKAGE_PYTHON_BSDDB=y
+BR2_PACKAGE_PYTHON_CODECSCJK=y
+BR2_PACKAGE_PYTHON_CURSES=y
+BR2_PACKAGE_PYTHON_READLINE=y
+BR2_PACKAGE_PYTHON_SSL=y
+BR2_PACKAGE_PYTHON_SQLITE=y
+BR2_PACKAGE_PYTHON_PYEXPAT=y
+BR2_PACKAGE_PYTHON_HASHLIB=y
+BR2_PACKAGE_PYTHON_PYUDEV=y
+BR2_PACKAGE_TCL=y
+BR2_PACKAGE_EXPECT=y
+BR2_PACKAGE_TCLLIB=y
+BR2_PACKAGE_LIBMPD=y
+BR2_PACKAGE_OPUS=y
+BR2_PACKAGE_TAGLIB=y
+BR2_PACKAGE_LIBZIP=y
+BR2_PACKAGE_SNAPPY=y
+BR2_PACKAGE_SZIP=y
+BR2_PACKAGE_GNUTLS=y
+BR2_PACKAGE_GNUTLS_TOOLS=y
+BR2_PACKAGE_LIBNSS=y
+BR2_PACKAGE_LIBSHA1=y
+BR2_PACKAGE_LIBSSH2=y
+BR2_PACKAGE_OPENSSL_BIN=y
+BR2_PACKAGE_OPENSSL_ENGINES=y
+BR2_PACKAGE_MYSQL_SERVER=y
+BR2_PACKAGE_SQLITE_NO_SYNC=y
+BR2_PACKAGE_LIBCONFIG=y
+BR2_PACKAGE_CAIRO_TEE=y
+BR2_PACKAGE_GD=y
+BR2_PACKAGE_GD_ANNOTATE=y
+BR2_PACKAGE_GD_BDFTOGD=y
+BR2_PACKAGE_GD_GD2COPYPAL=y
+BR2_PACKAGE_GD_GD2TOGIF=y
+BR2_PACKAGE_GD_GD2TOPNG=y
+BR2_PACKAGE_GD_GDCMPGIF=y
+BR2_PACKAGE_GD_GDPARTTOPNG=y
+BR2_PACKAGE_GD_GDTOPNG=y
+BR2_PACKAGE_GD_GIFTOGD2=y
+BR2_PACKAGE_GD_PNGTOGD=y
+BR2_PACKAGE_GD_PNGTOGD2=y
+BR2_PACKAGE_GD_WEBPNG=y
+BR2_PACKAGE_GDK_PIXBUF=y
+BR2_PACKAGE_HARFBUZZ=y
+BR2_PACKAGE_LIBJPEG=y
+BR2_PACKAGE_LIBDRM=y
+BR2_PACKAGE_LIBDRM_OMAP=y
+BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
+BR2_PACKAGE_WEBP_DEMUX=y
+BR2_PACKAGE_DTC=y
+BR2_PACKAGE_DTC_PROGRAMS=y
+BR2_PACKAGE_LIBGUDEV=y
+BR2_PACKAGE_LIBHID=y
+BR2_PACKAGE_LIBIIO=y
+BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON=y
+BR2_PACKAGE_LIBV4L=y
+BR2_PACKAGE_JSONCPP=y
+BR2_PACKAGE_LIBXSLT=y
+BR2_PACKAGE_LIBMPEG2=y
+BR2_PACKAGE_LIBVPX=y
+BR2_PACKAGE_LIBYUV=y
+BR2_PACKAGE_CANFESTIVAL=y
+BR2_PACKAGE_CANFESTIVAL_INSTALL_EXAMPLES=y
+BR2_PACKAGE_CURL=y
+BR2_PACKAGE_LIBGSASL=y
+BR2_PACKAGE_LIBIDN=y
+BR2_PACKAGE_LIBIDN_BINARY=y
+BR2_PACKAGE_LIBMBUS=y
+BR2_PACKAGE_LIBPJSIP=y
+BR2_PACKAGE_LIBRSYNC=y
+BR2_PACKAGE_LIBSOUP=y
+BR2_PACKAGE_LIBVNCSERVER=y
+BR2_PACKAGE_LIBVNCSERVER_TIGHTPNG=y
+BR2_PACKAGE_NEON=y
+BR2_PACKAGE_NEON_ZLIB=y
+BR2_PACKAGE_NEON_SSL=y
+BR2_PACKAGE_NEON_LIBXML2=y
+BR2_PACKAGE_BOOST_ATOMIC=y
+BR2_PACKAGE_BOOST_CHRONO=y
+BR2_PACKAGE_BOOST_CONTAINER=y
+BR2_PACKAGE_BOOST_CONTEXT=y
+BR2_PACKAGE_BOOST_COROUTINE=y
+BR2_PACKAGE_BOOST_COROUTINE2=y
+BR2_PACKAGE_BOOST_DATE_TIME=y
+BR2_PACKAGE_BOOST_EXCEPTION=y
+BR2_PACKAGE_BOOST_FILESYSTEM=y
+BR2_PACKAGE_BOOST_GRAPH=y
+BR2_PACKAGE_BOOST_GRAPH_PARALLEL=y
+BR2_PACKAGE_BOOST_IOSTREAMS=y
+BR2_PACKAGE_BOOST_LOCALE=y
+BR2_PACKAGE_BOOST_LOG=y
+BR2_PACKAGE_BOOST_MATH=y
+BR2_PACKAGE_BOOST_METAPARSE=y
+BR2_PACKAGE_BOOST_MPI=y
+BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
+BR2_PACKAGE_BOOST_PYTHON=y
+BR2_PACKAGE_BOOST_RANDOM=y
+BR2_PACKAGE_BOOST_REGEX=y
+BR2_PACKAGE_BOOST_SERIALIZATION=y
+BR2_PACKAGE_BOOST_SIGNALS=y
+BR2_PACKAGE_BOOST_SYSTEM=y
+BR2_PACKAGE_BOOST_THREAD=y
+BR2_PACKAGE_BOOST_TIMER=y
+BR2_PACKAGE_BOOST_TYPE_ERASURE=y
+BR2_PACKAGE_BOOST_WAVE=y
+BR2_PACKAGE_ELFUTILS=y
+BR2_PACKAGE_LIBCAP_TOOLS=y
+BR2_PACKAGE_LIBEVENT=y
+BR2_PACKAGE_PROTOBUF=y
+BR2_PACKAGE_PROTOBUF_C=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_NCURSES_TARGET_PANEL=y
+BR2_PACKAGE_NCURSES_TARGET_FORM=y
+BR2_PACKAGE_NCURSES_TARGET_MENU=y
+BR2_PACKAGE_NCURSES_TARGET_PROGS=y
+BR2_PACKAGE_FETCHMAIL=y
+BR2_PACKAGE_HEIRLOOM_MAILX=y
+BR2_PACKAGE_LIBESMTP=y
+BR2_PACKAGE_MSMTP=y
+BR2_PACKAGE_MUTT=y
+BR2_PACKAGE_MUTT_IMAP=y
+BR2_PACKAGE_MUTT_POP3=y
+BR2_PACKAGE_BLUEZ_UTILS=y
+BR2_PACKAGE_BLUEZ_UTILS_AUDIO=y
+BR2_PACKAGE_BLUEZ_UTILS_USB=y
+BR2_PACKAGE_BLUEZ_UTILS_GATT=y
+BR2_PACKAGE_CAN_UTILS=y
+BR2_PACKAGE_CIVETWEB=y
+BR2_PACKAGE_CIVETWEB_WITH_LUA=y
+BR2_PACKAGE_CONNTRACK_TOOLS=y
+BR2_PACKAGE_CRDA=y
+BR2_PACKAGE_DHCP=y
+BR2_PACKAGE_DHCP_SERVER=y
+BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK=y
+BR2_PACKAGE_DHCP_CLIENT=y
+BR2_PACKAGE_GESFTPSERVER=y
+BR2_PACKAGE_HOSTAPD=y
+BR2_PACKAGE_HOSTAPD_EAP=y
+BR2_PACKAGE_HOSTAPD_WPS=y
+BR2_PACKAGE_IFTOP=y
+BR2_PACKAGE_IFUPDOWN=y
+BR2_PACKAGE_IPROUTE2=y
+BR2_PACKAGE_IPSEC_TOOLS=y
+BR2_PACKAGE_IPSEC_TOOLS_READLINE=y
+BR2_PACKAGE_IPTABLES=y
+BR2_PACKAGE_IW=y
+BR2_PACKAGE_MINIDLNA=y
+BR2_PACKAGE_NETPLUG=y
+BR2_PACKAGE_OPENSSH=y
+BR2_PACKAGE_OPENVPN=y
+BR2_PACKAGE_OPENVPN_SMALL=y
+BR2_PACKAGE_PPPD=y
+BR2_PACKAGE_PPPD_FILTER=y
+BR2_PACKAGE_PPPD_RADIUS=y
+BR2_PACKAGE_PPTP_LINUX=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_TINC=y
+BR2_PACKAGE_WGET=y
+BR2_PACKAGE_WIRELESS_TOOLS=y
+BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
+BR2_PACKAGE_WPA_SUPPLICANT=y
+BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
+BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY=y
+BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
+BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
+BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
+BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
+BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
+BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
+BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
+BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD=y
+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW=y
+BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y
+BR2_PACKAGE_BASH=y
+BR2_PACKAGE_SCREEN=y
+BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_ATTR=y
+BR2_PACKAGE_HTOP=y
+BR2_PACKAGE_KEYUTILS=y
+BR2_PACKAGE_POLKIT=y
+BR2_PACKAGE_UTIL_LINUX_SETTERM=y
+BR2_PACKAGE_JOE=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_TAR_GZIP=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="am335x_boneblack"
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2013.10"
+BR2_TARGET_UBOOT_PATCH="../GfA/board/GfA/Display001/uboot_2013.10"
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMG=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin"
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="MLO"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_DTC=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y

+ 18 - 12
configs/Display001_4.4.65_rt17_defconfig

@@ -2,7 +2,7 @@ BR2_arm=y
 BR2_cortex_a8=y
 BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_DL_DIR="~/buildroot_dl"
-BR2_HOST_DIR="/opt/GfA/TC_L312_C493_QT57"
+BR2_HOST_DIR="/opt/GfA/TC_L4465_C493_QT58"
 # BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
 BR2_KERNEL_HEADERS_3_12=y
@@ -26,7 +26,7 @@ BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
 BR2_GENERATE_LOCALE="en_US en_GB de_DE de_AT de_CH fr_FR it_IT es_ES sv_FI sv_SE nb_NO nn_NO se_NO da_DK"
 BR2_TARGET_TZ_INFO=y
 BR2_TARGET_LOCALTIME="Europe/Vienna"
-BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build.sh"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../GfA/board/GfA/Display001/post-build_4.4.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file://$(TOPDIR)/../GfA/GfAkernel.tar.gz  "
@@ -82,6 +82,7 @@ BR2_PACKAGE_BINUTILS=y
 BR2_PACKAGE_BINUTILS_TARGET=y
 BR2_PACKAGE_GETTEXT=y
 BR2_PACKAGE_SED=y
+BR2_PACKAGE_CIFS_UTILS=y
 BR2_PACKAGE_DOSFSTOOLS=y
 BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
 BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
@@ -99,6 +100,7 @@ BR2_PACKAGE_DIRECTFB_SAWMAN=y
 BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
 BR2_PACKAGE_EFL=y
 BR2_PACKAGE_EFL_FB=y
+BR2_PACKAGE_EFL_WEBP=y
 BR2_PACKAGE_FB_TEST_APP=y
 BR2_PACKAGE_FBTERM=y
 BR2_PACKAGE_FBV=y
@@ -130,33 +132,35 @@ BR2_PACKAGE_SDL2_GFX=y
 BR2_PACKAGE_SDL2_IMAGE=y
 BR2_PACKAGE_SDL2_TTF=y
 BR2_PACKAGE_QT5=y
-BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
+BR2_PACKAGE_QT53D=y
 BR2_PACKAGE_QT5BASE_MYSQL=y
 BR2_PACKAGE_QT5BASE_PSQL=y
 BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
-BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
 BR2_PACKAGE_QT5BASE_LINUXFB=y
 BR2_PACKAGE_QT5BASE_EGLFS=y
+BR2_PACKAGE_QT5BASE_FONTCONFIG=y
 BR2_PACKAGE_QT5BASE_GIF=y
+BR2_PACKAGE_QT5BASE_JPEG=y
 BR2_PACKAGE_QT5BASE_PNG=y
-BR2_PACKAGE_QT53D=y
 BR2_PACKAGE_QT5CANVAS3D=y
 BR2_PACKAGE_QT5CONNECTIVITY=y
 BR2_PACKAGE_QT5ENGINIO=y
 BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
 BR2_PACKAGE_QT5IMAGEFORMATS=y
 BR2_PACKAGE_QT5LOCATION=y
-BR2_PACKAGE_QT5MULTIMEDIA=y
 BR2_PACKAGE_QT5QUICKCONTROLS=y
+BR2_PACKAGE_QT5QUICKCONTROLS2=y
 BR2_PACKAGE_QT5SENSORS=y
+BR2_PACKAGE_QT5CHARTS=y
+BR2_PACKAGE_QT5VIRTUALKEYBOARD=y
+BR2_PACKAGE_QT5WAYLAND=y
 BR2_PACKAGE_QT5SERIALBUS=y
 BR2_PACKAGE_QT5SVG=y
 BR2_PACKAGE_QT5WEBENGINE=y
-BR2_PACKAGE_QT5VIRTUALKEYBOARD=y
-BR2_PACKAGE_QT5CHARTS=y
-BR2_PACKAGE_QT5DATAVIS3D=y
-BR2_PACKAGE_QT5QUICKCONTROLS2=y
 BR2_PACKAGE_TEKUI=y
+BR2_PACKAGE_WESTON=y
+BR2_PACKAGE_QT_WEBKIT_KIOSK=y
+BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS=y
 BR2_PACKAGE_AM33X_CM3=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
 BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
@@ -270,15 +274,14 @@ BR2_PACKAGE_LIBJPEG=y
 BR2_PACKAGE_LIBDRM=y
 BR2_PACKAGE_LIBDRM_OMAP=y
 BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
+BR2_PACKAGE_WEBP_DEMUX=y
 BR2_PACKAGE_DTC=y
 BR2_PACKAGE_DTC_PROGRAMS=y
 BR2_PACKAGE_LIBGUDEV=y
 BR2_PACKAGE_LIBHID=y
 BR2_PACKAGE_LIBIIO=y
 BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON=y
-BR2_PACKAGE_LIBINPUT=y
 BR2_PACKAGE_LIBV4L=y
-BR2_PACKAGE_LIBXKBCOMMON=y
 BR2_PACKAGE_JSONCPP=y
 BR2_PACKAGE_LIBXSLT=y
 BR2_PACKAGE_LIBMPEG2=y
@@ -330,6 +333,7 @@ BR2_PACKAGE_BOOST_TYPE_ERASURE=y
 BR2_PACKAGE_BOOST_WAVE=y
 BR2_PACKAGE_ELFUTILS=y
 BR2_PACKAGE_LIBCAP_TOOLS=y
+BR2_PACKAGE_LIBEVENT=y
 BR2_PACKAGE_PROTOBUF=y
 BR2_PACKAGE_PROTOBUF_C=y
 BR2_PACKAGE_NCURSES_WCHAR=y
@@ -344,6 +348,7 @@ BR2_PACKAGE_MSMTP=y
 BR2_PACKAGE_MUTT=y
 BR2_PACKAGE_MUTT_IMAP=y
 BR2_PACKAGE_MUTT_POP3=y
+BR2_PACKAGE_BLUEZ_UTILS=y
 BR2_PACKAGE_BLUEZ_UTILS_AUDIO=y
 BR2_PACKAGE_BLUEZ_UTILS_USB=y
 BR2_PACKAGE_BLUEZ_UTILS_GATT=y
@@ -367,6 +372,7 @@ BR2_PACKAGE_IPSEC_TOOLS=y
 BR2_PACKAGE_IPSEC_TOOLS_READLINE=y
 BR2_PACKAGE_IPTABLES=y
 BR2_PACKAGE_IW=y
+BR2_PACKAGE_MINIDLNA=y
 BR2_PACKAGE_NETPLUG=y
 BR2_PACKAGE_OPENSSH=y
 BR2_PACKAGE_OPENVPN=y