summaryrefslogtreecommitdiffstats
path: root/external/meta-qt5/recipes-qt
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-qt5/recipes-qt')
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb69
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/LICENSE1
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.pngbin0 -> 33226 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.pngbin0 -> 9971 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.pngbin0 -> 6875 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.pngbin0 -> 17467 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.pngbin0 -> 18075 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.pngbin0 -> 10801 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.pngbin0 -> 8976 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.pngbin0 -> 20649 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.pngbin0 -> 25774 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.pngbin0 -> 9784 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.pngbin0 -> 16610 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.pngbin0 -> 24452 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.pngbin0 -> 19986 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.pngbin0 -> 16812 bytes
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.desktop9
-rw-r--r--external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.pngbin0 -> 22063 bytes
-rw-r--r--external/meta-qt5/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch48
-rw-r--r--external/meta-qt5/recipes-qt/examples/cinematicexperience_1.0.bb40
-rw-r--r--external/meta-qt5/recipes-qt/examples/qt5-opengles2-test_git.bb19
-rw-r--r--external/meta-qt5/recipes-qt/examples/qt5everywheredemo_1.0.bb25
-rw-r--r--external/meta-qt5/recipes-qt/examples/qt5ledscreen_1.0.bb23
-rw-r--r--external/meta-qt5/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb26
-rw-r--r--external/meta-qt5/recipes-qt/examples/qt5nmapper/change-property-string.patch26
-rw-r--r--external/meta-qt5/recipes-qt/examples/qt5nmapper_1.0.bb28
-rw-r--r--external/meta-qt5/recipes-qt/examples/qtsmarthome_1.0.bb27
-rw-r--r--external/meta-qt5/recipes-qt/examples/quitbattery_1.0.0.bb25
-rw-r--r--external/meta-qt5/recipes-qt/examples/quitindicators_1.0.1.bb24
-rw-r--r--external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch32
-rw-r--r--external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch32
-rw-r--r--external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop6
-rw-r--r--external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5_git.bb97
-rw-r--r--external/meta-qt5/recipes-qt/maliit/maliit-plugins-qt5_git.bb36
-rw-r--r--external/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb6
-rw-r--r--external/meta-qt5/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb15
-rw-r--r--external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb16
-rwxr-xr-xexternal/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb116
-rw-r--r--external/meta-qt5/recipes-qt/qmllive/qmllive_git.bb18
-rw-r--r--external/meta-qt5/recipes-qt/qsiv/qsiv_1.1.bb26
-rw-r--r--external/meta-qt5/recipes-qt/qt5/nativesdk-qt5.inc12
-rw-r--r--external/meta-qt5/recipes-qt/qt5/nativesdk-qtbase_git.bb201
-rw-r--r--external/meta-qt5/recipes-qt/qt5/ptest/run-ptest6
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt3d-runtime/0001-runtime-Include-missing-QCoreApplication-header.patch29
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt3d-runtime_git.bb18
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch52
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt3d_git.bb41
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch26
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-creator/0002-botan.pro-pass-QMAKE_AR.patch80
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-creator/0003-Link-with-libexecinfo-on-musl.patch20
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in10
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-creator_git.bb84
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-git.inc17
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-native.inc12
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch74
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb28
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5-ptest.inc22
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qt5.inc161
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase-native_git.bb145
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch156
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch86
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch37
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch34
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch25
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch63
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch25
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch60
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch68
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch32
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch25
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch49
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0013-Upgrade-double-conversion-to-v3.0.0.patch344
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0014-double-conversion-support-AARCH64EB-and-arm-BE.patch40
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0015-Disable-ltcg-for-host_build.patch26
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch66
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0017-corelib-Include-sys-types.h-for-uint32_t.patch27
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch41
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0019-Fix-compile-issue-with-gcc-9.patch31
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0020-Always-build-uic-and-qvkgen.patch28
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0021-Avoid-renameeat2-for-native-sdk-builds.patch67
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/0022-Bootstrap-without-linkat-feature.patch27
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase/OEQt5Toolchain.cmake1
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtbase_git.bb285
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtcanvas3d_git.bb14
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtcharts_git.bb17
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtconnectivity/0001-Ignore-clang-warning-about-address-of-temp-in-config.patch40
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtconnectivity_git.bb24
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtdatavis3d_git.bb11
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtdeclarative/0001-Always-use-commit-sha1-for-QML_COMPILE_HASH.patch31
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtdeclarative_git.bb42
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtenginio_git.bb16
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtgamepad_git.bb17
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtgraphicaleffects_git.bb21
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtimageformats_git.bb29
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtknx_git.bb12
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtlocation_git.bb37
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtmqtt_git.bb12
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch100
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtmultimedia_git.bb40
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtnetworkauth_git.bb12
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtopcua_git.bb13
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtpurchasing_git.bb13
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtquickcontrols2_git.bb13
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtquickcontrols_git.bb20
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch37
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtremoteobjects_git.bb29
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtscript/0001-3rdparty-javascriptcore-Add-RISC-V-support.patch47
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtscript/0002-Fix-build-with-GCC-8.3.patch235
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtscript/0002-Include-asm-sgidefs.h-on-non-glibc-systems.patch36
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtscript_git.bb41
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch28
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtscxml_git.bb24
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtsensors_git.bb15
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtserialbus_git.bb14
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtserialport_git.bb15
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtsvg_git.bb16
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtsystems_git.bb34
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch48
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch60
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qttools/run-ptest4
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qttools_git.bb44
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qttranslations_git.bb106
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtvirtualkeyboard_git.bb52
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwayland_git.bb75
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebchannel_git.bb15
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch71
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/0002-chromium_overrides.cpp-Fix-build-with-plugins-and-oz.patch50
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch37
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/0004-musl-link-against-libexecinfo.patch24
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-Force-host-toolchain-configuration.patch33
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-workaround-for-too-long-.rps-file-name.patch42
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Fix-build-with-gcc8.patch50
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch33
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch67
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-musl-include-fcntl.h-for-loff_t.patch22
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch62
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-linux-glibc-make-the-distinction.patch23
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch24
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch24
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch79
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch26
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch47
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch22
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch23
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch63
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch56
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebengine_git.bb183
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebglplugin_git.bb21
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit-examples/0001-Fix-build-with-qt-5.11.patch48
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb24
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch28
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch40
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch69
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch25
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebkit_git.bb74
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebsockets_git.bb14
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtwebview_git.bb22
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtx11extras_git.bb15
-rw-r--r--external/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb20
-rw-r--r--external/meta-qt5/recipes-qt/qtchooser/qtchooser_git.bb29
-rw-r--r--external/meta-qt5/recipes-qt/quazip/quazip_0.7.3.bb15
-rw-r--r--external/meta-qt5/recipes-qt/qwt/qwt-qt5/0001-Remove-rpath-from-binaries-they-point-to-buuild-area.patch69
-rw-r--r--external/meta-qt5/recipes-qt/qwt/qwt-qt5_6.1.3.bb48
-rw-r--r--external/meta-qt5/recipes-qt/tufao/tufao/0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch91
-rw-r--r--external/meta-qt5/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch31
-rw-r--r--external/meta-qt5/recipes-qt/tufao/tufao_1.3.10.bb33
180 files changed, 6883 insertions, 0 deletions
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb
new file mode 100644
index 00000000..0d65ba13
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb
@@ -0,0 +1,69 @@
+DESCRIPTION = "Extra files for qt5 demo"
+LICENSE = "LGPLv2"
+S="${WORKDIR}"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=88355dc91a186cc816d9f64757793895"
+
+SRC_URI += "file://cinematicexperience.desktop \
+ file://cinematicexperience.png \
+ file://hellogl_es2.desktop \
+ file://hellogl_es2.png \
+ file://hellowindow.desktop \
+ file://hellowindow.png \
+ file://qt5everywheredemo.desktop \
+ file://qt5everywheredemo.png \
+ file://qt5nmapcarousedemo.desktop \
+ file://qt5nmapcarousedemo.png \
+ file://qt5nmapper.desktop \
+ file://qt5nmapper.png \
+ file://qtledbillboard.desktop \
+ file://qtledbillboard.png \
+ file://qtledcombo.desktop \
+ file://qtledcombo.png \
+ file://qtsmarthome.desktop \
+ file://qtsmarthome.png \
+ file://quitbattery.desktop \
+ file://quitbattery.png \
+ file://quitindicators.desktop \
+ file://quitindicators.png \
+ file://qt5basket.desktop \
+ file://qt5basket.png \
+ file://qt5nesting.desktop \
+ file://qt5nesting.png \
+ file://qt5solarsystem.desktop \
+ file://qt5solarsystem.png \
+ file://LICENSE"
+
+inherit allarch
+
+do_install () {
+ install -d ${D}/${datadir}/pixmaps
+ install -d ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/cinematicexperience.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/cinematicexperience.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/hellogl_es2.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/hellogl_es2.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/hellowindow.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/hellowindow.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qt5everywheredemo.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qt5everywheredemo.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qt5nmapcarousedemo.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qt5nmapcarousedemo.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qt5nmapper.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qt5nmapper.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qtledbillboard.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qtledbillboard.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qtledcombo.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qtledcombo.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qtsmarthome.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qtsmarthome.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/quitbattery.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/quitbattery.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/quitindicators.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/quitindicators.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qt5basket.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qt5basket.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qt5nesting.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qt5nesting.desktop ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/qt5solarsystem.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/qt5solarsystem.desktop ${D}/${datadir}/applications
+}
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/LICENSE b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/LICENSE
new file mode 100644
index 00000000..2d816fc6
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/LICENSE
@@ -0,0 +1 @@
+All content inside qt5-demo-extrafiles package are distributed under GPLv2 license
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.desktop
new file mode 100644
index 00000000..31c10ede
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 Cinematic Experience
+Exec=/usr/share/cinematicexperience-1.0/Qt5_CinematicExperience
+Icon=cinematicexperience
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 Cinematic Experience
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.png
new file mode 100644
index 00000000..ebdea97f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/cinematicexperience.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.desktop
new file mode 100644
index 00000000..060b3214
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 HelloGL ES2
+Exec=/usr/share/qt5/examples/opengl/hellogl_es2/hellogl_es2
+Icon=hellogl_es2
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 HelloGL ES2
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.png
new file mode 100644
index 00000000..e5c719ab
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellogl_es2.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop
new file mode 100644
index 00000000..84edeaaf
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 Hello Window
+Exec=/usr/share/qt5/examples/opengl/hellowindow/hellowindow
+Icon=hellowindow
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 Hello Window
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.png
new file mode 100644
index 00000000..72653ae1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/hellowindow.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.desktop
new file mode 100644
index 00000000..4cf3b007
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT3D Basket
+Exec=/usr/share/qt5/examples/qt3d/basket
+Icon=qt5basket
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT3D Basket
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.png
new file mode 100644
index 00000000..3b960fe2
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5basket.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.desktop
new file mode 100644
index 00000000..c8ed4e2a
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 Everywhere Demo
+Exec=/bin/sh -c "cd /usr/share/qt5everywheredemo-1.0/; ./QtDemo"
+Icon=qt5everywheredemo
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 Everywhere Demo
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.png
new file mode 100644
index 00000000..e4ebe87d
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5everywheredemo.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.desktop
new file mode 100644
index 00000000..668aaceb
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 Launch Demo
+Exec=/usr/bin/qt5/qmlscene /usr/share/qt5launchdemo-1.0/main_lofi.qml
+Icon=qt5launchdemo
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 Launch Demo
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.png
new file mode 100644
index 00000000..c6e7d61c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5launchdemo.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.desktop
new file mode 100644
index 00000000..bd1029ea
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT3D Nesting
+Exec=/usr/share/qt5/examples/qt3d/nesting
+Icon=qt5nesting
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT3D Nesting
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.png
new file mode 100644
index 00000000..e0885525
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nesting.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.desktop
new file mode 100644
index 00000000..6e80f4da
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt5 NMap Carousel Demo
+Exec=/usr/share/qt5nmapcarousedemo-1.0/Qt5_NMap_CarouselDemo
+Icon=qt5nmapcarousedemo
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=Qt5 NMap Carousel Demo
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.png
new file mode 100644
index 00000000..0c1c6ede
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapcarousedemo.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.desktop
new file mode 100644
index 00000000..0f72897c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt5 NMapper
+Exec=/usr/share/qt5nmapper-1.0/Qt5_NMapper
+Icon=qt5nmapper
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=Qt5 NMapper
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.png
new file mode 100644
index 00000000..2b9f4d60
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5nmapper.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.desktop
new file mode 100644
index 00000000..76cfe859
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT3D Solarsystem
+Exec=/usr/share/qt5/examples/qt3d/solarsystem
+Icon=qt5solarsystem
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT3D Solarsystem
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.png
new file mode 100644
index 00000000..a141101f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qt5solarsystem.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.desktop
new file mode 100644
index 00000000..f5dd9682
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 Ledscreen Billboard
+Exec=/bin/sh -c "cd /usr/share/qt5ledscreen-1.0/; /usr/bin/qt5/qmlscene example_billboard.qml"
+Icon=qtledbillboard
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 Ledscreen Billboard
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.png
new file mode 100644
index 00000000..faa4a6c2
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledbillboard.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.desktop
new file mode 100644
index 00000000..c7c95b8d
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=QT5 Ledscreen Combo
+Exec=/bin/sh -c "cd /usr/share/qt5ledscreen-1.0/; /usr/bin/qt5/qmlscene example_combo.qml"
+Icon=qtledcombo
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=QT5 Ledscreen Combo
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.png
new file mode 100644
index 00000000..fe56ad2f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtledcombo.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.desktop
new file mode 100644
index 00000000..fef8057a
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt5 Smart Home
+Exec=/bin/sh -c "cd /usr/share/qtsmarthome-1.0/; ./smarthome"
+Icon=qtsmarthome
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=Qt5 Smart Home
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.png
new file mode 100644
index 00000000..d364da8c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/qtsmarthome.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.desktop
new file mode 100644
index 00000000..abfb405f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt5 QUItBattery
+Exec=/bin/sh -c "cd /usr/share/quitbattery-1.0.0/; ./QUItBattery"
+Icon=quitbattery
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=Qt5 QUItBattery
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.png
new file mode 100644
index 00000000..ff4f8e56
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitbattery.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.desktop b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.desktop
new file mode 100644
index 00000000..d9fb60c1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt5 QUItBattery
+Exec=/bin/sh -c "cd /usr/share/quitindicators-1.0.1/; ./QUItIndicators"
+Icon=quitindicators
+Terminal=false
+Type=Application
+X-MB-SingleInstance=true
+Comment=Qt5 QUItBattery
+StartupNotify=false
diff --git a/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.png b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.png
new file mode 100644
index 00000000..afbf4fc3
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/demo-extrafiles/qt5-demo-extrafiles/quitindicators.png
Binary files differ
diff --git a/external/meta-qt5/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch b/external/meta-qt5/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch
new file mode 100644
index 00000000..fc132ecc
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch
@@ -0,0 +1,48 @@
+Index: Qt5_CinematicExperience_rpi_1.0/content/SettingsView.qml
+===================================================================
+--- Qt5_CinematicExperience_rpi_1.0.orig/content/SettingsView.qml
++++ Qt5_CinematicExperience_rpi_1.0/content/SettingsView.qml
+@@ -127,8 +127,8 @@ Item {
+ Switch {
+ text: "Do you l-o-v-e colors?"
+ checked: settings.showColors
+- onText: "Yes"
+- offText: "No!"
++ textON: "Yes"
++ textOFF: "No!"
+ onCheckedChanged: {
+ settings.showColors = checked;
+ }
+Index: Qt5_CinematicExperience_rpi_1.0/content/Switch.qml
+===================================================================
+--- Qt5_CinematicExperience_rpi_1.0.orig/content/Switch.qml
++++ Qt5_CinematicExperience_rpi_1.0/content/Switch.qml
+@@ -6,8 +6,8 @@ Item {
+
+ property alias text: textItem.text
+ property bool checked: false
+- property string onText: "On"
+- property string offText: "Off"
++ property string textON: "On"
++ property string textOFF: "Off"
+
+ QtObject {
+ id: priv
+@@ -120,7 +120,7 @@ Item {
+ color: "#000000"
+ font.pixelSize: 18
+ font.bold: true
+- text: onText
++ text: textON
+ }
+ Text {
+ anchors.verticalCenter: parent.verticalCenter
+@@ -129,7 +129,7 @@ Item {
+ color: "#ffffff"
+ font.pixelSize: 18
+ font.bold: true
+- text: offText
++ text: textOFF
+ }
+
+ Image {
diff --git a/external/meta-qt5/recipes-qt/examples/cinematicexperience_1.0.bb b/external/meta-qt5/recipes-qt/examples/cinematicexperience_1.0.bb
new file mode 100644
index 00000000..9a90f1d4
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/cinematicexperience_1.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Qt5 technology demo"
+DESCRIPTION = "Cinematic Experience collects many of the new Qt5 QtQuick 2.0 features into the same UX demo application. It uses particles, sprites, path animation, custom shaders etc. features which Qt5 introduces for QML UIs."
+HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
+LICENSE = "CC-BY-3.0"
+LIC_FILES_CHKSUM = "file://README;beginline=38;endline=50;md5=51babd597624b70752069953876aaa18"
+
+SRC_URI = "http://quitcoding.com/download/Qt5_CinematicExperience_rpi_1.0.tgz"
+SRC_URI += "file://fix_qt5_3_compatibility.patch"
+
+SRC_URI[md5sum] = "935a5db0a6b2a72c67236e72f52be7d1"
+SRC_URI[sha256sum] = "0dd602983ced5f7c0cfd5ad0fbfe2b0b7e3c9ff715e4ef23eef818ccc2b6c60b"
+
+S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}/"
+
+# other version available for small screens
+#SRC_URI = "http://quitcoding.com/download/Qt5_CinematicExperience_1.0.tgz"
+#SRC_URI[md5sum] = "1c4f9bf5411c985fc5d3dbfc5d826a29"
+#SRC_URI[sha256sum] = "0e547e0259667915a24e84ade5efdcd0c553f81786734452c2c8dbce19a19f44"
+#S = "${WORKDIR}/Qt5_CinematicExperience_${PV}/"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+RDEPENDS_${PN} = "liberation-fonts qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/Qt5_CinematicExperience ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
+ install -m 0644 ${S}/Qt5_CinematicExperience.qml ${D}${datadir}/${P}
+
+ install -d ${D}${bindir}
+ echo "#!/bin/sh" > ${D}${bindir}/Qt5_CinematicExperience
+ echo "export QML_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/Qt5_CinematicExperience
+ echo "export QML2_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/Qt5_CinematicExperience
+ echo "${datadir}/${P}/Qt5_CinematicExperience \$* " >> ${D}${bindir}/Qt5_CinematicExperience
+ chmod +x ${D}${bindir}/Qt5_CinematicExperience
+}
+
+FILES_${PN} += "${datadir}"
diff --git a/external/meta-qt5/recipes-qt/examples/qt5-opengles2-test_git.bb b/external/meta-qt5/recipes-qt/examples/qt5-opengles2-test_git.bb
new file mode 100644
index 00000000..5da25dc9
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qt5-opengles2-test_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Qt5 OpenGL ES 2.0 Test Application"
+DESCRIPTION = "This application is used to test OpenGL ES 2.0 rendering \
+in a simple QWindow, plus multi-touch input, window orientation, window \
+focus handling and some other game-related features."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/git/main.cpp;beginline=1;endline=26;md5=93b83ece006c9e76b9fca80c3aecb169"
+
+PV = "1.0.4+gitr${SRCPV}"
+
+DEPENDS = "qtbase qtsensors"
+
+# Depends on gles2 enabled and that's not default configuration
+EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = "git://github.com/smk-embedded/qt5-opengles2-test.git"
+SRCREV = "938390507054ed1258345f70ed55770d2fe56176"
+S = "${WORKDIR}/git"
+
+inherit qmake5
diff --git a/external/meta-qt5/recipes-qt/examples/qt5everywheredemo_1.0.bb b/external/meta-qt5/recipes-qt/examples/qt5everywheredemo_1.0.bb
new file mode 100644
index 00000000..56034cc4
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qt5everywheredemo_1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Qt5 everywhere demo"
+DESCRIPTION = "Quick tour of Qt 5.0, primarily focusing on its graphical capabilities."
+LICENSE = "BSD"
+HOMEPAGE = "https://qt.gitorious.org/qt-labs"
+LIC_FILES_CHKSUM = "file://qml/QtDemo/main.qml;endline=39;md5=7d80863906a4bc8ffca77fd869e335a9"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects qtsvg qtmultimedia"
+
+SRCREV = "35d72a2eba7456a2efc5eb8b77afbc00f69ba0ac"
+QT_GIT_PROJECT = "qt-labs"
+SRC_URI = "${QT_GIT}/qt5-everywhere-demo"
+
+S = "${WORKDIR}/git/QtDemo"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/QtDemo ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/examples/qt5ledscreen_1.0.bb b/external/meta-qt5/recipes-qt/examples/qt5ledscreen_1.0.bb
new file mode 100644
index 00000000..e221941f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qt5ledscreen_1.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "QT5 LedScreen"
+DESCRIPTION = "This is LedScreen Qt5 QML component"
+HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
+LICENSE = "CC-BY-3.0"
+LIC_FILES_CHKSUM = "file://README.txt;md5=fe07f4a0be40fe88f8c7ceaca63a28b5"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+
+SRC_URI = "http://quitcoding.com/download/ledscreen_1.0.tgz"
+SRC_URI[md5sum] = "8fc482d5a8b16f43f022c9a282f305b8"
+SRC_URI[sha256sum] = "fa4759b70a5fa148a901a3f9a659f7bd2503d73774022012bded880dffa0d15c"
+
+S = "${WORKDIR}/ledscreen_1.0"
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ #install -m 0755 ${B}/QUItBattery ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb b/external/meta-qt5/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
new file mode 100644
index 00000000..54875f97
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "NMap Carousel application is demonstrating the normal mapping technique using Qt5"
+DESCRIPTION = "Normal mapping is used for making the icons appear 3D with lighting and shadows"
+HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
+LICENSE = "CC-BY-3.0"
+LIC_FILES_CHKSUM = "file://README;beginline=44;endline=55;md5=3a9db934c393a0cf198cbe7e73ebec86"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+
+SRC_URI = "http://quitcoding.com/download/Qt5_NMap_CarouselDemo_1.0.tgz"
+SRC_URI[md5sum] = "c1b4568cdbb6b3af4ca10c5a90aa8128"
+SRC_URI[sha256sum] = "445da212074a10a432f4508d125814212bbe7a967bfa47b015b92dfac6bfd65f"
+
+S = "${WORKDIR}/Qt5_NMap_CarouselDemo_1.0"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/Qt5_NMap_CarouselDemo ${D}${datadir}/${P}
+ cp ${S}/Qt5_NMap_CarouselDemo.qml ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/examples/qt5nmapper/change-property-string.patch b/external/meta-qt5/recipes-qt/examples/qt5nmapper/change-property-string.patch
new file mode 100644
index 00000000..dae2fdcc
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qt5nmapper/change-property-string.patch
@@ -0,0 +1,26 @@
+qt5nmapper: Change property string to onTextString
+
+Upstream-Status: Pending
+
+diff --git a/content_org/Switch.qml b/content/Switch.qml
+index 08a2cba..a8b8b26 100644
+--- a/content_org/Switch.qml
++++ b/content/Switch.qml
+@@ -5,7 +5,7 @@ Item {
+
+ property alias text: textItem.text
+ property bool checked: false
+- property string onText: "On"
++ property string onTextString: "On"
+ property string offText: "Off"
+
+ QtObject {
+@@ -76,7 +76,7 @@ Item {
+ color: "#000000"
+ font.pixelSize: 18
+ font.bold: true
+- text: onText
++ text: onTextString
+ }
+ Text {
+ anchors.verticalCenter: parent.verticalCenter
diff --git a/external/meta-qt5/recipes-qt/examples/qt5nmapper_1.0.bb b/external/meta-qt5/recipes-qt/examples/qt5nmapper_1.0.bb
new file mode 100644
index 00000000..3c2bc1a9
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qt5nmapper_1.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "QT5 NMapper application"
+DESCRIPTION = "NMapper application is demonstrating the normal mapping technique using Qt5"
+HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
+LICENSE = "CC-BY-3.0"
+LIC_FILES_CHKSUM = "file://README;beginline=47;endline=58;md5=9fb5bf76d564bc53812e40b133ff40dc"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+
+SRC_URI = "http://quitcoding.com/download/Qt5_NMapper_1.0.tgz \
+ file://change-property-string.patch"
+SRC_URI[md5sum] = "dafc425280144d8e286788e75a0dba0f"
+SRC_URI[sha256sum] = "607fbf4c448f00d3c563f9ef8a582bcb6e8fe550e80b56bf8d9127a417faa53b"
+
+S = "${WORKDIR}/Qt5_NMapper_1.0"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/Qt5_NMapper ${D}${datadir}/${P}
+ cp ${S}/Qt5_NMapper.qml ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+
diff --git a/external/meta-qt5/recipes-qt/examples/qtsmarthome_1.0.bb b/external/meta-qt5/recipes-qt/examples/qtsmarthome_1.0.bb
new file mode 100644
index 00000000..03f3c994
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/qtsmarthome_1.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Qt5 smarthome QML demo application"
+DESCRIPTION = "This is the Smarthome QML demo application. It shows some user interfaces for controlling an automated house"
+HOMEPAGE = "http://www.basyskom.com/news/143-demos-qt5-port.html"
+LICENSE = "LGPLv2.1+ & GFDL-1.2"
+LIC_FILES_CHKSUM = "file://COPYING.DOC;md5=ad1419ecc56e060eccf8184a87c4285f \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+
+SRC_URI = "http://share.basyskom.com/demos/smarthome_src.tar.gz"
+SRC_URI[md5sum] = "883b0376239baec20ebec072e938a995"
+SRC_URI[sha256sum] = "fceaa813c33e462bad6c0383eaef81a6f6e586c15d1fa73898173b517fc1cda6"
+
+S = "${WORKDIR}/smarthome_src"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/smarthome ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/components ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/examples/quitbattery_1.0.0.bb b/external/meta-qt5/recipes-qt/examples/quitbattery_1.0.0.bb
new file mode 100644
index 00000000..7593ab29
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/quitbattery_1.0.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "QT5 QUItBattery"
+DESCRIPTION = "This package contains QUItBatteryComponent with few usage examples"
+HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
+LICENSE = "CC-BY-3.0"
+LIC_FILES_CHKSUM = "file://README;beginline=37;endline=46;md5=6df4bcb7f9092d42a84f32eacb61bdc4"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+
+SRC_URI = "http://quitcoding.com/download/QUItBattery_1.0.0.tar.gz"
+SRC_URI[md5sum] = "7c7babc1086491b116b01d154b6163fd"
+SRC_URI[sha256sum] = "38dcb7630553c397f9d8a53c6411b1a6237956ed8dd4859e01487b1dd8f37873"
+
+S = "${WORKDIR}/QUItBattery_1.0.0"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/QUItBattery ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/examples/quitindicators_1.0.1.bb b/external/meta-qt5/recipes-qt/examples/quitindicators_1.0.1.bb
new file mode 100644
index 00000000..bc370f44
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/examples/quitindicators_1.0.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "QUItIndicators components with few usage examples"
+HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
+LICENSE = "CC-BY-3.0"
+LIC_FILES_CHKSUM = "file://README;beginline=38;endline=45;md5=9a4a88358260db32391eda6ebe7562e5"
+
+DEPENDS = "qtdeclarative qtgraphicaleffects"
+
+SRC_URI = "http://quitcoding.com/download/QUItIndicators_1.0.1.tar.gz"
+SRC_URI[md5sum] = "85ec60b553e181c55b331a9921d1b9a0"
+SRC_URI[sha256sum] = "db84112adbde9b6f28c129e8fb37a6912f4bc34bed18e57f570fb78ea0cb6ae2"
+
+S = "${WORKDIR}/QUItIndicators_1.0.1"
+
+require recipes-qt/qt5/qt5.inc
+
+do_install() {
+ install -d ${D}${datadir}/${P}
+ install -m 0755 ${B}/QUItIndicators ${D}${datadir}/${P}
+ cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
+}
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
new file mode 100644
index 00000000..a4103f25
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch
@@ -0,0 +1,32 @@
+From be5c73c72d1efa90ba440957d6f5ff3278c25545 Mon Sep 17 00:00:00 2001
+From: Samuel Stirtzel <s.stirtzel@googlemail.com>
+Date: Wed, 1 Aug 2012 13:21:51 +0200
+Subject: [PATCH] Fix MALIIT_INSTALL_PRF to allow the build with openembedded
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
+
+---
+ config.pri | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/config.pri b/config.pri
+index 8f24864..94d595a 100644
+--- a/config.pri
++++ b/config.pri
+@@ -144,9 +144,11 @@ noxcb {
+ DEFINES += NOXCB
+ }
+
+-MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
+-local-install {
+- MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
++isEmpty(MALIIT_INSTALL_PRF) {
++ MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
++ local-install {
++ MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
++ }
+ }
+
+ defineTest(outputFile) {
diff --git a/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch
new file mode 100644
index 00000000..2310e637
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch
@@ -0,0 +1,32 @@
+From fb4316ca6e44a6b34e7d109360fc716c372e1293 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 11:45:06 -0700
+Subject: [PATCH] config.pri: Use -O1 optimization in DEBUG flags
+
+when building wit FORTIFY_SOURCES we need some level of
+optimization turned on for the compile to succeed
+
+O1 is a good compromise between debug quality and
+optimization level.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ config.pri | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config.pri b/config.pri
+index 94d595a..d7b221f 100644
+--- a/config.pri
++++ b/config.pri
+@@ -15,8 +15,8 @@ include(defines.pri)
+ # Linker optimization for release build
+ QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
+ # Compiler warnings are error if the build type is debug
+-QMAKE_CXXFLAGS_DEBUG+=-Werror -O0
+-QMAKE_CFLAGS_DEBUG+=-Werror -O0
++QMAKE_CXXFLAGS_DEBUG+=-Werror -O1
++QMAKE_CFLAGS_DEBUG+=-Werror -O1
+
+ OBJECTS_DIR = .obj
+ MOC_DIR = .moc
diff --git a/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop
new file mode 100644
index 00000000..24bdf9b5
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5/maliit-server.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=Maliit server
+Exec=/usr/bin/maliit-server
+Icon=
+Type=Application
+Categories=Utility;
diff --git a/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5_git.bb b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5_git.bb
new file mode 100644
index 00000000..232e8252
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/maliit/maliit-framework-qt5_git.bb
@@ -0,0 +1,97 @@
+DESCRIPTION = "A virtual keyboard for touch-screen based user interfaces"
+HOMEPAGE = "https://wiki.maliit.org/Main_Page"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
+
+inherit qmake5 qmake5_paths
+
+SRC_URI = "git://github.com/maliit/framework.git;branch=master \
+ file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \
+ file://maliit-server.desktop \
+ file://0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch \
+ "
+
+SRCREV = "60b1b10de14f932420313c547ab801daf522d539"
+PV = "0.99.0+git${SRCPV}"
+
+
+PACKAGES =+ "${PN}-gtk"
+GTKIMMODULES_PACKAGES = "${PN}-gtk"
+
+DEPENDS = "qtdeclarative"
+
+RRECOMMENDS_${PN} = "maliit-plugins-qt5"
+
+FILES_${PN} += "\
+ ${libdir}/*.so* \
+ ${bindir} \
+ ${datadir}/applications/maliit-server.desktop \
+ ${datadir}/dbus-1 \
+ ${OE_QMAKE_PATH_PLUGINS}/platforminputcontexts \
+"
+
+FILES_${PN}-dbg += "\
+ ${libdir}/maliit-framework-tests \
+"
+
+FILES_${PN}-dev += "\
+ ${includedir}/maliit \
+ ${libdir}/pkgconfig \
+ ${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \
+"
+
+EXTRA_QMAKEVARS_PRE = "\
+ PREFIX=${OE_QMAKE_PATH_PREFIX} \
+ LIBDIR=${OE_QMAKE_PATH_LIBS} \
+ DATADIR=${OE_QMAKE_PATH_DATA} \
+ QT_INSTALL_PLUGINS=${OE_QMAKE_PATH_PLUGINS} \
+ MALIIT_INSTALL_PRF=${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features \
+ SCHEMADIR=${sysconfdir}/gconf/schemas \
+ CONFIG+=disable-gconf \
+ CONFIG+=disable-gtk-cache-update \
+ CONFIG+=local-install \
+ CONFIG+=nosdk \
+ CONFIG+=nodoc \
+ CONFIG+=noxcb \
+ CONFIG+=enable-dbus-activation \
+ CONFIG+=qt5-inputcontext \
+"
+
+# tests fail to build with clang
+EXTRA_QMAKEVARS_PRE_append_toolchain-clang = " CONFIG+=notests"
+
+EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
+
+do_install_append() {
+ #Fix absolute paths
+ sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/maliit-framework.prf
+ sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/maliit-plugins.prf
+
+ install -d ${D}${datadir}/applications
+ install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications
+}
+
+pkg_postinst_${PN} () {
+#!/bin/sh
+# should run online
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+echo "export QT_IM_MODULE=Maliit" >> /etc/xprofile
+ln -s /usr/share/applications/maliit-server.desktop /etc/xdg/autostart/maliit-server.desktop
+}
+
+pkg_postrm_${PN} () {
+#!/bin/sh
+# should run online
+if [ "x$D" = "x" ]; then
+ exit 1
+fi
+if [ -e "/etc/xprofile" ]; then
+ sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile
+fi
+rm -f /etc/xdg/autostart/maliit-server.desktop
+}
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-qt5/recipes-qt/maliit/maliit-plugins-qt5_git.bb b/external/meta-qt5/recipes-qt/maliit/maliit-plugins-qt5_git.bb
new file mode 100644
index 00000000..8225cb54
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/maliit/maliit-plugins-qt5_git.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "Plugins for a virtual keyboard for touch-screen based user interfaces"
+HOMEPAGE = "https://wiki.maliit.org/Main_Page"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
+
+inherit qmake5
+
+DEPENDS = "maliit-framework-qt5"
+
+RDEPENDS_${PN} += "qtsvg-plugins"
+
+SRC_URI = "git://github.com/maliit/plugins.git;branch=master"
+
+SRCREV = "c6a348592607248a771a3dde5a0e33dc3c433a2a"
+PV = "0.99.0+git${SRCPV}"
+
+EXTRA_QMAKEVARS_PRE = "\
+ PREFIX=${prefix} \
+ MALIIT_INSTALL_PRF=${QMAKE_MKSPEC_PATH}/mkspecs/features \
+ MALIIT_PLUGINS_DATA_DIR=${datadir} \
+ LIBDIR=${libdir} \
+ CONFIG+=nodoc \
+"
+
+# tests fail to build with clang
+EXTRA_QMAKEVARS_PRE_append_toolchain-clang = " CONFIG+=notests"
+
+FILES_${PN} += "\
+ ${libdir}/maliit \
+ ${datadir} \
+"
+
+S= "${WORKDIR}/git"
+
+EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
diff --git a/external/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb b/external/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb
new file mode 100644
index 00000000..2027b54e
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb
@@ -0,0 +1,6 @@
+SUMMARY = "Meta package for building an installable Qt5 toolchain and SDK"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit populate_sdk populate_sdk_qt5
diff --git a/external/meta-qt5/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb b/external/meta-qt5/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
new file mode 100644
index 00000000..e92cb9d4
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
@@ -0,0 +1,15 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+SUMMARY = "Host packages for the Qt5 standalone SDK or external toolchain"
+LICENSE = "MIT"
+
+inherit nativesdk packagegroup
+
+PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
+
+RDEPENDS_${PN} += " \
+ nativesdk-packagegroup-sdk-host \
+ nativesdk-qttools-tools \
+ nativesdk-qtbase \
+ nativesdk-perl-modules \
+"
diff --git a/external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb b/external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
new file mode 100644
index 00000000..5894955c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
@@ -0,0 +1,16 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+SUMMARY = "Remote debugging tools for QtCreator integration"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+# Override by distro if needed
+VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon ?= "openssh-sshd"
+
+RDEPENDS_${PN} = " \
+ gdbserver \
+ ${VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon} \
+ openssh-sftp-server \
+ qtdeclarative \
+"
diff --git a/external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb b/external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
new file mode 100755
index 00000000..d206a100
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
@@ -0,0 +1,116 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+DESCRIPTION = "Target packages for Qt5 SDK"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
+
+# Requires Ruby to work
+USE_RUBY = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebkit-dev', '', d)} \
+"
+
+# Requires Wayland to work
+USE_WAYLAND = " \
+ qtwayland-dev \
+ qtwayland-mkspecs \
+ qtwayland-plugins \
+ qtwayland-tools \
+"
+
+# Requires X11 to work
+USE_X11 = " \
+ qtx11extras-dev \
+ qtx11extras-mkspecs \
+"
+
+RDEPENDS_${PN} += " \
+ packagegroup-core-standalone-sdk-target \
+ libsqlite3-dev \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qt3d-dev', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qt3d-mkspecs', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qt3d-qmlplugins', '', d)} \
+ qtbase-dev \
+ qtbase-mkspecs \
+ qtbase-plugins \
+ qtbase-staticdev \
+ qtbase-tools \
+ qttranslations-qtbase \
+ qttranslations-qthelp \
+ qtcharts-dev \
+ qtcharts-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtcharts-qmlplugins', '', d)} \
+ qtconnectivity-dev \
+ qtconnectivity-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtconnectivity-qmlplugins', '', d)} \
+ qttranslations-qtconnectivity \
+ qtdeclarative-dev \
+ qtdeclarative-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtdeclarative-qmlplugins', '', d)} \
+ qtdeclarative-tools \
+ qtdeclarative-staticdev \
+ qttranslations-qmlviewer \
+ qttranslations-qtdeclarative \
+ qtenginio-dev \
+ qtenginio-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtenginio-qmlplugins', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtgraphicaleffects-qmlplugins', '', d)} \
+ qtimageformats-dev \
+ qtimageformats-plugins \
+ qtlocation-dev \
+ qtlocation-mkspecs \
+ qtlocation-plugins \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtlocation-qmlplugins', '', d)} \
+ qttranslations-qtlocation \
+ qtmqtt-dev \
+ qtmqtt-mkspecs \
+ qtmultimedia-dev \
+ qtmultimedia-mkspecs \
+ qtmultimedia-plugins \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtmultimedia-qmlplugins', '', d)} \
+ qttranslations-qtmultimedia \
+ qtscript-dev \
+ qtscript-mkspecs \
+ qttranslations-qtscript \
+ qtsensors-dev \
+ qtsensors-mkspecs \
+ qtsensors-plugins \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtsensors-qmlplugins', '', d)} \
+ qtserialport-dev \
+ qtserialport-mkspecs \
+ qtserialbus-dev \
+ qtserialbus-mkspecs \
+ qtsvg-dev \
+ qtsvg-mkspecs \
+ qtsvg-plugins \
+ qtsystems-dev \
+ qtsystems-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtsystems-qmlplugins', '', d)} \
+ qttools-dev \
+ qttools-mkspecs \
+ qttools-staticdev \
+ qttools-tools \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${USE_WAYLAND}', '', d)} \
+ ${USE_RUBY} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${USE_X11}', '', d)} \
+ qtwebsockets-dev \
+ qtwebsockets-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebsockets-qmlplugins', '', d)} \
+ qttranslations-qtwebsockets \
+ qtwebchannel-dev \
+ qtwebchannel-mkspecs \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebchannel-qmlplugins', '', d)} \
+ qtxmlpatterns-dev \
+ qtxmlpatterns-mkspecs \
+ qttranslations-qtxmlpatterns \
+ qtquickcontrols2 \
+ qtquickcontrols2-dev \
+ qtquickcontrols2-mkspecs \
+"
+
+RRECOMMENDS_${PN} += " \
+ qtquickcontrols-qmlplugins \
+ qttools-plugins \
+"
diff --git a/external/meta-qt5/recipes-qt/qmllive/qmllive_git.bb b/external/meta-qt5/recipes-qt/qmllive/qmllive_git.bb
new file mode 100644
index 00000000..bc9a3784
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qmllive/qmllive_git.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "QmlLive is a live reloader environment for rapid UI development"
+HOMEPAGE = "https://github.com/qtproject/qt-apps-qmllive"
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=75cd0dbc6f2d24e7eeb128ff59b74f4c"
+DEPENDS = "qtbase qtdeclarative"
+
+PV = "5.12+git${SRCPV}"
+
+QT_GIT_PROJECT = "qt-apps"
+SRC_URI = "${QT_GIT}/qmllive.git;branch=dev"
+SRCREV = "0c7bf141b08aa9e757e91a4a05769257d043eab2"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig qmake5
+
+EXTRA_QMAKEVARS_POST = "QMAKE_RPATHDIR="
+
+FILES_${PN}-dev += "${datadir}"
diff --git a/external/meta-qt5/recipes-qt/qsiv/qsiv_1.1.bb b/external/meta-qt5/recipes-qt/qsiv/qsiv_1.1.bb
new file mode 100644
index 00000000..5773c3e7
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qsiv/qsiv_1.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Qt Simple Image Viewer"
+DESCRIPTION = "A simple image viewer using a mix of C++ and qml code for demonstration."
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11c7965a9059e287de5d93b98adf6d1a"
+DEPENDS = "qtdeclarative"
+
+SRCREV = "7b9810b0f02f9ac74fae3ead6e2e9fb5c1382173"
+SRC_URI = "git://code.ossystems.com.br/qt/qsiv;protocol=http"
+
+S = "${WORKDIR}/git"
+
+inherit qmake5
+
+EXTRA_QMAKEVARS_PRE += "target.path=${libdir}/${P}"
+
+do_install_append() {
+ install -d ${D}${bindir}
+ echo "#!/bin/sh" > ${D}${bindir}/qsiv
+ echo "export QML_IMPORT_PATH=${libdir}/${P}/qml/qsiv" >> ${D}${bindir}/qsiv
+ echo "export QML2_IMPORT_PATH=${libdir}/${P}/qml/qsiv" >> ${D}${bindir}/qsiv
+ echo "${libdir}/${P}/qsiv \$* " >> ${D}${bindir}/qsiv
+ chmod +x ${D}${bindir}/qsiv
+}
+
+FILES_${PN} += "${libdir}/${P}"
+RDEPENDS_${PN} += "qtdeclarative-qmlplugins"
diff --git a/external/meta-qt5/recipes-qt/qt5/nativesdk-qt5.inc b/external/meta-qt5/recipes-qt/qt5/nativesdk-qt5.inc
new file mode 100644
index 00000000..2eb8c142
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/nativesdk-qt5.inc
@@ -0,0 +1,12 @@
+inherit nativesdk qmake5_base
+
+# we don't want conflicts with qt4
+OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
+OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
+OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
+OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
+OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
+OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
+OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
+OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
+OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
diff --git a/external/meta-qt5/recipes-qt/qt5/nativesdk-qtbase_git.bb b/external/meta-qt5/recipes-qt/qt5/nativesdk-qtbase_git.bb
new file mode 100644
index 00000000..477417e0
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -0,0 +1,201 @@
+DESCRIPTION = "SDK version of Qt/[X11|Mac|Embedded]"
+DEPENDS = "nativesdk-zlib qtbase-native"
+SECTION = "libs"
+HOMEPAGE = "http://qt-project.org"
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \
+"
+
+QT_MODULE = "qtbase"
+
+require nativesdk-qt5.inc
+require qt5-git.inc
+
+# it's already included with newer oe-core, but include it here for dylan
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
+
+# common for qtbase-native, qtbase-nativesdk and qtbase
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.11-shared
+# 5.11.meta-qt5-shared.14
+SRC_URI += "\
+ file://0001-Add-linux-oe-g-platform.patch \
+ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
+ file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
+ file://0004-configure-bump-path-length-from-256-to-512-character.patch \
+ file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \
+ file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \
+ file://0007-Delete-qlonglong-and-qulonglong.patch \
+ file://0008-Replace-pthread_yield-with-sched_yield.patch \
+ file://0009-Add-OE-specific-specs-for-clang-compiler.patch \
+ file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \
+ file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \
+ file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
+ file://0013-Upgrade-double-conversion-to-v3.0.0.patch \
+ file://0014-double-conversion-support-AARCH64EB-and-arm-BE.patch \
+ file://0015-Disable-ltcg-for-host_build.patch \
+ file://0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
+ file://0017-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0019-Fix-compile-issue-with-gcc-9.patch \
+"
+
+# common for qtbase-native and nativesdk-qtbase
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.11-native
+# 5.11.meta-qt5-native.14
+SRC_URI += " \
+ file://0020-Always-build-uic-and-qvkgen.patch \
+ file://0021-Avoid-renameeat2-for-native-sdk-builds.patch \
+"
+
+# CMake's toolchain configuration of nativesdk-qtbase
+SRC_URI += " \
+ file://OEQt5Toolchain.cmake \
+"
+
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+
+FILES_${PN}-dev += " \
+ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
+ ${OE_QMAKE_PATH_LIBS}/*.prl \
+"
+
+FILES_${PN} += " \
+ ${SDKPATHNATIVE}/environment-setup.d \
+"
+
+# qttools binaries are placed in a subdir of bin in order to avoid
+# collisions with qt4. This would trigger debian.bbclass to rename the
+# package, since it doesn't detect binaries in subdirs. Explicitly
+# disable package auto-renaming for the tools-package.
+DEBIAN_NOAUTONAME_${PN} = "1"
+
+QT_CONFIG_FLAGS += " \
+ -shared \
+ -silent \
+ -no-pch \
+ -no-rpath \
+ -pkg-config \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+# qtbase is exception, as these are used as install path for sysroots
+OE_QMAKE_PATH_HOST_DATA = "${libdir}${QT_DIR_NAME}"
+OE_QMAKE_PATH_HOST_LIBS = "${libdir}"
+
+# for qtbase configuration we need default settings
+# since we cannot set empty set filename to a not existent file
+deltask generate_qt_config_file
+
+do_configure() {
+ # Regenerate header files when they are included in source tarball
+ # Otherwise cmake files don't set PRIVATE_HEADERS correctly
+ rm -rf ${S}/include
+ mkdir -p ${S}/.git || true
+
+ ${S}/configure -v \
+ -${QT_EDITION} -confirm-license \
+ -sysroot ${STAGING_DIR_TARGET} \
+ -no-gcc-sysroot \
+ -system-zlib \
+ -dbus-runtime \
+ -no-libjpeg \
+ -no-libpng \
+ -no-gif \
+ -no-accessibility \
+ -no-cups \
+ -no-gui \
+ -no-sql-mysql \
+ -no-sql-sqlite \
+ -no-opengl \
+ -no-openssl \
+ -no-xcb \
+ -no-feature-bearermanagement \
+ -no-icu \
+ -verbose \
+ -release \
+ -prefix ${OE_QMAKE_PATH_PREFIX} \
+ -bindir ${OE_QMAKE_PATH_BINS} \
+ -libdir ${OE_QMAKE_PATH_LIBS} \
+ -datadir ${OE_QMAKE_PATH_DATA} \
+ -sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
+ -docdir ${OE_QMAKE_PATH_DOCS} \
+ -headerdir ${OE_QMAKE_PATH_HEADERS} \
+ -archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
+ -libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
+ -plugindir ${OE_QMAKE_PATH_PLUGINS} \
+ -qmldir ${OE_QMAKE_PATH_QML} \
+ -translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
+ -testsdir ${OE_QMAKE_PATH_TESTS} \
+ -hostbindir ${OE_QMAKE_PATH_HOST_BINS} \
+ -hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \
+ -external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
+ -no-glib \
+ -no-iconv \
+ -silent \
+ -nomake examples \
+ -nomake tests \
+ -no-compile-examples \
+ -no-rpath \
+ -platform ${OE_QMAKE_PLATFORM_NATIVE} \
+ -xplatform ${OE_QMAKE_PLATFORM} \
+ ${QT_CONFIG_FLAGS}
+}
+
+do_install() {
+ qmake5_base_do_install
+
+ # remove things unused in nativesdk, we need the headers and libs
+ rm -rf ${D}${datadir} \
+ ${D}/${OE_QMAKE_PATH_PLUGINS} \
+ ${D}${libdir}/cmake \
+ ${D}${libdir}/pkgconfig
+
+ # Install CMake's toolchain configuration
+ mkdir -p ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/
+ install -m 644 ${WORKDIR}/OEQt5Toolchain.cmake ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/
+
+ # Fix up absolute paths in scripts
+ sed -i -e '1s,#!/usr/bin/python,#! ${USRBINPATH}/env python,' \
+ ${D}${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/uikit/devices.py
+}
+
+fakeroot do_generate_qt_environment_file() {
+ mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d/
+ script=${D}${SDKPATHNATIVE}/environment-setup.d/qt5.sh
+
+ echo 'export PATH=${OE_QMAKE_PATH_HOST_BINS}:$PATH' > $script
+ echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script
+ echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script
+ echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script
+ echo 'export OE_QMAKE_CC="$CC"' >> $script
+ echo 'export OE_QMAKE_CXX="$CXX"' >> $script
+ echo 'export OE_QMAKE_LINK="$CXX"' >> $script
+ echo 'export OE_QMAKE_AR=$AR' >> $script
+ echo 'export OE_QMAKE_STRIP=$STRIP' >> $script
+ echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script
+ echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script
+ echo 'export OE_QMAKE_INCDIR_QT=`qmake -query QT_INSTALL_HEADERS`' >> $script
+ echo 'export OE_QMAKE_MOC=${OE_QMAKE_PATH_HOST_BINS}/moc' >> $script
+ echo 'export OE_QMAKE_UIC=${OE_QMAKE_PATH_HOST_BINS}/uic' >> $script
+ echo 'export OE_QMAKE_RCC=${OE_QMAKE_PATH_HOST_BINS}/rcc' >> $script
+ echo 'export OE_QMAKE_QDBUSCPP2XML=${OE_QMAKE_PATH_HOST_BINS}/qdbuscpp2xml' >> $script
+ echo 'export OE_QMAKE_QDBUSXML2CPP=${OE_QMAKE_PATH_HOST_BINS}/qdbusxml2cpp' >> $script
+ echo 'export OE_QMAKE_QT_CONFIG=`qmake -query QT_INSTALL_LIBS`${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
+ echo 'export OE_QMAKE_PATH_HOST_BINS=${OE_QMAKE_PATH_HOST_BINS}' >> $script
+ echo 'export QMAKESPEC=`qmake -query QT_INSTALL_LIBS`${QT_DIR_NAME}/mkspecs/linux-oe-g++' >> $script
+
+ # Use relocable sysroot
+ sed -i -e 's:${SDKPATHNATIVE}:$OECORE_NATIVE_SYSROOT:g' $script
+}
+
+do_generate_qt_environment_file[umask] = "022"
+addtask generate_qt_environment_file after do_install before do_package
+
+SRCREV = "08de243eaa007597c2bfbc97d3d14e2f821ac4be"
diff --git a/external/meta-qt5/recipes-qt/qt5/ptest/run-ptest b/external/meta-qt5/recipes-qt/qt5/ptest/run-ptest
new file mode 100644
index 00000000..044f834d
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/ptest/run-ptest
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for x in ` awk '{print $1}' tst_list `;do
+ ./${x};
+done
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qt3d-runtime/0001-runtime-Include-missing-QCoreApplication-header.patch b/external/meta-qt5/recipes-qt/qt5/qt3d-runtime/0001-runtime-Include-missing-QCoreApplication-header.patch
new file mode 100644
index 00000000..bc61e538
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt3d-runtime/0001-runtime-Include-missing-QCoreApplication-header.patch
@@ -0,0 +1,29 @@
+From e6247a6823d372cc779934cf6c74d65bae9652b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Aug 2018 03:23:20 +0000
+Subject: [PATCH] runtime: Include missing <QCoreApplication> header
+
+Fixes following errors seen on mips
+
+q3dsengine.cpp:1327:9: error: 'QCoreApplication' has not been declared
+ QCoreApplication::sendEvent(&m_profileUiEventSource, e);
+ ^~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/runtime/q3dsengine.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/runtime/q3dsengine.cpp b/src/runtime/q3dsengine.cpp
+index 1a438f0..d6d4eb5 100644
+--- a/src/runtime/q3dsengine.cpp
++++ b/src/runtime/q3dsengine.cpp
+@@ -36,6 +36,7 @@
+ #include "q3dsinlineqmlsubpresentation_p.h"
+ #include "q3dsviewersettings.h"
+
++#include <QCoreApplication>
+ #include <QLoggingCategory>
+ #include <QKeyEvent>
+ #include <QMouseEvent>
diff --git a/external/meta-qt5/recipes-qt/qt5/qt3d-runtime_git.bb b/external/meta-qt5/recipes-qt/qt5/qt3d-runtime_git.bb
new file mode 100644
index 00000000..78f2aec1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt3d-runtime_git.bb
@@ -0,0 +1,18 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+"
+
+SRC_URI += "file://0001-runtime-Include-missing-QCoreApplication-header.patch"
+
+DEPENDS += "qtbase qtdeclarative qt3d"
+
+QT_MODULE_BRANCH = "2.0"
+QT_GIT_PROJECT = "qt3dstudio"
+PV = "2.0+git${SRCPV}"
+
+SRCREV = "ed19232a75b371727c76a9ad8a56f211a0b827ec"
diff --git a/external/meta-qt5/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch b/external/meta-qt5/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch
new file mode 100644
index 00000000..0189a9dc
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch
@@ -0,0 +1,52 @@
+From 72d96957995393312ad29920d67fa758d0e53ca5 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Fri, 17 Aug 2018 13:23:58 +0300
+Subject: [PATCH] Allow a tools-only build
+
+---
+ qt3d.pro | 7 ++++++-
+ src/3rdparty/assimp/assimp_dependency.pri | 2 +-
+ tools/tools.pro | 2 +-
+ 3 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/qt3d.pro b/qt3d.pro
+index 2cc347a1c..81cdeefb0 100644
+--- a/qt3d.pro
++++ b/qt3d.pro
+@@ -1,4 +1,4 @@
+-requires(qtConfig(opengl))
++!tools-only:requires(qtConfig(opengl))
+
+ CONFIG += examples_need_tools
+ load(qt_parts)
+@@ -14,3 +14,8 @@ load(qt_parts)
+
+ OTHER_FILES += \
+ sync.profile
++
++tools-only {
++ sub_tools.depends -= sub_src
++ SUBDIRS = sub_tools
++}
+diff --git a/src/3rdparty/assimp/assimp_dependency.pri b/src/3rdparty/assimp/assimp_dependency.pri
+index 8ba2d9a41..e973d93dd 100644
+--- a/src/3rdparty/assimp/assimp_dependency.pri
++++ b/src/3rdparty/assimp/assimp_dependency.pri
+@@ -1,5 +1,5 @@
+ QT_FOR_CONFIG += 3dcore-private
+-qtConfig(system-assimp):!if(cross_compile:host_build) {
++!tools-only:qtConfig(system-assimp):!if(cross_compile:host_build) {
+ QMAKE_USE_PRIVATE += assimp
+ } else {
+ include(assimp.pri)
+diff --git a/tools/tools.pro b/tools/tools.pro
+index c2f692034..24c49ad5a 100644
+--- a/tools/tools.pro
++++ b/tools/tools.pro
+@@ -1,5 +1,5 @@
+ TEMPLATE = subdirs
+ QT_FOR_CONFIG += 3dcore-private
+-qtConfig(assimp):qtConfig(commandlineparser):!cross_compile: {
++tools-only|qtConfig(assimp):qtConfig(commandlineparser): {
+ SUBDIRS += qgltf
+ }
diff --git a/external/meta-qt5/recipes-qt/qt5/qt3d_git.bb b/external/meta-qt5/recipes-qt/qt5/qt3d_git.bb
new file mode 100644
index 00000000..d455fef3
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt3d_git.bb
@@ -0,0 +1,41 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "LGPL-3.0 | GPL-2.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv3;md5=8211fde12cc8a4e2477602f5953f5b71 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LICENSE.GPL;md5=c96076271561b0e3785dad260634eaa8 \
+"
+
+DEPENDS += "qtbase"
+DEPENDS_class-target += "qtdeclarative qt3d-native"
+
+# Patches from https://github.com/meta-qt5/qt3d/commits/b5.11
+# 5.11.meta-qt5.6
+SRC_URI += " \
+ file://0001-Allow-a-tools-only-build.patch \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_class-native ??= "tools-only"
+PACKAGECONFIG_class-nativesdk ??= "tools-only"
+PACKAGECONFIG[tools-only] = ""
+PACKAGECONFIG[system-assimp] = "-feature-system-assimp,-no-feature-system-assimp,assimp"
+PACKAGECONFIG[qtgamepad] = ",,qtgamepad"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tools-only', 'CONFIG+=tools-only QMAKE_USE_PRIVATE+=zlib', '', d)}"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtgamepad', 'CONFIG+=OE_QTGAMEPAD_ENABLED', '', d)}"
+
+do_configure_prepend() {
+ # disable qtgamepad test if it isn't enabled by PACKAGECONFIG
+ sed -e 's/^\(qtHaveModule(gamepad)\)/OE_QTGAMEPAD_ENABLED:\1/' -i \
+ ${S}/src/input/frontend/frontend.pri \
+ ${S}/src/quick3d/imports/input/importsinput.pro
+}
+
+SRCREV = "cd3e621ccf56bb8262f9c8cd967e05bf41934060"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch b/external/meta-qt5/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch
new file mode 100644
index 00000000..eebda742
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-creator/0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch
@@ -0,0 +1,26 @@
+From 766e5b37a42b440b66823262eb553f9981940115 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 27 Sep 2018 20:48:17 -0700
+Subject: [PATCH] botan: Always define BOTAN_ARCH_SWITCH when cross-building
+
+this helps in compiling botan for non-x86 architectures
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libs/botan/botan.pro | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/libs/botan/botan.pro b/src/libs/botan/botan.pro
+index 0c939b2a30..6e1a85fe84 100644
+--- a/src/libs/botan/botan.pro
++++ b/src/libs/botan/botan.pro
+@@ -18,6 +18,7 @@ else: clang: BOTAN_CC_TYPE = clang
+ else: BOTAN_CC_TYPE = gcc
+ contains(QT_ARCH, i386): BOTAN_ARCH_SWITCH = "--cpu=x86"
+ else: contains(QT_ARCH, x86_64): BOTAN_ARCH_SWITCH = "--cpu=x86_64"
++else: BOTAN_ARCH_SWITCH = --cpu=$$QT_ARCH
+ BOTAN_MODULES = aes aes_ssse3 auto_rng bigint block cbc ctr des dh dsa ec_group ecdh ecdsa entropy \
+ filters hmac mode_pad pubkey rsa sha1 sha1_sse2 sha1_x86 sha2_32 sha2_32_x86 \
+ sha2_64 simd system_rng,emsa_pkcs1,pbes2,pbkdf2
+-- 2.19.0
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-creator/0002-botan.pro-pass-QMAKE_AR.patch b/external/meta-qt5/recipes-qt/qt5/qt5-creator/0002-botan.pro-pass-QMAKE_AR.patch
new file mode 100644
index 00000000..26262299
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-creator/0002-botan.pro-pass-QMAKE_AR.patch
@@ -0,0 +1,80 @@
+From cd006f4a79b3c1435a8a8321b5af9191f104bbb3 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 26 Sep 2018 21:14:06 +0000
+Subject: [PATCH] botan.pro: pass QMAKE_AR
+
+* otherwise AR from environment sets it with cqs params, e.g.:
+ x86_64-oe-linux-ar cqs
+ from QMAKE_AR = ${OE_QMAKE_AR} cqs
+
+ but then botan's Makefile will add "crs" after it causing:
+ http://errors.yoctoproject.org/Errors/Details/194653/
+
+ x86_64-oe-linux-ar cqs crs libbotan-2.a build/obj/lib/botan_all.o build/obj/lib/botan_all_ssse3.o
+ x86_64-oe-linux-ar: libbotan-2.a: No such file or directory
+ Makefile:79: recipe for target 'libbotan-2.a' failed
+ make[4]: *** [libbotan-2.a] Error 1
+
+* add --ar-options parameter to botan configure and respect the
+ value when set (before cc.ar_options and osinfo.ar_options)
+ then use this to pass empty ar_options as we already include
+ the options in ar_command
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/libs/3rdparty/botan/configure.py | 13 ++++++++++++-
+ src/libs/botan/botan.pro | 1 +
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/src/libs/3rdparty/botan/configure.py b/src/libs/3rdparty/botan/configure.py
+index b09f07bb5e..2b5b9c6417 100755
+--- a/src/libs/3rdparty/botan/configure.py
++++ b/src/libs/3rdparty/botan/configure.py
+@@ -321,6 +321,9 @@ def process_command_line(args): # pylint: disable=too-many-locals
+ target_group.add_option('--ar-command', dest='ar_command', metavar='AR', default=None,
+ help='set path to static archive creator')
+
++ target_group.add_option('--ar-options', dest='ar_options', metavar='crs', default='crs',
++ help='set options for static archive creator')
++
+ target_group.add_option('--msvc-runtime', metavar='RT', default=None,
+ help='specify MSVC runtime (MT, MD, MTd, MDd)')
+
+@@ -1786,6 +1789,14 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch,
+
+ return osinfo.ar_command
+
++ def ar_options():
++ if options.ar_options:
++ return options.ar_options
++ if cc.ar_options:
++ return cc.ar_options
++
++ return osinfo.ar_options
++
+ def choose_endian(arch_info, options):
+ if options.with_endian != None:
+ return options.with_endian
+@@ -1938,7 +1949,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch,
+ 'post_link_cmd': '',
+
+ 'ar_command': ar_command(),
+- 'ar_options': cc.ar_options or osinfo.ar_options,
++ 'ar_options': ar_options(),
+ 'ar_output_to': cc.ar_output_to,
+
+ 'link_to': ' '.join(
+diff --git a/src/libs/botan/botan.pro b/src/libs/botan/botan.pro
+index 0c939b2a30..e8082c4bbb 100644
+--- a/src/libs/botan/botan.pro
++++ b/src/libs/botan/botan.pro
+@@ -46,6 +46,7 @@ configure.variable_out = BOTAN_MAKEFILE
+ configure.commands = cd $$BOTAN_BUILD_DIR_FOR_SHELL && \
+ python $$CONFIGURE_FILE_PATH_FOR_SHELL \
+ --cc=$$BOTAN_CC_TYPE --cc-bin=$$shell_quote($$QMAKE_CXX) \
++ --ar-command=$$shell_quote($$QMAKE_AR) --ar-options=$$shell_quote(' ') \
+ $$BOTAN_ARCH_SWITCH $$BOTAN_OS_SWITCH $$OTHER_FLAGS
+ QMAKE_EXTRA_COMPILERS += configure
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-creator/0003-Link-with-libexecinfo-on-musl.patch b/external/meta-qt5/recipes-qt/qt5/qt5-creator/0003-Link-with-libexecinfo-on-musl.patch
new file mode 100644
index 00000000..9b225a57
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-creator/0003-Link-with-libexecinfo-on-musl.patch
@@ -0,0 +1,20 @@
+From 88afa7173c7d0c97e15d9ee9c58e8c0364799bb7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 Jan 2018 13:26:57 +0000
+Subject: [PATCH] Link with libexecinfo on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/plugins/debugger/debugger.pro | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
+index f5a34aa0d5..4a1359dd5c 100644
+--- a/src/plugins/debugger/debugger.pro
++++ b/src/plugins/debugger/debugger.pro
+@@ -141,3 +141,4 @@ include(console/console.pri)
+ include(analyzer/analyzer.pri)
+
+ include(shared/shared.pri)
++LIBS *= -lexecinfo
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in b/external/meta-qt5/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in
new file mode 100644
index 00000000..64f7c6ba
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Exec=sh -c "PATH=$PATH:@QT5_QMAKE@ qtcreator %F"
+Name=Qt Creator
+GenericName=C++ IDE for developing Qt applications
+X-KDE-StartupNotify=true
+Icon=QtProject-qtcreator
+Terminal=false
+Categories=Development;IDE;Qt;
+MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-creator_git.bb b/external/meta-qt5/recipes-qt/qt5/qt5-creator_git.bb
new file mode 100644
index 00000000..6a8887ed
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-creator_git.bb
@@ -0,0 +1,84 @@
+SUMMARY = "Qt Creator is a new cross-platform Qt IDE"
+
+# Note:
+# The toolchain auto detection does not work completely yet. To compile/debug
+# open menu 'Tools/Options and select 'Build & Run'. In tab 'Kits' select 'Desktop'
+# 'Compiler/Manage...' and add local gcc'. At 'Debugger' select
+# 'System GDB at /usr/bin/gdb.
+
+HOMEPAGE = "https://qt-project.org/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+"
+
+inherit qmake5
+
+DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native"
+DEPENDS_append_toolchain-clang = " clang llvm-common"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+SRCREV = "8768e39d3c8e74e583eca3897cc6de53a99c3dde"
+PV = "4.7.1+git${SRCPV}"
+
+# Patches from https://github.com/meta-qt5/qtcreator/commits/b4.7.1
+# 4.7.1.meta-qt5.1
+SRC_URI = " \
+ git://code.qt.io/qt-creator/qt-creator.git;branch=4.7 \
+ file://0002-botan.pro-pass-QMAKE_AR.patch \
+ file://0001-botan-Always-define-BOTAN_ARCH_SWITCH-when-cross-bui.patch \
+"
+SRC_URI_append_libc-musl = " file://0003-Link-with-libexecinfo-on-musl.patch"
+
+S = "${WORKDIR}/git"
+
+EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+do_configure_append() {
+ # Find native tools
+ sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile
+ if [ -e ${B}/share/qtcreator/translations/Makefile ]; then
+ sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}.*/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}.*/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}.*/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile
+ fi
+}
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}${prefix}
+}
+do_install_append_toolchain-clang () {
+ # Remove RPATHs embedded in bins
+ chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang*
+ chrpath --delete ${D}${libexecdir}/qtcreator/clang*
+}
+
+FILES_${PN} += " \
+ ${datadir}/qtcreator \
+ ${datadir}/metainfo \
+ ${datadir}/icons \
+ ${libdir}${QT_DIR_NAME}/qtcreator \
+"
+
+FILES_${PN}-dev += " \
+ ${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \
+"
+
+RDEPENDS_${PN} += "perl python"
+RCONFLICTS_${PN} = "qt-creator"
+
+# To give best user experience out of the box..
+RRECOMMENDS_${PN} += " \
+ packagegroup-qt5-toolchain-target \
+ binutils \
+ ccache \
+ make \
+ gcc-symlinks g++-symlinks cpp-symlinks \
+ gdb \
+"
+
+# ERROR: qt5-creator-4.5.1-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qt5-creator/4.5.1-r0/packages-split/qt5-creator/usr/lib/qt5/qtcreator/libqbscore.so.1.10.1'
+INSANE_SKIP_${PN} += "ldflags"
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-git.inc b/external/meta-qt5/recipes-qt/qt5/qt5-git.inc
new file mode 100644
index 00000000..79008d19
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-git.inc
@@ -0,0 +1,17 @@
+# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
+# Copyright (C) 2013-2018 Martin Jansa <martin.jansa@gmail.com>
+
+QT_MODULE ?= "${BPN}"
+QT_MODULE_BRANCH ?= "5.11"
+QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH}"
+
+# each module needs to define valid SRCREV
+SRC_URI = " \
+ ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \
+"
+
+CVE_PRODUCT = "qt"
+
+S = "${WORKDIR}/git"
+
+PV = "5.11.3+git${SRCPV}"
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-native.inc b/external/meta-qt5/recipes-qt/qt5/qt5-native.inc
new file mode 100644
index 00000000..76816027
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-native.inc
@@ -0,0 +1,12 @@
+inherit native qmake5_base
+
+# we don't want conflicts with qt4
+OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
+OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
+OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
+OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
+OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
+OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
+OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
+OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
+OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch b/external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch
new file mode 100644
index 00000000..283601af
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch
@@ -0,0 +1,74 @@
+From 29665ab1a97bb0ca4b74275f5526e9afe09ccc64 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 18 Dec 2018 17:38:21 +0000
+Subject: [PATCH] VirtualboxTouchScreenHandler initialize m_mouse
+
+* make sure m_mouse is initialized for cases where shutdown is called before:
+ m_mouse = EvdevMouseHandler::create(evdev_device, specification);
+ e.g. with following ioctl fails with vboxguest driver from vanila 4.19 kernel:
+ ioctl(m_fd, _IOWR('V', 10, features), &features);
+
+* fixes following crash:
+(gdb) set args -plugin evdevkeyboard -plugin vboxtouch
+(gdb) r
+Starting program: /usr/sbin/luna-next -plugin evdevkeyboard -plugin vboxtouch
+warning: File "/usr/lib/libstdc++.so.6.0.25-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
+To enable execution of this file add
+ add-auto-load-safe-path /usr/lib/libstdc++.so.6.0.25-gdb.py
+line to your configuration file "/media/internal/.gdbinit".
+To completely disable this security protection add
+ set auto-load safe-path /
+line to your configuration file "/media/internal/.gdbinit".
+For more information about this security protection see the
+"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
+ info "(gdb)Auto-loading safe path"
+[Thread debugging using libthread_db enabled]
+Using host libthread_db library "/lib/libthread_db.so.1".
+** Message: 17:05:20.472: App to allow in Low memory: org.webosports.app.phone
+** Message: 17:05:20.479: App to allow in Low memory: org.webosports.app.contacts
+** Message: 17:05:20.479: App to allow in Low memory: org.webosports.app.messaging
+
+** (process:993): WARNING **: 17:05:20.485: Settings::load(): 6 application paths defined:
+** Message: 17:05:20.487: Running on authenticamd with hardware type emulator
+pci id for fd 7: 80ee:beef, driver (null)
+BFD: error: /usr/lib/llvm6.0/.debug/libLLVM-6.0.so(.debug_info) is too large (0x2a793ad1 bytes)
+warning: Can't read data for section '.debug_info' in file '/usr/lib/llvm6.0/.debug/libLLVM-6.0.so'
+[New Thread 0xafe21b40 (LWP 997)]
+[New Thread 0xaf620b40 (LWP 998)]
+BFD: error: /usr/lib/.debug/libQt5Quick.so.5.11.3(.debug_info) is too large (0x5a05c4d bytes)
+warning: Can't read data for section '.debug_info' in file '/usr/lib/.debug/libQt5Quick.so.5.11.3'
+DEBUG: 17:05:39.393: vboxtouch: Using vbox device /dev/vboxguest
+WARNING: 17:05:39.402: vboxtouch setpointershape: ioctl error: Invalid argument
+WARNING: 17:05:39.403: vboxtouch init: ioctl error: Invalid argument
+DEBUG: 17:05:39.403: shutting down vboxtouch
+
+Thread 1 "luna-next" received signal SIGSEGV, Segmentation fault.
+0xaee18e1c in VirtualboxTouchScreenHandler::shutdown (this=0x80da570) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/vboxtouch.cpp:179
+179 delete m_mouse;
+(gdb) bt
+ #0 0xaee18e1c in VirtualboxTouchScreenHandler::shutdown (this=0x80da570) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/vboxtouch.cpp:179
+ #1 0xaee19319 in VirtualboxTouchScreenHandler::VirtualboxTouchScreenHandler (this=0x80da570, specification=..., parent=0x0) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/vboxtouch.cpp:122
+ #2 0xaee1877b in VirtualboxTouchScreenPlugin::create (this=0x80d7a30, key=..., specification=...) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/main.cpp:51
+ #3 0xb7afc6c1 in qLoadPlugin<QObject, QGenericPlugin, QString const&> (key=..., loader=<optimized out>) at ../../include/QtCore/../../../git/src/corelib/kernel/qobject.h:499
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ vboxtouch/vboxtouch.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vboxtouch/vboxtouch.cpp b/vboxtouch/vboxtouch.cpp
+index 6e0aac8..345fdcb 100644
+--- a/vboxtouch/vboxtouch.cpp
++++ b/vboxtouch/vboxtouch.cpp
+@@ -82,7 +82,7 @@ const static vbox_mouse_status_request blank_mouse_status_request = {
+ #define VBOXMOUSE_IS_ABSOLUTE 2
+
+ VirtualboxTouchScreenHandler::VirtualboxTouchScreenHandler(const QString &specification, QObject *parent)
+- : QObject(parent), m_fd(-1), m_notifier(0), m_device(0), m_failures(0),
++ : QObject(parent), m_fd(-1), m_notifier(0), m_device(0), m_failures(0), m_mouse(0),
+ m_button(false), m_x(0), m_y(0)
+ {
+ setObjectName("Virtualbox Touch Handler");
+--
+2.17.1
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb b/external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb
new file mode 100644
index 00000000..1f29dcfe
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "This driver extends Qt's platform support (QPA) for Virtualbox guests. \
+It uses the integrated pointer feature to create a smooth conversion from \
+the host pointer to touchscreen events in the guest, without grabbing the \
+host pointer."
+SUMMARY = "Touchscreen driver for integrated mouse pointer in VirtualBox"
+LICENSE = "LGPL-2.1 & GPL-3.0"
+LIC_FILES_CHKSUM = " \
+ file://vboxtouch.cpp;beginline=1;endline=22;md5=ca51db8f7c0606c77f702dcee4cf31d9 \
+ file://evdevmousehandler.cpp;beginline=1;endline=40;md5=9081062f6e7f74b6e62ad7ecee4a71be \
+"
+
+PV = "1.1.4+gitr${SRCPV}"
+
+DEPENDS = "qtbase"
+
+# Needed with gcc-5.2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801
+CXXFLAGS += "-Wno-narrowing"
+
+SRC_URI = "git://github.com/nemomobile/qt5-plugin-generic-vboxtouch.git"
+SRCREV = "3f2bdb5a1d346f02d5ab185522271ba2288a42bb"
+S = "${WORKDIR}/git/vboxtouch"
+
+inherit qmake5
+
+FILES_${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so"
+FILES_${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*"
+
+SRC_URI += "file://0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch;patchdir=.."
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5-ptest.inc b/external/meta-qt5/recipes-qt/qt5/qt5-ptest.inc
new file mode 100644
index 00000000..56efe106
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5-ptest.inc
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS_append := ":${THISDIR}/ptest"
+SRC_URI += "file://run-ptest"
+
+inherit ptest
+
+do_compile_ptest() {
+ mkdir -p ${B}/tests
+ cd ${B}/tests
+ ${OE_QMAKE_QMAKE} -o Makefile ${S}/tests/tests.pro
+ oe_runmake
+}
+
+fakeroot do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}
+ t=${D}${PTEST_PATH}
+ for var in ` find ${B}/tests/auto/ -name tst_*`; do
+ if [ -z ` echo ${var##*/} | grep '\.'` ]; then
+ echo ${var##*/} >> ${t}/tst_list
+ install -m 0644 ${var} ${t}
+ fi
+ done
+}
diff --git a/external/meta-qt5/recipes-qt/qt5/qt5.inc b/external/meta-qt5/recipes-qt/qt5/qt5.inc
new file mode 100644
index 00000000..e0cd8949
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qt5.inc
@@ -0,0 +1,161 @@
+# Copyright (C) 2012, 2014 O.S. Systems Software LTDA.
+# Copyright (C) 2013-2018 Martin Jansa <martin.jansa@gmail.com>
+
+inherit qmake5
+
+PACKAGECONFIG_OPENSSL ?= "openssl"
+
+PACKAGECONFIG[examples] = ""
+PACKAGECONFIG[tests] = ""
+PACKAGECONFIG[qtquickcompiler] = ",,qtdeclarative-native"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', '', d)}"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', '', d)}"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtquickcompiler', 'CONFIG+=qtquickcompiler', '', d)}"
+
+# we don't want conflicts with qt4
+OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
+OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
+OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
+OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
+OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
+OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
+OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
+OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
+OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
+
+OE_QMAKE_RECURSIVE = ""
+
+# If Qt5 (qtbase) is machine specific, then everything will be,
+# because the (initial) qtbase configuration becomes part of Qt5/qmake
+python __anonymous() {
+ barch = d.getVar("BUILD_ARCH", True) or ''
+ tarch = d.getVar("TARGET_ARCH", True) or ''
+ # do not do anything if we are building a native package
+ if barch != tarch:
+ tarch = d.getVar("QT_PACKAGES_ARCH", True) or ''
+ if tarch:
+ d.setVar("PACKAGE_ARCH", tarch)
+}
+
+# if building static Qt5, add qtdeclarative-native dependency to all recipes
+# that depend on qtdeclarative as it's required for qmlimportscannertool
+python __anonymous() {
+ if bb.utils.contains('DISTRO_FEATURES', "qt5-static", True, False, d):
+ if bb.utils.contains('DEPENDS', "qtdeclarative", True, False, d):
+ d.appendVar("DEPENDS", " qtdeclarative-native")
+}
+
+# Many examples come with libraries installed outside of standard libdir,
+# suppress QA check complaining
+INSANE_SKIP_${PN}-dbg += "libdir"
+INSANE_SKIP_${PN}-examples += "libdir staticdev dev-so"
+
+PACKAGES =. "${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples "
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-plugins = "1"
+ALLOW_EMPTY_${PN}-qmlplugins = "1"
+
+RRECOMMENDS_${PN} = " \
+ ${PN}-plugins \
+ ${PN}-qmlplugins \
+ "
+RRECOMMENDS_${PN}_class-native = ""
+
+RRECOMMENDS_${PN}-dev = " \
+ ${PN} \
+ ${PN}-mkspecs \
+ ${PN}-qmldesigner \
+ "
+
+# extra packages
+FILES_${PN}-qmldesigner += " \
+ ${OE_QMAKE_PATH_QML}/*/designer \
+ ${OE_QMAKE_PATH_QML}/*/*/designer \
+ ${OE_QMAKE_PATH_QML}/*/*/*/designer \
+"
+
+# qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*.qmlc,*.js,*.jsc}
+FILES_${PN}-qmlplugins = " \
+ ${OE_QMAKE_PATH_QML}/*.qmltypes \
+ ${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_QML}/*/qmldir \
+ ${OE_QMAKE_PATH_QML}/*/*.qmltypes \
+ ${OE_QMAKE_PATH_QML}/*/*.qml \
+ ${OE_QMAKE_PATH_QML}/*/*.qmlc \
+ ${OE_QMAKE_PATH_QML}/*/*.js \
+ ${OE_QMAKE_PATH_QML}/*/*.jsc \
+ ${OE_QMAKE_PATH_QML}/*/*.png \
+ ${OE_QMAKE_PATH_QML}/*/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_QML}/*/*/qmldir \
+ ${OE_QMAKE_PATH_QML}/*/*/*.qmltypes \
+ ${OE_QMAKE_PATH_QML}/*/*/*.qml \
+ ${OE_QMAKE_PATH_QML}/*/*/*.qmlc \
+ ${OE_QMAKE_PATH_QML}/*/*/*.js \
+ ${OE_QMAKE_PATH_QML}/*/*/*.jsc \
+ ${OE_QMAKE_PATH_QML}/*/*/*.png \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_QML}/*/*/*/qmldir \
+ ${OE_QMAKE_PATH_QML}/*/*/*/images \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.qmltypes \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.qml \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.qmlc \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.js \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.jsc \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.png \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.metainfo \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/qmldir \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmltypes \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qml \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmlc \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.js \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.jsc \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \
+"
+
+FILES_${PN}-tools = " \
+ ${OE_QMAKE_PATH_BINS}/* \
+"
+FILES_${PN}-plugins = " \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*/*${SOLIBSDEV} \
+"
+FILES_${PN}-mkspecs = "\
+ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
+"
+
+# modifications to normal packages
+FILES_${PN} += " \
+ ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBS} \
+ ${OE_QMAKE_PATH_LIBEXECS} \
+"
+FILES_${PN}-dev += " \
+ ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_LIBS}/pkgconfig \
+ ${OE_QMAKE_PATH_LIBS}/cmake/* \
+ ${OE_QMAKE_PATH_LIBS}/*.prl \
+ ${OE_QMAKE_PATH_LIBS}/*.la \
+ ${OE_QMAKE_PATH_HEADERS}/* \
+"
+FILES_${PN}-staticdev += " \
+ ${OE_QMAKE_PATH_LIBS}/*.a \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*.a \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*.prl \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*.a \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*.prl \
+ ${OE_QMAKE_PATH_QML}/*/*.a \
+ ${OE_QMAKE_PATH_QML}/*/*.prl \
+ ${OE_QMAKE_PATH_QML}/*/*/*.a \
+ ${OE_QMAKE_PATH_QML}/*/*/*.prl \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.a \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*.prl \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.a \
+ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.prl \
+"
+FILES_${PN}-examples = " \
+ ${OE_QMAKE_PATH_EXAMPLES} \
+"
+
+PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase-native_git.bb b/external/meta-qt5/recipes-qt/qt5/qtbase-native_git.bb
new file mode 100644
index 00000000..cc537b5b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase-native_git.bb
@@ -0,0 +1,145 @@
+DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
+DEPENDS = "zlib-native dbus-native"
+SECTION = "libs"
+HOMEPAGE = "http://qt-project.org"
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \
+"
+
+require qt5-native.inc
+require qt5-git.inc
+
+# common for qtbase-native, qtbase-nativesdk and qtbase
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.11-shared
+# 5.11.meta-qt5-shared.14
+SRC_URI += "\
+ file://0001-Add-linux-oe-g-platform.patch \
+ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
+ file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
+ file://0004-configure-bump-path-length-from-256-to-512-character.patch \
+ file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \
+ file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \
+ file://0007-Delete-qlonglong-and-qulonglong.patch \
+ file://0008-Replace-pthread_yield-with-sched_yield.patch \
+ file://0009-Add-OE-specific-specs-for-clang-compiler.patch \
+ file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \
+ file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \
+ file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
+ file://0013-Upgrade-double-conversion-to-v3.0.0.patch \
+ file://0014-double-conversion-support-AARCH64EB-and-arm-BE.patch \
+ file://0015-Disable-ltcg-for-host_build.patch \
+ file://0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
+ file://0017-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0019-Fix-compile-issue-with-gcc-9.patch \
+"
+
+# common for qtbase-native and nativesdk-qtbase
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.11-native
+# 5.11.meta-qt5-native.14
+SRC_URI += " \
+ file://0020-Always-build-uic-and-qvkgen.patch \
+ file://0021-Avoid-renameeat2-for-native-sdk-builds.patch \
+"
+
+# only for qtbase-native
+SRC_URI += " \
+ file://0022-Bootstrap-without-linkat-feature.patch \
+"
+
+CLEANBROKEN = "1"
+
+XPLATFORM_toolchain-clang = "linux-oe-clang"
+XPLATFORM ?= "linux-oe-g++"
+
+PACKAGECONFIG_CONFARGS = " \
+ -sysroot ${STAGING_DIR_NATIVE} \
+ -no-gcc-sysroot \
+ -system-zlib \
+ -qt-pcre \
+ -no-libjpeg \
+ -no-libpng \
+ -no-gif \
+ -no-accessibility \
+ -no-cups \
+ -no-gui \
+ -no-sql-mysql \
+ -no-sql-sqlite \
+ -no-sql-psql \
+ -no-opengl \
+ -no-openssl \
+ -no-xcb \
+ -no-icu \
+ -verbose \
+ -release \
+ -prefix ${OE_QMAKE_PATH_PREFIX} \
+ -hostprefix ${OE_QMAKE_PATH_PREFIX} \
+ -bindir ${OE_QMAKE_PATH_BINS} \
+ -hostbindir ${OE_QMAKE_PATH_BINS} \
+ -libdir ${OE_QMAKE_PATH_LIBS} \
+ -hostlibdir ${OE_QMAKE_PATH_LIBS} \
+ -headerdir ${OE_QMAKE_PATH_HEADERS} \
+ -archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
+ -datadir ${OE_QMAKE_PATH_DATA} \
+ -hostdatadir ${QMAKE_MKSPEC_PATH_NATIVE} \
+ -docdir ${OE_QMAKE_PATH_DOCS} \
+ -sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
+ -no-glib \
+ -no-iconv \
+ -silent \
+ -nomake examples \
+ -nomake tests \
+ -no-rpath \
+ -no-feature-linkat \
+ -platform ${XPLATFORM} \
+"
+
+# for qtbase configuration we need default settings
+# since we cannot set empty set filename to a not existent file
+deltask generate_qt_config_file
+
+do_configure_prepend() {
+ # Regenerate header files when they are included in source tarball
+ # Otherwise cmake files don't set PRIVATE_HEADERS correctly
+ rm -rf ${S}/include
+ mkdir -p ${S}/.git || true
+
+ # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory"
+ touch ${S}/mkspecs/oe-device-extra.pri
+
+ MAKEFLAGS="${PARALLEL_MAKE}" ${S}/configure -${QT_EDITION} -confirm-license ${PACKAGECONFIG_CONFARGS} || die "Configuring qt failed. PACKAGECONFIG_CONFARGS was ${PACKAGECONFIG_CONFARGS}"
+}
+
+do_install() {
+ # Fix install paths for all
+ find . -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
+
+ oe_runmake install INSTALL_ROOT=${D}
+
+ if [ -d ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE} ] ; then
+ echo "Some files are installed in wrong directory ${D}${STAGING_DIR_NATIVE}"
+ cp -ra ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}/* ${D}${STAGING_DIR_NATIVE}
+ rm -rf ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}
+ # remove empty dirs
+ TMP=`dirname ${D}/${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}`
+ while test ${TMP} != ${D}${STAGING_DIR_NATIVE}; do
+ rmdir ${TMP}
+ TMP=`dirname ${TMP}`;
+ done
+ fi
+
+ install -m 755 ${B}/bin/qfloat16-tables ${D}${OE_QMAKE_PATH_BINS}
+
+ # since 5.9.2 something sets a very strange path to mkspec ("${_qt5Core_install_prefix}/../../../../../../../../../../usr/lib/qt5//mkspecs/linux-oe-g++")
+ # override this until somebody finds a better way
+ echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
+}
+
+SRCREV = "08de243eaa007597c2bfbc97d3d14e2f821ac4be"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
new file mode 100644
index 00000000..7195da8f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
@@ -0,0 +1,156 @@
+From ff46b3e91a384888b299a5444adc0e9abc110d3b Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 15 Apr 2013 04:29:32 +0200
+Subject: [PATCH] Add linux-oe-g++ platform
+
+* This qmake.conf unlike other platforms reads most variables from
+ shell environment, because it's easier for qt recipes to export
+ *FLAGS or CC specific for given recipe
+
+* configure: extend setBootstrapVariable to convert $$(...) operator
+ to $(...) operator to work in qmake's Makefiles
+
+* configure.prf: Allow to add extra arguments to make
+ sometimes we would like to add -e or define some variable and respect it from both
+ Makefiles used in configure tests and also Makefiles to build the application
+
+Upstream-Status: Inappropriate [embedded specific]
+ too OE specific, probably cannot be upstreamed
+
+Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure | 2 +-
+ mkspecs/features/configure.prf | 4 +--
+ mkspecs/features/qt.prf | 6 ++---
+ mkspecs/features/qt_functions.prf | 2 +-
+ mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++++++++++++++++
+ mkspecs/linux-oe-g++/qplatformdefs.h | 1 +
+ 6 files changed, 48 insertions(+), 7 deletions(-)
+ create mode 100644 mkspecs/linux-oe-g++/qmake.conf
+ create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
+
+diff --git a/configure b/configure
+index 2830a1b189..6445dc2d5a 100755
+--- a/configure
++++ b/configure
+@@ -712,7 +712,7 @@ fi
+ # is where the resulting variable is written to
+ setBootstrapVariable()
+ {
+- getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
++ getQMakeConf "$1" | sed 's:\$\$(:\$(:' | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
+ }
+
+ # build qmake
+diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
+index 934a18a924..0f5b1b6333 100644
+--- a/mkspecs/features/configure.prf
++++ b/mkspecs/features/configure.prf
+@@ -46,14 +46,14 @@ defineTest(qtCompileTest) {
+ }
+
+ # Clean up after previous run
+- exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean")
++ exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean")
+
+ mkpath($$test_out_dir)|error()
+
+ !isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF
+
+ qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) $$qtconfarg -spec $$QMAKESPEC $$qmake_configs $$shell_quote($$test_dir)") {
+- qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") {
++ qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") {
+ log("yes$$escape_expand(\\n)")
+ msg = "test $$1 succeeded"
+ write_file($$QMAKE_CONFIG_LOG, msg, append)
+diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
+index b57afcf72d..afa1c39b3e 100644
+--- a/mkspecs/features/qt.prf
++++ b/mkspecs/features/qt.prf
+@@ -147,7 +147,7 @@ import_plugins:qtConfig(static) {
+ !isEmpty(plug_type) {
+ plug_path = $$eval(QT_PLUGIN.$${plug}.PATH)
+ isEmpty(plug_path): \
+- plug_path = $$[QT_INSTALL_PLUGINS/get]
++ plug_path = $$[QT_INSTALL_PLUGINS]
+ LIBS += -L$$plug_path/$$plug_type
+ }
+ LIBS += -l$${plug}$$qtPlatformTargetSuffix()
+@@ -298,8 +298,8 @@ for(ever) {
+ # static builds: link qml import plugins into the target.
+ contains(all_qt_module_deps, qml): \
+ qtConfig(static):import_plugins:!host_build:!no_import_scan {
+- exists($$[QT_INSTALL_QML/get]): \
+- QMLPATHS *= $$[QT_INSTALL_QML/get]
++ exists($$[QT_INSTALL_QML]): \
++ QMLPATHS *= $$[QT_INSTALL_QML]
+
+ # run qmlimportscanner
+ qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system)
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index 1903e509c8..c093dd4592 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -69,7 +69,7 @@ defineTest(qtHaveModule) {
+ defineTest(qtPrepareTool) {
+ cmd = $$eval(QT_TOOL.$${2}.binary)
+ isEmpty(cmd) {
+- cmd = $$[QT_HOST_BINS]/$$2
++ cmd = $$[QT_HOST_BINS/get]/$$2
+ exists($${cmd}.pl) {
+ $${1}_EXE = $${cmd}.pl
+ cmd = perl -w $$system_path($${cmd}.pl)
+diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
+new file mode 100644
+index 0000000000..f34a66599a
+--- /dev/null
++++ b/mkspecs/linux-oe-g++/qmake.conf
+@@ -0,0 +1,40 @@
++#
++# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
++#
++
++MAKEFILE_GENERATOR = UNIX
++CONFIG += incremental
++QMAKE_INCREMENTAL_STYLE = sublib
++
++include(../common/linux.conf)
++
++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
++QMAKE_AR = $$(OE_QMAKE_AR) cqs
++QMAKE_STRIP = $$(OE_QMAKE_STRIP)
++
++include(../common/gcc-base-unix.conf)
++
++# *FLAGS from gcc-base.conf
++QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS)
++QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS)
++QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS)
++
++include(../common/g++-unix.conf)
++
++# tc settings from g++-base.conf
++QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) gcc
++QMAKE_CC = $$(OE_QMAKE_CC)
++QMAKE_CXX = $$(OE_QMAKE_CXX)
++
++QMAKE_LINK = $$(OE_QMAKE_LINK)
++QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK)
++QMAKE_LINK_C = $$(OE_QMAKE_LINK)
++QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
++QMAKE_CFLAGS_ISYSTEM =
++# for the SDK
++isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
++
++include(../oe-device-extra.pri)
++
++load(device_config)
++load(qt_config)
+diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
+new file mode 100644
+index 0000000000..5d22fb4101
+--- /dev/null
++++ b/mkspecs/linux-oe-g++/qplatformdefs.h
+@@ -0,0 +1 @@
++#include "../linux-g++/qplatformdefs.h"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
new file mode 100644
index 00000000..9766d50b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
@@ -0,0 +1,86 @@
+From 2592ce6190596219428eb5e500c3a5f5a14dad01 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 6 Apr 2013 13:15:07 +0200
+Subject: [PATCH] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS
+
+... to determine path to host binaries
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Simon Busch <morphis@gravedo.de>
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+
+Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2
+---
+ src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++---
+ src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++--
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
+index e0652fdcf9..215f4357f8 100644
+--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_Core_check_file_exists(${imported_location})
+
+@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_Core_check_file_exists(${imported_location})
+
+@@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_Core_check_file_exists(${imported_location})
+
+diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
+index 1d947159e2..301af8f1b2 100644
+--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_DBus_check_file_exists(${imported_location})
+
+@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_DBus_check_file_exists(${imported_location})
+
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index 99d87e2e46..5621dc0fae 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_Widgets_check_file_exists(${imported_location})
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
new file mode 100644
index 00000000..614bdec3
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
@@ -0,0 +1,37 @@
+From 0ce64385c882e1f7788620ba37781d89625437cb Mon Sep 17 00:00:00 2001
+From: Holger Freyther <zecke@selfish.org>
+Date: Wed, 26 Sep 2012 17:22:30 +0200
+Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the
+ environment
+
+Allow to set a qt.conf from the outside using the environment. This allows
+to inject new prefixes and other paths into qmake. This is needed when using
+the same qmake binary to build qt/x11 and qt/embedded
+
+Upstream-Status: Inappropriate [embedded specific]
+ again very OE specific to read everything from environment (reusing the same
+ qmake from sstate and replacing all configured paths in it with qt.conf from
+ environment).
+
+Change-Id: I41595c6ce7514e8f197d0a19a1308c9460037d1b
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/corelib/global/qlibraryinfo.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
+index e727f00c8e..819dbb8aa3 100644
+--- a/src/corelib/global/qlibraryinfo.cpp
++++ b/src/corelib/global/qlibraryinfo.cpp
+@@ -172,7 +172,10 @@ void QLibrarySettings::load()
+ QSettings *QLibraryInfoPrivate::findConfiguration()
+ {
+ #ifdef QT_BUILD_QMAKE
+- QString qtconfig = qmake_libraryInfoFile();
++ QByteArray config = getenv("OE_QMAKE_QTCONF_PATH");
++ QString qtconfig = QFile::decodeName(config);
++ if(qtconfig.isEmpty() || !QFile::exists(qtconfig))
++ qtconfig = qmake_libraryInfoFile();
+ if (QFile::exists(qtconfig))
+ return new QSettings(qtconfig, QSettings::IniFormat);
+ #else
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch
new file mode 100644
index 00000000..d97bc569
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch
@@ -0,0 +1,34 @@
+From 9858c07dd25d523f8e02b348c21e57c95077e108 Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@ti.com>
+Date: Tue, 25 Aug 2015 10:05:15 -0400
+Subject: [PATCH] configure: bump path length from 256 to 512 characters
+
+Increase the path length that gets hardcoded into generated config.cpp file
+from 256 to 512 characters, as nativesdk path can be quite long.
+
+Also update length of EXT_PREFIX and HOST_PREFIX now.
+
+Change-Id: If98dd57160efe9c98c36148cdf872f50b3d38118
+Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+---
+ configure.pri | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.pri b/configure.pri
+index 6e7f6b76a4..35d15685ee 100644
+--- a/configure.pri
++++ b/configure.pri
+@@ -821,10 +821,10 @@ defineTest(qtConfOutput_preparePaths) {
+ "static const char qt_configure_installation [12+11] = \"qt_instdate=2012-12-20\";" \
+ "" \
+ "/* Installation Info */" \
+- "static const char qt_configure_prefix_path_str [12+256] = \"qt_prfxpath=$$config.input.prefix\";" \
++ "static const char qt_configure_prefix_path_str [12+512] = \"qt_prfxpath=$$config.input.prefix\";" \
+ "$${LITERAL_HASH}ifdef QT_BUILD_QMAKE" \
+- "static const char qt_configure_ext_prefix_path_str [12+256] = \"qt_epfxpath=$$config.input.extprefix\";" \
+- "static const char qt_configure_host_prefix_path_str [12+256] = \"qt_hpfxpath=$$config.input.hostprefix\";" \
++ "static const char qt_configure_ext_prefix_path_str [12+512] = \"qt_epfxpath=$$config.input.extprefix\";" \
++ "static const char qt_configure_host_prefix_path_str [12+512] = \"qt_hpfxpath=$$config.input.hostprefix\";" \
+ "$${LITERAL_HASH}endif" \
+ "" \
+ "static const short qt_configure_str_offsets[] = {" \
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch
new file mode 100644
index 00000000..6e5aa3e1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch
@@ -0,0 +1,25 @@
+From 374bf57efe5f936ab61811f7c433c870cdae77ab Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Mon, 24 Oct 2016 09:45:18 +0300
+Subject: [PATCH] Disable all unknown features instead of erroring out
+
+Task-number: QTBUG-56656
+Change-Id: Ib884fe33cac74439f9592b145937f6b75ced8447
+---
+ mkspecs/features/qt_configure.prf | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
+index 4039bba431..153edbfa30 100644
+--- a/mkspecs/features/qt_configure.prf
++++ b/mkspecs/features/qt_configure.prf
+@@ -1266,7 +1266,8 @@ defineReplace(qtConfEvaluateSingleExpression) {
+ error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.")
+ return($$result)
+ }
+- error("Unknown feature object $${feature} in expression '$${1}'.")
++ warning("Unknown feature object $${feature} in expression '$${1}'.")
++ result = false
+ }
+ !qtConfCheckFeature($$feature): \
+ error("Expression '$$1' is accessing non-emitted feature $${feature}.")
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch
new file mode 100644
index 00000000..b8689813
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch
@@ -0,0 +1,63 @@
+From 29270c9427ad9e024ecffb94f5431c08f755925d Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Wed, 11 May 2016 15:20:41 +0200
+Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS
+ isn't set
+
+This prevents errors like:
+
+| The imported target "Qt5::Core" references the file
+|
+| "/qmake"
+|
+| but this file does not exist. Possible reasons include:
+
+Which happen if CMake is used without setting OE_QMAKE_PATH_EXTERNAL_HOST_BINS.
+To achieve this a check for OE_QMAKE_PATH_EXTERNAL_HOST_BINS is added to each Qt5*Config.cmake
+file. And in the case where the variable is not set we just return which is basically
+equal to telling CMake that Qt5 wasn't found.
+
+Upstream-Status: Pending
+ The patch only makes sense in connection with other patches included here.
+ Specifically this are:
+ - 0003-Add-external-hostbindir-option.patch
+ - 0010-Add-external-hostbindir-option-for-native-sdk.patch
+
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+---
+ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 5 +++++
+ src/corelib/Qt5Config.cmake.in | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index 27f4c277d6..01f68a569d 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
+ endif()
+
++if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS)
++ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined")
++ return()
++endif()
++
+ !!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+ !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in
+index 6b6544f932..d317912632 100644
+--- a/src/corelib/Qt5Config.cmake.in
++++ b/src/corelib/Qt5Config.cmake.in
+@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR \"Qt5 requires at least CMake version 3.1.0\")
+ endif()
+
++if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS)
++ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined")
++ return()
++endif()
++
+ if (NOT Qt5_FIND_COMPONENTS)
+ set(Qt5_NOT_FOUND_MESSAGE \"The Qt5 package requires at least one component\")
+ set(Qt5_FOUND False)
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch
new file mode 100644
index 00000000..2b0c8c9d
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch
@@ -0,0 +1,25 @@
+From c374524c31fbf11f8f2cd8d1036633f5c7507619 Mon Sep 17 00:00:00 2001
+From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+Date: Wed, 7 Jun 2017 21:00:49 +0900
+Subject: [PATCH] Delete qlonglong and qulonglong
+
+Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
+---
+ tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro b/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro
+index 09458bd9c3..59a120eb26 100644
+--- a/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro
++++ b/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro
+@@ -5,10 +5,8 @@ SUBDIRS=\
+ char32_t \
+ int \
+ long \
+- qlonglong \
+ qptrdiff \
+ quintptr \
+- qulonglong \
+ schar \
+ short \
+ uchar \
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch
new file mode 100644
index 00000000..b5cf78ec
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch
@@ -0,0 +1,60 @@
+From 40b0cf799c4af4ae92eebab64e91015d67e428c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 27 Jul 2017 08:02:51 -0700
+Subject: [PATCH] Replace pthread_yield with sched_yield
+
+On Linux pthead_yield is same as sched_yield implementation wise
+and sched_yield is available on all libc
+implementations on Linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 4 ++--
+ tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp | 5 +++--
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+index e312199980..5789174ad5 100644
+--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
++++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+@@ -34,7 +34,7 @@
+ #include "tst_qvariant_common.h"
+
+ #ifdef Q_OS_LINUX
+-# include <pthread.h>
++# include <sched.h>
+ #endif
+
+ #include <algorithm>
+@@ -205,7 +205,7 @@ protected:
+ const char *nm = name.constData();
+ int tp = qRegisterMetaType<Bar>(nm);
+ #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
+- pthread_yield();
++ sched_yield();
+ #endif
+ QMetaType info(tp);
+ if (!info.isValid()) {
+diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
+index 263a475435..11994b3c4f 100644
+--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
++++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
+@@ -78,6 +78,7 @@
+ #include <stdlib.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
++#include <sched.h>
+ #endif
+
+ #include "private/qhostinfo_p.h"
+@@ -2132,8 +2133,8 @@ public slots:
+
+ #if defined(Q_OS_MAC)
+ pthread_yield_np();
+-#elif defined Q_OS_LINUX && !defined Q_OS_ANDROID
+- pthread_yield();
++#elif defined Q_OS_LINUX
++ sched_yield();
+ #endif
+ if (!sock->waitForConnected()) {
+ networkTimeout = true;
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch
new file mode 100644
index 00000000..144c9182
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch
@@ -0,0 +1,68 @@
+From d8c3ea974639c70d9a158d4e01c3f782133a46f8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 3 Sep 2017 09:11:44 -0700
+Subject: [PATCH] Add OE specific specs for clang compiler
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mkspecs/linux-oe-clang/qmake.conf | 42 ++++++++++++++++++++++++++
+ mkspecs/linux-oe-clang/qplatformdefs.h | 1 +
+ 2 files changed, 43 insertions(+)
+ create mode 100644 mkspecs/linux-oe-clang/qmake.conf
+ create mode 100644 mkspecs/linux-oe-clang/qplatformdefs.h
+
+diff --git a/mkspecs/linux-oe-clang/qmake.conf b/mkspecs/linux-oe-clang/qmake.conf
+new file mode 100644
+index 0000000000..443d4b0dff
+--- /dev/null
++++ b/mkspecs/linux-oe-clang/qmake.conf
+@@ -0,0 +1,42 @@
++#
++# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
++#
++
++MAKEFILE_GENERATOR = UNIX
++CONFIG += incremental
++QMAKE_INCREMENTAL_STYLE = sublib
++
++include(../common/linux.conf)
++
++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
++QMAKE_AR = $$(OE_QMAKE_AR) cqs
++QMAKE_STRIP = $$(OE_QMAKE_STRIP)
++
++include(../common/gcc-base-unix.conf)
++
++# *FLAGS from gcc-base.conf
++QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS)
++QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS)
++QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS)
++
++include(../common/clang.conf)
++
++# tc settings from g++-base.conf
++QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) clang
++QMAKE_CC = $$(OE_QMAKE_CC)
++QMAKE_CXX = $$(OE_QMAKE_CXX)
++
++QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$(OE_QMAKE_CFLAGS)
++
++QMAKE_LINK = $$(OE_QMAKE_LINK)
++QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK)
++QMAKE_LINK_C = $$(OE_QMAKE_LINK)
++QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
++QMAKE_CFLAGS_ISYSTEM =
++# for the SDK
++isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
++
++include(../oe-device-extra.pri)
++
++load(device_config)
++load(qt_config)
+diff --git a/mkspecs/linux-oe-clang/qplatformdefs.h b/mkspecs/linux-oe-clang/qplatformdefs.h
+new file mode 100644
+index 0000000000..880c927b21
+--- /dev/null
++++ b/mkspecs/linux-oe-clang/qplatformdefs.h
+@@ -0,0 +1 @@
++#include "../linux-clang/qplatformdefs.h"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch
new file mode 100644
index 00000000..5dce2003
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch
@@ -0,0 +1,32 @@
+From 0ada7d8bec024960b2e10c9ac36f312bb0f5338c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 3 Sep 2017 09:44:48 -0700
+Subject: [PATCH] linux-clang: Invert conditional for defining QT_SOCKLEN_T
+
+This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
+only when its glibc < 2 and not for other libcswhich may define
+it as per standards but are not glibc, e.g. musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mkspecs/linux-clang/qplatformdefs.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mkspecs/linux-clang/qplatformdefs.h b/mkspecs/linux-clang/qplatformdefs.h
+index a818d973f0..959a508d3a 100644
+--- a/mkspecs/linux-clang/qplatformdefs.h
++++ b/mkspecs/linux-clang/qplatformdefs.h
+@@ -81,10 +81,10 @@
+
+ #undef QT_SOCKLEN_T
+
+-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+-#define QT_SOCKLEN_T socklen_t
+-#else
++#if defined(__GLIBC__) && (__GLIBC__ < 2)
+ #define QT_SOCKLEN_T int
++#else
++#define QT_SOCKLEN_T socklen_t
+ #endif
+
+ #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch
new file mode 100644
index 00000000..935c746a
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch
@@ -0,0 +1,25 @@
+From 0c80cc78c3ca53134a1c66824f749676fa966246 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 3 Sep 2017 10:11:50 -0700
+Subject: [PATCH] tst_qlocale: Enable QT_USE_FENV only on glibc
+
+musl does not have feenableexcept function
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/auto/corelib/tools/qlocale/tst_qlocale.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+index b7cb8a1bdc..f6e6545948 100644
+--- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
++++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+@@ -46,7 +46,7 @@
+ #include <private/qlocale_tools_p.h>
+ #include <qnumeric.h>
+
+-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
++#if defined(Q_OS_LINUX) && defined(__GLIBC__)
+ # define QT_USE_FENV
+ #endif
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch
new file mode 100644
index 00000000..e894f34c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch
@@ -0,0 +1,49 @@
+From 2856cb239b64b7d0330bb016e080ed294f9bad3e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 14 Feb 2018 17:08:43 -0800
+Subject: [PATCH] mkspecs/common/gcc-base.conf: Use -I instead of -isystem
+
+-isystem fails to build when code uses include_next on certain files e.g.
+
+qtbase/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
+ #include_next <stdlib.h>
+ ^~~~~~~~~~
+compilation terminated.
+make[2]: *** [Makefile:11592: .obj/qgenericpluginfactory.o] Error 1
+
+Upstream-Status: Pending
+
+Change-Id: Ia47832a6339a6ee59c0a6301fc5e552cd28b1029
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ mkspecs/common/clang.conf | 2 +-
+ mkspecs/common/gcc-base.conf | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
+index 0fb84bc1b3..68b49b5303 100644
+--- a/mkspecs/common/clang.conf
++++ b/mkspecs/common/clang.conf
+@@ -16,7 +16,7 @@ QMAKE_LINK_SHLIB = $$QMAKE_CXX
+ CONFIG += clang_pch_style
+ QMAKE_PCH_OUTPUT_EXT = .pch
+
+-QMAKE_CFLAGS_ISYSTEM = -isystem
++QMAKE_CFLAGS_ISYSTEM =
+ QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+ QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
+ QMAKE_CFLAGS_LTCG = -flto
+diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
+index 234f71d495..c7d81a902e 100644
+--- a/mkspecs/common/gcc-base.conf
++++ b/mkspecs/common/gcc-base.conf
+@@ -46,7 +46,7 @@ QMAKE_CFLAGS_DEBUG += -g
+ QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC
+ QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC
+ QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC
+-QMAKE_CFLAGS_ISYSTEM = -isystem
++QMAKE_CFLAGS_ISYSTEM =
+ QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+ QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0013-Upgrade-double-conversion-to-v3.0.0.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0013-Upgrade-double-conversion-to-v3.0.0.patch
new file mode 100644
index 00000000..138d1f7f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0013-Upgrade-double-conversion-to-v3.0.0.patch
@@ -0,0 +1,344 @@
+From f20acf6fa22235fdaa551b0410d65627e028f4b4 Mon Sep 17 00:00:00 2001
+From: Ulf Hermann <ulf.hermann@qt.io>
+Date: Fri, 27 Apr 2018 10:38:18 +0200
+Subject: [PATCH] Upgrade double-conversion to v3.0.0
+
+This fixes their issue #41, a potential undefined behavior.
+
+We preserve the locally added "__ghs" clause as well as the _M_ARM_FP
+clause necessary for winrt in utils.h.
+
+[ChangeLog][Third-Party Code] double-conversion got updated to upstream
+version 3.0.0.
+
+Task-number: QTBUG-66561
+Change-Id: Id79125bdeeaebb61dca2e2885d3370accce9030c
+Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
+Upstream-Status: Backport
+---
+ src/3rdparty/double-conversion/bignum.cc | 2 +-
+ src/3rdparty/double-conversion/bignum.h | 1 -
+ .../double-conversion/cached-powers.cc | 5 +--
+ src/3rdparty/double-conversion/diy-fp.h | 22 +++++------
+ .../double-conversion/double-conversion.cc | 21 ++++++----
+ src/3rdparty/double-conversion/fixed-dtoa.cc | 5 ++-
+ src/3rdparty/double-conversion/ieee.h | 2 +-
+ .../include/double-conversion/utils.h | 38 +++++++++++++------
+ .../double-conversion/qt_attribution.json | 4 +-
+ src/3rdparty/double-conversion/strtod.cc | 2 +-
+ 10 files changed, 60 insertions(+), 42 deletions(-)
+
+diff --git a/src/3rdparty/double-conversion/bignum.cc b/src/3rdparty/double-conversion/bignum.cc
+index 2743d67e8d..8892de8f2a 100644
+--- a/src/3rdparty/double-conversion/bignum.cc
++++ b/src/3rdparty/double-conversion/bignum.cc
+@@ -104,7 +104,7 @@ void Bignum::AssignDecimalString(Vector<const char> value) {
+ const int kMaxUint64DecimalDigits = 19;
+ Zero();
+ int length = value.length();
+- int pos = 0;
++ unsigned int pos = 0;
+ // Let's just say that each digit needs 4 bits.
+ while (length >= kMaxUint64DecimalDigits) {
+ uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
+diff --git a/src/3rdparty/double-conversion/bignum.h b/src/3rdparty/double-conversion/bignum.h
+index 5ec3544f57..c385f2237b 100644
+--- a/src/3rdparty/double-conversion/bignum.h
++++ b/src/3rdparty/double-conversion/bignum.h
+@@ -49,7 +49,6 @@ class Bignum {
+
+ void AssignPowerUInt16(uint16_t base, int exponent);
+
+- void AddUInt16(uint16_t operand);
+ void AddUInt64(uint64_t operand);
+ void AddBignum(const Bignum& other);
+ // Precondition: this >= other.
+diff --git a/src/3rdparty/double-conversion/cached-powers.cc b/src/3rdparty/double-conversion/cached-powers.cc
+index 9536f26927..2b43f06412 100644
+--- a/src/3rdparty/double-conversion/cached-powers.cc
++++ b/src/3rdparty/double-conversion/cached-powers.cc
+@@ -131,7 +131,6 @@ static const CachedPower kCachedPowers[] = {
+ {UINT64_2PART_C(0xaf87023b, 9bf0ee6b), 1066, 340},
+ };
+
+-static const int kCachedPowersLength = ARRAY_SIZE(kCachedPowers);
+ static const int kCachedPowersOffset = 348; // -1 * the first decimal_exponent.
+ static const double kD_1_LOG2_10 = 0.30102999566398114; // 1 / lg(10)
+ // Difference between the decimal exponents in the table above.
+@@ -144,14 +143,12 @@ void PowersOfTenCache::GetCachedPowerForBinaryExponentRange(
+ int max_exponent,
+ DiyFp* power,
+ int* decimal_exponent) {
+- (void)max_exponent; // Silence unused parameter warning in release builds
+- (void)kCachedPowersLength; // Silence unused parameter warning in release builds
+ int kQ = DiyFp::kSignificandSize;
+ double k = ceil((min_exponent + kQ - 1) * kD_1_LOG2_10);
+ int foo = kCachedPowersOffset;
+ int index =
+ (foo + static_cast<int>(k) - 1) / kDecimalExponentDistance + 1;
+- ASSERT(0 <= index && index < kCachedPowersLength);
++ ASSERT(0 <= index && index < static_cast<int>(ARRAY_SIZE(kCachedPowers)));
+ CachedPower cached_power = kCachedPowers[index];
+ ASSERT(min_exponent <= cached_power.binary_exponent);
+ (void) max_exponent; // Mark variable as used.
+diff --git a/src/3rdparty/double-conversion/diy-fp.h b/src/3rdparty/double-conversion/diy-fp.h
+index 9dcf8fbdba..2edf34674e 100644
+--- a/src/3rdparty/double-conversion/diy-fp.h
++++ b/src/3rdparty/double-conversion/diy-fp.h
+@@ -42,7 +42,7 @@ class DiyFp {
+ static const int kSignificandSize = 64;
+
+ DiyFp() : f_(0), e_(0) {}
+- DiyFp(uint64_t f, int e) : f_(f), e_(e) {}
++ DiyFp(uint64_t significand, int exponent) : f_(significand), e_(exponent) {}
+
+ // this = this - other.
+ // The exponents of both numbers must be the same and the significand of this
+@@ -76,22 +76,22 @@ class DiyFp {
+
+ void Normalize() {
+ ASSERT(f_ != 0);
+- uint64_t f = f_;
+- int e = e_;
++ uint64_t significand = f_;
++ int exponent = e_;
+
+ // This method is mainly called for normalizing boundaries. In general
+ // boundaries need to be shifted by 10 bits. We thus optimize for this case.
+ const uint64_t k10MSBits = UINT64_2PART_C(0xFFC00000, 00000000);
+- while ((f & k10MSBits) == 0) {
+- f <<= 10;
+- e -= 10;
++ while ((significand & k10MSBits) == 0) {
++ significand <<= 10;
++ exponent -= 10;
+ }
+- while ((f & kUint64MSB) == 0) {
+- f <<= 1;
+- e--;
++ while ((significand & kUint64MSB) == 0) {
++ significand <<= 1;
++ exponent--;
+ }
+- f_ = f;
+- e_ = e;
++ f_ = significand;
++ e_ = exponent;
+ }
+
+ static DiyFp Normalize(const DiyFp& a) {
+diff --git a/src/3rdparty/double-conversion/double-conversion.cc b/src/3rdparty/double-conversion/double-conversion.cc
+index 909985be82..6f21a0124c 100644
+--- a/src/3rdparty/double-conversion/double-conversion.cc
++++ b/src/3rdparty/double-conversion/double-conversion.cc
+@@ -118,7 +118,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
+ StringBuilder* result_builder) const {
+ // Create a representation that is padded with zeros if needed.
+ if (decimal_point <= 0) {
+- // "0.00000decimal_rep".
++ // "0.00000decimal_rep" or "0.000decimal_rep00".
+ result_builder->AddCharacter('0');
+ if (digits_after_point > 0) {
+ result_builder->AddCharacter('.');
+@@ -129,7 +129,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
+ result_builder->AddPadding('0', remaining_digits);
+ }
+ } else if (decimal_point >= length) {
+- // "decimal_rep0000.00000" or "decimal_rep.0000"
++ // "decimal_rep0000.00000" or "decimal_rep.0000".
+ result_builder->AddSubstring(decimal_digits, length);
+ result_builder->AddPadding('0', decimal_point - length);
+ if (digits_after_point > 0) {
+@@ -137,7 +137,7 @@ void DoubleToStringConverter::CreateDecimalRepresentation(
+ result_builder->AddPadding('0', digits_after_point);
+ }
+ } else {
+- // "decima.l_rep000"
++ // "decima.l_rep000".
+ ASSERT(digits_after_point > 0);
+ result_builder->AddSubstring(decimal_digits, decimal_point);
+ result_builder->AddCharacter('.');
+@@ -494,10 +494,17 @@ static double SignedZero(bool sign) {
+ // because it constant-propagated the radix and concluded that the last
+ // condition was always true. By moving it into a separate function the
+ // compiler wouldn't warn anymore.
++#if _MSC_VER
++#pragma optimize("",off)
+ static bool IsDecimalDigitForRadix(int c, int radix) {
+ return '0' <= c && c <= '9' && (c - '0') < radix;
+ }
+-
++#pragma optimize("",on)
++#else
++static bool inline IsDecimalDigitForRadix(int c, int radix) {
++ return '0' <= c && c <= '9' && (c - '0') < radix;
++}
++#endif
+ // Returns true if 'c' is a character digit that is valid for the given radix.
+ // The 'a_character' should be 'a' or 'A'.
+ //
+@@ -852,9 +859,9 @@ double StringToDoubleConverter::StringToIeee(
+ return junk_string_value_;
+ }
+ }
+- char sign = '+';
++ char exponen_sign = '+';
+ if (*current == '+' || *current == '-') {
+- sign = static_cast<char>(*current);
++ exponen_sign = static_cast<char>(*current);
+ ++current;
+ if (current == end) {
+ if (allow_trailing_junk) {
+@@ -888,7 +895,7 @@ double StringToDoubleConverter::StringToIeee(
+ ++current;
+ } while (current != end && *current >= '0' && *current <= '9');
+
+- exponent += (sign == '-' ? -num : num);
++ exponent += (exponen_sign == '-' ? -num : num);
+ }
+
+ if (!(allow_trailing_spaces || allow_trailing_junk) && (current != end)) {
+diff --git a/src/3rdparty/double-conversion/fixed-dtoa.cc b/src/3rdparty/double-conversion/fixed-dtoa.cc
+index aef65fdc21..0f55a0b6eb 100644
+--- a/src/3rdparty/double-conversion/fixed-dtoa.cc
++++ b/src/3rdparty/double-conversion/fixed-dtoa.cc
+@@ -98,7 +98,7 @@ class UInt128 {
+ return high_bits_ == 0 && low_bits_ == 0;
+ }
+
+- int BitAt(int position) {
++ int BitAt(int position) const {
+ if (position >= 64) {
+ return static_cast<int>(high_bits_ >> (position - 64)) & 1;
+ } else {
+@@ -259,7 +259,8 @@ static void FillFractionals(uint64_t fractionals, int exponent,
+ fractionals -= static_cast<uint64_t>(digit) << point;
+ }
+ // If the first bit after the point is set we have to round up.
+- if (((fractionals >> (point - 1)) & 1) == 1) {
++ ASSERT(fractionals == 0 || point - 1 >= 0);
++ if ((fractionals != 0) && ((fractionals >> (point - 1)) & 1) == 1) {
+ RoundUp(buffer, length, decimal_point);
+ }
+ } else { // We need 128 bits.
+diff --git a/src/3rdparty/double-conversion/ieee.h b/src/3rdparty/double-conversion/ieee.h
+index 661141d1a8..b14cf4f717 100644
+--- a/src/3rdparty/double-conversion/ieee.h
++++ b/src/3rdparty/double-conversion/ieee.h
+@@ -99,7 +99,7 @@ class Double {
+ }
+
+ double PreviousDouble() const {
+- if (d64_ == (kInfinity | kSignMask)) return -Double::Infinity();
++ if (d64_ == (kInfinity | kSignMask)) return -Infinity();
+ if (Sign() < 0) {
+ return Double(d64_ + 1).value();
+ } else {
+diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
+index 20bfd36c84..ca7646d817 100644
+--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
+@@ -33,19 +33,29 @@
+
+ #include <assert.h>
+ #ifndef ASSERT
+-# if defined(WINCE) || defined(_WIN32_WCE)
+-# define ASSERT(condition)
+-# else
+-# define ASSERT(condition) \
++#define ASSERT(condition) \
+ assert(condition);
+-# endif
+ #endif
+ #ifndef UNIMPLEMENTED
+-# define UNIMPLEMENTED() (exit(-1))
++#define UNIMPLEMENTED() (abort())
++#endif
++#ifndef DOUBLE_CONVERSION_NO_RETURN
++#ifdef _MSC_VER
++#define DOUBLE_CONVERSION_NO_RETURN __declspec(noreturn)
++#else
++#define DOUBLE_CONVERSION_NO_RETURN __attribute__((noreturn))
++#endif
+ #endif
+ #ifndef UNREACHABLE
+-# define UNREACHABLE() (exit(-1))
++#ifdef _MSC_VER
++void DOUBLE_CONVERSION_NO_RETURN abort_noreturn();
++inline void abort_noreturn() { abort(); }
++#define UNREACHABLE() (abort_noreturn())
++#else
++#define UNREACHABLE() (abort())
+ #endif
++#endif
++
+
+ // Double operations detection based on target architecture.
+ // Linux uses a 80bit wide floating point stack on x86. This induces double
+@@ -62,11 +72,15 @@
+ defined(__hppa__) || defined(__ia64__) || \
+ defined(__mips__) || \
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
++ defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
+ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
+ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2) || \
+- defined(__AARCH64EL__)
++ defined(__AARCH64EL__) || defined(__aarch64__) || \
++ defined(__riscv)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
++#elif defined(__mc68000__)
++#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
+ #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
+ #if defined(_WIN32)
+ // Windows uses a 64bit wide floating point stack.
+@@ -172,8 +186,8 @@ template <typename T>
+ class Vector {
+ public:
+ Vector() : start_(NULL), length_(0) {}
+- Vector(T* data, int length) : start_(data), length_(length) {
+- ASSERT(length == 0 || (length > 0 && data != NULL));
++ Vector(T* data, int len) : start_(data), length_(len) {
++ ASSERT(len == 0 || (len > 0 && data != NULL));
+ }
+
+ // Returns a vector using the same backing storage as this one,
+@@ -215,8 +229,8 @@ class Vector {
+ // buffer bounds on all operations in debug mode.
+ class StringBuilder {
+ public:
+- StringBuilder(char* buffer, int size)
+- : buffer_(buffer, size), position_(0) { }
++ StringBuilder(char* buffer, int buffer_size)
++ : buffer_(buffer, buffer_size), position_(0) { }
+
+ ~StringBuilder() { if (!is_finalized()) Finalize(); }
+
+diff --git a/src/3rdparty/double-conversion/qt_attribution.json b/src/3rdparty/double-conversion/qt_attribution.json
+index 92118ac779..d41a7ef332 100644
+--- a/src/3rdparty/double-conversion/qt_attribution.json
++++ b/src/3rdparty/double-conversion/qt_attribution.json
+@@ -5,8 +5,8 @@
+ "QtUsage": "Used in Qt Core. Configure with -system-doubleconversion or -no-doubleconversion to avoid.",
+
+ "Homepage": "https://github.com/google/double-conversion",
+- "Version": "2.0.1",
+- "DownloadLocation": "https://github.com/google/double-conversion/commit/2fb03de56faa32bbba5e02222528e7b760f71d77",
++ "Version": "3.0.0",
++ "DownloadLocation": "https://github.com/google/double-conversion/commit/ca220cbafa83ca706f028bfbb5adc7eb2f1f90e1",
+ "License": "BSD 3-clause \"New\" or \"Revised\" License",
+ "LicenseId": "BSD-3-Clause",
+ "LicenseFile": "LICENSE",
+diff --git a/src/3rdparty/double-conversion/strtod.cc b/src/3rdparty/double-conversion/strtod.cc
+index 34717562bd..17abcbb2a5 100644
+--- a/src/3rdparty/double-conversion/strtod.cc
++++ b/src/3rdparty/double-conversion/strtod.cc
+@@ -286,7 +286,7 @@ static bool DiyFpStrtod(Vector<const char> buffer,
+ const int kDenominator = 1 << kDenominatorLog;
+ // Move the remaining decimals into the exponent.
+ exponent += remaining_decimals;
+- int error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
++ uint64_t error = (remaining_decimals == 0 ? 0 : kDenominator / 2);
+
+ int old_e = input.e();
+ input.Normalize();
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0014-double-conversion-support-AARCH64EB-and-arm-BE.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0014-double-conversion-support-AARCH64EB-and-arm-BE.patch
new file mode 100644
index 00000000..5212f7dd
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0014-double-conversion-support-AARCH64EB-and-arm-BE.patch
@@ -0,0 +1,40 @@
+From 7959088cb80f27202252f7080a4c334f3474cac7 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Wed, 29 Aug 2018 18:20:14 +0900
+Subject: [PATCH] double-conversion: support AARCH64EB and arm BE
+
+Big endian can work well. So,
+- Make qtbase support aarch64 BE
+- Make qtbase support arm BE
+
+Upstream-Status: Pending
+
+Change-Id: Ie5b104fa2b23af8e89bae57fb56f3663be1bbb48
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ .../double-conversion/include/double-conversion/utils.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
+index ca7646d817..69aa17171c 100644
+--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
+@@ -68,7 +68,7 @@ inline void abort_noreturn() { abort(); }
+ // disabled.)
+ // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
+ #if defined(_M_X64) || defined(__x86_64__) || \
+- defined(__ARMEL__) || defined(__avr32__) || _M_ARM_FP || \
++ defined(__arm__) || defined(__avr32__) || _M_ARM_FP || \
+ defined(__hppa__) || defined(__ia64__) || \
+ defined(__mips__) || \
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
+@@ -76,7 +76,7 @@ inline void abort_noreturn() { abort(); }
+ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
+ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2) || \
+- defined(__AARCH64EL__) || defined(__aarch64__) || \
++ defined(__AARCH64EL__) || defined(__AARCH64EB__) || defined(__aarch64__) || \
+ defined(__riscv)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(__mc68000__)
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0015-Disable-ltcg-for-host_build.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0015-Disable-ltcg-for-host_build.patch
new file mode 100644
index 00000000..7248b878
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0015-Disable-ltcg-for-host_build.patch
@@ -0,0 +1,26 @@
+From 8b71f94e010aa9ee0c1e577738e0a8af8365b39e Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Tue, 23 Oct 2018 09:54:57 +0300
+Subject: [PATCH] Disable ltcg for host_build
+
+debug-prefix-map does not work correctly for static libraries
+when using ltcg, and since host_build compilations link agaist
+the libQt5Bootstrap.a library, it breaks source file packaging
+into debug packages.
+
+Task-number: QTBUG-71230
+Upstream-Status: Inappropriate [embedded specific]
+---
+ mkspecs/features/ltcg.prf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/ltcg.prf b/mkspecs/features/ltcg.prf
+index ccf0226272..482e5b573d 100644
+--- a/mkspecs/features/ltcg.prf
++++ b/mkspecs/features/ltcg.prf
+@@ -1,4 +1,4 @@
+-CONFIG(release, debug|release) {
++CONFIG(release, debug|release):!host_build {
+ # We need fat object files when creating static libraries on some platforms
+ # so the linker will know to load a particular object from the library
+ # in the first place. On others, we have special ar and nm to create the symbol
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
new file mode 100644
index 00000000..921ca25f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
@@ -0,0 +1,66 @@
+From bf8555d48d2402e7ed60f1f4232270d24623e088 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Sat, 27 Oct 2018 12:29:31 +0000
+Subject: [PATCH] Qt5GuiConfigExtras.cmake.in: cope with variable path to
+ sysroot
+
+EGL is configured to need an include path into the recipe-specific sysroot.
+However users of the cmake file will have a different absolute path than that
+used when creating the cmake file from cmake.in in qtbase.
+
+Change to store the relative path within the sysroot and then prepend the
+currently used sysroot in the _qt5gui_find_extra_libs macro.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ src/gui/Qt5GuiConfigExtras.cmake.in | 22 ++++++++--------------
+ 1 file changed, 8 insertions(+), 14 deletions(-)
+
+diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
+index 07869efd7d..671aa82167 100644
+--- a/src/gui/Qt5GuiConfigExtras.cmake.in
++++ b/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -75,21 +75,15 @@ unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE)
+
+ macro(_qt5gui_find_extra_libs Name Libs LibDir IncDirs)
+ set(Qt5Gui_${Name}_LIBRARIES)
+-!!IF !mac
+- set(Qt5Gui_${Name}_INCLUDE_DIRS ${IncDirs})
+-!!ELSE
++
+ foreach(_dir ${IncDirs})
+- if (EXISTS ${_dir})
+- list(APPEND Qt5Gui_${Name}_INCLUDE_DIRS ${_dir})
+- else()
+- find_path(_actual_dir ${_dir}) # Look in sdk directories
+- if (_actual_dir)
+- list(APPEND Qt5Gui_${Name}_INCLUDE_DIRS ${_actual_dir})
+- endif()
+- unset(_actual_dir CACHE)
++ find_path(_actual_dir ${_dir})
++ if (_actual_dir)
++ list(APPEND Qt5Gui_${Name}_INCLUDE_DIRS ${_actual_dir})
+ endif()
++ unset(_actual_dir CACHE)
+ endforeach()
+-!!ENDIF
++
+ foreach(_lib ${Libs})
+ string(REGEX REPLACE "[^_A-Za-z0-9]" "_" _cmake_lib_name ${_lib})
+ if (NOT TARGET Qt5::Gui_${_cmake_lib_name} AND NOT _Qt5Gui_${_cmake_lib_name}_LIBRARY_DONE)
+@@ -158,11 +152,11 @@ endmacro()
+
+
+ !!IF !isEmpty(CMAKE_EGL_LIBS)
+-_qt5gui_find_extra_libs(EGL \"$$CMAKE_EGL_LIBS\" \"$$CMAKE_EGL_LIBDIR\" \"$$CMAKE_EGL_INCDIRS\")
++_qt5gui_find_extra_libs(EGL \"$$CMAKE_EGL_LIBS\" \"$$CMAKE_EGL_LIBDIR\" \"$$replace(CMAKE_EGL_INCDIRS,$$re_escape($$PKG_CONFIG_SYSROOT_DIR),)\")
+ !!ENDIF
+
+ !!IF !isEmpty(CMAKE_OPENGL_LIBS)
+-_qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\" \"$$CMAKE_OPENGL_INCDIRS\")
++_qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\" \"$$replace(CMAKE_OPENGL_INCDIRS,$$re_escape($$PKG_CONFIG_SYSROOT_DIR),)\")
+
+ !!ENDIF
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0017-corelib-Include-sys-types.h-for-uint32_t.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0017-corelib-Include-sys-types.h-for-uint32_t.patch
new file mode 100644
index 00000000..8ee4c30d
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0017-corelib-Include-sys-types.h-for-uint32_t.patch
@@ -0,0 +1,27 @@
+From 206fb0ffdcbd2ae2278f37d8cfe5c16301312c58 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 6 Dec 2018 11:47:52 -0800
+Subject: [PATCH] corelib: Include sys/types.h for uint32_t
+
+This has been includes indirectly on glibc/linux systems
+via inttypes.h -> stdint.h -> sys/types.h but it breaks on
+musl where this indirect include chain does not exist.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/corelib/global/qnumeric_p.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/corelib/global/qnumeric_p.h b/src/corelib/global/qnumeric_p.h
+index 5f8a124bcc..fe1711cf1b 100644
+--- a/src/corelib/global/qnumeric_p.h
++++ b/src/corelib/global/qnumeric_p.h
+@@ -55,6 +55,7 @@
+ #include "QtCore/private/qglobal_p.h"
+ #include <cmath>
+ #include <limits>
++#include <sys/types.h>
+
+ #if defined(Q_CC_MSVC)
+ # include <intrin.h>
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
new file mode 100644
index 00000000..182f8b6f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
@@ -0,0 +1,41 @@
+From c72e38a57ff13ded19fcc22c5abba1a69ba84040 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 6 Dec 2018 15:06:20 -0800
+Subject: [PATCH] Define QMAKE_CXX.COMPILER_MACROS for clang on linux
+
+This is required when using clang for compiler, fixes
+mkspecs/features/toolchain.prf:215: Variable QMAKE_CXX.COMPILER_MACROS is not defined.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mkspecs/features/toolchain.prf | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
+index fdf3d1cdd3..6ecfd391f6 100644
+--- a/mkspecs/features/toolchain.prf
++++ b/mkspecs/features/toolchain.prf
+@@ -180,6 +180,13 @@ defineReplace(qtVariablesFromGCC) {
+ return($$ret)
+ }
+
++defineReplace(qtVariablesFromCLANG) {
++ ret = $$system("$$1 $$2 -E $$system_quote($$PWD/data/macros.cpp) \
++ <$$QMAKE_SYSTEM_NULL_DEVICE 2>$$QMAKE_SYSTEM_NULL_DEVICE", lines, ec)
++ !equals(ec, 0): qtCompilerErrror($$1, $$ret)
++ return($$ret)
++}
++
+ isEmpty($${target_prefix}.COMPILER_MACROS) {
+ msvc {
+ clang_cl {
+@@ -199,6 +206,8 @@ isEmpty($${target_prefix}.COMPILER_MACROS) {
+ } else {
+ vars = $$qtVariablesFromMSVC($$QMAKE_CXX)
+ }
++ } else: clang {
++ vars = $$qtVariablesFromCLANG($$QMAKE_CXX, $$QMAKE_CXXFLAGS)
+ } else: gcc {
+ vars = $$qtVariablesFromGCC($$QMAKE_CXX)
+ }
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0019-Fix-compile-issue-with-gcc-9.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0019-Fix-compile-issue-with-gcc-9.patch
new file mode 100644
index 00000000..e0936244
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0019-Fix-compile-issue-with-gcc-9.patch
@@ -0,0 +1,31 @@
+From 4364a8fcbcc32e37b9ccbfa833e872098f038690 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Tue, 13 Nov 2018 16:00:23 +0100
+Subject: [PATCH] Fix compile issue with gcc 9
+
+It appears messenne_twisters in the latest libstdc++ has one more
+requirement before it is willing to construct with our
+SystemGenerator struct as an sseq provider.
+
+Upstream-Status: Backport from 5.12
+
+Change-Id: If38151d1fa6f40a80274acc26d9ed6b4ac6049fe
+Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/corelib/global/qrandom.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
+index ebf9864b15..577736a867 100644
+--- a/src/corelib/global/qrandom.cpp
++++ b/src/corelib/global/qrandom.cpp
+@@ -218,6 +218,7 @@ struct QRandomGenerator::SystemGenerator
+ #endif // Q_OS_WINRT
+
+ static SystemGenerator &self();
++ typedef quint32 result_type;
+ void generate(quint32 *begin, quint32 *end) Q_DECL_NOEXCEPT_EXPR(FillBufferNoexcept);
+
+ // For std::mersenne_twister_engine implementations that use something
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0020-Always-build-uic-and-qvkgen.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0020-Always-build-uic-and-qvkgen.patch
new file mode 100644
index 00000000..e1555335
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0020-Always-build-uic-and-qvkgen.patch
@@ -0,0 +1,28 @@
+From f1564bbf2829cf1006e1d2af146c0ce27e6c1fdb Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 16 Nov 2013 00:32:30 +0100
+Subject: [PATCH] Always build uic and qvkgen
+
+Even if we are not building gui or widgets. This tool is needed later
+as a native tool when compiling the target.
+
+Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6
+Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/src.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/src.pro b/src/src.pro
+index 1c76a2e46f..fbd4014fb3 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -232,7 +232,7 @@ qtConfig(gui) {
+ }
+ }
+ }
+-SUBDIRS += src_plugins
++SUBDIRS += src_plugins src_tools_uic src_tools_qvkgen
+
+ nacl: SUBDIRS -= src_network src_testlib
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0021-Avoid-renameeat2-for-native-sdk-builds.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0021-Avoid-renameeat2-for-native-sdk-builds.patch
new file mode 100644
index 00000000..546e23c9
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0021-Avoid-renameeat2-for-native-sdk-builds.patch
@@ -0,0 +1,67 @@
+From d8b2572813019c7e196cc2a66d7993acbb2d4617 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 14 Apr 2019 13:27:58 +0200
+Subject: [PATCH] Avoid renameeat2 for native(sdk) builds
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Recently pseudo changed to not support reanameeat2 as glibc wrapper [1]. This
+causes massive failures at do_install [2] on qtbase.
+
+To work around tell Qt build configuration not to use ranameet2 independent
+of glibc version.
+
+[1] https://git.openembedded.org/openembedded-core/commit/?id=0fb257121b68f38b40c078150db8f7d0979b7ea5
+[2] https://github.com/meta-qt5/meta-qt5/issues/187
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/corelib/global/qconfig-bootstrapped.h | 4 ++--
+ src/corelib/io/qfilesystemengine_unix.cpp | 10 ----------
+ 2 files changed, 2 insertions(+), 12 deletions(-)
+
+diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
+index 229b4d17a1..4e2d43ffc5 100644
+--- a/src/corelib/global/qconfig-bootstrapped.h
++++ b/src/corelib/global/qconfig-bootstrapped.h
+@@ -100,14 +100,14 @@
+ #define QT_FEATURE_process -1
+ #define QT_FEATURE_regularexpression -1
+ #ifdef __GLIBC_PREREQ
+-# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
++# define QT_FEATURE_renameat2 -1
+ #else
+ # define QT_FEATURE_renameat2 -1
+ #endif
+ #define QT_FEATURE_sharedmemory -1
+ #define QT_FEATURE_slog2 -1
+ #ifdef __GLIBC_PREREQ
+-# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
++# define QT_FEATURE_statx -1
+ #else
+ # define QT_FEATURE_statx -1
+ #endif
+diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
+index 964dcebeb2..fea7f29c56 100644
+--- a/src/corelib/io/qfilesystemengine_unix.cpp
++++ b/src/corelib/io/qfilesystemengine_unix.cpp
+@@ -1252,16 +1252,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
+ if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty()))
+ return emptyFileEntryWarning(), false;
+
+-#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2)
+- if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0)
+- return true;
+-
+- // We can also get EINVAL for some non-local filesystems.
+- if (errno != EINVAL) {
+- error = QSystemError(errno, QSystemError::StandardLibraryError);
+- return false;
+- }
+-#endif
+ #if defined(Q_OS_DARWIN) && defined(RENAME_EXCL)
+ if (__builtin_available(macOS 10.12, iOS 10, tvOS 10, watchOS 3, *)) {
+ if (renameatx_np(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_EXCL) == 0)
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/0022-Bootstrap-without-linkat-feature.patch b/external/meta-qt5/recipes-qt/qt5/qtbase/0022-Bootstrap-without-linkat-feature.patch
new file mode 100644
index 00000000..2fbe1265
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/0022-Bootstrap-without-linkat-feature.patch
@@ -0,0 +1,27 @@
+From 86c2a65a7bfbc8163c93ef0856bb4eda442b8e70 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Fri, 24 Nov 2017 15:16:31 +0200
+Subject: [PATCH] Bootstrap without linkat feature
+
+qmake does not work together with pseudo when unnamed temporary files
+are used with linkat.
+
+Upstream-Status: Inappropriate [OE specific]
+[YOCTO #11996]
+---
+ src/corelib/global/qconfig-bootstrapped.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
+index 4e2d43ffc5..992a7d7443 100644
+--- a/src/corelib/global/qconfig-bootstrapped.h
++++ b/src/corelib/global/qconfig-bootstrapped.h
+@@ -91,7 +91,7 @@
+ #define QT_FEATURE_itemmodel -1
+ #define QT_FEATURE_library -1
+ #ifdef __linux__
+-# define QT_FEATURE_linkat 1
++# define QT_FEATURE_linkat -1
+ #else
+ # define QT_FEATURE_linkat -1
+ #endif
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase/OEQt5Toolchain.cmake b/external/meta-qt5/recipes-qt/qt5/qtbase/OEQt5Toolchain.cmake
new file mode 100644
index 00000000..6f0042b2
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase/OEQt5Toolchain.cmake
@@ -0,0 +1 @@
+set( OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS} )
diff --git a/external/meta-qt5/recipes-qt/qt5/qtbase_git.bb b/external/meta-qt5/recipes-qt/qt5/qtbase_git.bb
new file mode 100644
index 00000000..ca8de801
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtbase_git.bb
@@ -0,0 +1,285 @@
+require qt5.inc
+require qt5-git.inc
+require qt5-ptest.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \
+"
+
+# common for qtbase-native, qtbase-nativesdk and qtbase
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.11-shared
+# 5.11.meta-qt5-shared.14
+SRC_URI += "\
+ file://0001-Add-linux-oe-g-platform.patch \
+ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
+ file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
+ file://0004-configure-bump-path-length-from-256-to-512-character.patch \
+ file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \
+ file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \
+ file://0007-Delete-qlonglong-and-qulonglong.patch \
+ file://0008-Replace-pthread_yield-with-sched_yield.patch \
+ file://0009-Add-OE-specific-specs-for-clang-compiler.patch \
+ file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \
+ file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \
+ file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
+ file://0013-Upgrade-double-conversion-to-v3.0.0.patch \
+ file://0014-double-conversion-support-AARCH64EB-and-arm-BE.patch \
+ file://0015-Disable-ltcg-for-host_build.patch \
+ file://0016-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
+ file://0017-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0018-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0019-Fix-compile-issue-with-gcc-9.patch \
+"
+
+
+# for syncqt
+RDEPENDS_${PN}-tools += "perl"
+
+# workaround for gold bug:
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842304
+# https://sourceware.org/bugzilla/show_bug.cgi?id=21712
+# it's triggered only in combination of gold and security_flags.inc,
+# because security_flags.inc now enable pie by default.
+# Adding -no-pie or changing -fuse-ld=gold to -fuse-ld=bfd
+# works around this issue, will use -fuse-ld=bfd as it's considered
+# binutils bug.
+# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread
+# .obj/tst_qmetatype.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file
+# collect2: error: ld returned 1 exit status
+#
+# with -no-pie:
+# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -no-pie -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread
+#
+# with -fuse-ld=gold replaced with -fuse-ld=bfd:
+# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=bfd -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread
+#
+# http://errors.yoctoproject.org/Errors/Details/150329/
+QT_CONFIG_FLAGS_GOLD_x86 = "-no-use-gold-linker"
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+# separate some parts of PACKAGECONFIG which are often changed
+PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
+PACKAGECONFIG_FB ?= "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG_X11 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcb xinput2 glib xkb xkbcommon-evdev', '', d)}"
+PACKAGECONFIG_KDE ?= "${@bb.utils.contains('DISTRO_FEATURES', 'kde', 'sm cups fontconfig kms gbm libinput', '', d)}"
+PACKAGECONFIG_FONTS ?= ""
+PACKAGECONFIG_SYSTEM ?= "jpeg libpng zlib"
+PACKAGECONFIG_DISTRO ?= ""
+# Either release or debug, can be overridden in bbappends
+PACKAGECONFIG_RELEASE ?= "release"
+# This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency
+# PACKAGECONFIG_OPENSSL ?= "openssl"
+PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs freetype tests \
+ ${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Os', 'optimize-size ltcg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)} \
+"
+
+PACKAGECONFIG ?= " \
+ ${PACKAGECONFIG_RELEASE} \
+ ${PACKAGECONFIG_DEFAULT} \
+ ${PACKAGECONFIG_OPENSSL} \
+ ${PACKAGECONFIG_GL} \
+ ${PACKAGECONFIG_FB} \
+ ${PACKAGECONFIG_X11} \
+ ${PACKAGECONFIG_KDE} \
+ ${PACKAGECONFIG_FONTS} \
+ ${PACKAGECONFIG_SYSTEM} \
+ ${PACKAGECONFIG_DISTRO} \
+"
+# Choose whether to link to OpenSSL library at linking time or run time
+# Leave the variable empty to let the buildsystem decide, or specify -linked or -runtime
+OPENSSL_LINKING_MODE ??= ""
+
+PACKAGECONFIG[static] = "-static,-shared"
+PACKAGECONFIG[release] = "-release,-debug"
+PACKAGECONFIG[debug] = ""
+PACKAGECONFIG[developer] = "-developer-build"
+PACKAGECONFIG[optimize-size] = "-optimize-size"
+PACKAGECONFIG[ltcg] = "-ltcg"
+PACKAGECONFIG[sm] = "-sm,-no-sm"
+PACKAGECONFIG[tests] = "-make tests,-nomake tests"
+PACKAGECONFIG[examples] = "-make examples -compile-examples,-nomake examples"
+PACKAGECONFIG[tools] = "-make tools,-nomake tools"
+# only for completeness, configure will add libs even if you try to explicitly remove it
+PACKAGECONFIG[libs] = "-make libs"
+# accessibility is required to compile qtquickcontrols
+PACKAGECONFIG[accessibility] = "-accessibility,-no-accessibility"
+PACKAGECONFIG[glib] = "-glib,-no-glib,glib-2.0"
+# use either system freetype or bundled freetype, if you disable freetype completely
+# fontdatabases/basic/qbasicfontdatabase.cpp will fail to build and system freetype
+# works only together with fontconfig
+PACKAGECONFIG[freetype] = "-system-freetype,-qt-freetype,freetype"
+PACKAGECONFIG[harfbuzz] = "-system-harfbuzz,-qt-harfbuzz,harfbuzz"
+PACKAGECONFIG[jpeg] = "-system-libjpeg,-no-libjpeg,jpeg"
+PACKAGECONFIG[libpng] = "-system-libpng,-no-libpng,libpng"
+PACKAGECONFIG[gif] = "-gif,-no-gif"
+PACKAGECONFIG[ico] = "-ico,-no-ico"
+PACKAGECONFIG[zlib] = "-system-zlib,-qt-zlib,zlib"
+PACKAGECONFIG[pcre] = "-system-pcre,-qt-pcre,pcre2"
+PACKAGECONFIG[eglfs] = "-eglfs,-no-eglfs,drm"
+PACKAGECONFIG[gl] = "-opengl desktop,,virtual/libgl"
+PACKAGECONFIG[gles2] = "-opengl es2,,virtual/libgles2 virtual/egl"
+PACKAGECONFIG[no-opengl] = "-no-opengl"
+PACKAGECONFIG[tslib] = "-tslib,-no-tslib,tslib"
+PACKAGECONFIG[cups] = "-cups,-no-cups,cups"
+PACKAGECONFIG[dbus] = "-dbus,-no-dbus,dbus"
+PACKAGECONFIG[xcb] = "-xcb -xcb-xlib -system-xcb,-no-xcb,libxcb xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil"
+PACKAGECONFIG[sql-ibase] = "-sql-ibase,-no-sql-ibase"
+PACKAGECONFIG[sql-mysql] = "-sql-mysql -mysql_config ${STAGING_BINDIR_CROSS}/mysql_config,-no-sql-mysql,mysql5"
+PACKAGECONFIG[sql-psql] = "-sql-psql,-no-sql-psql,postgresql"
+PACKAGECONFIG[sql-odbc] = "-sql-odbc,-no-sql-odbc"
+PACKAGECONFIG[sql-oci] = "-sql-oci,-no-sql-oci"
+PACKAGECONFIG[sql-tds] = "-sql-tds,-no-sql-tds"
+PACKAGECONFIG[sql-db2] = "-sql-db2,-no-sql-db2"
+PACKAGECONFIG[sql-sqlite2] = "-sql-sqlite2,-no-sql-sqlite2,sqlite"
+PACKAGECONFIG[sql-sqlite] = "-sql-sqlite -system-sqlite,-no-sql-sqlite,sqlite3"
+PACKAGECONFIG[xinput2] = "-xinput2,-no-xinput2,libxi"
+PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv"
+PACKAGECONFIG[xkb] = "-xkb,-no-xkb -no-xkbcommon,libxkbcommon"
+PACKAGECONFIG[xkbcommon-evdev] = "-xkbcommon-evdev,-no-xkbcommon-evdev,libxkbcommon,xkeyboard-config"
+PACKAGECONFIG[evdev] = "-evdev,-no-evdev"
+PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev"
+# depends on glib
+PACKAGECONFIG[fontconfig] = "-fontconfig,-no-fontconfig,fontconfig"
+PACKAGECONFIG[gtk] = "-gtk,-no-gtk,gtk+3"
+PACKAGECONFIG[directfb] = "-directfb,-no-directfb,directfb"
+PACKAGECONFIG[linuxfb] = "-linuxfb,-no-linuxfb"
+PACKAGECONFIG[kms] = "-kms,-no-kms,drm virtual/egl"
+PACKAGECONFIG[gbm] = "-gbm,-no-gbm,virtual/libgbm"
+PACKAGECONFIG[icu] = "-icu,-no-icu,icu"
+PACKAGECONFIG[udev] = "-libudev,-no-libudev,udev"
+PACKAGECONFIG[openssl] = "-openssl${OPENSSL_LINKING_MODE},-no-openssl,openssl,libssl"
+PACKAGECONFIG[widgets] = "-widgets,-no-widgets"
+PACKAGECONFIG[libproxy] = "-libproxy,-no-libproxy,libproxy"
+PACKAGECONFIG[libinput] = "-libinput,-no-libinput,libinput"
+PACKAGECONFIG[journald] = "-journald,-no-journald,systemd"
+# needs kernel 3.17+
+PACKAGECONFIG[getentropy] = "-feature-getentropy,-no-feature-getentropy,"
+
+QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)}"
+QT_CONFIG_FLAGS += " \
+ ${QT_CONFIG_FLAGS_GOLD} \
+ -shared \
+ -silent \
+ -no-pch \
+ -no-rpath \
+ -pkg-config \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+# for qtbase configuration we need default settings
+# since we cannot set empty set filename to a not existent file
+deltask generate_qt_config_file
+
+XPLATFORM_toolchain-clang = "linux-oe-clang"
+XPLATFORM ?= "linux-oe-g++"
+
+# Causes qdrawhelper.s: Error: unaligned opcodes detected in executable segment
+# when building qtbase/5.6.3+gitAUTOINC+e6f8b072d2-r0/git/src/gui/painting/qdrawhelper.cpp
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+do_configure() {
+ # Regenerate header files when they are included in source tarball
+ # Otherwise cmake files don't set PRIVATE_HEADERS correctly
+ rm -rf ${S}/include
+ mkdir -p ${S}/.git || true
+
+ # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" during configuration
+ touch ${S}/mkspecs/oe-device-extra.pri
+
+ ${S}/configure -v \
+ -${QT_EDITION} -confirm-license \
+ -sysroot ${STAGING_DIR_TARGET} \
+ -prefix ${OE_QMAKE_PATH_PREFIX} \
+ -bindir ${OE_QMAKE_PATH_BINS} \
+ -libdir ${OE_QMAKE_PATH_LIBS} \
+ -datadir ${OE_QMAKE_PATH_DATA} \
+ -sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
+ -docdir ${OE_QMAKE_PATH_DOCS} \
+ -headerdir ${OE_QMAKE_PATH_HEADERS} \
+ -archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
+ -libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
+ -plugindir ${OE_QMAKE_PATH_PLUGINS} \
+ -qmldir ${OE_QMAKE_PATH_QML} \
+ -translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
+ -testsdir ${OE_QMAKE_PATH_TESTS} \
+ -examplesdir ${OE_QMAKE_PATH_EXAMPLES} \
+ -hostprefix ${OE_QMAKE_PATH_HOST_PREFIX} \
+ -hostlibdir ${OE_QMAKE_PATH_HOST_LIBS} \
+ -hostbindir ${OE_QMAKE_PATH_HOST_BINS} \
+ -external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
+ -hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \
+ -platform ${OE_QMAKE_PLATFORM_NATIVE} \
+ -xplatform ${XPLATFORM} \
+ ${QT_CONFIG_FLAGS}
+}
+
+do_install_append() {
+ # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory"
+ touch ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/oe-device-extra.pri
+
+ # Replace host paths with qmake built-in properties
+ sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \
+ -e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' \
+ ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/*.pri
+
+ # Update the mkspecs to include the default OE toolchain config for the target
+ conf=${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/${XPLATFORM}/qmake.conf
+
+ # qmake already knows the sysroot, see above $$[QT_SYSROOT], so remove the hardcoded sysroot
+ OE_QMAKE_CC_NO_SYSROOT=$(echo ${OE_QMAKE_CC} | sed -e 's!--sysroot=[^ ]*!!g')
+ OE_QMAKE_CXX_NO_SYSROOT=$(echo ${OE_QMAKE_CXX} | sed -e 's!--sysroot=[^ ]*!!g')
+ OE_QMAKE_LINK_NO_SYSROOT=$(echo ${OE_QMAKE_LINK} | sed -e 's!--sysroot=[^ ]*!!g')
+
+ echo "" >> $conf
+ echo "# default compiler options which can be overwritten from the environment" >> $conf
+ echo "isEmpty(QMAKE_AR): QMAKE_AR = ${OE_QMAKE_AR} cqs" >> $conf
+ echo "isEmpty(QMAKE_CC): QMAKE_CC = $OE_QMAKE_CC_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_CFLAGS): QMAKE_CFLAGS = ${OE_QMAKE_CFLAGS}" >> $conf
+ echo "isEmpty(QMAKE_CXX): QMAKE_CXX = $OE_QMAKE_CXX_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${OE_QMAKE_CXXFLAGS}" >> $conf
+ echo "isEmpty(QMAKE_LINK): QMAKE_LINK = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_LINK_SHLIB): QMAKE_LINK_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_LINK_C): QMAKE_LINK_C = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_LINK_C_SHLIB): QMAKE_LINK_C_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_LFLAGS): QMAKE_LFLAGS = ${OE_QMAKE_LDFLAGS}" >> $conf
+ echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${TARGET_PREFIX}strip" >> $conf
+
+ generate_target_qt_config_file ${D}${OE_QMAKE_PATH_BINS}/qt.conf
+
+ # Fix up absolute paths in scripts
+ sed -i -e '1s,#!/usr/bin/python,#! ${USRBINPATH}/env python,' \
+ ${D}${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/uikit/devices.py
+}
+
+# mkspecs have mac specific scripts that depend on perl and bash
+INSANE_SKIP_${PN}-mkspecs += "file-rdeps"
+
+RRECOMMENDS_${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}"
+
+TARGET_MKSPEC ?= "linux-g++"
+
+# use clean mkspecs on target
+pkg_postinst_${PN}-tools () {
+sed -i \
+ -e 's:HostSpec =.*:HostSpec = ${TARGET_MKSPEC}:g' \
+ -e 's:TargetSpec =.*:TargetSpec = ${TARGET_MKSPEC}:g' \
+ $D${bindir}/qt.conf
+}
+
+pkg_postinst_${PN}-mkspecs () {
+sed -i 's: cross_compile : :g' $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qconfig.pri
+sed -i \
+ -e 's: cross_compile : :g' \
+ -e 's:HOST_QT_TOOLS =.*::g' \
+ $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri
+}
+
+SRCREV = "08de243eaa007597c2bfbc97d3d14e2f821ac4be"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtcanvas3d_git.bb b/external/meta-qt5/recipes-qt/qt5/qtcanvas3d_git.bb
new file mode 100644
index 00000000..744bef61
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtcanvas3d_git.bb
@@ -0,0 +1,14 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS = "qtdeclarative"
+
+SRCREV = "8726c86872134cf4b4396fa5e7ca8eba4ef37ed4"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtcharts_git.bb b/external/meta-qt5/recipes-qt/qt5/qtcharts_git.bb
new file mode 100644
index 00000000..9e99f4c1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtcharts_git.bb
@@ -0,0 +1,17 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+DEPENDS += "qtbase qtdeclarative qtmultimedia"
+
+SRCREV = "444aeb81f2555a37d94862ceaaa8295c5c7ddddd"
+
+# The same issue as in qtbase:
+# http://errors.yoctoproject.org/Errors/Details/152641/
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+PACKAGECONFIG ?= "qtquickcompiler"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtconnectivity/0001-Ignore-clang-warning-about-address-of-temp-in-config.patch b/external/meta-qt5/recipes-qt/qt5/qtconnectivity/0001-Ignore-clang-warning-about-address-of-temp-in-config.patch
new file mode 100644
index 00000000..a0c2ee72
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtconnectivity/0001-Ignore-clang-warning-about-address-of-temp-in-config.patch
@@ -0,0 +1,40 @@
+From 162749d36f4bdea62d456516ae2bbcdc84b9ba87 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 6 Dec 2018 13:21:23 -0800
+Subject: [PATCH] Ignore clang warning about address of temp in
+ config.tests/bluez
+
+There is a similar error with gcc which is suppressed by using
+-fpermissive, clang however is more concerned and has specific flag for
+it, this flag is not implemented in gcc so we can not use it via general
+cmdline options to compiler, so resort to using diagnostic pragma
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ config.tests/bluez/main.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/config.tests/bluez/main.cpp b/config.tests/bluez/main.cpp
+index 3fe5ee09..8d1c968a 100644
+--- a/config.tests/bluez/main.cpp
++++ b/config.tests/bluez/main.cpp
+@@ -30,11 +30,14 @@
+
+ int main()
+ {
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Waddress-of-temporary"
+ #ifdef BDADDR_NONE
+ bacmp(BDADDR_ANY, BDADDR_NONE);
+ #else
+ bacmp(BDADDR_ANY, BDADDR_LOCAL);
+ #endif
++#pragma clang diagnostic pop
+
+ return 0;
+ }
+--
+2.19.2
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtconnectivity_git.bb b/external/meta-qt5/recipes-qt/qt5/qtconnectivity_git.bb
new file mode 100644
index 00000000..0e13bfd5
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtconnectivity_git.bb
@@ -0,0 +1,24 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtbase qtdeclarative"
+
+inherit bluetooth
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,${BLUEZ}"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+SRCREV = "d1cf8dad0e6d8d08b5c6f2f08d85a0e75b0bcf8a"
+
+SRC_URI += "file://0001-Ignore-clang-warning-about-address-of-temp-in-config.patch"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtdatavis3d_git.bb b/external/meta-qt5/recipes-qt/qt5/qtdatavis3d_git.bb
new file mode 100644
index 00000000..8c2806a6
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtdatavis3d_git.bb
@@ -0,0 +1,11 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns"
+
+SRCREV = "a04bbfd93159963aa505f96425e85a2a83b0b10a"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtdeclarative/0001-Always-use-commit-sha1-for-QML_COMPILE_HASH.patch b/external/meta-qt5/recipes-qt/qt5/qtdeclarative/0001-Always-use-commit-sha1-for-QML_COMPILE_HASH.patch
new file mode 100644
index 00000000..a734f8a2
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtdeclarative/0001-Always-use-commit-sha1-for-QML_COMPILE_HASH.patch
@@ -0,0 +1,31 @@
+From 260e165993fe15a1668cfd36caee18a95b2d2f59 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Mon, 2 Jul 2018 13:32:44 +0300
+Subject: [PATCH] Always use commit sha1 for QML_COMPILE_HASH
+
+git describe can produce different strings for the same sha1, depending
+on the version of git (length of short hash) and whether release tag was
+in place when build was done (v5.11.1-0- vs. v5.11.0-66-).
+
+Instead use rev-parse to get the unambiguous commit sha1 which is also
+what is used from the .tag file.
+
+Change-Id: If378f03eb764e2d858bda5b662106aa4402d6559
+Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
+---
+ src/qml/qml.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/qml/qml.pro b/src/qml/qml.pro
+index 940ebb325..a76a87b15 100644
+--- a/src/qml/qml.pro
++++ b/src/qml/qml.pro
+@@ -31,7 +31,7 @@ DEFINES += QT_NO_FOREACH
+ !equals(tag, "$${LITERAL_DOLLAR}Format:%H$${LITERAL_DOLLAR}") {
+ QML_COMPILE_HASH = $$tag
+ } else:exists($$PWD/../../.git) {
+- commit = $$system(git describe --tags --always --long --dirty)
++ commit = $$system(git rev-parse HEAD)
+ QML_COMPILE_HASH = $$commit
+ }
+ compile_hash_contents = \
diff --git a/external/meta-qt5/recipes-qt/qt5/qtdeclarative_git.bb b/external/meta-qt5/recipes-qt/qt5/qtdeclarative_git.bb
new file mode 100644
index 00000000..4cfde304
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtdeclarative_git.bb
@@ -0,0 +1,42 @@
+require qt5.inc
+require qt5-git.inc
+require qt5-ptest.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+# Patches from https://github.com/meta-qt5/qtdeclarative/commits/b5.11
+# 5.11.meta-qt5.4
+SRC_URI += "file://0001-Always-use-commit-sha1-for-QML_COMPILE_HASH.patch"
+
+DEPENDS += "qtbase"
+
+PACKAGECONFIG ??= "qtxmlpatterns qml-debug qml-network ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)}"
+PACKAGECONFIG[qtxmlpatterns] = ",,qtxmlpatterns"
+PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug"
+PACKAGECONFIG[qml-network] = "-qml-network, -no-qml-network"
+PACKAGECONFIG[static] = ",,qtdeclarative-native"
+
+do_configure_prepend() {
+ # disable qtxmlpatterns test if it isn't enabled by PACKAGECONFIG
+ sed -e 's/^\(qtHaveModule(xmlpatterns)\)/OE_QTXMLPATTERNS_ENABLED:\1/' -i ${S}/src/imports/imports.pro
+ sed -e 's/^\(!qtHaveModule(xmlpatterns)\)/!OE_QTXMLPATTERNS_ENABLED|\1/' -i ${S}/tests/auto/quick/quick.pro
+}
+
+do_install_append_class-nativesdk() {
+ # qml files not needed in nativesdk
+ rm -rf ${D}${OE_QMAKE_PATH_QML}
+}
+
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtxmlpatterns', 'CONFIG+=OE_QTXMLPATTERNS_ENABLED', '', d)}"
+
+SRCREV = "e3c0bb7811407bad1f65ea55639a4b1d1d39be15"
+
+BBCLASSEXTEND =+ "native nativesdk"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtenginio_git.bb b/external/meta-qt5/recipes-qt/qt5/qtenginio_git.bb
new file mode 100644
index 00000000..30d5eeae
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtenginio_git.bb
@@ -0,0 +1,16 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
+ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
+ file://LICENSE.FDL;md5=f70ee9a6c44ae8917586fea34dff0ab5 \
+"
+
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns"
+
+QT_MODULE_BRANCH = "dev"
+SRCREV = "23603a3b088178d8ec92fddb240e5a5c55d77d5a"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtgamepad_git.bb b/external/meta-qt5/recipes-qt/qt5/qtgamepad_git.bb
new file mode 100644
index 00000000..7708f433
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtgamepad_git.bb
@@ -0,0 +1,17 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 | LGPL-3.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv3;md5=c4fe8c6de4eef597feec6e90ed62e962 \
+ file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+DEPENDS += "qtbase qtxmlpatterns qtdeclarative"
+
+PACKAGECONFIG ??= "sdl2"
+PACKAGECONFIG[sdl2] = "-feature-sdl2,-no-feature-sdl2,libsdl2"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+SRCREV = "4005b78c2bde8fd9cf1cbe3155cbe6c33f576111"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtgraphicaleffects_git.bb b/external/meta-qt5/recipes-qt/qt5/qtgraphicaleffects_git.bb
new file mode 100644
index 00000000..ef4d59b4
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtgraphicaleffects_git.bb
@@ -0,0 +1,21 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtdeclarative qtdeclarative-native"
+
+RDEPENDS_${PN}-dev = ""
+
+# The same issue as in qtbase:
+# http://errors.yoctoproject.org/Errors/Build/44912/
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+SRCREV = "d560b79d050659715159d5f04b2e96fd38d0230c"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtimageformats_git.bb b/external/meta-qt5/recipes-qt/qt5/qtimageformats_git.bb
new file mode 100644
index 00000000..09d52213
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtimageformats_git.bb
@@ -0,0 +1,29 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
+ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtbase"
+
+PACKAGECONFIG ?= "libtiff"
+# Currently we don't have recipe for libmng, but lock it anyway so qtimageformats stay deterministic even when libmng is introduced
+PACKAGECONFIG[jasper] = ",CONFIG+=done_config_jasper,jasper"
+PACKAGECONFIG[libmng] = ",CONFIG+=done_config_libmng,libmng"
+PACKAGECONFIG[libtiff] = ",CONFIG+=done_config_libtiff,tiff"
+PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp"
+
+EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
+
+SRCREV = "335dc6af7d24c1731cbd7e03a21e66c70d81760d"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtknx_git.bb b/external/meta-qt5/recipes-qt/qt5/qtknx_git.bb
new file mode 100644
index 00000000..7a52bed9
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtknx_git.bb
@@ -0,0 +1,12 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "dea2cde014f2a74390a444d9d59e6deb2801c40b"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtlocation_git.bb b/external/meta-qt5/recipes-qt/qt5/qtlocation_git.bb
new file mode 100644
index 00000000..5373aaad
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtlocation_git.bb
@@ -0,0 +1,37 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "Apache-2.0 & MIT & openssl & BSL-1.0 & GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://src/3rdparty/mapbox-gl-native/LICENSE.md;md5=0ab9025299bcee16858021d557f09449 \
+"
+
+DEPENDS += "qtbase qtxmlpatterns qtdeclarative qtquickcontrols"
+
+PACKAGECONFIG ??= ""
+# older geoclue 0.12.99 is needed
+PACKAGECONFIG[geoclue] = ",,geoclue"
+PACKAGECONFIG[gypsy] = "-feature-gypsy,-no-feature-gypsy,gconf gypsy"
+PACKAGECONFIG[geoservices_mapboxgl] = "-feature-geoservices_mapboxgl,-no-feature-geoservices_mapboxgl"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+# The same issue as in qtbase:
+# http://errors.yoctoproject.org/Errors/Details/152640/
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+QT_MODULE_BRANCH_MAPBOXGL = "upstream/qt-staging"
+
+SRC_URI += " \
+ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \
+"
+
+SRCREV_qtlocation = "ffac0dc5a60c93663f6a4ea5483422c58cdb52b6"
+SRCREV_qtlocation-mapboxgl = "b59b0450c60b3df9e0852f62f6c8a6024889cd9e"
+
+SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtmqtt_git.bb b/external/meta-qt5/recipes-qt/qt5/qtmqtt_git.bb
new file mode 100644
index 00000000..23a450b0
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtmqtt_git.bb
@@ -0,0 +1,12 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "7e0587f9b4906976ec0397768b0378573fbf2fff"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch b/external/meta-qt5/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
new file mode 100644
index 00000000..56c8e684
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
@@ -0,0 +1,100 @@
+From c5103b4f832be57759f475d05c98f946d150c39d Mon Sep 17 00:00:00 2001
+From: Wenlin Kang <wenlin.kang@windriver.com>
+Date: Thu, 8 Sep 2016 12:18:13 +0800
+Subject: [PATCH] qtmultimedia: fix a conflicting declaration
+
+Use lgl2.h instead of gl2.h and gl2ext.h,
+fix a "conflicting declaration" error.
+
+Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+---
+ src/plugins/videonode/imx6/lgl2.h | 46 +++++++++++++++++++
+ .../imx6/qsgvivantevideomaterial.cpp | 5 +-
+ .../videonode/imx6/qsgvivantevideonode.cpp | 5 +-
+ 3 files changed, 52 insertions(+), 4 deletions(-)
+ create mode 100644 src/plugins/videonode/imx6/lgl2.h
+
+diff --git a/src/plugins/videonode/imx6/lgl2.h b/src/plugins/videonode/imx6/lgl2.h
+new file mode 100644
+index 00000000..24236976
+--- /dev/null
++++ b/src/plugins/videonode/imx6/lgl2.h
+@@ -0,0 +1,46 @@
++#ifndef __L_GL2_H__
++#define __L_GL2_H__
++
++// this file comes from <GLES2/gl2.h> and <GLES2/gl2ext.h>,
++// it's a light gl2.h.
++
++/*-------------------------------------------------------------------------
++ * Definition of KHRONOS_APIENTRY
++ *-------------------------------------------------------------------------
++ * This follows the return type of the function and precedes the function
++ * name in the function prototype.
++ */
++#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
++ /* Win32 but not WinCE */
++# define KHRONOS_APIENTRY __stdcall
++#else
++# define KHRONOS_APIENTRY
++#endif
++
++#ifndef GL_APIENTRY
++# define GL_APIENTRY KHRONOS_APIENTRY
++#endif
++
++#ifndef GL_APIENTRYP
++# define GL_APIENTRYP GL_APIENTRY*
++#endif
++
++typedef void GLvoid;
++typedef unsigned int GLenum;
++typedef unsigned int GLuint;
++typedef int GLsizei;
++
++#define GL_VIV_YV12 0x8FC0
++#define GL_VIV_NV12 0x8FC1
++#define GL_VIV_YUY2 0x8FC2
++#define GL_VIV_UYVY 0x8FC3
++#define GL_VIV_NV21 0x8FC4
++#define GL_VIV_I420 0x8FC5
++
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTVIVMAPPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTMAPVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Pixels);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTINVALIDATEVIVPROC) (GLenum Target);
++typedef void (GL_APIENTRYP PFNGLTEXDIRECTTILEDMAPVIVPROC) (GLenum Target, GLsizei Width, GLsizei Height, GLenum Format, GLvoid ** Logical, const GLuint * Physical);
++
++#endif
+diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
+index 465ccfa7..40e7592b 100644
+--- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
++++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
+@@ -37,8 +37,9 @@
+ **
+ ****************************************************************************/
+
+-#include <GLES2/gl2.h>
+-#include <GLES2/gl2ext.h>
++// use lgl2.h instead of <GLES2/gl2.h> and <GLES2/gl2ext.h>,
++// fixes a conflicting declaration issue.
++#include "lgl2.h"
+
+ #include "qsgvivantevideomaterial.h"
+ #include "qsgvivantevideomaterialshader.h"
+diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
+index c8d83b4b..5b1b8f24 100644
+--- a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
++++ b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
+@@ -37,8 +37,9 @@
+ **
+ ****************************************************************************/
+
+-#include <GLES2/gl2.h>
+-#include <GLES2/gl2ext.h>
++// use lgl2.h instead of <GLES2/gl2.h> and <GLES2/gl2ext.h>,
++// fixes a conflicting declaration issue.
++#include "lgl2.h"
+
+ #include "qsgvivantevideonode.h"
+ #include "qsgvivantevideomaterialshader.h"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtmultimedia_git.bb b/external/meta-qt5/recipes-qt/qt5/qtmultimedia_git.bb
new file mode 100644
index 00000000..ba7d1543
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtmultimedia_git.bb
@@ -0,0 +1,40 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtdeclarative"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+PACKAGECONFIG[alsa] = "-alsa,-no-alsa,alsa-lib"
+PACKAGECONFIG[pulseaudio] = "-pulseaudio,-no-pulseaudio,pulseaudio"
+PACKAGECONFIG[openal] = "-feature-openal,-no-feature-openal,openal-soft"
+PACKAGECONFIG[gstreamer] = "-gstreamer 1.0,,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
+PACKAGECONFIG[gstreamer010] = "-gstreamer 0.10,,gstreamer gst-plugins-base gst-plugins-bad"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+# Disable GStreamer if completely disabled
+EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', '-no-gstreamer', d)}"
+
+CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DMESA_EGL_NO_X11_HEADERS=1', d)}"
+
+# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.11
+# 5.11.meta-qt5.6
+SRC_URI += "\
+ file://0001-qtmultimedia-fix-a-conflicting-declaration.patch \
+"
+
+# The same issue as in qtbase:
+# http://errors.yoctoproject.org/Errors/Build/44914/
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+SRCREV = "6966a09c9a6a2c134a739446cc582e47d0c6ed6d"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtnetworkauth_git.bb b/external/meta-qt5/recipes-qt/qt5/qtnetworkauth_git.bb
new file mode 100644
index 00000000..2296a997
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtnetworkauth_git.bb
@@ -0,0 +1,12 @@
+LICENSE = "BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+require qt5.inc
+require qt5-git.inc
+
+DEPENDS += "qtbase"
+
+SRCREV = "90ae677b45570e45adc9d03ba9967065fdfa0432"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtopcua_git.bb b/external/meta-qt5/recipes-qt/qt5/qtopcua_git.bb
new file mode 100644
index 00000000..69f7ba61
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtopcua_git.bb
@@ -0,0 +1,13 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=f70ee9a6c44ae8917586fea34dff0ab5 \
+ file://LICENSE.GPLv2;md5=05832301944453ec79e40ba3c3cfceec \
+ file://LICENSE.LGPLv3;md5=c4fe8c6de4eef597feec6e90ed62e962 \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "326bf6a1058d878b7891ee6d7078ed381c462df1"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtpurchasing_git.bb b/external/meta-qt5/recipes-qt/qt5/qtpurchasing_git.bb
new file mode 100644
index 00000000..9f6138bd
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtpurchasing_git.bb
@@ -0,0 +1,13 @@
+require qt5.inc
+require qt5-git.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "Apache-2.0 & BSD & ( LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv3;md5=b8c75190712063cde04e1f41b6fdad98 \
+ file://LICENSE.GPLv3;md5=40f9bf30e783ddc201497165dfb32afb \
+"
+
+DEPENDS += "qtbase qtdeclarative"
+
+SRCREV = "d11d7ff9eff2a68441ff6264b04f37bd862bdd64"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtquickcontrols2_git.bb b/external/meta-qt5/recipes-qt/qt5/qtquickcontrols2_git.bb
new file mode 100644
index 00000000..b0ea42a9
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtquickcontrols2_git.bb
@@ -0,0 +1,13 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.LGPLv3;md5=382747d0119037529ec2b98b24038eb0 \
+ file://LICENSE.GPLv3;md5=dce746aa5261707df6d6999ab9958d8b \
+"
+
+DEPENDS += "qtdeclarative qtdeclarative-native"
+
+SRCREV = "431d605edb48321c71935fbd2bb82d33e231ea55"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtquickcontrols_git.bb b/external/meta-qt5/recipes-qt/qt5/qtquickcontrols_git.bb
new file mode 100644
index 00000000..e66074e1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtquickcontrols_git.bb
@@ -0,0 +1,20 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtdeclarative qtdeclarative-native"
+
+FILES_${PN}-qmlplugins += " \
+ ${OE_QMAKE_PATH_QML}/QtQuick/Controls/Shaders \
+ ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \
+"
+
+SRCREV = "6b7f91c097f7e47cf2683d08b5838fd061a872bd"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch b/external/meta-qt5/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch
new file mode 100644
index 00000000..a43dbeba
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch
@@ -0,0 +1,37 @@
+From cac05ba982e5047c11add015f6f6125863e5226d Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Wed, 7 Jun 2017 15:17:12 +0300
+Subject: [PATCH] Allow a tools-only build
+
+Change-Id: I3b33fc1c8877fc82568bd386b063e7a0aa57b706
+---
+ mkspecs/features/repccommon.pri | 2 +-
+ qtremoteobjects.pro | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/repccommon.pri b/mkspecs/features/repccommon.pri
+index 5e88bf8..6efd19e 100644
+--- a/mkspecs/features/repccommon.pri
++++ b/mkspecs/features/repccommon.pri
+@@ -3,7 +3,7 @@ cmd = $${QT.remoteobjects.bins}/repc
+ contains(QMAKE_HOST.os, Windows) {
+ cmd = $$system_path($${cmd}.exe)
+ }
+-exists($$cmd): QT_TOOL.repc.binary = $$cmd
++false:exists($$cmd): QT_TOOL.repc.binary = $$cmd
+
+ # qtPrepareTool honors QT_TOOL.repc.binary if set
+ qtPrepareTool(QMAKE_REPC, repc)
+diff --git a/qtremoteobjects.pro b/qtremoteobjects.pro
+index c2e2b6b..93c2bb5 100644
+--- a/qtremoteobjects.pro
++++ b/qtremoteobjects.pro
+@@ -2,3 +2,8 @@ CONFIG += examples_need_tools tests_need_tools
+ load(qt_parts)
+
+ SUBDIRS += mkspecs
++
++tools-only {
++ sub_tools.depends -= sub_src
++ SUBDIRS = sub_tools
++}
diff --git a/external/meta-qt5/recipes-qt/qt5/qtremoteobjects_git.bb b/external/meta-qt5/recipes-qt/qt5/qtremoteobjects_git.bb
new file mode 100644
index 00000000..c93463ee
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtremoteobjects_git.bb
@@ -0,0 +1,29 @@
+LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+require qt5.inc
+require qt5-git.inc
+
+DEPENDS += "qtbase qtdeclarative qtremoteobjects-native"
+
+# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.11
+# 5.11.meta-qt5.6
+SRC_URI += " \
+ file://0001-Allow-a-tools-only-build.patch \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_class-native ??= "tools-only"
+PACKAGECONFIG_class-nativesdk ??= "tools-only"
+PACKAGECONFIG[tools-only] = "CONFIG+=tools-only"
+
+EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
+
+SRCREV = "92ae729691f6db9fb06b0475509dc1141ac3d93c"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtscript/0001-3rdparty-javascriptcore-Add-RISC-V-support.patch b/external/meta-qt5/recipes-qt/qt5/qtscript/0001-3rdparty-javascriptcore-Add-RISC-V-support.patch
new file mode 100644
index 00000000..d724496e
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtscript/0001-3rdparty-javascriptcore-Add-RISC-V-support.patch
@@ -0,0 +1,47 @@
+From 028ec1bdce6dde67cc1486e5bee311b69354e41e Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Wed, 18 Jul 2018 14:26:21 -0700
+Subject: [PATCH] 3rdparty/javascriptcore: Add RISC-V support
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Change-Id: I81f15084ef6b5b8d855c1f568cacca176af51b57
+Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
+
+Upstream-Status: Backport
+---
+ .../javascriptcore/JavaScriptCore/wtf/Platform.h | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+index 00caa6d..96942c7 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+@@ -397,6 +397,16 @@
+ #endif
+ #endif /* __mips__ */
+
++/* CPU(RISCV64) - RISC-V 64-bit */
++#if defined(__riscv) && __riscv_xlen == 64
++#define WTF_CPU_RISCV64 1
++#endif
++
++/* CPU(RISCV32) - RISC-V 32-bit */
++#if defined(__riscv) && __riscv_xlen == 32
++#define WTF_CPU_RISCV32 1
++#endif
++
+ /* ==== OS() - underlying operating system; only to be used for mandated low-level services like
+ virtual memory, not to choose a GUI toolkit ==== */
+
+@@ -948,9 +958,9 @@
+ #endif
+
+ #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
+-#if (CPU(X86_64) && !CPU(X32) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64)
++#if (CPU(X86_64) && !CPU(X32) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(RISCV64)
+ #define WTF_USE_JSVALUE64 1
+-#elif CPU(ARM) || CPU(PPC64)
++#elif CPU(ARM) || CPU(PPC64) || CPU(RISCV32)
+ #define WTF_USE_JSVALUE32 1
+ #elif OS(WINDOWS) && COMPILER(MINGW)
+ /* Using JSVALUE32_64 causes padding/alignement issues for JITStubArg
diff --git a/external/meta-qt5/recipes-qt/qt5/qtscript/0002-Fix-build-with-GCC-8.3.patch b/external/meta-qt5/recipes-qt/qt5/qtscript/0002-Fix-build-with-GCC-8.3.patch
new file mode 100644
index 00000000..629cf8e8
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtscript/0002-Fix-build-with-GCC-8.3.patch
@@ -0,0 +1,235 @@
+From 03cdaf779e0d8587c6e110f1f834a15e2d3317fd Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Mon, 28 Jan 2019 14:33:12 -0800
+Subject: [PATCH] Fix build with GCC 8.3
+
+Qualifiers in the asm statement are not allowed in the global scope. I
+thought they were necessary for LTO, but I the commit to this file that
+added them predates my work on setting up LTO for GCC.
+
+Change-Id: Id98140e1c2f0426cabbefffd157e23e5ece67a49
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../JavaScriptCore/jit/JITStubs.cpp | 48 +++++++++----------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
+index 1abdf8b..9f60761 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
+@@ -116,7 +116,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x3c, JITStackFrame_s
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline);
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline);
+
+-asm volatile (
++asm (
+ ".text\n"
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+ HIDE_SYMBOL(ctiTrampoline) "\n"
+@@ -138,7 +138,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+ HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+@@ -154,7 +154,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+ HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
+ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+@@ -179,7 +179,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x48, JITStackFrame_s
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x90, JITStackFrame_callFrame_offset_matches_ctiTrampoline);
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80, JITStackFrame_code_offset_matches_ctiTrampoline);
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+ HIDE_SYMBOL(ctiTrampoline) "\n"
+ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+@@ -206,7 +206,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+ HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+@@ -222,7 +222,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+ HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
+ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+@@ -242,7 +242,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+ #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7."
+ #endif
+
+-asm volatile (
++asm (
+ ".text" "\n"
+ ".align 2" "\n"
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+@@ -269,7 +269,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "bx lr" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".text" "\n"
+ ".align 2" "\n"
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+@@ -287,7 +287,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+ "bx lr" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".text" "\n"
+ ".align 2" "\n"
+ ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+@@ -305,7 +305,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+
+ #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+ HIDE_SYMBOL(ctiTrampoline) "\n"
+ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+@@ -323,7 +323,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "mov pc, lr" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+ HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+@@ -418,7 +418,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x38, JITStackFrame_
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x30, JITStackFrame_code_offset_matches_ctiTrampoline);
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x1c, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
+
+-asm volatile (
++asm (
+ ".text\n"
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+ HIDE_SYMBOL(ctiTrampoline) "\n"
+@@ -440,7 +440,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+ HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+@@ -456,7 +456,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+ HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
+ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+@@ -480,7 +480,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_offset_matches_ctiTrampoline);
+ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
+
+-asm volatile (
++asm (
+ ".text\n"
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+ HIDE_SYMBOL(ctiTrampoline) "\n"
+@@ -515,7 +515,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+ HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+@@ -531,7 +531,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+ "ret" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+ HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
+ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+@@ -551,7 +551,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+ #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7."
+ #endif
+
+-asm volatile (
++asm (
+ ".text" "\n"
+ ".align 2" "\n"
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+@@ -578,7 +578,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "bx lr" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".text" "\n"
+ ".align 2" "\n"
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+@@ -596,7 +596,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+ "bx lr" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".text" "\n"
+ ".align 2" "\n"
+ ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+@@ -614,7 +614,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
+
+ #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
+
+-asm volatile (
++asm (
+ ".text\n"
+ ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+ HIDE_SYMBOL(ctiTrampoline) "\n"
+@@ -632,7 +632,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
+ "mov pc, lr" "\n"
+ );
+
+-asm volatile (
++asm (
+ ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+ HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
+ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
+@@ -1024,7 +1024,7 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD
+ extern "C" { \
+ rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
+ }; \
+- asm volatile ( \
++ asm ( \
+ ".text" "\n" \
+ ".align 2" "\n" \
+ ".globl " SYMBOL_STRING(cti_##op) "\n" \
+@@ -1053,7 +1053,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, thunkReturnAddress) == THUNK_RETUR
+ extern "C" { \
+ rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
+ }; \
+- asm volatile ( \
++ asm ( \
+ ".globl " SYMBOL_STRING(cti_##op) "\n" \
+ HIDE_SYMBOL(cti_##op) "\n" \
+ SYMBOL_STRING(cti_##op) ":" "\n" \
diff --git a/external/meta-qt5/recipes-qt/qt5/qtscript/0002-Include-asm-sgidefs.h-on-non-glibc-systems.patch b/external/meta-qt5/recipes-qt/qt5/qtscript/0002-Include-asm-sgidefs.h-on-non-glibc-systems.patch
new file mode 100644
index 00000000..3cb91726
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtscript/0002-Include-asm-sgidefs.h-on-non-glibc-systems.patch
@@ -0,0 +1,36 @@
+From e9b8d8d23681cfef9efbb654ecea2eeb128a9d00 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Aug 2018 02:58:14 +0000
+Subject: [PATCH] Include asm/sgidefs.h on non-glibc systems
+
+sgidefs.h wrapper is glibc specific and causes build
+failures on musl
+
+Fixes
+Platform.h:380:10: fatal error: sgidefs.h: No such file or directory
+ #include <sgidefs.h>
+ ^~~~~~~~~~~
+compilation terminated.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+index 96942c7..f828f04 100644
+--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+@@ -377,7 +377,11 @@
+
+ #if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_))
+ #define WTF_CPU_MIPS 1
++#if defined(__GLIBC__)
+ #include <sgidefs.h>
++#else
++#include <asm/sgidefs.h>
++#endif
+ #if defined(__MIPSEB__)
+ #define WTF_CPU_BIG_ENDIAN 1
+ #endif
diff --git a/external/meta-qt5/recipes-qt/qt5/qtscript_git.bb b/external/meta-qt5/recipes-qt/qt5/qtscript_git.bb
new file mode 100644
index 00000000..aa0e28d4
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtscript_git.bb
@@ -0,0 +1,41 @@
+require qt5.inc
+require qt5-git.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+# Patches from https://github.com/meta-qt5/qtscript/commits/b5.11
+# 5.11.meta-qt5.3
+SRC_URI += " \
+ file://0001-3rdparty-javascriptcore-Add-RISC-V-support.patch \
+ file://0002-Include-asm-sgidefs.h-on-non-glibc-systems.patch \
+ file://0002-Fix-build-with-GCC-8.3.patch \
+"
+
+# qemuarm build fails with:
+# /OE/build/oe-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtscript/5.4.1+gitAUTOINC+822df36f25-r0/git/src/3rdparty/javascriptcore/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void QTJSC::AssemblerBuffer::putInt64Unchecked(int64_t)':
+#/OE/build/oe-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/qtscript/5.4.1+gitAUTOINC+822df36f25-r0/git/src/3rdparty/javascriptcore/JavaScriptCore/assembler/AssemblerBuffer.h:106:58: warning: cast from 'char*' to 'int64_t* {aka long long int*}' increases required alignment of target type [-Wcast-align]
+# *reinterpret_cast<int64_t*>(&m_buffer[m_size]) = value;
+# ^
+#{standard input}: Assembler messages:
+#{standard input}:22: Error: selected processor does not support Thumb mode `stmdb sp!,{r1-r3}'
+#{standard input}:23: Error: selected processor does not support Thumb mode `stmdb sp!,{r4-r8,lr}'
+#{standard input}:30: Error: lo register required -- `ldmia sp!,{r4-r8,lr}'
+#{standard input}:43: Error: lo register required -- `ldmia sp!,{r4-r8,lr}'
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+DEPENDS += "qtbase"
+
+# The same issue as in qtbase:
+# http://errors.yoctoproject.org/Errors/Build/44915/
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+SRCREV = "cf09bc7285793d81a9755bf7e807c9d51d47d980"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch b/external/meta-qt5/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch
new file mode 100644
index 00000000..355cbe12
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch
@@ -0,0 +1,28 @@
+From ed4d6708cc72311f697d6d27556de7dfc77cfcd0 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Tue, 10 Jan 2017 15:28:26 +0200
+Subject: [PATCH] Use external host bin path for cmake file
+
+Need to use ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} for cmake to find the
+qscxmlc tool from correct sysroot path.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+Change-Id: Idb814be705e9cbaad7f1e68b5d7cdb79c4b65008
+---
+ src/scxml/Qt5ScxmlConfigExtras.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/scxml/Qt5ScxmlConfigExtras.cmake.in b/src/scxml/Qt5ScxmlConfigExtras.cmake.in
+index edb320a..ce7f2df 100644
+--- a/src/scxml/Qt5ScxmlConfigExtras.cmake.in
++++ b/src/scxml/Qt5ScxmlConfigExtras.cmake.in
+@@ -40,7 +40,7 @@ if (NOT TARGET Qt5::qscxmlc)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5Scxml_install_prefix}/$${CMAKE_BIN_DIR}qscxmlc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}qscxmlc$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qscxmlc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+ _qt5_Scxml_check_file_exists(${imported_location})
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtscxml_git.bb b/external/meta-qt5/recipes-qt/qt5/qtscxml_git.bb
new file mode 100644
index 00000000..dcb1113c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtscxml_git.bb
@@ -0,0 +1,24 @@
+LICENSE = "LGPL-3.0 & BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+require qt5.inc
+require qt5-git.inc
+
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native"
+
+SRCREV = "b99d699a8e1fe1a2968edafa6f0154a2581c2143"
+
+# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.11
+# 5.11.meta-qt5.6
+SRC_URI += "file://0001-Use-external-host-bin-path-for-cmake-file.patch"
+
+do_install_append_class-nativesdk() {
+ # qml files not needed in nativesdk
+ rm -rf ${D}${OE_QMAKE_PATH_QML}
+}
+
+BBCLASSEXTEND =+ "native nativesdk"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtsensors_git.bb b/external/meta-qt5/recipes-qt/qt5/qtsensors_git.bb
new file mode 100644
index 00000000..5fdd6f97
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtsensors_git.bb
@@ -0,0 +1,15 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtbase qtdeclarative"
+
+SRCREV = "0dab0ff3d33292bc1647ebb68dbeb8556707b5ad"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtserialbus_git.bb b/external/meta-qt5/recipes-qt/qt5/qtserialbus_git.bb
new file mode 100644
index 00000000..c7d1fe8b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtserialbus_git.bb
@@ -0,0 +1,14 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & (LGPL-3.0 | GPL-2.0+) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
+"
+
+DEPENDS += "qtbase qtserialport"
+
+SRCREV = "857ed94b55b59859f41c55076c51e92f163cb9f7"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtserialport_git.bb b/external/meta-qt5/recipes-qt/qt5/qtserialport_git.bb
new file mode 100644
index 00000000..612571c2
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtserialport_git.bb
@@ -0,0 +1,15 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "5e3f1365813079f1a9a9af284b6a40bd9df8e1c0"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtsvg_git.bb b/external/meta-qt5/recipes-qt/qt5/qtsvg_git.bb
new file mode 100644
index 00000000..0e77d635
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtsvg_git.bb
@@ -0,0 +1,16 @@
+require qt5.inc
+require qt5-git.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
+ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "ab492718dec3b54fce736b642dc6975d9b0046af"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtsystems_git.bb b/external/meta-qt5/recipes-qt/qt5/qtsystems_git.bb
new file mode 100644
index 00000000..0bda2e99
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtsystems_git.bb
@@ -0,0 +1,34 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtbase qtdeclarative udev gconf"
+
+inherit bluetooth
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "CONFIG+=OE_BLUEZ_ENABLED,,${BLUEZ}"
+
+EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
+
+do_configure_prepend() {
+ # disable bluez test if it isn't enabled by PACKAGECONFIG
+ sed -i 's/^ qtCompileTest(bluez)/ OE_BLUEZ_ENABLED:qtCompileTest(bluez)/g' ${S}/qtsystems.pro
+}
+
+do_install_append() {
+ # Remove example.pro file as it is useless
+ rm -f ${D}${OE_QMAKE_PATH_EXAMPLES}/examples.pro
+}
+
+QT_MODULE_BRANCH = "dev"
+
+SRCREV = "66e45676f5f5c6251ccab36906c6324fd0065e08"
diff --git a/external/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch b/external/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch
new file mode 100644
index 00000000..37ab7dbf
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch
@@ -0,0 +1,48 @@
+From 9cdaa2696552e90bac815889bf6fe45bc9637ca1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Wed, 4 Jun 2014 11:28:16 +0200
+Subject: [PATCH] add noqtwebkit configuration
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropiate [configuration]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/assistant/assistant/assistant.pro | 4 ++--
+ src/designer/src/plugins/plugins.pro | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro
+index 080aba03..100370a4 100644
+--- a/src/assistant/assistant/assistant.pro
++++ b/src/assistant/assistant/assistant.pro
+@@ -1,4 +1,4 @@
+-qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static) {
++qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static):!contains(CONFIG, noqtwebkit) {
+ BROWSER = qtwebkit
+ } else {
+ BROWSER = qtextbrowser
+@@ -75,7 +75,7 @@ SOURCES += aboutdialog.cpp \
+ openpagesmanager.cpp \
+ openpagesswitcher.cpp
+
+-equals(BROWSER, "qtwebkit") {
++equals(BROWSER, "qtwebkit"):!contains(CONFIG, noqtwebkit) {
+ DEFINES += BROWSER_QTWEBKIT
+ QT += webkitwidgets
+ SOURCES += helpviewer_qwv.cpp
+diff --git a/src/designer/src/plugins/plugins.pro b/src/designer/src/plugins/plugins.pro
+index 500a1534..b60fa2d9 100644
+--- a/src/designer/src/plugins/plugins.pro
++++ b/src/designer/src/plugins/plugins.pro
+@@ -1,6 +1,6 @@
+ TEMPLATE = subdirs
+
+ # qtHaveModule(opengl): SUBDIRS += tools/view3d
+-qtHaveModule(webkitwidgets): SUBDIRS += qwebview
++qtHaveModule(webkitwidgets):!contains(CONFIG, noqtwebkit): SUBDIRS += qwebview
+ win32: qtHaveModule(axcontainer): SUBDIRS += activeqt
+ qtHaveModule(quickwidgets): SUBDIRS += qquickwidget
diff --git a/external/meta-qt5/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch b/external/meta-qt5/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch
new file mode 100644
index 00000000..7be76a30
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch
@@ -0,0 +1,60 @@
+From 1b52ee8efd23b61cae9ab843efd75ced21fed04f Mon Sep 17 00:00:00 2001
+From: Cody P Schafer <dev@codyps.com>
+Date: Thu, 9 Jul 2015 11:28:19 -0400
+Subject: [PATCH] linguist-tools cmake: allow overriding the location for
+ lupdate and lrelease
+
+---
+ src/linguist/Qt5LinguistToolsConfig.cmake.in | 15 +++------------
+ 1 file changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
+index 4318b16f..2e3b70fa 100644
+--- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
++++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
+@@ -26,6 +26,9 @@ get_filename_component(_qt5_linguisttools_install_prefix \"${CMAKE_CURRENT_LIST_
+ !!ELSE
+ set(_qt5_linguisttools_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+ !!ENDIF
++if (OE_QMAKE_PATH_HOST_PREFIX)
++ set(_qt5_linguisttools_install_prefix \"${OE_QMAKE_PATH_HOST_PREFIX}\")
++endif()
+
+ macro(_qt5_LinguistTools_check_file_exists file)
+ if(NOT EXISTS \"${file}\" )
+@@ -44,11 +47,7 @@ endmacro()
+ if (NOT TARGET Qt5::lrelease)
+ add_executable(Qt5::lrelease IMPORTED)
+
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+ _qt5_LinguistTools_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::lrelease PROPERTIES
+@@ -59,11 +58,7 @@ endif()
+ if (NOT TARGET Qt5::lupdate)
+ add_executable(Qt5::lupdate IMPORTED)
+
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+ _qt5_LinguistTools_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::lupdate PROPERTIES
+@@ -74,11 +69,7 @@ endif()
+ if (NOT TARGET Qt5::lconvert)
+ add_executable(Qt5::lconvert IMPORTED)
+
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+ _qt5_LinguistTools_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/external/meta-qt5/recipes-qt/qt5/qttools/run-ptest b/external/meta-qt5/recipes-qt/qt5/qttools/run-ptest
new file mode 100644
index 00000000..5cd5e27e
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qttools/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+./tst_qtdiag
+./tst_qtattributionsscanner
diff --git a/external/meta-qt5/recipes-qt/qt5/qttools_git.bb b/external/meta-qt5/recipes-qt/qt5/qttools_git.bb
new file mode 100644
index 00000000..2885d9e4
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qttools_git.bb
@@ -0,0 +1,44 @@
+require qt5.inc
+require qt5-git.inc
+require qt5-ptest.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns"
+
+# Patches from https://github.com/meta-qt5/qttools/commits/b5.11
+# 5.11.meta-qt5.6
+SRC_URI += " \
+ file://0001-add-noqtwebkit-configuration.patch \
+ file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \
+"
+
+FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks"
+FILES_${PN}-examples = "${datadir}${QT_DIR_NAME}/examples"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[qtwebkit] = ",,qtwebkit"
+
+EXTRA_QMAKEVARS_PRE += " \
+ CONFIG-=config_clang \
+ ${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \
+"
+
+SRCREV = "ddc4fba789c21bd0ebca180fa9d7cde399a49e37"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}
+ t=${D}${PTEST_PATH}
+ cp ${B}/tests/auto/qtdiag/tst_tdiag $t
+ cp ${B}/tests/auto/qtattributionsscanner/tst_qtattributionsscanner $t
+}
diff --git a/external/meta-qt5/recipes-qt/qt5/qttranslations_git.bb b/external/meta-qt5/recipes-qt/qt5/qttranslations_git.bb
new file mode 100644
index 00000000..6689ab14
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qttranslations_git.bb
@@ -0,0 +1,106 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+"
+
+DEPENDS += "qtbase qttools-native"
+
+do_install_append() {
+ # remove qtquick1 translations - qtquick1 is gone
+ for transfile in `find ${D}/${OE_QMAKE_PATH_TRANSLATIONS} -name qtquick1_*.qm -o -name qt_*.qm ! -name qt_help_*.qm`; do
+ rm $transfile
+ done
+}
+
+PACKAGES =. " \
+ ${PN}-assistant \
+ ${PN}-designer \
+ ${PN}-linguist \
+ ${PN}-qmlviewer \
+ ${PN}-qtconnectivity \
+ ${PN}-qtmultimedia \
+ ${PN}-qtlocation \
+ ${PN}-qtdeclarative \
+ ${PN}-qtquickcontrols \
+ ${PN}-qtquickcontrols2 \
+ ${PN}-qtwebsockets \
+ ${PN}-qtwebengine \
+ ${PN}-qtxmlpatterns \
+ ${PN}-qtscript \
+ ${PN}-qtserialport \
+ ${PN}-qtbase \
+ ${PN}-qthelp \
+"
+
+FILES_${PN}-assistant = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/assistant_*.qm \
+"
+
+FILES_${PN}-designer = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/designer_*.qm \
+"
+
+FILES_${PN}-linguist = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/linguist_*.qm \
+"
+
+FILES_${PN}-qmlviewer = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qmlviewer_*.qm \
+"
+
+FILES_${PN}-qtconnectivity = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtconnectivity_*.qm \
+"
+
+FILES_${PN}-qtmultimedia = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtmultimedia_*.qm \
+"
+
+FILES_${PN}-qtlocation = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtlocation_*.qm \
+"
+
+FILES_${PN}-qtdeclarative = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtdeclarative_*.qm \
+"
+
+FILES_${PN}-qtquickcontrols = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtquickcontrols_*.qm \
+"
+
+FILES_${PN}-qtquickcontrols2 = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtquickcontrols2_*.qm \
+"
+
+FILES_${PN}-qtwebsockets = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtwebsockets_*.qm \
+"
+
+FILES_${PN}-qtwebengine = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtwebengine_*.qm \
+"
+
+FILES_${PN}-qtxmlpatterns = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtxmlpatterns_*.qm \
+"
+
+FILES_${PN}-qtscript = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtscript_*.qm \
+"
+
+FILES_${PN}-qtserialport = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtserialport_*.qm \
+"
+
+FILES_${PN}-qtbase = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qtbase_*.qm \
+"
+
+FILES_${PN}-qthelp = " \
+ ${OE_QMAKE_PATH_TRANSLATIONS}/qt_help_*.qm \
+"
+
+SRCREV = "ed5110171ca294207f341f46610c716170c06282"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/external/meta-qt5/recipes-qt/qt5/qtvirtualkeyboard_git.bb
new file mode 100644
index 00000000..52d60ff5
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtvirtualkeyboard_git.bb
@@ -0,0 +1,52 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+# To enabled Nuance T9 Write support, you need to provide the licensed components
+# and enable "t9write" in PACKAGECONFIG. This can be done in a separate .bbappend file.
+# for example:
+#T9WRITEPACKAGE = "${HOME}/Downloads/zzEval_QT_T9Write_Alpha_v750_20150916.zip"
+#SRC_URI += "file://${T9WRITEPACKAGE};subdir=git/src/virtualkeyboard/3rdparty/t9write"
+#PACKAGECONFIG = "t9write lang-all"
+
+PACKAGECONFIG ?= "lang-all lipi-toolkit qtquickcompiler"
+PACKAGECONFIG[hunspell] = ",CONFIG+=disable-hunspell,hunspell"
+PACKAGECONFIG[t9write] = "CONFIG+=t9write"
+PACKAGECONFIG[lipi-toolkit] = "CONFIG+=lipi-toolkit"
+PACKAGECONFIG[lang-all] = "CONFIG+=lang-all"
+PACKAGECONFIG[lang-ar_AR] = "CONFIG+=lang-ar_AR"
+PACKAGECONFIG[lang-da_DK] = "CONFIG+=lang-da_DK"
+PACKAGECONFIG[lang-de_DE] = "CONFIG+=lang-de_DE"
+PACKAGECONFIG[lang-en_GB] = "CONFIG+=lang-en_GB"
+PACKAGECONFIG[lang-es_ES] = "CONFIG+=lang-es_ES"
+PACKAGECONFIG[lang-fa_FA] = "CONFIG+=lang-fa_FA"
+PACKAGECONFIG[lang-fi_FI] = "CONFIG+=lang-fi_FI"
+PACKAGECONFIG[lang-fr_FR] = "CONFIG+=lang-fr_FR"
+PACKAGECONFIG[lang-hi_IN] = "CONFIG+=lang-hi_IN"
+PACKAGECONFIG[lang-it_IT] = "CONFIG+=lang-it_IT"
+PACKAGECONFIG[lang-ja_JP] = "CONFIG+=lang-ja_JP"
+PACKAGECONFIG[lang-ko_KR] = "CONFIG+=lang-ko_KR"
+PACKAGECONFIG[lang-nb_NO] = "CONFIG+=lang-nb_NO"
+PACKAGECONFIG[lang-pl_PL] = "CONFIG+=lang-pl_PL"
+PACKAGECONFIG[lang-pt_PT] = "CONFIG+=lang-pt_PT"
+PACKAGECONFIG[lang-ro_RO] = "CONFIG+=lang-ro_RO"
+PACKAGECONFIG[lang-ru_RU] = "CONFIG+=lang-ru_RU"
+PACKAGECONFIG[lang-sv_SE] = "CONFIG+=lang-sv_SE"
+PACKAGECONFIG[lang-zh_CN] = "CONFIG+=lang-zh_CN"
+PACKAGECONFIG[lang-zh_TW] = "CONFIG+=lang-zh_TW"
+
+EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'CONFIG+=disable-desktop', d)}"
+
+PACKAGES += "${PN}-dictionaries"
+RRECOMMENDS_${PN} += "${PN}-dictionaries"
+FILES_${PN}-dictionaries = "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/*/*.dat"
+FILES_${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit"
+
+DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns qtdeclarative-native"
+
+SRCREV = "a8cab520dc7bedff73ec60a5a189b21cdf01f083"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwayland_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwayland_git.bb
new file mode 100644
index 00000000..1524f5f8
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwayland_git.bb
@@ -0,0 +1,75 @@
+require qt5.inc
+require qt5-git.inc
+
+DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native"
+DEPENDS_append_class-target = " libxkbcommon"
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+PACKAGECONFIG ?= " \
+ wayland-client \
+ wayland-server \
+ wayland-egl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcomposite-egl xcomposite-glx', '', d)} \
+"
+PACKAGECONFIG_class-native ?= ""
+PACKAGECONFIG_class-nativesdk ?= ""
+QMAKE_PROFILES_class-native = "${S}/src/qtwaylandscanner"
+QMAKE_PROFILES_class-nativesdk = "${S}/src/qtwaylandscanner"
+B_class-native = "${SEPB}/src/qtwaylandscanner"
+B_class-nativesdk = "${SEPB}/src/qtwaylandscanner"
+
+PACKAGECONFIG[wayland-client] = "-feature-wayland-client,-no-feature-wayland-client"
+PACKAGECONFIG[wayland-server] = "-feature-wayland-server,-no-feature-wayland-server"
+PACKAGECONFIG[xcomposite-egl] = "-feature-xcomposite-egl,-no-feature-xcomposite-egl,libxcomposite"
+PACKAGECONFIG[xcomposite-glx] = "-feature-xcomposite-glx,-no-feature-xcomposite-glx,virtual/mesa"
+PACKAGECONFIG[wayland-egl] = "-feature-wayland-egl,-no-feature-wayland-egl,virtual/egl"
+PACKAGECONFIG[wayland-brcm] = "-feature-wayland-brcm,-no-feature-wayland-brcm,virtual/egl"
+PACKAGECONFIG[drm-egl-server] = "-feature-drm-egl-server,-no-feature-drm-egl-server,libdrm virtual/egl"
+PACKAGECONFIG[libhybris-egl-server] = "-feature-libhybris-egl-server,-no-feature-libhybris-egl-server,libhybris"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+SRCREV = "9ce3088d226fddc18bcac170fa5cc5be3c29e371"
+
+BBCLASSEXTEND =+ "native nativesdk"
+
+# The same issue as in qtbase:
+# http://errors.yoctoproject.org/Errors/Details/152641/
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+# Since version 5.11.2 some private headers are not installed. Work around
+# until fixed upstream. See https://bugreports.qt.io/browse/QTBUG-71340 for
+# further details
+QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY ?= "1"
+# First 6 characters before first + (e.g. 5.11.3-+git) or - (e.g. 5.11.3-2)
+SHRT_VER ?= "${@d.getVar('PV').split('+')[0].split('-')[0]}"
+do_install_append() {
+ if [ -d "${B}/src/client" -a "${QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY}" = "1" -a -d "${D}${includedir}/QtWaylandClient/${SHRT_VER}/QtWaylandClient/private/" ]; then
+ for header in `find ${B}/src/client -name '*wayland-*.h'`; do
+ header_base=`basename $header`
+ dest="${D}${includedir}/QtWaylandClient/${SHRT_VER}/QtWaylandClient/private/$header_base"
+ if [ ! -e "$dest" ]; then
+ echo "Manual install: $header_base to $dest"
+ install -m 644 "$header" "$dest"
+ fi
+ done
+ fi
+ if [ -d "${B}/src/compositor" -a "${QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY}" = "1" -a -d "${D}${includedir}/QtCompositor/${SHRT_VER}/QtCompositor/private/" ]; then
+ for header in `find ${B}/src/compositor -name '*wayland-*.h'`; do
+ header_base=`basename $header`
+ dest="${D}${includedir}/QtCompositor/${SHRT_VER}/QtCompositor/private/$header_base"
+ if [ ! -e "$dest" ]; then
+ echo "Manual install: $header_base to $dest"
+ install -m 644 "$header" "$dest"
+ fi
+ done
+ fi
+}
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebchannel_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebchannel_git.bb
new file mode 100644
index 00000000..7aa6cc63
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebchannel_git.bb
@@ -0,0 +1,15 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtdeclarative qtwebsockets"
+
+SRCREV = "94fee0eaa3a5ce98bae8e5d68c91c0366fa94cdc"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
new file mode 100644
index 00000000..86f37e1a
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
@@ -0,0 +1,71 @@
+From 7c9b995ee8bc8798e41a14cb8007c06073006e64 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Wed, 15 Mar 2017 13:53:28 +0200
+Subject: [PATCH] Force host toolchain configuration
+
+Force gcc/g++ to be used for parts using host toolchain, since
+the option(host_build) does not work in yocto builds.
+
+Don't use QT_ARCH for the host architecture, since that's always
+the target architecture in bitbake builds, instead ask specifically
+for the qmakes's host architecture.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+---
+ src/buildtools/configure_host.pro | 14 +++++++-------
+ src/core/config/linux.pri | 2 +-
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro
+index dd0d3e32..70161c82 100644
+--- a/src/buildtools/configure_host.pro
++++ b/src/buildtools/configure_host.pro
+@@ -4,7 +4,7 @@ TEMPLATE = aux
+ # Pick up the host toolchain
+ option(host_build)
+
+-GN_HOST_CPU = $$gnArch($$QT_ARCH)
++GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
+ !isEmpty(QT_TARGET_ARCH): GN_TARGET_CPU = $$gnArch($$QT_TARGET_ARCH)
+ else: GN_TARGET_CPU = $$GN_HOST_CPU
+ GN_OS = $$gnOS()
+@@ -31,9 +31,9 @@ GN_CONTENTS = \
+ "import(\"//build/config/sysroot.gni\")" \
+ "import(\"//build/toolchain/gcc_toolchain.gni\")" \
+ "gcc_toolchain(\"host\") {" \
+-" cc = \"$$which($$QMAKE_CC)\" " \
+-" cxx = \"$$which($$QMAKE_CXX)\" " \
+-" ld = \"$$which($$QMAKE_LINK)\" " \
++" cc = \"$$which(gcc)\" " \
++" cxx = \"$$which(g++)\" " \
++" ld = \"$$which(g++)\" " \
+ " ar = \"$$which(ar)\" " \
+ " nm = \"$$which(nm)\" " \
+ " extra_cppflags = \"$$GN_HOST_EXTRA_CPPFLAGS\" " \
+@@ -45,9 +45,9 @@ GN_CONTENTS = \
+ " } " \
+ "}" \
+ "gcc_toolchain(\"v8_snapshot\") {" \
+-" cc = \"$$which($$QMAKE_CC)\" " \
+-" cxx = \"$$which($$QMAKE_CXX)\" " \
+-" ld = \"$$which($$QMAKE_LINK)\" " \
++" cc = \"$$which(gcc)\" " \
++" cxx = \"$$which(g++)\" " \
++" ld = \"$$which(g++)\" " \
+ " ar = \"$$which(ar)\" " \
+ " nm = \"$$which(nm)\" " \
+ " toolchain_args = { " \
+diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
+index 4ade2827..cad3d7bf 100644
+--- a/src/core/config/linux.pri
++++ b/src/core/config/linux.pri
+@@ -92,7 +92,7 @@ contains(QT_ARCH, "mips") {
+
+ host_build {
+ gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
+- GN_HOST_CPU = $$gnArch($$QT_ARCH)
++ GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
+ gn_args += host_cpu=\"$$GN_HOST_CPU\"
+ # Don't bother trying to use system libraries in this case
+ gn_args += use_glib=false
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/0002-chromium_overrides.cpp-Fix-build-with-plugins-and-oz.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0002-chromium_overrides.cpp-Fix-build-with-plugins-and-oz.patch
new file mode 100644
index 00000000..5ae32d59
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0002-chromium_overrides.cpp-Fix-build-with-plugins-and-oz.patch
@@ -0,0 +1,50 @@
+From 3eaf551ec5f68933c636404945e6404e2508160b Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 10 Jun 2018 10:26:17 +0000
+Subject: [PATCH] chromium_overrides.cpp: Fix build with plugins and ozone
+ enabled
+
+* otherwise it fails with:
+ | make[3]: Entering directory '/OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core'
+| creating linker version script QtWebEngineCore.version
+| rm -f libQt5WebEngineCore.so.5.10.1 libQt5WebEngineCore.so libQt5WebEngineCore.so.5 libQt5WebEngineCore.so.5.10
+| linking ../../lib/libQt5WebEngineCore.so.5.10.1
+| /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/recipe-sysroot-native/usr/bin/i586-webos-linux/../../libexec/i586-webos-linux/gcc/i586-webos-linux/7.3.0/ld: error: /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core/release/obj/content/browser/browser/pepper_truetype_font_list_ozone.o: multiple definition of 'content::GetFontFamilies_SlowBlocking(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)'
+| /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/recipe-sysroot-native/usr/bin/i586-webos-linux/../../libexec/i586-webos-linux/gcc/i586-webos-linux/7.3.0/ld: /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core/release/obj/QtWebEngineCore/chromium_overrides.o: previous definition here
+| /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/recipe-sysroot-native/usr/bin/i586-webos-linux/../../libexec/i586-webos-linux/gcc/i586-webos-linux/7.3.0/ld: error: /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core/release/obj/content/browser/browser/pepper_truetype_font_list_ozone.o: multiple definition of 'content::GetFontsInFamily_SlowBlocking(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<ppapi::proxy::SerializedTrueTypeFontDesc, std::allocator<ppapi::proxy::SerializedTrueTypeFontDesc> >*)'
+| /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/recipe-sysroot-native/usr/bin/i586-webos-linux/../../libexec/i586-webos-linux/gcc/i586-webos-linux/7.3.0/ld: /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core/release/obj/QtWebEngineCore/chromium_overrides.o: previous definition here
+| collect2: error: ld returned 1 exit status
+| Makefile.core_module:74: recipe for target '../../lib/libQt5WebEngineCore.so.5.10.1' failed
+| make[3]: *** [../../lib/libQt5WebEngineCore.so.5.10.1] Error 1
+| make[3]: Leaving directory '/OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core'
+| Makefile:122: recipe for target 'sub-core_module-pro-make_first' failed
+| make[2]: *** [sub-core_module-pro-make_first] Error 2
+| make[2]: Leaving directory '/OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src/core'
+| Makefile:78: recipe for target 'sub-core-make_first' failed
+| make[1]: *** [sub-core-make_first] Error 2
+| make[1]: Leaving directory '/OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/build/src'
+| Makefile:46: recipe for target 'sub-src-make_first' failed
+| make: *** [sub-src-make_first] Error 2
+| ERROR: oe_runmake failed
+| WARNING: /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/temp/run.do_compile.10122:1 exit 1 from 'exit 1'
+| ERROR: Function failed: do_compile (log file is located at /OE/build/owpb/webos-ports/tmp-glibc/work/i586-webos-linux/qtwebengine/5.10.1+gitAUTOINC+9dc8dff7a8_c858cc7609-r0/temp/log.do_compile.10122)
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
+---
+ src/core/chromium_overrides.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/chromium_overrides.cpp b/src/core/chromium_overrides.cpp
+index 8f6687ff..994e2799 100644
+--- a/src/core/chromium_overrides.cpp
++++ b/src/core/chromium_overrides.cpp
+@@ -159,7 +159,7 @@ std::unique_ptr<base::ListValue> GetFontList_SlowBlocking()
+ return std::move(font_list);
+ }
+
+-#if BUILDFLAG(ENABLE_PLUGINS)
++#if BUILDFLAG(ENABLE_PLUGINS) && !defined(USE_OZONE)
+ // content/browser/renderer_host/pepper/pepper_truetype_font_list.h
+ void GetFontFamilies_SlowBlocking(std::vector<std::string> *font_families)
+ {
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch
new file mode 100644
index 00000000..a0a850d5
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch
@@ -0,0 +1,37 @@
+From df92af3dd48877c6a58887de563e65279d213a50 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Tue, 12 Dec 2017 16:06:14 +0200
+Subject: [PATCH] musl: don't use pvalloc as it's not available on musl
+
+Change-Id: I7145463ac7b9560e7459d3384a3db108bd727403
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+---
+ src/core/api/qtbug-61521.cpp | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/src/core/api/qtbug-61521.cpp b/src/core/api/qtbug-61521.cpp
+index 002a1af2..8fd2da36 100644
+--- a/src/core/api/qtbug-61521.cpp
++++ b/src/core/api/qtbug-61521.cpp
+@@ -74,10 +74,6 @@ SHIM_SYMBOL_VERSION(valloc);
+ void* __valloc(size_t size)
+ SHIM_ALIAS_SYMBOL(ShimValloc);
+
+-SHIM_SYMBOL_VERSION(pvalloc);
+-void* __pvalloc(size_t size)
+- SHIM_ALIAS_SYMBOL(ShimPvalloc);
+-
+ SHIM_SYMBOL_VERSION(posix_memalign);
+ int __posix_memalign(void** r, size_t a, size_t s)
+ SHIM_ALIAS_SYMBOL(ShimPosixMemalign);
+@@ -110,10 +106,6 @@ SHIM_HIDDEN void* ShimValloc(size_t size) {
+ return valloc(size);
+ }
+
+-SHIM_HIDDEN void* ShimPvalloc(size_t size) {
+- return pvalloc(size);
+-}
+-
+ SHIM_HIDDEN int ShimPosixMemalign(void** r, size_t a, size_t s) {
+ return posix_memalign(r,a,s);
+ }
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/0004-musl-link-against-libexecinfo.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0004-musl-link-against-libexecinfo.patch
new file mode 100644
index 00000000..489971ae
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/0004-musl-link-against-libexecinfo.patch
@@ -0,0 +1,24 @@
+From 0c440d91b394d13188803800b968db28309c1d82 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Thu, 14 Dec 2017 11:28:10 +0200
+Subject: [PATCH] musl: link against libexecinfo
+
+Change-Id: Ifada60f9c72691973612850121f6fb152d70839a
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+---
+ src/core/core_module.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/core_module.pro b/src/core/core_module.pro
+index d21985e6..eeebeb4f 100644
+--- a/src/core/core_module.pro
++++ b/src/core/core_module.pro
+@@ -54,7 +54,7 @@ linux {
+ POST_TARGETDEPS += $$NINJA_TARGETDEPS
+
+
+-LIBS_PRIVATE += -L$$api_library_path
++LIBS_PRIVATE += -L$$api_library_path -lexecinfo
+ CONFIG *= no_smart_library_merge
+ osx {
+ LIBS_PRIVATE += -Wl,-force_load,$${api_library_path}$${QMAKE_DIR_SEP}lib$${api_library_name}.a
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-Force-host-toolchain-configuration.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-Force-host-toolchain-configuration.patch
new file mode 100644
index 00000000..8bf2140b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-Force-host-toolchain-configuration.patch
@@ -0,0 +1,33 @@
+From a80fc13086a493cc543e29c5d10e976ac7f680d4 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Wed, 15 Mar 2017 13:53:28 +0200
+Subject: [PATCH] chromium: Force host toolchain configuration
+
+Force gcc/g++ to be used for parts using host toolchain, since
+the option(host_build) does not work in yocto builds.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ chromium/tools/gn/bootstrap/bootstrap.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/chromium/tools/gn/bootstrap/bootstrap.py b/chromium/tools/gn/bootstrap/bootstrap.py
+index 93c6446f28c..0fe7e6737d2 100755
+--- a/chromium/tools/gn/bootstrap/bootstrap.py
++++ b/chromium/tools/gn/bootstrap/bootstrap.py
+@@ -352,10 +352,10 @@ def write_gn_ninja(path, root_gen_dir, options):
+ ld = os.environ.get('LD', cxx)
+ ar = os.environ.get('AR', 'ar -X64')
+ else:
+- cc = os.environ.get('CC', 'cc')
+- cxx = os.environ.get('CXX', 'c++')
++ cc = os.environ.get('CC_host', 'gcc')
++ cxx = os.environ.get('CXX_host', 'g++')
+ ld = cxx
+- ar = os.environ.get('AR', 'ar')
++ ar = os.environ.get('AR_host', 'ar')
+
+ # QTBUG-64759
+ # cflags = os.environ.get('CFLAGS', '').split()
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-workaround-for-too-long-.rps-file-name.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-workaround-for-too-long-.rps-file-name.patch
new file mode 100644
index 00000000..f80f7b0a
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-workaround-for-too-long-.rps-file-name.patch
@@ -0,0 +1,42 @@
+From 70c519aa0eb4da6565ad78914a8687b6f5bf1bb8 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Thu, 30 Mar 2017 11:37:24 +0300
+Subject: [PATCH] chromium: workaround for too long .rps file name
+
+Ninja may fail when the build directory is too long:
+
+ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_\
+interfaces_info_individual_modules__home_qt_work_build_build-nitrogen\
+6x_tmp_work_cortexa9hf-neon-mx6qdl-poky-linux-gnueabi_qtwebengine_5.9\
+.0_gitAUTOINC_29afdb0a34_049134677a-r0_build_src_toolchain_target__ru\
+le.rsp): Unable to create file. File name too long
+
+Task-number: QTBUG-59769
+Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1
+---
+ chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/chromium/tools/gn/ninja_action_target_writer.cc b/chromium/tools/gn/ninja_action_target_writer.cc
+index bab07c5d2bb..8f889aebc18 100644
+--- a/chromium/tools/gn/ninja_action_target_writer.cc
++++ b/chromium/tools/gn/ninja_action_target_writer.cc
+@@ -117,9 +117,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() {
+ // strictly necessary for regular one-shot actions, but it's easier to
+ // just always define unique_name.
+ std::string rspfile = custom_rule_name;
++
++ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end
++ //please note ".$unique_name" is not used at the moment
++ int pos = 0;
++ std::string delimiter("_");
++ while (rspfile.length() > 251 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos)
++ rspfile = rspfile.substr(0,pos);
++
+ if (!target_->sources().empty())
+ rspfile += ".$unique_name";
+ rspfile += ".rsp";
++
+ out_ << " rspfile = " << rspfile << std::endl;
+
+ // Response file contents.
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Fix-build-with-gcc8.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Fix-build-with-gcc8.patch
new file mode 100644
index 00000000..5323a0f1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Fix-build-with-gcc8.patch
@@ -0,0 +1,50 @@
+From ad0dd667c3459538149de4479d18c1793af91d43 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 5 Jun 2018 13:58:16 +0000
+Subject: [PATCH] chromium: Fix build with gcc8
+
+---
+ chromium/mojo/public/c/system/buffer.h | 2 +-
+ chromium/mojo/public/c/system/data_pipe.h | 2 +-
+ chromium/mojo/public/c/system/message_pipe.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/chromium/mojo/public/c/system/buffer.h b/chromium/mojo/public/c/system/buffer.h
+index 09f6d285f3e..e516a09e498 100644
+--- a/chromium/mojo/public/c/system/buffer.h
++++ b/chromium/mojo/public/c/system/buffer.h
+@@ -35,7 +35,7 @@ const MojoCreateSharedBufferOptionsFlags
+ ((MojoCreateSharedBufferOptionsFlags)0)
+ #endif
+
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 4 || MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateSharedBufferOptions {
+ uint32_t struct_size;
+ MojoCreateSharedBufferOptionsFlags flags;
+diff --git a/chromium/mojo/public/c/system/data_pipe.h b/chromium/mojo/public/c/system/data_pipe.h
+index 62adbea1ea6..76225858ba8 100644
+--- a/chromium/mojo/public/c/system/data_pipe.h
++++ b/chromium/mojo/public/c/system/data_pipe.h
+@@ -46,7 +46,7 @@ const MojoCreateDataPipeOptionsFlags MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE =
+ ((MojoCreateDataPipeOptionsFlags)0)
+ #endif
+
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 4 || MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateDataPipeOptions {
+ MOJO_ALIGNAS(4) uint32_t struct_size;
+ MOJO_ALIGNAS(4) MojoCreateDataPipeOptionsFlags flags;
+diff --git a/chromium/mojo/public/c/system/message_pipe.h b/chromium/mojo/public/c/system/message_pipe.h
+index f0f69d1025f..364a02971e2 100644
+--- a/chromium/mojo/public/c/system/message_pipe.h
++++ b/chromium/mojo/public/c/system/message_pipe.h
+@@ -44,7 +44,7 @@ const MojoCreateMessagePipeOptionsFlags
+ ((MojoCreateMessagePipeOptionsFlags)0)
+ #endif
+
+-MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
++MOJO_STATIC_ASSERT(MOJO_ALIGNOF(int64_t) == 4 || MOJO_ALIGNOF(int64_t) == 8, "int64_t has weird alignment");
+ struct MOJO_ALIGNAS(8) MojoCreateMessagePipeOptions {
+ uint32_t struct_size;
+ MojoCreateMessagePipeOptionsFlags flags;
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
new file mode 100644
index 00000000..7879e99a
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
@@ -0,0 +1,33 @@
+From 3931af98b42c87ea474e0e6d0d27753e53d101ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 14:01:12 -0700
+Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not
+ defined
+
+Musl does not define this Macro
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c
+index 66f68ef1387..9284d0d4fc5 100644
+--- a/chromium/sandbox/linux/suid/sandbox.c
++++ b/chromium/sandbox/linux/suid/sandbox.c
+@@ -44,6 +44,15 @@ static bool DropRoot();
+
+ #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x)
+
++#ifndef TEMP_FAILURE_RETRY
++# define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++#endif
++
+ static void FatalError(const char* msg, ...)
+ __attribute__((noreturn, format(printf, 1, 2)));
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
new file mode 100644
index 00000000..68eaf23e
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
@@ -0,0 +1,67 @@
+From 5532d00e7dcec5529b7510386530cc44bf0b094c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 14:09:06 -0700
+Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/base/process/process_metrics_posix.cc | 4 ++--
+ chromium/base/trace_event/malloc_dump_provider.cc | 3 ++-
+ chromium/content/child/content_child_helpers.cc | 2 +-
+ 3 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc
+index 73a52d6210d..4867198a503 100644
+--- a/chromium/base/process/process_metrics_posix.cc
++++ b/chromium/base/process/process_metrics_posix.cc
+@@ -94,14 +94,14 @@ size_t ProcessMetrics::GetMallocUsage() {
+ malloc_statistics_t stats = {0};
+ malloc_zone_statistics(nullptr, &stats);
+ return stats.size_in_use;
+-#elif defined(OS_LINUX) || defined(OS_ANDROID)
++#elif defined(__GLIBC__) || defined(OS_ANDROID)
+ struct mallinfo minfo = mallinfo();
+ #if defined(USE_TCMALLOC)
+ return minfo.uordblks;
+ #else
+ return minfo.hblkhd + minfo.arena;
+ #endif
+-#elif defined(OS_FUCHSIA)
++#else
+ // TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
+ return 0;
+ #endif
+diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc
+index ffd519133c2..0c9131e98e4 100644
+--- a/chromium/base/trace_event/malloc_dump_provider.cc
++++ b/chromium/base/trace_event/malloc_dump_provider.cc
+@@ -197,6 +197,7 @@ MallocDumpProvider::~MallocDumpProvider() = default;
+ // the current process.
+ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
+ ProcessMemoryDump* pmd) {
++#if defined(__GLIBC__)
+ {
+ base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_);
+ if (!emit_metrics_on_memory_dump_)
+@@ -322,7 +323,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
+ pmd->DumpHeapUsage(metrics_by_context, overhead, "malloc");
+ }
+ tid_dumping_heap_ = kInvalidThreadId;
+-
++#endif // __GLIBC__
+ return true;
+ }
+
+diff --git a/chromium/content/child/content_child_helpers.cc b/chromium/content/child/content_child_helpers.cc
+index 7ddeb4d16a9..b8c73b09c5a 100644
+--- a/chromium/content/child/content_child_helpers.cc
++++ b/chromium/content/child/content_child_helpers.cc
+@@ -25,7 +25,7 @@ namespace content {
+ // though, this provides only a partial and misleading value.
+ // Unfortunately some telemetry benchmark rely on it and these need to
+ // be refactored before getting rid of this. See crbug.com/581365 .
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(__GLIBC__) || defined(OS_ANDROID)
+ size_t GetMemoryUsageKB() {
+ struct mallinfo minfo = mallinfo();
+ uint64_t mem_usage =
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-musl-include-fcntl.h-for-loff_t.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-musl-include-fcntl.h-for-loff_t.patch
new file mode 100644
index 00000000..1f9af27e
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-musl-include-fcntl.h-for-loff_t.patch
@@ -0,0 +1,22 @@
+From 87d8eeb36da32940a57ecf9a94c61f7d749e1058 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 14:37:49 -0700
+Subject: [PATCH] chromium: musl: include fcntl.h for loff_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../tcmalloc/chromium/src/base/linux_syscall_support.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
+index b29ec2d29a7..91f77dd88d4 100644
+--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
++++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
+@@ -150,6 +150,7 @@ extern "C" {
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <string.h>
++#include <fcntl.h>
+ #include <sys/ptrace.h>
+ #include <sys/resource.h>
+ #include <sys/time.h>
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
new file mode 100644
index 00000000..e7dba73b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
@@ -0,0 +1,62 @@
+From 081561227fb55b9a419632b1f6187d9d7bedd8f9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 14:38:37 -0700
+Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t
+
+- only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl
+ does not support the 32-bit ABI.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
+index 715c045f66c..edc8cf2db70 100644
+--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
+@@ -77,7 +77,7 @@ typedef off64_t __off64_t;
+
+ static inline void* do_mmap64(void *start, size_t length,
+ int prot, int flags,
+- int fd, __off64_t offset) __THROW {
++ int fd, off64_t offset) __THROW {
+ // The original gperftools uses sys_mmap() here. But, it is not allowed by
+ // Chromium's sandbox.
+ return (void *)syscall(SYS_mmap, start, length, prot, flags, fd, offset);
+@@ -90,7 +90,7 @@ static inline void* do_mmap64(void *start, size_t length,
+
+ static inline void* do_mmap64(void *start, size_t length,
+ int prot, int flags,
+- int fd, __off64_t offset) __THROW {
++ int fd, off64_t offset) __THROW {
+ void *result;
+
+ // Try mmap2() unless it's not supported
+@@ -161,7 +161,7 @@ static inline void* do_mmap64(void *start, size_t length,
+
+ extern "C" {
+ void* mmap64(void *start, size_t length, int prot, int flags,
+- int fd, __off64_t offset ) __THROW
++ int fd, off64_t offset ) __THROW
+ ATTRIBUTE_SECTION(malloc_hook);
+ void* mmap(void *start, size_t length,int prot, int flags,
+ int fd, off_t offset) __THROW
+@@ -178,7 +178,7 @@ extern "C" {
+ }
+
+ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
+- int fd, __off64_t offset) __THROW {
++ int fd, off64_t offset) __THROW {
+ MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset);
+ void *result;
+ if (!MallocHook::InvokeMmapReplacement(
+@@ -189,7 +189,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
+ return result;
+ }
+
+-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)
++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH))
+
+ extern "C" void* mmap(void *start, size_t length, int prot, int flags,
+ int fd, off_t offset) __THROW {
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-linux-glibc-make-the-distinction.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-linux-glibc-make-the-distinction.patch
new file mode 100644
index 00000000..c3069593
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-linux-glibc-make-the-distinction.patch
@@ -0,0 +1,23 @@
+From 0bba2d9a7bbcc97126b1440db71364ff5aa8c5f8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 14:54:38 -0700
+Subject: [PATCH] chromium: musl: linux != glibc, make the distinction
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/base/allocator/allocator_check.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc
+index 9cd5d2207de..1e700956483 100644
+--- a/chromium/base/allocator/allocator_check.cc
++++ b/chromium/base/allocator/allocator_check.cc
+@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() {
+ // Set by allocator_shim_override_ucrt_symbols_win.h when the
+ // shimmed _set_new_mode() is called.
+ return g_is_win_shim_layer_initialized;
+-#elif defined(OS_LINUX) && defined(USE_TCMALLOC) && \
++#elif defined(__GLIBC__) && defined(USE_TCMALLOC) && \
+ !defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
+ // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h.
+ // TODO(primiano): replace with an include once base can depend on allocator.
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
new file mode 100644
index 00000000..009e41fd
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
@@ -0,0 +1,24 @@
+From 922a3f82d7810d23b4f735f5af4574993bde2974 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 15:09:02 -0700
+Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols
+ for musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/base/allocator/allocator_shim.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc
+index 4b7de5e1a32..fe565223f2b 100644
+--- a/chromium/base/allocator/allocator_shim.cc
++++ b/chromium/base/allocator/allocator_shim.cc
+@@ -302,7 +302,7 @@ ALWAYS_INLINE void ShimFreeDefiniteSize(void* ptr, size_t size, void* context) {
+ // In the case of tcmalloc we also want to plumb into the glibc hooks
+ // to avoid that allocations made in glibc itself (e.g., strdup()) get
+ // accidentally performed on the glibc heap instead of the tcmalloc one.
+-#if defined(USE_TCMALLOC)
++#if defined(USE_TCMALLOC) && defined(__GLIBC__)
+ #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h"
+ #endif
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
new file mode 100644
index 00000000..65bf1965
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
@@ -0,0 +1,24 @@
+From c3dddfccc66fdceb730674838e1676febc66587c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 15:12:39 -0700
+Subject: [PATCH] chromium: musl: Use correct member name __si_fields from
+ LinuxSigInfo
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/sandbox/linux/seccomp-bpf/trap.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/sandbox/linux/seccomp-bpf/trap.cc b/chromium/sandbox/linux/seccomp-bpf/trap.cc
+index 003708d2c89..0fef3148f9d 100644
+--- a/chromium/sandbox/linux/seccomp-bpf/trap.cc
++++ b/chromium/sandbox/linux/seccomp-bpf/trap.cc
+@@ -168,7 +168,7 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) {
+ // most versions of glibc don't include this information in siginfo_t. So,
+ // we need to explicitly copy it into a arch_sigsys structure.
+ struct arch_sigsys sigsys;
+- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
+
+ #if defined(__mips__)
+ // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
new file mode 100644
index 00000000..8582607c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
@@ -0,0 +1,79 @@
+From 7638d64991e35b688aa9e1385925bc45f8589246 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 15:27:50 -0700
+Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc
+ platforms
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/net/dns/dns_config_service_posix.cc | 4 +++
+ chromium/net/dns/dns_reloader.cc | 4 +++
+ chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++
+ 3 files changed, 37 insertions(+)
+ create mode 100644 chromium/net/dns/resolv_compat.h
+
+diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc
+index f2e66331e33..6fe84dd66af 100644
+--- a/chromium/net/dns/dns_config_service_posix.cc
++++ b/chromium/net/dns/dns_config_service_posix.cc
+@@ -27,6 +27,10 @@
+ #include "net/dns/notify_watcher_mac.h"
+ #include "net/dns/serial_worker.h"
+
++#if defined(OS_LINUX) && !defined(__GLIBC__)
++#include "net/dns/resolv_compat.h"
++#endif
++
+ #if defined(OS_MACOSX) && !defined(OS_IOS)
+ #include "net/dns/dns_config_watcher_mac.h"
+ #endif
+diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc
+index 322c8a5f0f7..72ff40dbe15 100644
+--- a/chromium/net/dns/dns_reloader.cc
++++ b/chromium/net/dns/dns_reloader.cc
+@@ -9,6 +9,10 @@
+
+ #include <resolv.h>
+
++#if defined(OS_LINUX) && !defined(__GLIBC__)
++#include "net/dns/resolv_compat.h"
++#endif
++
+ #include "base/lazy_instance.h"
+ #include "base/logging.h"
+ #include "base/macros.h"
+diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h
+new file mode 100644
+index 00000000000..4f0e852a19d
+--- /dev/null
++++ b/chromium/net/dns/resolv_compat.h
+@@ -0,0 +1,29 @@
++#if !defined(__GLIBC__)
++/***************************************************************************
++ * resolv_compat.h
++ *
++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
++ * Note: res_init() is actually deprecated according to
++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
++ **************************************************************************/
++#include <string.h>
++
++static inline int res_ninit(res_state statp)
++{
++ int rc = res_init();
++ if (statp != &_res) {
++ memcpy(statp, &_res, sizeof(*statp));
++ }
++ return rc;
++}
++
++static inline int res_nclose(res_state statp)
++{
++ if (!statp)
++ return -1;
++ if (statp != &_res) {
++ memset(statp, 0, sizeof(*statp));
++ }
++ return 0;
++}
++#endif
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch
new file mode 100644
index 00000000..5db4834b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch
@@ -0,0 +1,26 @@
+From 2a49b947ad8e586229411bdd2a00bd496c9e3d0e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 15:39:57 -0700
+Subject: [PATCH] chromium: musl: Do not define __sbrk on musl
+
+musl libc does not have sbrk. on musl libc will only work when called with 0 as
+argument, so we just let it out for now
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
+index edc8cf2db70..a868b50d30f 100644
+--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h
+@@ -233,7 +233,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size,
+ }
+
+ // Don't hook sbrk() in Android, since it doesn't expose __sbrk.
+-#if !defined(__ANDROID__)
++#if !defined(__ANDROID__) && defined(__GLIBC__)
+ // libc's version:
+ extern "C" void* __sbrk(ptrdiff_t increment);
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch
new file mode 100644
index 00000000..c0750a31
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch
@@ -0,0 +1,47 @@
+From 98af1531d71359612bbaa2a8619520ca4b6814bc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 16:41:23 -0700
+Subject: [PATCH] chromium: musl: Adjust default pthread stack size
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/base/threading/platform_thread_linux.cc | 3 ++-
+ chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp | 4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc
+index 9917a7b1fd6..cb406659b90 100644
+--- a/chromium/base/threading/platform_thread_linux.cc
++++ b/chromium/base/threading/platform_thread_linux.cc
+@@ -173,7 +173,8 @@ void TerminateOnThread() {}
+
+ size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
+ #if !defined(THREAD_SANITIZER)
+- return 0;
++ // use 8mb like glibc to avoid running out of space
++ return (1 << 23);
+ #else
+ // ThreadSanitizer bloats the stack heavily. Evidence has been that the
+ // default stack size isn't enough for some browser tests.
+diff --git a/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp b/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp
+index 13c3f907f8e..07308e08351 100644
+--- a/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp
++++ b/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp
+@@ -28,7 +28,7 @@ size_t GetUnderestimatedStackSize() {
+ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
+ // correctly for the main thread.
+
+-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
+ defined(OS_FUCHSIA)
+ // pthread_getattr_np() can fail if the thread is not invoked by
+ // pthread_create() (e.g., the main thread of webkit_unit_tests).
+@@ -96,7 +96,7 @@ size_t GetUnderestimatedStackSize() {
+ }
+
+ void* GetStackStart() {
+-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
+ defined(OS_FUCHSIA)
+ pthread_attr_t attr;
+ int error;
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch
new file mode 100644
index 00000000..c11a7ce8
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch
@@ -0,0 +1,22 @@
+From b9a0991d31f2c88525022690640b5f30a42821b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Jul 2017 17:15:34 -0700
+Subject: [PATCH] chromium: musl: include asm-generic/ioctl.h for TCGETS2
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/device/serial/serial_io_handler_posix.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/device/serial/serial_io_handler_posix.cc b/chromium/device/serial/serial_io_handler_posix.cc
+index d6ed5e1f889..b550f895ef5 100644
+--- a/chromium/device/serial/serial_io_handler_posix.cc
++++ b/chromium/device/serial/serial_io_handler_posix.cc
+@@ -6,6 +6,7 @@
+
+ #include <sys/ioctl.h>
+ #include <termios.h>
++#include <asm-generic/ioctls.h>
+
+ #include "base/files/file_util.h"
+ #include "base/posix/eintr_wrapper.h"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch
new file mode 100644
index 00000000..1ec4dd2b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch
@@ -0,0 +1,23 @@
+From db18f880b833041e3151a3dc8541f7d35d43a4b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 8 Jul 2017 09:08:23 -0700
+Subject: [PATCH] chromium: musl: tcmalloc: Use off64_t insread of __off64_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../tcmalloc/chromium/src/base/linux_syscall_support.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
+index 91f77dd88d4..bb84a0b3058 100644
+--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
++++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
+@@ -1929,7 +1929,7 @@ typedef unsigned long int ulong;
+ #if defined(__x86_64__)
+ /* Need to make sure __off64_t isn't truncated to 32-bits under x32. */
+ LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d,
+- __off64_t o) {
++ off64_t o) {
+ LSS_BODY(6, void*, mmap, LSS_SYSCALL_ARG(s), LSS_SYSCALL_ARG(l),
+ LSS_SYSCALL_ARG(p), LSS_SYSCALL_ARG(f),
+ LSS_SYSCALL_ARG(d), (uint64_t)(o));
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
new file mode 100644
index 00000000..12bea67f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
@@ -0,0 +1,63 @@
+From 3b87874627418a66bb082ba7825849c073b2c19d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Sep 2018 12:35:07 -0700
+Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on
+ linux
+
+glibc defines both. musl libc only the former.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++--
+ .../src/client/linux/dump_writer_common/ucontext_reader.h | 2 +-
+ .../src/client/linux/minidump_writer/minidump_writer.h | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+index 052ce37cb44..95b0fb44e12 100644
+--- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ }
+
+ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+- const struct _libc_fpstate* fp) {
++ const struct _fpstate* fp) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_X86_FULL |
+@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+ }
+
+ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+- const struct _libc_fpstate* fpregs) {
++ const struct _fpstate* fpregs) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_AMD64_FULL;
+diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+index f830618f240..f3dde1f4dff 100644
+--- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -50,7 +50,7 @@ struct UContextReader {
+ // info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+- const struct _libc_fpstate* fp);
++ const struct _fpstate* fp);
+ #elif defined(__aarch64__)
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+ const struct fpsimd_context* fpregs);
+diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+index d1dc331215a..d1cc5624cd4 100644
+--- a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+@@ -48,7 +48,7 @@ class ExceptionHandler;
+ #if defined(__aarch64__)
+ typedef struct fpsimd_context fpstate_t;
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+-typedef struct _libc_fpstate fpstate_t;
++typedef struct _fpstate fpstate_t;
+ #endif
+
+ // These entries store a list of memory regions that the client wants included
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
new file mode 100644
index 00000000..0ff26e51
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
@@ -0,0 +1,56 @@
+From c1a7511a323997411728689078946122d176551b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 25 Sep 2018 12:59:05 -0700
+Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to get
+ __WORDSIZE on musl libc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ chromium/third_party/breakpad/breakpad/configure.ac | 2 +-
+ .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 3 ++-
+ .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 +
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac
+index ec194ddd203..767c2af11ee 100644
+--- a/chromium/third_party/breakpad/breakpad/configure.ac
++++ b/chromium/third_party/breakpad/breakpad/configure.ac
+@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
+ AC_HEADER_STDC
+ AC_SYS_LARGEFILE
+ AX_PTHREAD
+-AC_CHECK_HEADERS([a.out.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h])
+ AC_CHECK_FUNCS([arc4random getrandom])
+
+ AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+diff --git a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
+index 4135a51a980..be92b792d3c 100644
+--- a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
++++ b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
+@@ -29,10 +29,11 @@
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE // needed for pread()
+ #endif
+-
++#include <config.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/mman.h>
++#include <sys/reg.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <string.h>
+diff --git a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
+index d03c7a88d38..28b55ab6300 100644
+--- a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
++++ b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
+@@ -33,6 +33,7 @@
+ #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_
+ #define COMMON_LINUX_ELF_CORE_DUMP_H_
+
++#include <sys/reg.h>
+ #include <elf.h>
+ #include <link.h>
+ #include <stddef.h>
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebengine_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebengine_git.bb
new file mode 100644
index 00000000..7b157096
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebengine_git.bb
@@ -0,0 +1,183 @@
+SUMMARY = "QtWebEngine combines the power of Chromium and Qt"
+
+# Read http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
+LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://src/core/browser_context_qt.cpp;md5=b5193b7d68699260f3b40b201365c8d2;beginline=1;endline=38 \
+ file://src/3rdparty/chromium/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \
+ file://LICENSE.LGPL3;md5=8211fde12cc8a4e2477602f5953f5b71 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+"
+
+DEPENDS += " \
+ libpng-native \
+ nss-native \
+ nspr-native \
+ ninja-native \
+ nasm-native \
+ bison-native \
+ qtwebchannel \
+ qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \
+ qtlocation \
+ libdrm fontconfig pixman openssl pango cairo icu pciutils nss \
+ libcap \
+ gperf-native \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
+"
+
+DEPENDS_append_libc-musl = " libexecinfo"
+
+EXTRA_QMAKEVARS_CONFIGURE += "-feature-webengine-system-ninja -no-feature-webengine-system-gn"
+EXTRA_QMAKEVARS_PRE += "CONFIG+=force_debug_info"
+
+# chromium/third_party/openh264/openh264.gyp adds
+# -Wno-format to openh264_cflags_add
+# similarly chromium/third_party/openh264/BUILD.gn for newer qtwebengine
+# causing following error, because -Wformat-security cannot be used together with -Wno-format
+# cc1plus: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
+# http://errors.yoctoproject.org/Errors/Details/150333/
+SECURITY_STRINGFORMAT = ""
+
+# To use system ffmpeg you need to enable also libwebp, opus, vpx
+# Only depenedencies available in oe-core are enabled by default
+PACKAGECONFIG ??= "libwebp libevent libpng"
+PACKAGECONFIG[icu] = "-feature-webengine-system-icu,-no-feature-webengine-system-icu,icu"
+PACKAGECONFIG[ffmpeg] = "-feature-webengine-system-ffmpeg,-no-feature-webengine-system-ffmpeg,libav"
+PACKAGECONFIG[webrtc] = "-feature-webengine-webrtc,-no-feature-webengine-webrtc,libvpx"
+PACKAGECONFIG[libwebp] = "-feature-webengine-system-libwebp,-no-feature-webengine-system-libwebp,libwebp"
+PACKAGECONFIG[opus] = "-feature-webengine-system-opus,-no-feature-webengine-system-opus,libopus"
+PACKAGECONFIG[libvpx] = "-feature-webengine-system-libvpx,-no-feature-webengine-system-libvpx,libvpx"
+PACKAGECONFIG[libevent] = "-feature-webengine-system-libevent,-no-feature-webengine-system-libevent,libevent"
+PACKAGECONFIG[libpng] = "-feature-webengine-system-png,-no-feature-webengine-system-png,libpng"
+PACKAGECONFIG[harfbuzz] = "-feature-webengine-system-harfbuzz,-no-feature-webengine-system-harfbuzz,harfbuzz"
+PACKAGECONFIG[glib] = "-feature-webengine-system-glib,-no-feature-webengine-system-glib,glib-2.0"
+PACKAGECONFIG[zlib] = "-feature-webengine-system-zlib,-no-feature-webengine-system-zlib,zlib"
+PACKAGECONFIG[protobuf] = "-feature-webengine-system-protobuf,-no-feature-webengine-system-protobuf,protobuf"
+PACKAGECONFIG[jasoncpp] = "-feature-webengine-system-jsoncpp,-no-feature-webengine-system-jsoncpp,jasoncpp"
+PACKAGECONFIG[libxml2] = "-feature-webengine-system-libxml2,-no-feature-webengine-system-libxml2,libxml2"
+PACKAGECONFIG[minizip] = "-feature-webengine-system-minizip,-no-feature-webengine-system-minizip,minizip"
+PACKAGECONFIG[proprietary-codecs] = "-feature-webengine-proprietary-codecs,-no-feature-webengine-proprietary-codecs"
+PACKAGECONFIG[pepper-plugins] = "-feature-webengine-pepper-plugins,-no-feature-webengine-pepper-plugins"
+PACKAGECONFIG[printing-and-pdf] = "-feature-webengine-printing-and-pdf,-no-feature-webengine-printing-and-pdf"
+PACKAGECONFIG[spellchecker] = "-feature-webengine-spellchecker,-no-feature-webengine-spellchecker"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+COMPATIBLE_MACHINE = "(-)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_armv6 = "(.*)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
+COMPATIBLE_MACHINE_aarch64 = "(.*)"
+
+inherit qmake5
+inherit gettext
+inherit pythonnative
+inherit perlnative
+inherit distro_features_check
+
+# Static builds of QtWebEngine aren't supported.
+CONFLICT_DISTRO_FEATURES = "qt5-static"
+
+# we don't want gettext.bbclass to append --enable-nls
+def gettext_oeconf(d):
+ return ""
+
+require qt5.inc
+require qt5-git.inc
+
+export GN_PKG_CONFIG_HOST = "${STAGING_BINDIR_NATIVE}/pkg-config-native"
+export GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS = "-I${STAGING_DIR_NATIVE}/usr/include"
+export NINJAFLAGS="${PARALLEL_MAKE}"
+
+do_configure() {
+
+ # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as
+ # arguments here
+ ${OE_QMAKE_QMAKE} ${EXTRA_QMAKEVARS_PRE} ${S} \
+ QMAKE_CXX="${OE_QMAKE_CXX}" \
+ QMAKE_CC="${OE_QMAKE_CC}" \
+ QMAKE_LINK="${OE_QMAKE_LINK}" \
+ QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \
+ QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \
+ -after ${EXTRA_QMAKEVARS_POST} -- \
+ ${EXTRA_QMAKEVARS_CONFIGURE}
+}
+
+do_configure_prepend_libc-musl() {
+ for f in `find ${S}/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/ -name config.h -o -name config.asm`; do
+ sed -i -e "s:define HAVE_SYSCTL 1:define HAVE_SYSCTL 0:g" $f
+ done
+ sed -i -e "s:define HAVE_STRUCT_MALLINFO 1:/*undef HAVE_STRUCT_MALLINFO */:g" ${S}/src/3rdparty/chromium/third_party/tcmalloc/chromium/src/config_linux.h
+}
+
+do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
+
+do_install_append() {
+ sed -i 's@ -Wl,--start-group.*-Wl,--end-group@@g; s@[^ ]*${B}[^ ]* @@g' ${D}${libdir}/pkgconfig/Qt5WebEngineCore.pc
+}
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+
+# for /usr/share/qt5/qtwebengine_resources.pak
+FILES_${PN} += "${OE_QMAKE_PATH_QT_TRANSLATIONS} ${OE_QMAKE_PATH_QT_DATA}"
+
+# Chromium uses libpci to determine which optimizations/workarounds to apply
+RDEPENDS_${PN}_append_x86 = " libpci"
+
+RDEPENDS_${PN}-examples += " \
+ ${PN}-qmlplugins \
+ qtquickcontrols-qmlplugins \
+ qtdeclarative-qmlplugins \
+"
+
+QT_MODULE_BRANCH_CHROMIUM = "65-based"
+
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.11
+# 5.11.meta-qt5.8
+SRC_URI += " \
+ ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \
+ file://0001-Force-host-toolchain-configuration.patch \
+ file://0002-chromium_overrides.cpp-Fix-build-with-plugins-and-oz.patch \
+"
+SRC_URI_append_libc-musl = "\
+ file://0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \
+ file://0004-musl-link-against-libexecinfo.patch \
+"
+
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/65-based
+# 65-based.meta-qt5.7
+SRC_URI += " \
+ file://chromium/0001-chromium-Force-host-toolchain-configuration.patch;patchdir=src/3rdparty \
+ file://chromium/0002-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \
+ file://chromium/0003-chromium-Fix-build-with-gcc8.patch;patchdir=src/3rdparty \
+"
+
+SRC_URI_append_libc-musl = "\
+ file://chromium/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \
+ file://chromium/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \
+ file://chromium/0006-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \
+ file://chromium/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \
+ file://chromium/0008-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \
+ file://chromium/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \
+ file://chromium/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch;patchdir=src/3rdparty \
+ file://chromium/0011-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
+ file://chromium/0012-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
+ file://chromium/0013-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
+ file://chromium/0014-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch;patchdir=src/3rdparty \
+ file://chromium/0015-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch;patchdir=src/3rdparty \
+ file://chromium/0016-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \
+ file://chromium/0017-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \
+"
+
+SRCREV_qtwebengine = "18412af977d658f243eb5b25b62284924cfa362f"
+SRCREV_chromium = "2095a35f300bcbe82e968e9a547dff7c79be29d8"
+SRCREV = "${SRCREV_qtwebengine}"
+
+SRCREV_FORMAT = "qtwebengine_chromium"
+
+# WARNING: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0 do_package_qa: QA Issue: ELF binary '/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtwebengine/5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0/packages-split/qtwebengine/usr/lib/libQt5WebEngineCore.so.5.6.0' has relocations in .text [textrel]
+INSANE_SKIP_${PN} += "textrel"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebglplugin_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebglplugin_git.bb
new file mode 100644
index 00000000..993ad3ff
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebglplugin_git.bb
@@ -0,0 +1,21 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+DEPENDS += "qtbase qtwebsockets"
+
+PACKAGECONFIG ?= "qtdeclarative"
+PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
+
+do_configure_prepend() {
+ # disable qtdeclarative test if it isn't enabled by PACKAGECONFIG
+ sed -e 's/^\(qtHaveModule(quick)\)/OE_QTDECLARATIVE_ENABLED:\1/' -i ${S}/src/plugins/platforms/webgl/webgl.pro
+}
+
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}"
+
+SRCREV = "b57a3ce9d95f36ca0f1b1d1e9cf1e20030e882d8"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit-examples/0001-Fix-build-with-qt-5.11.patch b/external/meta-qt5/recipes-qt/qt5/qtwebkit-examples/0001-Fix-build-with-qt-5.11.patch
new file mode 100644
index 00000000..57e318b0
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit-examples/0001-Fix-build-with-qt-5.11.patch
@@ -0,0 +1,48 @@
+From e07f1fcba5a291ef0ab31fd85fbc4836eda19a66 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Sep 2018 03:14:29 -0700
+Subject: [PATCH] Fix build with qt 5.11
+
+Fixes
+
+examples/webkitwidgets/scroller/wheel/main.cpp:93:84: error: cannot call
+member function 'int QRandomGenerator::bounded(int)' without object
+ m_wheel1->scrollTo(m_wheel1->currentIndex() +
+QRandomGenerator::bounded(200));
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/webkitwidgets/scroller/wheel/main.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/examples/webkitwidgets/scroller/wheel/main.cpp b/examples/webkitwidgets/scroller/wheel/main.cpp
+index 11fad08..9a6a225 100644
+--- a/examples/webkitwidgets/scroller/wheel/main.cpp
++++ b/examples/webkitwidgets/scroller/wheel/main.cpp
+@@ -40,7 +40,7 @@
+
+ #include <QtWidgets>
+ #include <qmath.h>
+-
++#include <QRandomGenerator>
+ #include "wheelwidget.h"
+
+ class MainWindow : public QMainWindow
+@@ -90,9 +90,9 @@ public:
+ private slots:
+ void rotateRandom()
+ {
+- m_wheel1->scrollTo(m_wheel1->currentIndex() + QRandomGenerator::bounded(200));
+- m_wheel2->scrollTo(m_wheel2->currentIndex() + QRandomGenerator::bounded(200));
+- m_wheel3->scrollTo(m_wheel3->currentIndex() + QRandomGenerator::bounded(200));
++ m_wheel1->scrollTo(m_wheel1->currentIndex() + QRandomGenerator::global()->bounded(200));
++ m_wheel2->scrollTo(m_wheel2->currentIndex() + QRandomGenerator::global()->bounded(200));
++ m_wheel3->scrollTo(m_wheel3->currentIndex() + QRandomGenerator::global()->bounded(200));
+ }
+
+ private:
+--
+2.19.0
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb
new file mode 100644
index 00000000..4b635bdf
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb
@@ -0,0 +1,24 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPLv2;md5=05832301944453ec79e40ba3c3cfceec \
+ file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \
+ file://LICENSE.LGPLv3;md5=b8c75190712063cde04e1f41b6fdad98 \
+ file://LICENSE.GPLv3;md5=40f9bf30e783ddc201497165dfb32afb \
+ file://examples/webkitwidgets/scroller/wheel/main.cpp;endline=39;md5=b0739af76072fbe303dc04b6941e054f \
+ file://examples/webkitwidgets/imageanalyzer/imageanalyzer.cpp;endline=39;md5=b0739af76072fbe303dc04b6941e054f \
+"
+
+SRC_URI += "file://0001-Fix-build-with-qt-5.11.patch"
+
+PACKAGECONFIG ?= "examples"
+
+DEPENDS += "qtwebkit qtxmlpatterns"
+RDEPENDS_${PN}-examples += "qtwebkit-qmlplugins"
+RDEPENDS_${PN}-examples += "${@bb.utils.contains('PACKAGECONFIG_OPENSSL', 'openssl', 'ca-certificates', '', d)}"
+
+QT_MODULE_BRANCH = "dev"
+
+SRCREV = "2d68492004bf4ba49cf58c9bd72706cb282cf59b"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch
new file mode 100644
index 00000000..4b2b2759
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch
@@ -0,0 +1,28 @@
+From 1a4e33ac630b0e4f285e238479900f0e10c6d15f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 4 Jun 2018 10:35:46 +0200
+Subject: [PATCH] Do not skip build for cross-compile
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Tools/qmake/mkspecs/features/functions.prf | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf
+index e3f42cec4..797b7085f 100644
+--- a/Tools/qmake/mkspecs/features/functions.prf
++++ b/Tools/qmake/mkspecs/features/functions.prf
+@@ -53,8 +53,6 @@ defineReplace(appleSdkVersion) {
+ defineTest(isPlatformSupported) {
+ !qtHaveModule(widgets): skipBuild("QtWidgets module is required to build QtWebKit.")
+
+- cross_compile: skipBuild("cross-compilation of QtWebKit with qmake is not supported yet")
+-
+ requiredPrograms = cmake gperf python perl bison ruby flex
+ for(program, requiredPrograms): \
+ !programExistsInPath($$program): \
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
new file mode 100644
index 00000000..8c718b47
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
@@ -0,0 +1,40 @@
+From c00c61a42f9076aecad195b7f72b7db9b3601181 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Sep 2018 02:11:10 -0700
+Subject: [PATCH] PlatformQt.cmake: Do not generate hardcoded include paths
+
+If we do not use this define,then it falls into else case which
+generated .pri files with /usr/include and so on for includes and
+compiler does not like specifying absolute include paths pointing to
+build host includes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/WebKit/PlatformQt.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake
+index 3792def6f..b6cb36bb1 100644
+--- a/Source/WebKit/PlatformQt.cmake
++++ b/Source/WebKit/PlatformQt.cmake
+@@ -510,7 +510,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS)
+ install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data)
+ endif ()
+
+-if (KDE_INSTALL_USE_QT_SYS_PATHS)
++if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE)
+ set(WebKit_PRI_ARGUMENTS
+ BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE"
+ LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE"
+@@ -734,7 +734,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS)
+ install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data)
+ endif ()
+
+-if (KDE_INSTALL_USE_QT_SYS_PATHS)
++if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE)
+ set(WebKitWidgets_PRI_ARGUMENTS
+ BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE"
+ LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE"
+--
+2.19.0
+
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch
new file mode 100644
index 00000000..dead46d1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch
@@ -0,0 +1,69 @@
+From 9db9a8850602c2446b1a7ee96608fd74cf56a342 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Aug 2018 04:06:17 +0000
+Subject: [PATCH] Fix build with non-glibc libc on musl
+
+Need to ensure glibc features are not assumed to be linux-wide
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/JavaScriptCore/heap/MachineStackMarker.cpp | 8 ++++----
+ .../inspector/JSGlobalObjectInspectorController.cpp | 2 ++
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+index 883914fd3..ce4e8d331 100644
+--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp
++++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const
+ #error Unknown Architecture
+ #endif
+
+-#elif defined(__GLIBC__) && ENABLE(JIT)
++#elif defined(__linux__) && ENABLE(JIT)
+
+ #if CPU(X86)
+ return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESP]);
+@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers::framePointer() const
+ #error Unknown Architecture
+ #endif
+
+-#elif defined(__GLIBC__)
++#elif defined(__linux__)
+
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers::instructionPointer() const
+ #error Unknown Architecture
+ #endif
+
+-#elif defined(__GLIBC__)
++#elif defined(__linux__)
+
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers::llintPC() const
+ #error Unknown Architecture
+ #endif
+
+-#elif defined(__GLIBC__)
++#elif defined(__linux__)
+
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+diff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
+index fd7f869d4..e95391b32 100644
+--- a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
++++ b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
+@@ -51,8 +51,10 @@
+ #include <cxxabi.h>
+ #if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK))
+ #include <dlfcn.h>
++#if defined(__GLIBC__)
+ #include <execinfo.h>
+ #endif
++#endif
+
+ #if ENABLE(REMOTE_INSPECTOR)
+ #include "JSGlobalObjectDebuggable.h"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch
new file mode 100644
index 00000000..23fed74f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch
@@ -0,0 +1,25 @@
+From 5aa039af074c20bea1398f7f18712dc494a5f138 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Fri, 31 Aug 2018 15:42:48 +0900
+Subject: [PATCH] Fix build bug for armv32 BE.
+
+Upstream-Status: Pending
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ Source/WTF/wtf/dtoa/utils.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
+index 889642cee..05302e6e6 100644
+--- a/Source/WTF/wtf/dtoa/utils.h
++++ b/Source/WTF/wtf/dtoa/utils.h
+@@ -49,7 +49,7 @@
+ defined(__ARMEL__) || \
+ defined(_MIPS_ARCH_MIPS32R2)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #if defined(_WIN32)
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebkit_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebkit_git.bb
new file mode 100644
index 00000000..bd0c6aeb
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebkit_git.bb
@@ -0,0 +1,74 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "BSD & LGPLv2+ | GPL-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \
+ file://Source/JavaScriptCore/parser/Parser.h;endline=21;md5=bd69f72183a7af673863f057576e21ee \
+"
+
+DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native"
+
+# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.11
+# 5.11.meta-qt5.2
+SRC_URI += "\
+ file://0001-Do-not-skip-build-for-cross-compile.patch \
+ file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \
+ file://0004-Fix-build-bug-for-armv32-BE.patch \
+ file://0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \
+"
+
+inherit cmake_qt5 perlnative pythonnative
+
+# qemuarm build fails with:
+# | {standard input}: Assembler messages:
+# | {standard input}:106: Error: invalid immediate: 983040 is out of range
+# | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
+# https://bugs.webkit.org/show_bug.cgi?id=159880
+# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
+# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
+ARM_INSTRUCTION_SET_armv7a = "thumb"
+ARM_INSTRUCTION_SET_armv7r = "thumb"
+ARM_INSTRUCTION_SET_armv7ve = "thumb"
+
+# http://errors.yoctoproject.org/Errors/Details/179245/
+# just use -fpermissive in this case like fedora did:
+# https://bugzilla.redhat.com/show_bug.cgi?id=1582954
+CXXFLAGS += "-fpermissive"
+
+EXTRA_OECMAKE += " \
+ -DPORT=Qt \
+ -DCROSS_COMPILE=ON \
+ -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \
+ -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \
+"
+
+EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'"
+
+PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+ fontconfig \
+"
+
+# gstreamer conflicts with qtmultimedia!
+PACKAGECONFIG[gstreamer] = "-DUSE_GSTREAMER=ON,-DUSE_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[qtlocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,qtlocation"
+PACKAGECONFIG[qtmultimedia] = "-DUSE_QT_MULTIMEDIA=ON,-DUSE_QT_MULTIMEDIA=OFF,qtmultimedia"
+PACKAGECONFIG[qtsensors] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF,qtsensors"
+PACKAGECONFIG[qtwebchannel] = "-DENABLE_QT_WEBCHANNEL=ON,-DENABLE_QT_WEBCHANNEL=OFF,qtwebchannel"
+PACKAGECONFIG[libwebp] = ",,libwebp"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,libxcomposite libxrender"
+PACKAGECONFIG[fontconfig] = "-DENABLE_TEST_SUPPORT=ON,-DENABLE_TEST_SUPPORT=OFF,fontconfig"
+# hyphen is only in meta-office currently!
+PACKAGECONFIG[hyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,hyphen"
+
+# remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe
+PACKAGES_remove = "${PN}-examples"
+
+QT_MODULE_BRANCH = "dev"
+
+SRCREV = "beaeeb99881184fd368c121fcbb1a31c78b794a3"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebsockets_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebsockets_git.bb
new file mode 100644
index 00000000..f5dcfb05
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebsockets_git.bb
@@ -0,0 +1,14 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & (GPL-3 | LGPL-3.0) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtbase qtdeclarative"
+
+SRCREV = "395c1f1aed90f740f079d8f980c93f459b44733a"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtwebview_git.bb b/external/meta-qt5/recipes-qt/qt5/qtwebview_git.bb
new file mode 100644
index 00000000..10d5f13f
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtwebview_git.bb
@@ -0,0 +1,22 @@
+LICENSE = "GFDL-1.3 & BSD & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
+ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
+ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
+"
+
+require qt5.inc
+require qt5-git.inc
+
+DEPENDS += "qtbase qtwebengine"
+
+COMPATIBLE_MACHINE = "(-)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_armv6 = "(.*)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
+COMPATIBLE_MACHINE_aarch64 = "(.*)"
+
+SRCREV = "779bf9c3f24365df3f681a029cafd78c7991e929"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtx11extras_git.bb b/external/meta-qt5/recipes-qt/qt5/qtx11extras_git.bb
new file mode 100644
index 00000000..f768f75b
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtx11extras_git.bb
@@ -0,0 +1,15 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "877c585bc474934e3bb1044293a62c72cb01b9cf"
diff --git a/external/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb b/external/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb
new file mode 100644
index 00000000..e562bd1c
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb
@@ -0,0 +1,20 @@
+require qt5.inc
+require qt5-git.inc
+require qt5-ptest.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+DEPENDS += "qtbase"
+
+SRCREV = "657995db766faa48084024e780c4cd02fa05c527"
+
+BBCLASSEXTEND =+ "native nativesdk"
+
diff --git a/external/meta-qt5/recipes-qt/qtchooser/qtchooser_git.bb b/external/meta-qt5/recipes-qt/qtchooser/qtchooser_git.bb
new file mode 100644
index 00000000..3dcb35d0
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qtchooser/qtchooser_git.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Wrapper to select between Qt development binary versions"
+HOMEPAGE = "http://macieira.org/qtchooser"
+LICENSE = "LGPL-2.1 & Digia-Qt-LGPL-Exception-1.1 | GPL-3.0"
+SRC_URI = "git://code.qt.io/qtsdk/qtchooser.git"
+
+LIC_FILES_CHKSUM = " \
+ file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
+ file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
+"
+S = "${WORKDIR}/git"
+SRCREV = "71750df4f0c6bbadcd422cdf7fe360ad033bbd14"
+PV = "39+git${SRCPV}"
+
+inherit pkgconfig
+
+do_compile() {
+ oe_runmake LFLAGS='${LDFLAGS}'
+}
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+ #install configure file
+ install -d ${D}${sysconfdir}/xdg/qtchooser/
+ install -m 0644 ${S}/tests/auto/qtchooser/testdata/config2/qtchooser/*.conf \
+ ${D}${sysconfdir}/xdg/qtchooser/
+ install -m 0644 ${S}/tests/auto/qtchooser/testdata/default/qtchooser/default.conf \
+ ${D}${sysconfdir}/xdg/qtchooser/
+}
diff --git a/external/meta-qt5/recipes-qt/quazip/quazip_0.7.3.bb b/external/meta-qt5/recipes-qt/quazip/quazip_0.7.3.bb
new file mode 100644
index 00000000..970204e5
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/quazip/quazip_0.7.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Qt/C++ wrapper for ZIP/UNZIP package"
+HOMEPAGE = "http://quazip.sourceforge.net/"
+BUGTRACKER = "https://sourceforge.net/p/quazip/bugs/"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=910d778aab53617cbaf13c4e1810e289"
+DEPENDS = "qtbase"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI[md5sum] = "2ba7dd8b1d6dd588374c9fab5c46e76e"
+SRC_URI[sha256sum] = "2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5"
+
+inherit qmake5
+
+EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}"
+EXTRA_QMAKEVARS_POST += "SUBDIRS=${BPN}"
diff --git a/external/meta-qt5/recipes-qt/qwt/qwt-qt5/0001-Remove-rpath-from-binaries-they-point-to-buuild-area.patch b/external/meta-qt5/recipes-qt/qwt/qwt-qt5/0001-Remove-rpath-from-binaries-they-point-to-buuild-area.patch
new file mode 100644
index 00000000..fa63c347
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qwt/qwt-qt5/0001-Remove-rpath-from-binaries-they-point-to-buuild-area.patch
@@ -0,0 +1,69 @@
+From ff950c71bf841a4d62952aac72f3c5a830cf9cff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 29 Nov 2017 22:31:07 +0100
+Subject: [PATCH] Remove rpath from binaries - they point to buuild area
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is a rework of the patch submitted by Khem Raj.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ designer/designer.pro | 1 -
+ examples/examples.pri | 1 -
+ playground/playground.pri | 1 -
+ qwt.prf | 1 -
+ 4 files changed, 4 deletions(-)
+
+diff --git a/designer/designer.pro b/designer/designer.pro
+index 7d44a44..a11847d 100644
+--- a/designer/designer.pro
++++ b/designer/designer.pro
+@@ -83,7 +83,6 @@ contains(QWT_CONFIG, QwtDesigner) {
+ # compile the path for finding the Qwt library
+ # into the plugin. Not supported on Windows !
+
+- QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}
+ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt)
+
+ contains(QWT_CONFIG, QwtDll) {
+diff --git a/examples/examples.pri b/examples/examples.pri
+index 200b188..b7776a8 100644
+--- a/examples/examples.pri
++++ b/examples/examples.pri
+@@ -34,7 +34,6 @@ else {
+ }
+ }
+
+-QMAKE_RPATHDIR *= $${QWT_OUT_ROOT}/lib
+ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt)
+
+ greaterThan(QT_MAJOR_VERSION, 4) {
+diff --git a/playground/playground.pri b/playground/playground.pri
+index c544360..fd0275f 100644
+--- a/playground/playground.pri
++++ b/playground/playground.pri
+@@ -35,7 +35,6 @@ else {
+ }
+
+
+-QMAKE_RPATHDIR *= $${QWT_ROOT}/lib
+ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt)
+
+ greaterThan(QT_MAJOR_VERSION, 4) {
+diff --git a/qwt.prf b/qwt.prf
+index 2625b31..7860153 100644
+--- a/qwt.prf
++++ b/qwt.prf
+@@ -33,5 +33,4 @@ else {
+ INCLUDEPATH *= $${QWT_INSTALL_HEADERS}
+ }
+
+-# QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}
+ qwtAddLibrary($${QWT_INSTALL_LIBS}, qwt)
+--
+2.9.5
+
diff --git a/external/meta-qt5/recipes-qt/qwt/qwt-qt5_6.1.3.bb b/external/meta-qt5/recipes-qt/qwt/qwt-qt5_6.1.3.bb
new file mode 100644
index 00000000..49f4f9e5
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/qwt/qwt-qt5_6.1.3.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Qt Widget Extension for Technical Applications"
+SECTION = "libs"
+HOMEPAGE = "http://qwt.sourceforge.net/index.html"
+
+# LGPLv2.1 + some exceptions
+LICENSE = "QWTv1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dac2743472b0462ff3cfb4af42051c88"
+
+DEPENDS = "qtbase qtsvg qttools"
+
+inherit qmake5
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/qwt/qwt-${PV}.tar.bz2;name=qwt \
+ file://0001-Remove-rpath-from-binaries-they-point-to-buuild-area.patch \
+"
+SRC_URI[qwt.md5sum] = "19d1f5fa5e22054d22ee3accc37c54ba"
+SRC_URI[qwt.sha256sum] = "f3ecd34e72a9a2b08422fb6c8e909ca76f4ce5fa77acad7a2883b701f4309733"
+
+S = "${WORKDIR}/qwt-${PV}"
+
+EXTRA_QMAKEVARS_PRE += " \
+ QWT_CONFIG+=QwtPkgConfig \
+ QWT_CONFIG+=QwtExamples \
+"
+
+do_configure_prepend() {
+ sed -i 's:/usr/local/qwt-$$QWT_VERSION:${prefix}:' ${S}/*.pri
+}
+
+do_install_append() {
+ # seems out of tree build confuses installation of examples
+ # so install them manually
+ install -d ${D}${bindir}/
+ cp ${B}/examples/bin/* ${D}${bindir}/
+}
+
+
+PACKAGES_prepend = "${PN}-examples ${PN}-features ${PN}-plugins "
+FILES_${PN}-examples = "${bindir}/*"
+FILES_${PN}-features = "${prefix}/features"
+FILES_${PN}-plugins = "${prefix}/plugins/designer/*.so"
+FILES_${PN}-doc += "${prefix}/doc"
+
+INSANE_SKIP_${PN}-plugins += "libdir"
+INSANE_SKIP_${PN}-dbg += "libdir"
+
+RPROVIDES_${PN}-dev = "libqwt-qt5-dev"
diff --git a/external/meta-qt5/recipes-qt/tufao/tufao/0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch b/external/meta-qt5/recipes-qt/tufao/tufao/0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch
new file mode 100644
index 00000000..50dd7844
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/tufao/tufao/0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch
@@ -0,0 +1,91 @@
+From 85a4a1fcba0d81fbd8c4af3421114360f32c384e Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 19 Apr 2018 06:31:09 +0000
+Subject: [PATCH] CMakeLists.txt: fix build with Qt 5.11, don't use
+ qt5_use_modules
+
+* replace deprecated (and in 5.11 removed) qt5_use_modules macro usage with
+ the list of libraries in target_link_libraries as suggested in:
+ https://stackoverflow.com/questions/31172156/what-to-use-instead-of-qt5-use-modules
+
+Upstream-Status: Submitted https://github.com/vinipsmaker/tufao/pull/91
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ examples/cmake/hello-cmake/CMakeLists.txt | 3 +--
+ examples/cmake/sample_plugin/plugins/CMakeLists.txt | 3 +--
+ examples/cmake/sample_plugin/src/CMakeLists.txt | 3 +--
+ src/CMakeLists.txt | 2 +-
+ src/tests/CMakeLists.txt | 3 +--
+ 5 files changed, 5 insertions(+), 9 deletions(-)
+
+diff --git a/examples/cmake/hello-cmake/CMakeLists.txt b/examples/cmake/hello-cmake/CMakeLists.txt
+index 1995220..e93c83c 100644
+--- a/examples/cmake/hello-cmake/CMakeLists.txt
++++ b/examples/cmake/hello-cmake/CMakeLists.txt
+@@ -13,5 +13,4 @@ find_package(CXX11 REQUIRED)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAGS}")
+
+ add_executable(${PROJECT_NAME} main.cpp)
+-qt5_use_modules(${PROJECT_NAME} Core Network)
+-target_link_libraries(${PROJECT_NAME} ${TUFAO_LIBRARIES})
++target_link_libraries(${PROJECT_NAME} ${TUFAO_LIBRARIES} Qt5::Core Qt5::Network)
+diff --git a/examples/cmake/sample_plugin/plugins/CMakeLists.txt b/examples/cmake/sample_plugin/plugins/CMakeLists.txt
+index 3099dfb..b0ded18 100644
+--- a/examples/cmake/sample_plugin/plugins/CMakeLists.txt
++++ b/examples/cmake/sample_plugin/plugins/CMakeLists.txt
+@@ -9,5 +9,4 @@ set(PLUGIN_HEADERS
+ )
+
+ add_library(Test SHARED ${PLUGIN_HEADERS} ${PLUGIN_SOURCE})
+-qt5_use_modules(Test Core Network)
+-target_link_libraries(Test ${TUFAO_LIBRARIES})
++target_link_libraries(Test ${TUFAO_LIBRARIES} Qt5::Test Qt5::Core Qt5::Network)
+diff --git a/examples/cmake/sample_plugin/src/CMakeLists.txt b/examples/cmake/sample_plugin/src/CMakeLists.txt
+index 379440f..fe97a0f 100644
+--- a/examples/cmake/sample_plugin/src/CMakeLists.txt
++++ b/examples/cmake/sample_plugin/src/CMakeLists.txt
+@@ -9,5 +9,4 @@ set(${PROJECT_NAME}_HEADERS
+ )
+
+ add_executable(${PROJECT_NAME} ${${PROJECT_NAME}_HEADERS} ${${PROJECT_NAME}_SOURCE})
+-qt5_use_modules(${PROJECT_NAME} Core Network)
+-target_link_libraries(${PROJECT_NAME} ${TUFAO_LIBRARIES} ${Test})
++target_link_libraries(${PROJECT_NAME} ${TUFAO_LIBRARIES} ${Test} Qt5::Core Qt5::Network)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 3b10a35..91e619e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -36,7 +36,7 @@ endif()
+
+ add_library("${TUFAO_LIBRARY}" SHARED ${tufao_SRC})
+
+-qt5_use_modules("${TUFAO_LIBRARY}" Core Network)
++target_link_libraries("${TUFAO_LIBRARY}" Qt5::Core Qt5::Network)
+
+ set_target_properties(
+ "${TUFAO_LIBRARY}"
+diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
+index cc2fef7..2ec9fa9 100644
+--- a/src/tests/CMakeLists.txt
++++ b/src/tests/CMakeLists.txt
+@@ -20,7 +20,6 @@ set(tests
+ )
+
+ macro(setup_test_target target)
+- qt5_use_modules("${target}" Core Network Test)
+ set_target_properties(
+ "${target}"
+ PROPERTIES
+@@ -43,7 +42,7 @@ macro(setup_test_target target)
+ endif()
+
+
+- target_link_libraries("${target}" "${TUFAO_LIBRARY}")
++target_link_libraries("${target}" "${TUFAO_LIBRARY}" Qt5::Core Qt5::Network Qt5::Test)
+
+ add_test(NAME "${target}"
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src"
+--
+2.17.0
+
diff --git a/external/meta-qt5/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch b/external/meta-qt5/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch
new file mode 100644
index 00000000..d405c168
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch
@@ -0,0 +1,31 @@
+From d8c16e032a6b639b410761a07f2158e0aeda0b08 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat, 7 Jun 2014 18:13:14 -0300
+Subject: [PATCH] build: Fix mkspecs and CMake module install directories
+
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Inapropriate [configuration]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0695a76..f2266c9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,7 +34,7 @@ endfunction(QUERY_QMAKE)
+ query_qmake(QT_INSTALL_PLUGINS QT_PLUGINS_DIR)
+ query_qmake(QT_HOST_DATA QT_DATA_DIR)
+
+-set(QT_MKSPECS_DIR ${QT_DATA_DIR}/mkspecs)
++set(QT_MKSPECS_DIR ${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs)
+
+ # Debug version of library should have 'd' postfix on Windows
+ # and '_debug' on Mac OS X
+--
+2.0.0.rc4
+
diff --git a/external/meta-qt5/recipes-qt/tufao/tufao_1.3.10.bb b/external/meta-qt5/recipes-qt/tufao/tufao_1.3.10.bb
new file mode 100644
index 00000000..719269f1
--- /dev/null
+++ b/external/meta-qt5/recipes-qt/tufao/tufao_1.3.10.bb
@@ -0,0 +1,33 @@
+SUMMARY = "An asynchronous web framework for C++ built on top of Qt"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
+DEPENDS = "qtbase"
+
+SRCREV = "ad505c32d0ba14c3c616de8ba4c7eb79396c20a6"
+SRC_URI = "git://github.com/vinipsmaker/tufao.git;protocol=http;branch=1.x \
+ file://build-Fix-mkspecs-and-CMake-module-install-directori.patch \
+ file://0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch \
+"
+
+# This includes bugfixes from 1.x branch
+PV_append = "+${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit cmake_qt5
+
+PACKAGES += "${PN}-mkspecs"
+
+FILES_${PN}-mkspecs = "\
+ ${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \
+"
+
+FILES_${PN}-dev += " \
+ ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_LIBS}/pkgconfig \
+ ${OE_QMAKE_PATH_LIBS}/cmake/* \
+ ${OE_QMAKE_PATH_LIBS}/*.prl \
+ ${OE_QMAKE_PATH_LIBS}/*.la \
+ ${OE_QMAKE_PATH_DATA}/* \
+ ${OE_QMAKE_PATH_HEADERS}/* \
+"