aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--README33
-rw-r--r--README-COMMERCIAL.md17
-rw-r--r--README.md39
-rw-r--r--classes/cmake_qt5.bbclass8
-rw-r--r--classes/populate_sdk_qt5.bbclass4
-rw-r--r--classes/populate_sdk_qt5_base.bbclass3
-rw-r--r--classes/qmake5.bbclass10
-rw-r--r--classes/qmake5_base.bbclass58
-rw-r--r--classes/qmake5_paths.bbclass9
-rw-r--r--coin/dependencies.yaml2
-rw-r--r--coin/module_config.yaml156
-rw-r--r--coin/test-ci.inc4
-rw-r--r--coin/test-configs.inc74
-rw-r--r--conf/layer.conf14
-rw-r--r--lib/recipetool/create_qt5.py2
-rw-r--r--licenses/SIP49
-rw-r--r--licenses/The-Qt-Company-Commercial2111
-rw-r--r--licenses/The-Qt-Company-Qt-LGPL-Exception-1.122
-rw-r--r--licenses/The-Qt-Company-TPLA-2.4627
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch51
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb20
-rw-r--r--recipes-connectivity/libqofono/libqofono/0001-also-emit-modemRemoved-and-modemAdded.patch53
-rw-r--r--recipes-connectivity/libqofono/libqofono_git.bb34
-rw-r--r--recipes-connectivity/libqofono/libqofonoext_git.bb28
-rw-r--r--recipes-connectivity/libvcard/libvcard_git.bb15
-rw-r--r--recipes-devtools/gdb/gdb_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend15
-rw-r--r--recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch35
-rw-r--r--recipes-python/pyqt5/files/fix-sm.patch17
-rw-r--r--recipes-python/pyqt5/python-pyqt5_5.8.2.bb70
-rw-r--r--recipes-python/pyqt5/python3-pyqt-builder-native_1.15.0.bb10
-rw-r--r--recipes-python/pyqt5/python3-pyqt5-sip_12.12.1.bb10
-rw-r--r--recipes-python/pyqt5/python3-pyqt5_5.15.9.bb97
-rw-r--r--recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb69
-rw-r--r--recipes-python/pytest-qt/python3-pytest-qt_4.0.2.bb12
-rw-r--r--recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb2
-rw-r--r--recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch4
-rw-r--r--recipes-qt/examples/cinematicexperience_1.0.bb17
-rw-r--r--recipes-qt/examples/qt5-opengles2-test_git.bb4
-rw-r--r--recipes-qt/examples/qt5everywheredemo_1.0.bb14
-rw-r--r--recipes-qt/examples/qt5ledscreen_1.0.bb5
-rw-r--r--recipes-qt/examples/qt5nmapcarousedemo_1.0.bb5
-rw-r--r--recipes-qt/examples/qt5nmapper/change-property-string.patch1
-rw-r--r--recipes-qt/examples/qt5nmapper_1.0.bb5
-rw-r--r--recipes-qt/examples/qtsmarthome_1.0.bb9
-rw-r--r--recipes-qt/examples/quitbattery_1.0.0.bb5
-rw-r--r--recipes-qt/examples/quitindicators_1.0.1.bb5
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5/0001-Drop-tr1-namespace-its-not-there-in-c-11-and-newer.patch83
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch63
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch2
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5/0001-examples-plugins-Replace-obsolete-screenGeometry.patch66
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5_git.bb40
-rw-r--r--recipes-qt/maliit/maliit-plugins-qt5/0001-Do-not-use-tr1-namespace.patch58
-rw-r--r--recipes-qt/maliit/maliit-plugins-qt5_git.bb17
-rw-r--r--recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb9
-rw-r--r--recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb4
-rwxr-xr-xrecipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb35
-rw-r--r--recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch39
-rw-r--r--recipes-qt/qmllive/qmllive_git.bb21
-rw-r--r--recipes-qt/qsiv/qsiv_1.1.bb12
-rw-r--r--recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf5
-rw-r--r--recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb43
-rw-r--r--recipes-qt/qt5/nativesdk-qt5.inc2
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb96
-rw-r--r--recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch63
-rw-r--r--recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch70
-rw-r--r--recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch35
-rw-r--r--recipes-qt/qt5/ogl-runtime_git.bb30
-rw-r--r--recipes-qt/qt5/ptest/run-ptest (renamed from recipes-qt/qt5/qtbase/run-ptest)0
-rw-r--r--recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch44
-rw-r--r--recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch29
-rw-r--r--recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch44
-rw-r--r--recipes-qt/qt5/qt3d_git.bb30
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch91
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch36
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch30
-rw-r--r--recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch35
-rw-r--r--recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch47
-rw-r--r--recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch38
-rw-r--r--recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch30
-rw-r--r--recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch30
-rw-r--r--recipes-qt/qt5/qt5-creator/qtcreator.desktop.in10
-rw-r--r--recipes-qt/qt5/qt5-creator_3.5.1.bb93
-rw-r--r--recipes-qt/qt5/qt5-creator_git.bb109
-rw-r--r--recipes-qt/qt5/qt5-git.inc11
-rw-r--r--recipes-qt/qt5/qt5-lts.inc9
-rw-r--r--recipes-qt/qt5/qt5-native.inc9
-rw-r--r--recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch75
-rw-r--r--recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-include-errno.h-for-errno-definition.patch38
-rw-r--r--recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb13
-rw-r--r--recipes-qt/qt5/qt5-ptest.inc55
-rw-r--r--recipes-qt/qt5/qt5.inc148
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb70
-rw-r--r--recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch58
-rw-r--r--recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch26
-rw-r--r--recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch9
-rw-r--r--recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch11
-rw-r--r--recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch8
-rw-r--r--recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch14
-rw-r--r--recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch5
-rw-r--r--recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch60
-rw-r--r--recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch22
-rw-r--r--recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch7
-rw-r--r--recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch13
-rw-r--r--recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch29
-rw-r--r--recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch66
-rw-r--r--recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch27
-rw-r--r--recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch41
-rw-r--r--recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch123
-rw-r--r--recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch33
-rw-r--r--recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch69
-rw-r--r--recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch63
-rw-r--r--recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch29
-rw-r--r--recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch32
-rw-r--r--recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch (renamed from recipes-qt/qt5/qtbase/0012-Always-build-uic.patch)11
-rw-r--r--recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch68
-rw-r--r--recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch28
-rw-r--r--recipes-qt/qt5/qtbase_git.bb226
-rw-r--r--recipes-qt/qt5/qtcanvas3d_git.bb13
-rw-r--r--recipes-qt/qt5/qtcharts_git.bb10
-rw-r--r--recipes-qt/qt5/qtcoap_git.bb14
-rw-r--r--recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch23
-rw-r--r--recipes-qt/qt5/qtconnectivity_git.bb12
-rw-r--r--recipes-qt/qt5/qtdatavis3d_git.bb6
-rw-r--r--recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch32
-rw-r--r--recipes-qt/qt5/qtdeclarative/run-ptest5
-rw-r--r--recipes-qt/qt5/qtdeclarative_git.bb51
-rw-r--r--recipes-qt/qt5/qtenginio_git.bb16
-rw-r--r--recipes-qt/qt5/qtgamepad_git.bb8
-rw-r--r--recipes-qt/qt5/qtgraphicaleffects_git.bb12
-rw-r--r--recipes-qt/qt5/qtimageformats_git.bb7
-rw-r--r--recipes-qt/qt5/qtknx_git.bb12
-rw-r--r--recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch52
-rw-r--r--recipes-qt/qt5/qtlocation_git.bb33
-rw-r--r--recipes-qt/qt5/qtlottie_git.bb12
-rw-r--r--recipes-qt/qt5/qtmqtt_git.bb12
-rw-r--r--recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch15
-rw-r--r--recipes-qt/qt5/qtmultimedia_git.bb25
-rw-r--r--recipes-qt/qt5/qtnetworkauth_git.bb6
-rw-r--r--recipes-qt/qt5/qtopcua_git.bb21
-rw-r--r--recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch23
-rw-r--r--recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch25
-rw-r--r--recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch40
-rw-r--r--recipes-qt/qt5/qtpdf_git.bb221
-rw-r--r--recipes-qt/qt5/qtpurchasing_git.bb13
-rw-r--r--recipes-qt/qt5/qtquick1/run-ptest6
-rw-r--r--recipes-qt/qt5/qtquick1_git.bb28
-rw-r--r--recipes-qt/qt5/qtquick3d_git.bb27
-rw-r--r--recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch129
-rw-r--r--recipes-qt/qt5/qtquickcontrols2_git.bb10
-rw-r--r--recipes-qt/qt5/qtquickcontrols_git.bb10
-rw-r--r--recipes-qt/qt5/qtquicktimeline_git.bb13
-rw-r--r--recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch10
-rw-r--r--recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch24
-rw-r--r--recipes-qt/qt5/qtremoteobjects_git.bb15
-rw-r--r--recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch36
-rw-r--r--recipes-qt/qt5/qtscript_git.bb19
-rw-r--r--recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch4
-rw-r--r--recipes-qt/qt5/qtscxml_git.bb12
-rw-r--r--recipes-qt/qt5/qtsensors_git.bb6
-rw-r--r--recipes-qt/qt5/qtserialbus_git.bb18
-rw-r--r--recipes-qt/qt5/qtserialport_git.bb15
-rw-r--r--recipes-qt/qt5/qtsvg_git.bb7
-rw-r--r--recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch71
-rw-r--r--recipes-qt/qt5/qtsystems_git.bb20
-rw-r--r--recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch10
-rw-r--r--recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch63
-rw-r--r--recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch26
-rw-r--r--recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch32
-rw-r--r--recipes-qt/qt5/qttools/run-ptest4
-rw-r--r--recipes-qt/qt5/qttools_git.bb49
-rw-r--r--recipes-qt/qt5/qttranslations_git.bb60
-rw-r--r--recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch25
-rw-r--r--recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch66
-rw-r--r--recipes-qt/qt5/qtvirtualkeyboard_git.bb42
-rw-r--r--recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch63
-rw-r--r--recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch30
-rw-r--r--recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch28
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb39
-rw-r--r--recipes-qt/qt5/qtwebchannel_git.bb6
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch100
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch63
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch30
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch40
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch38
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch25
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch71
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch49
-rw-r--r--recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch45
-rw-r--r--recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch24
-rw-r--r--recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch24
-rw-r--r--recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch44
-rw-r--r--recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch47
-rw-r--r--recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch22
-rw-r--r--recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch (renamed from recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch)18
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch91
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch33
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch41
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch28
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch48
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch35
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch556
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch29
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch89
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch22
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch63
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch34
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch (renamed from recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch)11
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch54
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch (renamed from recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch)9
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch (renamed from recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch)22
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch (renamed from recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch)17
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch (renamed from recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch)27
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch (renamed from recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch)17
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch48
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch62
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch32
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch46
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch28
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb194
-rw-r--r--recipes-qt/qt5/qtwebglplugin_git.bb21
-rw-r--r--recipes-qt/qt5/qtwebkit-examples_git.bb20
-rw-r--r--recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch28
-rw-r--r--recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch27
-rw-r--r--recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch35
-rw-r--r--recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch69
-rw-r--r--recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch25
-rw-r--r--recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch38
-rw-r--r--recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch53
-rw-r--r--recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch83
-rw-r--r--recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch32
-rw-r--r--recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch29
-rw-r--r--recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch122
-rw-r--r--recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch82
-rw-r--r--recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch31
-rw-r--r--recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch47
-rw-r--r--recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch34
-rw-r--r--recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch33
-rw-r--r--recipes-qt/qt5/qtwebkit_git.bb154
-rw-r--r--recipes-qt/qt5/qtwebsockets_git.bb6
-rw-r--r--recipes-qt/qt5/qtwebview_git.bb22
-rw-r--r--recipes-qt/qt5/qtx11extras_git.bb15
-rw-r--r--recipes-qt/qt5/qtxmlpatterns/run-ptest6
-rw-r--r--recipes-qt/qt5/qtxmlpatterns_git.bb18
-rw-r--r--recipes-qt/qtchooser/qtchooser/0001-Makefile-install-the-man-dir.patch35
-rw-r--r--recipes-qt/qtchooser/qtchooser_git.bb9
-rw-r--r--recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch31
-rw-r--r--recipes-qt/quazip/quazip_0.7.3.bb8
-rw-r--r--recipes-qt/qwt/qwt-qt5_6.1.3.bb49
-rw-r--r--recipes-qt/qwt/qwt-qt5_6.1.5.bb54
-rw-r--r--recipes-qt/tufao/tufao/0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch91
-rw-r--r--recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch2
-rw-r--r--recipes-qt/tufao/tufao_1.3.10.bb14
257 files changed, 9147 insertions, 3115 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..cb2381c0
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# linguist overrides
+recipes-*/**/*.inc linguist-language=BitBake
diff --git a/README b/README
deleted file mode 100644
index 9817851b..00000000
--- a/README
+++ /dev/null
@@ -1,33 +0,0 @@
-This layer depends on:
-
-URI: git://github.com/openembedded/oe-core.git
-branch: master
-revision: HEAD
-
-When building stuff like qtdeclarative, qtquick, qtwebkit, make sure that
-you have required PACKAGECONFIG options enabled in qtbase build, see qtbase.inc
-for detail.
-
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-qt5]' in the subject'
-
-When sending single patches, please using something like:
-
-git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-qt5][PATCH'
-
-Change option '-1' to '-n' for n number of patches in series
-
-You are encouraged to fork the mirror on github[1] to share your
-patches. This is preferred for patch sets consisting of more than one
-patch. Other services like gitlab, repo.or.cz or self hosted setups
-are of course accepted as well, 'git fetch <remote>' works the same on
-all of them. We recommend github because it is free, easy to use, has
-been proven to be reliable and has a really good web GUI.
-
-1. https://github.com/meta-qt5/meta-qt5/
-
-meta-qt5 has Yocto Project Compatible status since 2013:
-https://www.yoctoproject.org/product/meta-qt5
-
-Main layer maintainers:
- Martin 'JaMa' Jansa <martin.jansa@gmail.com>
- Otavio Salvador <otavio@ossystems.com.br>
diff --git a/README-COMMERCIAL.md b/README-COMMERCIAL.md
new file mode 100644
index 00000000..b4c104ba
--- /dev/null
+++ b/README-COMMERCIAL.md
@@ -0,0 +1,17 @@
+Qt5 Long Term Support Commercial releases
+=========================================
+
+Qt 5.15 has moved to LTS mode where the releases starting with 5.15.3
+are available only for commercial Qt users with appropriate license.
+
+The Qt 5.15 LTS Commercial source code is available in the tqtc shadow
+repositories and their LTS branches as described in
+https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_Qt_5.15_LTS_Commercial_source_code
+
+The meta-qt5 layer can be used to build the LTS releases using the lts-5.15 branch.
+In order to build the LTS release, you must have SSH access set up to the
+Qt Gerrit as instructed in
+https://wiki.qt.io/Setting_up_Gerrit
+
+For more information about the Qt 5.15 LTS Commercial releases, see
+https://wiki.qt.io/Qt_5.15_Release#Qt_5.15_LTS_Commercial_Releases
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..fa497153
--- /dev/null
+++ b/README.md
@@ -0,0 +1,39 @@
+Qt5 OpenEmbedded/Yocto Project layer
+====================================
+
+This layer depends on:
+
+URI: https://github.com/openembedded/openembedded-core (branch: master)
+
+When building stuff like `qtdeclarative`, `qtquick`, `qtwebkit`, make
+sure that you have required `PACKAGECONFIG` options enabled in qtbase
+build, see `qtbase` recipe for detail.
+
+Some recipes like qtwebengine would need 32bit multilib compiler on build
+host, especially when target to be built is 32bit, e.g. arm since it builds
+v8 engine which requires `$CC -m32` to work, so ensure that host compiler
+can generate 32bit code, on archlinux distributions this would be
+```
+pacman -S lib32-gcc-libs lib32-glibc
+```
+
+Contributing
+------------
+
+Please submit any patches against the `meta-qt5` layer by using the
+GitHub pull-request feature. Fork the repo, make a branch, do the
+work, rebase from upstream, create the pull request, yada-yada.
+
+Maintainers
+-----------
+
+- Martin 'JaMa' Jansa <martin.jansa@gmail.com>
+- Otavio Salvador <otavio@ossystems.com.br>
+
+Yocto Project Compatible
+------------------------
+
+![Yocto Project Compatible](https://github.com/meta-qt5/meta-qt5/blob/master/files/YoctoProject_Badge_Compatible.png)
+
+meta-qt5 has Yocto Project Compatible status since 2013. Check it at:
+https://www.yoctoproject.org/product/meta-qt5
diff --git a/classes/cmake_qt5.bbclass b/classes/cmake_qt5.bbclass
index 5d605a68..6accb819 100644
--- a/classes/cmake_qt5.bbclass
+++ b/classes/cmake_qt5.bbclass
@@ -1,9 +1,12 @@
inherit cmake
inherit qmake5_paths
-DEPENDS_prepend = "qtbase qtbase-native "
+DEPENDS:prepend = "${QTBASEDEPENDS} "
+QTBASEDEPENDS = "qtbase qtbase-native"
+QTBASEDEPENDS:class-native = "qtbase-native"
+QTBASEDEPENDS:class-nativesdk = "nativesdk-qtbase qtbase-native"
-EXTRA_OECMAKE_prepend = " \
+EXTRA_OECMAKE:prepend = " \
-DOE_QMAKE_PATH_PREFIX=${OE_QMAKE_PATH_PREFIX} \
-DOE_QMAKE_PATH_HEADERS=${OE_QMAKE_PATH_HEADERS} \
-DOE_QMAKE_PATH_LIBS=${OE_QMAKE_PATH_LIBS} \
@@ -12,7 +15,6 @@ EXTRA_OECMAKE_prepend = " \
-DOE_QMAKE_PATH_BINS=${OE_QMAKE_PATH_BINS} \
-DOE_QMAKE_PATH_LIBEXECS=${OE_QMAKE_PATH_LIBEXECS} \
-DOE_QMAKE_PATH_PLUGINS=${OE_QMAKE_PATH_PLUGINS} \
- -DOE_QMAKE_PATH_IMPORTS=${OE_QMAKE_PATH_IMPORTS} \
-DOE_QMAKE_PATH_QML=${OE_QMAKE_PATH_QML} \
-DOE_QMAKE_PATH_TRANSLATIONS=${OE_QMAKE_PATH_TRANSLATIONS} \
-DOE_QMAKE_PATH_DOCS=${OE_QMAKE_PATH_DOCS} \
diff --git a/classes/populate_sdk_qt5.bbclass b/classes/populate_sdk_qt5.bbclass
index a10341dc..e0b287eb 100644
--- a/classes/populate_sdk_qt5.bbclass
+++ b/classes/populate_sdk_qt5.bbclass
@@ -2,7 +2,7 @@
inherit populate_sdk_qt5_base
-TOOLCHAIN_HOST_TASK_append = " nativesdk-packagegroup-qt5-toolchain-host"
-TOOLCHAIN_TARGET_TASK_append = " packagegroup-qt5-toolchain-target"
+TOOLCHAIN_HOST_TASK:append = " nativesdk-packagegroup-qt5-toolchain-host"
+TOOLCHAIN_TARGET_TASK:append = " packagegroup-qt5-toolchain-target"
FEATURE_PACKAGES_qtcreator-debug = "packagegroup-qt5-qtcreator-debug"
diff --git a/classes/populate_sdk_qt5_base.bbclass b/classes/populate_sdk_qt5_base.bbclass
index b6ce5967..56341cd1 100644
--- a/classes/populate_sdk_qt5_base.bbclass
+++ b/classes/populate_sdk_qt5_base.bbclass
@@ -1,7 +1,7 @@
# This allow reuse of Qt paths
inherit qmake5_paths
-create_sdk_files_prepend () {
+create_sdk_files:prepend () {
# Generate a qt.conf file to be deployed with the SDK
qtconf=${SDK_OUTPUT}/${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf
touch $qtconf
@@ -14,7 +14,6 @@ create_sdk_files_prepend () {
echo 'Binaries = ${OE_QMAKE_PATH_QT_BINS}' >> $qtconf
echo 'LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}' >> $qtconf
echo 'Plugins = ${OE_QMAKE_PATH_PLUGINS}' >> $qtconf
- echo 'Imports = ${OE_QMAKE_PATH_IMPORTS}' >> $qtconf
echo 'Qml2Imports = ${OE_QMAKE_PATH_QML}' >> $qtconf
echo 'Translations = ${OE_QMAKE_PATH_QT_TRANSLATIONS}' >> $qtconf
echo 'Documentation = ${OE_QMAKE_PATH_QT_DOCS}' >> $qtconf
diff --git a/classes/qmake5.bbclass b/classes/qmake5.bbclass
index 1a960e8f..d9b919cd 100644
--- a/classes/qmake5.bbclass
+++ b/classes/qmake5.bbclass
@@ -4,16 +4,18 @@
inherit qmake5_base
QT5TOOLSDEPENDS ?= "qtbase-native"
-DEPENDS_prepend = "${QT5TOOLSDEPENDS} "
+DEPENDS:prepend = "${QT5TOOLSDEPENDS} "
-do_configure() {
+qmake5_do_configure() {
qmake5_base_do_configure
}
-do_install() {
+qmake5_do_install() {
qmake5_base_do_install
}
-do_install_class-native() {
+qmake5_do_install:class-native() {
qmake5_base_native_do_install
}
+
+EXPORT_FUNCTIONS do_configure do_install
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass
index 3bc1279d..cf73f33e 100644
--- a/classes/qmake5_base.bbclass
+++ b/classes/qmake5_base.bbclass
@@ -1,5 +1,5 @@
# hardcode linux, because that's what 0001-Add-linux-oe-g-platform.patch adds
-XPLATFORM_toolchain-clang = "linux-oe-clang"
+XPLATFORM:toolchain-clang = "linux-oe-clang"
XPLATFORM ?= "linux-oe-g++"
OE_QMAKE_PLATFORM_NATIVE = "${XPLATFORM}"
@@ -20,7 +20,6 @@ SSTATE_SCAN_FILES += "*.pri *.prl *.prf"
# then OE_QMAKE_CFLAGS are exported and used correctly, but then whole CFLAGS is overwritten from env (and -fPIC lost and build fails)
EXTRA_OEMAKE = " \
MAKEFLAGS='${PARALLEL_MAKE}' \
- OE_QMAKE_COMPILER='${OE_QMAKE_COMPILER}' \
OE_QMAKE_CC='${OE_QMAKE_CC}' \
OE_QMAKE_CXX='${OE_QMAKE_CXX}' \
OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \
@@ -28,12 +27,12 @@ EXTRA_OEMAKE = " \
OE_QMAKE_LINK='${OE_QMAKE_LINK}' \
OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \
OE_QMAKE_AR='${OE_QMAKE_AR}' \
+ OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \
OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \
OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \
"
OE_QMAKE_QMAKE = "${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake"
-export OE_QMAKE_COMPILER = "${CC}"
export OE_QMAKE_CC = "${CC}"
export OE_QMAKE_CFLAGS = "${CFLAGS}"
export OE_QMAKE_CXX = "${CXX}"
@@ -41,12 +40,41 @@ export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
export OE_QMAKE_LINK = "${CXX}"
export OE_QMAKE_LDFLAGS = "${LDFLAGS}"
export OE_QMAKE_AR = "${AR}"
+export OE_QMAKE_OBJCOPY = "${OBJCOPY}"
export OE_QMAKE_STRIP = "echo"
# qmake reads if from shell environment
export OE_QMAKE_QTCONF_PATH = "${WORKDIR}/qt.conf"
-inherit qmake5_paths remove-libtool
+inherit qmake5_paths
+
+generate_target_qt_config_file() {
+ qtconf="$1"
+ cat > "${qtconf}" <<EOF
+[Paths]
+Prefix = ${OE_QMAKE_PATH_PREFIX}
+Headers = ${OE_QMAKE_PATH_HEADERS}
+Libraries = ${OE_QMAKE_PATH_LIBS}
+ArchData = ${OE_QMAKE_PATH_ARCHDATA}
+Data = ${OE_QMAKE_PATH_DATA}
+Binaries = ${OE_QMAKE_PATH_BINS}
+LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}
+Plugins = ${OE_QMAKE_PATH_PLUGINS}
+Qml2Imports = ${OE_QMAKE_PATH_QML}
+Translations = ${OE_QMAKE_PATH_TRANSLATIONS}
+Documentation = ${OE_QMAKE_PATH_DOCS}
+Settings = ${OE_QMAKE_PATH_SETTINGS}
+Examples = ${OE_QMAKE_PATH_EXAMPLES}
+Tests = ${OE_QMAKE_PATH_TESTS}
+HostBinaries = ${OE_QMAKE_PATH_BINS}
+HostData = ${OE_QMAKE_PATH_ARCHDATA}
+HostLibraries = ${OE_QMAKE_PATH_LIBS}
+HostSpec = ${OE_QMAKE_PLATFORM}
+TargetSpec = ${OE_QMAKE_PLATFORM}
+ExternalHostBinaries = ${OE_QMAKE_PATH_BINS}
+Sysroot =
+EOF
+}
do_generate_qt_config_file() {
generate_qt_config_file_paths
@@ -64,7 +92,6 @@ Data = ${OE_QMAKE_PATH_DATA}
Binaries = ${OE_QMAKE_PATH_BINS}
LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}
Plugins = ${OE_QMAKE_PATH_PLUGINS}
-Imports = ${OE_QMAKE_PATH_IMPORTS}
Qml2Imports = ${OE_QMAKE_PATH_QML}
Translations = ${OE_QMAKE_PATH_TRANSLATIONS}
Documentation = ${OE_QMAKE_PATH_DOCS}
@@ -85,6 +112,7 @@ generate_qt_config_file_effective_paths() {
cat >> ${OE_QMAKE_QTCONF_PATH} <<EOF
[EffectivePaths]
HostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
+HostLibraries = ${STAGING_LIBDIR_NATIVE}
HostData = ${OE_QMAKE_PATH_HOST_DATA}
HostPrefix = ${STAGING_DIR_NATIVE}
EOF
@@ -215,9 +243,19 @@ qmake5_base_do_install() {
qmake5_base_fix_install ${STAGING_DIR_HOST}
qmake5_base_fix_install ${STAGING_DIR_NATIVE}
- if ls ${D}${libdir}/pkgconfig/*.pc >/dev/null 2>/dev/null; then
- sed -i ${D}${libdir}/pkgconfig/*.pc \
- -e "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" \
- -e "s@${STAGING_DIR_TARGET}@@g"
- fi
+ # Replace host paths with qmake built-in properties
+ find ${D} \( -name "*.pri" -or -name "*.prl" \) -exec \
+ sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \
+ -e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' {} \
+ -e '/QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Replace host paths with pkg-config built-in variable
+ find ${D} -name "*.pc" -exec \
+ sed -i -e 's|prefix=${STAGING_DIR_HOST}|prefix=|g' \
+ -e 's|${STAGING_DIR_HOST}|${pc_sysrootdir}|g' {} \;
+
+ # Replace resolved lib path with the lib name
+ find ${D} -name "*.cmake" -exec \
+ sed -i -e 's@/[^;]*/lib\([^;]*\)\.\(so\|a\)@\1@g' {} \;
+
}
diff --git a/classes/qmake5_paths.bbclass b/classes/qmake5_paths.bbclass
index e1101a9c..abed93b7 100644
--- a/classes/qmake5_paths.bbclass
+++ b/classes/qmake5_paths.bbclass
@@ -2,15 +2,15 @@
# about conflicts with qt4, then you can add qmake5_paths.bbclass
# to your distro layer and flatten all QT_DIR_NAME directories
-QT_DIR_NAME ?= "/qt5"
+QT_DIR_NAME ?= ""
# This is useful for target recipes to reference native mkspecs
QMAKE_MKSPEC_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}${QT_DIR_NAME}"
QMAKE_MKSPEC_PATH_TARGET = "${STAGING_LIBDIR}${QT_DIR_NAME}"
QMAKE_MKSPEC_PATH = "${QMAKE_MKSPEC_PATH_TARGET}"
-QMAKE_MKSPEC_PATH_class-native = "${QMAKE_MKSPEC_PATH_NATIVE}"
-QMAKE_MKSPEC_PATH_class-nativesdk = "${QMAKE_MKSPEC_PATH_NATIVE}"
+QMAKE_MKSPEC_PATH:class-native = "${QMAKE_MKSPEC_PATH_NATIVE}"
+QMAKE_MKSPEC_PATH:class-nativesdk = "${QMAKE_MKSPEC_PATH_NATIVE}"
OE_QMAKE_PATH_PREFIX = "${prefix}"
OE_QMAKE_PATH_HEADERS = "${includedir}${QT_DIR_NAME}"
@@ -20,7 +20,6 @@ OE_QMAKE_PATH_DATA = "${datadir}"
OE_QMAKE_PATH_BINS = "${bindir}"
OE_QMAKE_PATH_LIBEXECS = "${libdir}${QT_DIR_NAME}/libexec"
OE_QMAKE_PATH_PLUGINS = "${libdir}${QT_DIR_NAME}/plugins"
-OE_QMAKE_PATH_IMPORTS = "${libdir}${QT_DIR_NAME}/imports"
OE_QMAKE_PATH_QML = "${libdir}${QT_DIR_NAME}/qml"
OE_QMAKE_PATH_TRANSLATIONS = "${datadir}/translations"
OE_QMAKE_PATH_DOCS = "${docdir}"
@@ -28,7 +27,7 @@ OE_QMAKE_PATH_SETTINGS = "${sysconfdir}"
OE_QMAKE_PATH_EXAMPLES = "${datadir}/examples"
OE_QMAKE_PATH_TESTS = "${datadir}/tests"
OE_QMAKE_PATH_HOST_PREFIX = ""
-OE_QMAKE_PATH_HOST_PREFIX_class-target = "${STAGING_DIR_NATIVE}"
+OE_QMAKE_PATH_HOST_PREFIX:class-target = "${STAGING_DIR_NATIVE}"
OE_QMAKE_PATH_HOST_BINS = "${bindir}${QT_DIR_NAME}"
OE_QMAKE_PATH_HOST_DATA = "${QMAKE_MKSPEC_PATH_TARGET}"
OE_QMAKE_PATH_HOST_LIBS = "${STAGING_LIBDIR}"
diff --git a/coin/dependencies.yaml b/coin/dependencies.yaml
new file mode 100644
index 00000000..53aa67d2
--- /dev/null
+++ b/coin/dependencies.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ {}
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
new file mode 100644
index 00000000..8ae9c795
--- /dev/null
+++ b/coin/module_config.yaml
@@ -0,0 +1,156 @@
+version: 2
+accept_configuration:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.compiler
+ equals_value: Yocto
+ - condition: property
+ property: target.arch
+ in_values: [TARGET1, TARGET2, TARGET3, TARGET4]
+
+machine_type:
+ Build:
+ cores: 16
+
+# Target build matrix:
+#
+# [target1] [target2] [target3] [target4]
+# [machine] qemuarm64 qemux86 qemuarm qemux86-64
+# [yocto] kirkstone dunfell langdale master
+#
+
+target1: &target1
+ type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: MACHINE
+ variableValue: qemuarm64
+ - type: EnvironmentVariable
+ variableName: MANIFEST
+ variableValue: kirkstone.xml
+ - type: EnvironmentVariable
+ variableName: TEST_CONFIGS
+ variableValue: ci configs
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: TARGET1
+target2: &target2
+ type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: MACHINE
+ variableValue: qemux86
+ - type: EnvironmentVariable
+ variableName: MANIFEST
+ variableValue: dunfell.xml
+ - type: EnvironmentVariable
+ variableName: TEST_CONFIGS
+ variableValue: ci configs
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: TARGET2
+target3: &target3
+ type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: MACHINE
+ variableValue: qemuarm
+ - type: EnvironmentVariable
+ variableName: MANIFEST
+ variableValue: langdale.xml
+ - type: EnvironmentVariable
+ variableName: TEST_CONFIGS
+ variableValue: ci configs
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: TARGET3
+target4: &target4
+ type: Group
+ instructions:
+ - type: EnvironmentVariable
+ variableName: MACHINE
+ variableValue: qemux86-64
+ - type: EnvironmentVariable
+ variableName: MANIFEST
+ variableValue: master.xml
+ - type: EnvironmentVariable
+ variableName: TEST_CONFIGS
+ variableValue: ci configs
+ enable_if:
+ condition: property
+ property: target.arch
+ equals_value: TARGET4
+
+instructions:
+ Build:
+ - *target1
+ - *target2
+ - *target3
+ - *target4
+ - type: EnvironmentVariable
+ variableName: DL_DIR
+ variableValue: "/mnt/yocto-cache/downloads"
+ - type: EnvironmentVariable
+ variableName: SOURCE_DIR
+ variableValue: "{{.SourceDir}}"
+ - type: SetBuildDirectory
+ directory: "{{.AgentWorkingDir}}/build"
+ - type: MakeDirectory
+ directory: "{{.BuildDir}}"
+ - type: ChangeDirectory
+ directory: "{{.BuildDir}}"
+ - type: WriteFile
+ fileContents: |
+ #!/bin/bash -xe
+
+ # make hostname unique for NFS
+ sudo hostname $(hostname -s)-$(date +%s%N)
+
+ sudo mkdir -p /mnt/yocto-cache
+ sudo mount yocto-cache.ci.qt.io:/srv/yocto-cache /mnt/yocto-cache
+
+ curl https://storage.googleapis.com/git-repo-downloads/repo > repo
+ chmod +x repo
+
+ ./repo init \
+ --repo-url https://github.com/theqtcompany/git-repo \
+ -u git://code.qt.io/yocto/boot2qt-manifest \
+ -b ci \
+ -m ${MANIFEST} \
+ --reference /mnt/mirror
+ ./repo sync
+
+ source ./poky/oe-init-build-env
+
+ # meta-python2 layer master branch compatible with kirkstone only
+ echo "LAYERSERIES_COMPAT_meta-python2:append = \" langdale mickledore nanbield scarthgap\"" >> ../meta-python2/conf/layer.conf
+
+ bitbake-layers add-layer ../meta-openembedded/meta-oe
+ bitbake-layers add-layer ../meta-python2
+ bitbake-layers add-layer ${SOURCE_DIR}
+
+ for conf in ${TEST_CONFIGS}; do
+ echo "require ${SOURCE_DIR}/coin/test-${conf}.inc" >> conf/local.conf
+ done
+
+ # EXCLUDE FROM WORLD
+ rm -fv ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb
+
+ # build only recipes found under recipes-qt
+ bitbake $(find ${SOURCE_DIR}/recipes-qt -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/')
+ filename: "{{.BuildDir}}/start-build"
+ fileMode: 420
+ - type: ExecuteCommand
+ command: ["bash", "-xe", "{{.BuildDir}}/start-build"]
+ maxTimeInSeconds: 39600
+ maxTimeBetweenOutput: 39600
+ userMessageOnFailure: "Build failed."
+ - type: ExecuteCommand
+ command: ["sudo", "umount", "/mnt/yocto-cache"]
+ userMessageOnFailure: "Unmounting cache failed."
+
+ Test: []
diff --git a/coin/test-ci.inc b/coin/test-ci.inc
new file mode 100644
index 00000000..8a1df2ad
--- /dev/null
+++ b/coin/test-ci.inc
@@ -0,0 +1,4 @@
+SSTATE_DIR = "/mnt/yocto-cache/sstate-caches/${DISTRO_CODENAME}-meta-qt5"
+DL_DIR = "/mnt/yocto-cache/downloads"
+BB_GENERATE_MIRROR_TARBALLS = "1"
+
diff --git a/coin/test-configs.inc b/coin/test-configs.inc
new file mode 100644
index 00000000..7b904a1f
--- /dev/null
+++ b/coin/test-configs.inc
@@ -0,0 +1,74 @@
+# https://github.com/shr-project/jenkins-jobs/blob/master/jenkins-job.sh
+# need space for dunfell build
+INHERIT += "rm_work"
+# We want musl and glibc to share the same tmpfs, so instead of appending default "-${TCLIBC}" we append "fs"
+TCLIBCAPPEND = "fs"
+PREFERRED_PROVIDER_virtual/fftw = "fftw"
+# use gold
+#DISTRO_FEATURES:append = " ld-is-gold"
+# use ptest
+DISTRO_FEATURES:append = " ptest"
+# use systemd
+INIT_MANAGER:forcevariable = "systemd"
+# use opengl
+DISTRO_FEATURES:append = " opengl"
+# use wayland to fix building weston and qtwayland
+DISTRO_FEATURES:append = " wayland"
+PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
+PREFERRED_PROVIDER_jpeg-native = "libjpeg-turbo-native"
+PREFERRED_PROVIDER_gpsd = "gpsd"
+PREFERRED_PROVIDER_e-wm-sysactions = "e-wm"
+ESYSACTIONS = "e-wm-sysactions"
+# don't pull libhybris unless explicitly asked for
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
+PREFERRED_PROVIDER_virtual/egl ?= "mesa"
+# to fix fsoaudiod, alsa-state conflict in shr-image-all
+VIRTUAL-RUNTIME_alsa-state = ""
+# to prevent alsa-state being pulled into -dev or -dbg images
+RDEPENDS:${PN}-dev:pn-alsa-state = ""
+RDEPENDS:${PN}-dbg:pn-alsa-state = ""
+# to fix dependency on conflicting x11-common from packagegroup-core-x11
+VIRTUAL-RUNTIME_xserver_common ?= "xserver-common"
+RDEPENDS:${PN}-dev:pn-x11-common = ""
+RDEPENDS:${PN}-dbg:pn-x11-common = ""
+# to fix apm, fso-apm conflict in shr-image-all
+VIRTUAL-RUNTIME_apm = "fso-apm"
+# require conf/distro/include/qt5-versions.inc
+# QT5_VERSION = "5.4.0+git%"
+# for qtwebkit etc
+# see https://bugzilla.yoctoproject.org/show_bug.cgi?id=5013
+# DEPENDS:append:pn-qtbase = " mesa"
+PACKAGECONFIG:append:pn-qtbase = " icu gl accessibility freetype fontconfig"
+# qtwayland doesn't like egl and xcomposite-glx enabled at the same time
+# http://lists.openembedded.org/pipermail/openembedded-devel/2016-December/110444.html
+PACKAGECONFIG:remove:pn-qtwayland = "xcomposite-egl xcomposite-glx"
+# for webkit-efl
+PACKAGECONFIG:append:pn-harfbuzz = " icu"
+# enable reporting
+# needs http://patchwork.openembedded.org/patch/68735/
+#ERR_REPORT_SERVER = "errors.yoctoproject.org"
+#ERR_REPORT_PORT = "80"
+#ERR_REPORT_USERNAME = "Martin Jansa"
+#ERR_REPORT_EMAIL = "Martin.Jansa@gmail.com"
+#ERR_REPORT_UPLOAD_FAILURES = "1"
+#INHERIT += "report-error"
+# needs patch with buildstats-summary.bbclass
+INHERIT += "buildstats buildstats-summary"
+# be more strict with QA warnings, turn them all to errors:
+ERROR_QA:append = " ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated uppercase-pn"
+WARN_QA:remove = " ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated uppercase-pn"
+# workaround for qemu
+# nativesdk-qemu-user-mips rdepends on nativesdk-bash, but it isn't a build dependency
+INSANE_SKIP:nativesdk-qemu-user-mips = "build-deps"
+# enable thumb for broader test coverage (oe-core autobuilder doesn't have thumb enabled)
+PREFERRED_ARM_INSTRUCTION_SET ?= "thumb"
+ARM_INSTRUCTION_SET = "${PREFERRED_ARM_INSTRUCTION_SET}"
+# use musl for qemux86 and qemux86copy
+TCLIBC:qemux86 = "musl"
+TCLIBC:qemux86copy = "musl"
+# limit parallel make to avoid OOM
+PARALLEL_MAKE:pn-qtwebkit = "-j 8"
+# For decrease memory usage.
+SDK_XZ_COMPRESSION_LEVEL = "-1"
diff --git a/conf/layer.conf b/conf/layer.conf
index 7687759c..5e6a2432 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -27,9 +27,9 @@ BBFILE_PRIORITY_qt5-layer = "7"
# cause compatibility issues with other layers
LAYERVERSION_qt5-layer = "1"
-LAYERDEPENDS_qt5-layer = "core"
+LAYERDEPENDS_qt5-layer = "core openembedded-layer"
-LAYERSERIES_COMPAT_qt5-layer = "rocko sumo"
+LAYERSERIES_COMPAT_qt5-layer = "dunfell gatesgarth hardknott honister kirkstone langdale mickledore nanbield scarthgap"
LICENSE_PATH += "${LAYERDIR}/licenses"
@@ -38,3 +38,13 @@ IMAGE_FEATURES[validitems] += "qtcreator-debug"
QT_GIT_PROJECT ?= "qt"
QT_GIT ?= "git://code.qt.io/${QT_GIT_PROJECT}"
QT_GIT_PROTOCOL ?= "git"
+
+# Default to commercially licensed Qt LTS
+QT_EDITION ?= "commercial"
+
+# License mapping back to old license files
+SPDXLICENSEMAP[GPL-2.0-only] = "GPL-2.0"
+SPDXLICENSEMAP[GPL-3.0-only] = "GPL-3.0"
+SPDXLICENSEMAP[LGPL-2.1-only] = "LGPLv2.1"
+SPDXLICENSEMAP[LGPL-3.0-only] = "LGPL-3.0"
+SPDXLICENSEMAP[GPL-2.0-or-later] = "GPL-2.0"
diff --git a/lib/recipetool/create_qt5.py b/lib/recipetool/create_qt5.py
index 51708b40..dab67b4a 100644
--- a/lib/recipetool/create_qt5.py
+++ b/lib/recipetool/create_qt5.py
@@ -47,7 +47,6 @@ class Qt5CmakeHandler(CmakeExtensionHandler):
'qtsystems': 'Qt5PublishSubscribe Qt5ServiceFramework Qt5SystemInfo',
'qtscript': 'Qt5Script Qt5ScriptTools',
'qttools': 'Qt5Designer Qt5Help Qt5LinguistTools Qt5UiPlugin Qt5UiTools',
- 'qtenginio': 'Qt5Enginio',
'qtsensors': 'Qt5Sensors',
'qtmultimedia': 'Qt5Multimedia Qt5MultimediaWidgets',
'qtwebchannel': 'Qt5WebChannel',
@@ -79,7 +78,6 @@ class Qmake5RecipeHandler(RecipeHandler):
'core': 'qtbase',
'gui': 'qtbase',
'dbus': 'qtbase',
- 'declarative': 'qtquick1',
'designer': 'qttools',
'help': 'qttools',
'multimedia': 'qtmultimedia',
diff --git a/licenses/SIP b/licenses/SIP
new file mode 100644
index 00000000..9406c308
--- /dev/null
+++ b/licenses/SIP
@@ -0,0 +1,49 @@
+RIVERBANK COMPUTING LIMITED LICENSE AGREEMENT FOR SIP
+
+1. This LICENSE AGREEMENT ("the SIP License") is between Riverbank Computing
+Limited ("Riverbank"), and the Individual or Organization ("Licensee")
+accessing and otherwise using SIP software in source or binary form and its
+associated documentation. SIP comprises a software tool for generating Python
+bindings for software C and C++ libraries, and a Python extension module used
+at runtime by those generated bindings. This License Agreement may also be
+applied to other software packages written by Riverbank.
+
+2. Subject to the terms and conditions of this License Agreement, Riverbank
+hereby grants Licensee a nonexclusive, royalty-free, world-wide license to
+reproduce, analyze, test, perform and/or display publicly, prepare derivative
+works, distribute, and otherwise use SIP alone or in any derivative version,
+provided, however, that Riverbank's License Agreement and Riverbank's notice of
+copyright, e.g., "Copyright (c) 2015 Riverbank Computing Limited; All Rights
+Reserved" are retained in SIP alone or in any derivative version prepared by
+Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on or
+incorporates SIP or any part thereof, and wants to make the derivative work
+available to others as provided herein, then Licensee hereby agrees to include
+in any such work a brief summary of the changes made to SIP.
+
+4. Licensee may not use SIP to generate Python bindings for any C or C++
+library for which bindings are already provided by Riverbank.
+
+5. Riverbank is making SIP available to Licensee on an "AS IS" basis.
+RIVERBANK MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY
+OF EXAMPLE, BUT NOT LIMITATION, RIVERBANK MAKES NO AND DISCLAIMS ANY
+REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+PURPOSE OR THAT THE USE OF SIP WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+6. RIVERBANK SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF SIP FOR ANY
+INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING,
+DISTRIBUTING, OR OTHERWISE USING SIP, OR ANY DERIVATIVE THEREOF, EVEN IF
+ADVISED OF THE POSSIBILITY THEREOF.
+
+7. This License Agreement will automatically terminate upon a material breach
+of its terms and conditions.
+
+8. Nothing in this License Agreement shall be deemed to create any relationship
+of agency, partnership, or joint venture between Riverbank and Licensee. This
+License Agreement does not grant permission to use Riverbank trademarks or
+trade name in a trademark sense to endorse or promote products or services of
+Licensee, or any third party.
+
+9. By copying, installing or otherwise using SIP, Licensee agrees to be bound
+by the terms and conditions of this License Agreement.
diff --git a/licenses/The-Qt-Company-Commercial b/licenses/The-Qt-Company-Commercial
index 1c8cb00e..ff775f95 100644
--- a/licenses/The-Qt-Company-Commercial
+++ b/licenses/The-Qt-Company-Commercial
@@ -1,20 +1,2091 @@
-/******************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the <Fill> module.
-**
-** $QT_BEGIN_LICENSE:COMM$
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** $QT_END_LICENSE$
-**
-******************************************************************************/
+QT LICENSE AGREEMENT
+Agreement version 4.4.1
+
+This Qt License Agreement ("Agreement") is a legal agreement for the licensing
+of Licensed Software (as defined below) between The Qt Company (as defined
+below) and the Licensee who has accepted the terms of this Agreement by signing
+this Agreement or by downloading or using the Licensed Software or in any other
+appropriate means.
+
+Capitalized terms used herein are defined in Section 1.
+
+WHEREAS:
+ (A) Licensee wishes to use the Licensed Software for the purpose of
+ developing and distributing Applications and/or Devices (each as defined
+ below);
+ (B) The Qt Company is willing to grant the Licensee a right to use Licensed
+ Software for such a purpose pursuant to term and conditions of this
+ Agreement; and
+ (C) Parties wish to enable that their respective Affiliates also can sell
+ and purchase licenses to serve Licensee Affiliates' needs to use Licensed
+ Software pursuant to terms of the Agreement. Any such license purchases by
+ Licensee Affiliates from The Qt Company or its Affiliates will create
+ contractual relationship directly between the relevant The Qt Company and
+ the respective ordering Licensee Affiliate "Acceding Agreement").
+ Accordingly, Licensee shall not be a party to any such Acceding Agreement,
+ and no rights or obligations are created to the Licensee thereunder but all
+ rights and obligations under such Acceding Agreement are vested and borne
+ solely by the ordering Licensee Affiliate and the relevant The Qt Company
+ as a contracting parties under such Acceding Agreement.
+
+NOW, THEREFORE, THE PARTIES HEREBY AGREE AS FOLLOWS:
+
+1. DEFINITIONS
+
+"Affiliate" of a Party shall mean an entity
+ (i) which is directly or indirectly controlling such Party;
+ (ii) which is under the same direct or indirect ownership or control as
+ such Party; or
+ (iii) which is directly or indirectly owned or controlled by such Party.
+For these purposes, an entity shall be treated as being controlled by another
+if that other entity has fifty percent (50 %) or more of the votes in such
+entity, is able to direct its affairs and/or to control the composition of its
+board of directors or equivalent body.
+
+"Add-on Products" shall mean The Qt Company's specific add-on software products
+which are not licensed as part of The Qt Company's standard product offering,
+but shall be included into the scope of Licensed Software only if so
+specifically agreed between the Parties.
+
+"Agreement Term" shall mean the validity period of this Agreement, as set forth
+in Section 12.
+
+"Applications" shall mean software products created using the Licensed
+Software, which include the Redistributables, or part thereof.
+
+"Contractor(s)" shall mean third party consultants, distributors and
+contractors performing services to the Licensee under applicable contractual
+arrangement.
+
+"Customer(s)" shall mean Licensee's customers to whom Licensee, directly or
+indirectly, distributes copies of the Redistributables as integrated or
+incorporated into Applications or Devices.
+
+"Data Protection Legislation" shall mean the General Data Protection Regulation
+(EU 2016/679) (GDPR) and any national implementing laws, regulations and
+secondary legislation, as may be amended or updated from time to time, as well
+as any other data protection laws or regulations applicable in relevant
+territory.
+
+"Deployment Platforms" shall mean target operating systems and/or hardware
+specified in the License Certificate, on which the Redistributables can be
+distributed pursuant to the terms and conditions of this Agreement.
+
+"Designated User(s)" shall mean the employee(s) of Licensee or Licensee's
+Affiliates acting within the scope of their employment or Licensee's
+Contractors acting within the scope of their services on behalf of Licensee.
+
+"Development License" shall mean the license needed by the Licensee for each
+Designated User to use the Licensed Software under the license grant described
+in Section 3.1 of this Agreement. Development Licenses are available per
+respective Licensed Software products, each product having its designated scope
+and purpose of use.
+
+"Development License Term" shall mean the agreed validity period of the
+Development License or QA Tools license during which time the relevant Licensed
+Software product can be used pursuant to this Agreement. Agreed Development
+License Term, as ordered and paid for by the Licensee, shall be memorialized in
+the applicable License Certificate.
+
+"Development Platforms" shall mean those host operating systems specified in
+the License Certificate, in which the Licensed Software can be used under the
+Development License.
+
+"Devices" shall mean
+ (1) hardware devices or products that
+ i. are manufactured and/or distributed by the Licensee, its Affiliates,
+ Contractors or Customers, and
+ ii. incorporate, integrate or link to Applications such that
+ substantial functionality of such unit, when used by an End User,
+ is provided by Application(s) or otherwise depends on the Licensed
+ Software, regardless of whether the Application is developed by
+ Licensee or its Contractors; or
+ (2) Applications designed for the hardware devices specified in item (1).
+
+ Devices covered by this Agreement shall be specified in Appendix 2 or in a
+ quote.
+
+"Distribution License(s)" shall mean a royalty-bearing license required for any
+kind of sale, trade, exchange, loan, lease, rental or other distribution by or
+on behalf of Licensee to a third party of Redistributables in connection with
+Devices pursuant to license grant described in Section 3.3 of this Agreement.
+Distribution Licensed are sold separately for each type of Device respectively
+and cannot be used for any type of Devices at Licensee's discretion.
+
+"Distribution License Packs" shall mean set of prepaid Distribution Licenses
+for distribution of Redistributables, as defined in The Qt Company's standard
+price list, quote, Purchase Order confirmation or in an Appendix 2 hereto, as
+the case may be.
+
+"End User" shall mean the final end user of the Application or a Device.
+
+"Evaluation License Term" shall mean a time period specified in the License
+Certificate for the Licensee to use the relevant Licensed Software for
+evaluation purposes according to Section 3.6 herein.
+
+"Intellectual Property Rights" shall mean patents (including utility models),
+design patents, and designs (whether or not capable of registration), chip
+topography rights and other like protection, copyrights, trademarks, service
+marks, trade names, logos or other words or symbols and any other form of
+statutory protection of any kind and applications for any of the foregoing as
+well as any trade secrets.
+
+"License Certificate" shall mean a certificate generated by The Qt Company for
+each Designated User respectively upon them downloading the Licensed Software,
+which will be available under respective Designated User's Qt Account at
+account.qt.io. License Certificates will specify relevant information
+pertaining the Licensed Software purchased by Licensee and Designated User's
+license to the Licensed Software.
+
+"License Fee" shall mean the fee charged to the Licensee for rights granted
+under the terms of this Agreement.
+
+"Licensed Software" shall mean specified product of commercially licensed
+version of Qt Software and/or QA Tools defined in Appendix 1 and/or Appendix 3,
+which Licensee has purchased and which is provided to Licensee under the terms
+of this Agreement. Licensed Software shall include corresponding online or
+electronic documentation, associated media and printed materials, including the
+source code (where applicable), example programs and the documentation.
+Licensed Software does not include Third Party Software (as defined in Section
+4) or Open Source Qt. The Qt Company may, in the course of its development
+activities, at its free and absolute discretion and without any obligation to
+send or publish any notifications to the Licensee or in general, make changes,
+additions or deletions in the components and functionalities of the Licensed
+Software, provided that no such changes, additions or deletions will affect
+the already released version of the Licensed Software, but only upcoming
+version(s).
+
+"Licensee" shall mean the individual or legal entity that is party to this
+Agreement.
+
+"Licensee's Records" shall mean books and records that contain information
+bearing on Licensee's compliance with this Agreement, Licensee's use of Open
+Source Qt and/or the payments due to The Qt Company under this Agreement,
+including, but not limited to user information, assembly logs, sales records
+and distribution records.
+
+"Modified Software" shall have the meaning as set forth in Section 2.3.
+
+"Online Services" shall mean any services or access to systems made available
+by The Qt Company to the Licensee over the Internet relating to the Licensed
+Software or for the purpose of use by the Licensee of the Licensed Software or
+Support. Use of any such Online Services is discretionary for the Licensee and
+some of them may be subject to additional fees.
+
+"Open Source Qt" shall mean Qt Software available under the terms of the GNU
+Lesser General Public License, version 2.1 or later ("LGPL") or the GNU General
+Public License, version 2.0 or later ("GPL"). For clarity, Open Source Qt shall
+not be provided, governed or used under this Agreement.
+
+"Party" or "Parties" shall mean Licensee and/or The Qt Company.
+
+"Permitted Software" shall mean (i) third party open source software products
+that are generally available for public in source code form and free of any
+charge under any of the licenses approved by Open Source Initiative as listed
+on https://opensource.org/licenses, which may include parts of Open Source Qt
+or be developed using Open Source Qt; and (ii) software The Qt Company has made
+available via its Qt Marketplace online distribution channel.
+
+"Pre-Release Code" shall have the meaning as set forth in Section 4.
+
+"Prohibited Combination" shall mean any effort to use, combine, incorporate,
+link or integrate Licensed Software with any software created with or
+incorporating Open Source Qt, or use Licensed Software for creation of any such
+software.
+
+"Purchase Order" shall have the meaning as set forth in Section 10.2.
+
+"QA Tools" shall mean software libraries and tools as defined in Appendix 1
+depending on which product(s) the Licensee has purchased under the Agreement.
+
+"Qt Software" shall mean the software libraries and tools of The Qt Company,
+which The Qt Company makes available under commercial and/or open source
+licenses.
+
+"Redistributables" shall mean the portions of the Licensed Software set forth
+in Appendix 1 that may be distributed pursuant to the terms of this Agreement
+in object code form only, including any relevant documentation. Where relevant,
+any reference to Licensed Software in this Agreement shall include and refer
+also to Redistributables.
+
+"Renewal Term" shall mean an extension of previous Development License Term as
+agreed between the Parties.
+
+"Submitted Modified Software" shall have the meaning as set forth in Section
+2.3.
+
+"Support" shall mean standard developer support that is provided by The Qt
+Company to assist Designated Users in using the Licensed Software in accordance
+with this Agreement and the Support Terms.
+
+"Support Terms" shall mean The Qt Company's standard support terms specified in
+Appendix 9 hereto.
+
+"Taxes" shall have the meaning set forth in Section 10.5.
+
+"The Qt Company" shall mean:
+ (i) in the event Licensee is an individual residing in the United States or
+ a legal entity incorporated in the United States or having its
+ headquarters in the United States, The Qt Company Inc., a Delaware
+ corporation with its office at 3031 Tisch Way, 110 Plaza West,
+ San Jose, CA 95128, USA.; or
+ (ii) in the event the Licensee is an individual residing outside of the
+ United States or a legal entity incorporated outside of the United
+ States or having its registered office outside of the United States,
+ The Qt Company Ltd., a Finnish company with its registered office at
+ Miestentie 7, 02150 Espoo, Finland.
+
+"Third-Party Software" shall have the meaning set forth in Section 4.
+
+"Updates" shall mean a release or version of the Licensed Software containing
+bug fixes, error corrections and other changes that are generally made
+available to users of the Licensed Software that have contracted for Support.
+Updates are generally depicted as a change to the digits following the decimal
+in the Licensed Software version number. The Qt Company shall make Updates
+available to the Licensee under the Support. Updates shall be considered as
+part of the Licensed Software hereunder.
+
+"Upgrades" shall mean a release or version of the Licensed Software containing
+enhancements and new features and are generally depicted as a change to the
+first digit of the Licensed Software version number. In the event Upgrades are
+provided to the Licensee under this Agreement, they shall be considered as part
+of the Licensed Software hereunder.
+
+2. OWNERSHIP
+
+2.1. Ownership of The Qt Company
+
+The Licensed Software is protected by copyright laws and international
+copyright treaties, as well as other intellectual property laws and treaties.
+The Licensed Software is licensed, not sold.
+
+All of The Qt Company's Intellectual Property Rights are and shall remain the
+exclusive property of The Qt Company or its licensors respectively. No rights
+to The Qt Company's Intellectual Property Rights are assigned or granted to
+Licensee under this Agreement, except when and to the extent expressly
+specified herein.
+
+2.2. Ownership of Licensee
+
+All the Licensee's Intellectual Property Rights are and shall remain the
+exclusive property of the Licensee or its licensors respectively.
+
+All Intellectual Property Rights to the Modified Software, Applications and
+Devices shall remain with the Licensee and no rights thereto shall be granted
+by the Licensee to The Qt Company under this Agreement (except as set forth in
+Section 2.3 below).
+
+2.3. Modified Software
+
+Licensee may create bug-fixes, error corrections, patches or modifications to
+the Licensed Software ("Modified Software"). Such Modified Software may break
+the source or binary compatibility with the Licensed Software (including
+without limitation through changing the application programming interfaces
+("API") or by adding, changing or deleting any variable, method, or class
+signature in the Licensed Software and/or any inter-process protocols,
+services or standards in the Licensed Software libraries). To the extent that
+Licensee's Modified Software so breaks source or binary compatibility with the
+Licensed Software, Licensee acknowledges that The Qt Company's ability to
+provide Support may be prevented or limited and Licensee's ability to make use
+of Updates may be restricted.
+
+Licensee may, at its sole and absolute discretion, choose to submit Modified
+Software to The Qt Company ("Submitted Modified Software") in connection with
+Licensee's Support request, service request or otherwise. In the event
+Licensee does so, then, Licensee hereby grants The Qt Company a sublicensable,
+assignable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and
+fully paid-up license, under all of Licensee's Intellectual Property Rights, to
+reproduce, adapt, translate, modify, and prepare derivative works of, publicly
+display, publicly perform, sublicense, make available and distribute such
+Submitted Modified Software as The Qt Company sees fit at its free and absolute
+discretion.
+
+3. LICENSES GRANTED
+
+3.1. Development with Licensed Software
+
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable license, valid for each Development
+License Term, to use, modify and copy the Licensed Software by Designated
+Users on the Development Platforms for the sole purposes of designing,
+developing, demonstrating and testing Application(s) and/or Devices, and to
+provide thereto related support and other related services to Customers. Each
+Application and/or Device can only include, incorporate or integrate
+contributions by such Designated Users who are duly licensed for the applicable
+Development Platform(s) and Deployment Platform(s) (i.e have a valid license
+for the appropriate Licensed Software product).
+
+Licensee may install copies of the Licensed Software on five (5) computers per
+Designated User, provided that only the Designated Users who have a valid
+Development License may use the Licensed Software.
+
+Licensee may at any time designate another Designated User to replace a
+then-current Designated User by notifying The Qt Company in writing, where such
+replacement is due to termination of employment, change of job duties, long
+time absence or other such permanent reason affecting Designated User's need
+for Licensed Software.
+
+Upon expiry of the initially agreed Development License Term, the respective
+Development License Term shall be automatically extended to one or more Renewal
+Term(s), unless and until either Party notifies the other Party in writing, or
+any other method acceptable to The Qt Company (it being specifically
+acknowledged and understood that verbal notification is explicitly deemed
+inadequate in all circumstances), that it does not wish to continue the
+Development License Term, such notification to be provided to the other Party
+no less than thirty (30) days before expiry of the respective Development
+License Term. The Qt Company shall, in good time before the due date for the
+above notification, remind the Licensee on the coming Renewal Term. Unless
+otherwise agreed between the Parties, Renewal Term shall be 12 months.
+
+Any such Renewal Term shall be subject to License Fees agreed between the
+Parties or, if no advance agreement exists, subject to The Qt Company's
+standard list pricing applicable at the commencement date of any such
+Renewal Term.
+
+The Qt Company may either request the Licensee to place a purchase order
+corresponding to a quote by The Qt Company, or use Licensee's stored Credit
+Card information in the Qt Account to automatically charge the Licensee for the
+relevant Renewal Term.
+
+3.2. Distribution of Applications
+
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
+this Agreement), right and license, valid for the Agreement Term, to
+ (i) distribute, by itself or through its Contractors, Redistributables as
+ installed, incorporated or integrated into Applications for execution
+ on the Deployment Platforms, and
+ (ii) grant perpetual and irrevocable sublicenses to Redistributables, as
+ distributed hereunder, for Customers solely to the extent necessary in
+ order for the Customers to use the Applications for their respective
+ intended purposes.
+
+Right to distribute the Redistributables as part of an Application as provided
+herein is not royalty-bearing but is conditional upon the Application having
+been created, updated and maintained under a valid and duly paid Development
+Licenses.
+
+3.3. Distribution of Devices
+
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
+this Agreement), right and license, valid for the Agreement Term, to
+ (i) distribute, by itself or through one or more tiers of Contractors,
+ Redistributables as installed, incorporated or integrated, or intended
+ to be installed, incorporated or integrated into Devices for execution
+ on the Deployment Platforms, and
+ (ii) grant perpetual and irrevocable sublicenses to Redistributables, as
+ distributed hereunder, for Customers solely to the extent necessary in
+ order for the Customers to use the Devices for their respective
+ intended purposes.
+
+Right to distribute the Devices as provided herein is conditional upon
+ (i) the Devices having been created, updated and maintained under a valid
+ and duly paid Development Licenses, and
+ (ii) the Licensee having acquired corresponding Distribution Licenses at
+ the time of distribution of any Devices to Customers.
+
+3.4. Further Requirements
+
+The licenses granted above in this Section 3 by The Qt Company to Licensee are
+conditional and subject to Licensee's compliance with the following terms:
+ (i) Licensee acknowledges that The Qt Company has separate products of
+ Licensed Software for the purpose of Applications and Devices
+ respectively, where development and distribution of Devices is only
+ allowed using the correct designated product. Licensee shall make sure
+ and bear the burden of proof that Licensee is using a correct product
+ of Licensed Software entitling Licensee to development and distribution
+ of Devices;
+ (ii) Licensee shall not remove or alter any copyright, trademark or other
+ proprietary rights notice(s) contained in any portion of the Licensed
+ Software;
+ (iii) Applications must add primary and substantial functionality to the
+ Licensed Software so as not to compete with the Licensed Software;
+ (iv) Applications may not pass on functionality which in any way makes it
+ possible for others to create software with the Licensed Software;
+ provided however that Licensee may use the Licensed Software's
+ scripting and QML ("Qt Quick") functionality solely in order to enable
+ scripting, themes and styles that augment the functionality and
+ appearance of the Application(s) without adding primary and substantial
+ functionality to the Application(s);
+ (v) Licensee shall not use Licensed Software in any manner or for any
+ purpose that infringes, misappropriates or otherwise violates any
+ Intellectual property or right of any third party, or that violates any
+ applicable law;
+ (vi) Licensee shall not use The Qt Company's or any of its suppliers'
+ names, logos, or trademarks to market Applications, except that
+ Licensee may use "Built with Qt" logo to indicate that Application(s)
+ or Device(s) was developed using the Licensed Software;
+ (vii) Licensee shall not distribute, sublicense or disclose source code of
+ Licensed Software to any third party (provided however that Licensee
+ may appoint employee(s) of Contractors and Affiliates as Designated
+ Users to use Licensed Software pursuant to this Agreement). Such right
+ may be available for the Licensee subject to a separate software
+ development kit ("SDK") license agreement to be concluded with The Qt
+ Company;
+ (viii) Licensee shall not grant the Customers a right to (a) make copies of
+ the Redistributables except when and to the extent required to use the
+ Applications and/or Devices for their intended purpose, (b) modify the
+ Redistributables or create derivative works thereof, (c) decompile,
+ disassemble or otherwise reverse engineer Redistributables, or (d)
+ redistribute any copy or portion of the Redistributables to any third
+ party, except as part of the onward sale of the Application or Device
+ on which the Redistributables are installed;
+ (ix) Licensee shall not and shall cause that its Affiliates or Contractors
+ shall not use Licensed Software in any Prohibited Combination, unless
+ Licensee has received an advance written permission from The Qt Company
+ to do so. Absent such written permission, any and all distribution by
+ the Licensee during the Agreement Term of a hardware device or product
+ a) which incorporate or integrate any part of Licensed Software or Open
+ Source Qt; or b) where substantial functionality is provided by
+ software built with Licensed Software or Open Source Qt or otherwise
+ depends on the Licensed Software or Open Source Qt, shall be considered
+ to be Device distribution under this Agreement and shall be dependent
+ on Licensee's compliance thereof (including but not limited to
+ obligation to pay applicable License Fees for such distribution).
+ Notwithstanding what is provided above in this sub-section (ix),
+ Licensee is entitled to use and combine Licensed Software with any
+ Permitted Software;
+ (x) Licensee shall cause all of its Affiliates, Contractors and Customers
+ entitled to make use of the licenses granted under this Agreement, to
+ be contractually bound to comply with the relevant terms of this
+ Agreement and not to use the Licensed Software beyond the terms hereof
+ and for any purposes other than operating within the scope of their
+ services for Licensee. Licensee shall be responsible for any and all
+ actions and omissions of its Affiliates and Contractors relating to the
+ Licensed Software and use thereof (including but not limited to payment
+ of all applicable License Fees);
+ (xi) Except when and to the extent explicitly provided in this Section 3,
+ Licensee shall not transfer, publish, disclose, display or otherwise
+ make available the Licensed Software; and
+ (xii) Licensee shall not attempt or enlist a third party to conduct or
+ attempt to conduct any of the above.
+
+Above terms shall not be applicable if and to the extent they conflict with any
+mandatory provisions of any applicable laws.
+
+Any use of Licensed Software beyond the provisions of this Agreement is
+strictly prohibited and requires an additional license from The Qt Company.
+
+3.5 QA Tools License
+
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable license, valid for the Development
+License Term, to use the QA Tools for Licensee's internal business purposes in
+the manner provided below and in Appendix 1 hereto.
+
+Licensee may modify the QA Tools except for altering or removing any details of
+ownership, copyright, trademark or other property right connected with the QA
+Tools.
+
+Licensee shall not distribute the QA Tools or any part thereof, modified or
+unmodified, separately or as part of any software package, Application or
+Device.
+
+Upon expiry of the initially agreed Development License Term, the respective
+Development License Term shall be automatically extended to one or more Renewal
+Term(s), unless and until either Party notifies the other Party in writing, or
+any other method acceptable to The Qt Company (it being specifically
+acknowledged and understood that verbal notification is explicitly deemed
+inadequate in all circumstances), that it does not wish to continue the
+Development License Term, such notification to be provided to the other Party
+no less than thirty (30) days before expiry of the respective Development
+License Term. The Qt Company shall, in good time before the due date for the
+above notification, remind the Licensee on the coming Renewal Term. Unless
+otherwise agreed between the Parties, Renewal Term shall be 12 months.
+
+Any such Renewal Term shall be subject to License Fees agreed between the
+Parties or, if no advance agreement exists, subject to The Qt Company's
+standard list pricing applicable at the commencement date of any such
+Renewal Term.
+
+3.6 Evaluation License
+
+Subject to the terms of this Agreement, The Qt Company grants to Licensee a
+worldwide, non-exclusive, non-transferable license, valid for the Evaluation
+License Term to use the Licensed Software solely for the Licensee's internal
+use to evaluate and determine whether the Licensed Software meets Licensee's
+business requirements, specifically excluding any commercial use of the
+Licensed Software or any derived work thereof.
+
+Upon the expiry of the Evaluation License Term, Licensee must either
+discontinue use of the relevant Licensed Software or acquire a commercial
+Development License or QA Tools License specified herein.
+
+4. THIRD-PARTY SOFTWARE
+
+The Licensed Software may provide links or access to third party libraries or
+code (collectively "Third-Party Software") to implement various functions.
+Third-Party Software does not, however, comprise part of the Licensed Software,
+but is provided to Licensee complimentary and use thereof is discretionary for
+the Licensee. Third-Party Software will be listed in the ".../src/3rdparty"
+source tree delivered with the Licensed Software or documented in the Licensed
+Software, as such may be amended from time to time. Licensee acknowledges that
+use or distribution of Third-Party Software is in all respects subject to
+applicable license terms of applicable third-party right holders.
+
+5. PRE-RELEASE CODE
+
+The Licensed Software may contain pre-release code and functionality, or sample
+code marked or otherwise stated with appropriate designation such as
+"Technology Preview", "Alpha", "Beta", "Sample", "Example" etc.
+("Pre-Release Code").
+
+Such Pre-Release Code may be present complimentary for the Licensee, in order
+to provide experimental support or information for new platforms or
+preliminary versions of one or more new functionalities or for other similar
+reasons. The Pre-Release Code may not be at the level of performance and
+compatibility of a final, generally available, product offering. The
+Pre-Release Code may not operate correctly, may contain errors and may be
+substantially modified by The Qt Company prior to the first commercial
+product release, if any. The Qt Company is under no obligation to make
+Pre-Release Code commercially available, or provide any Support or Updates
+relating thereto. The Qt Company assumes no liability whatsoever regarding
+any Pre-Release Code, but any use thereof is exclusively at Licensee's own risk
+and expense.
+
+For clarity, unless Licensed Software specifies different license terms for the
+respective Pre-Release Code, the Licensee is entitled to use such pre-release
+code pursuant to Section 3, just like other Licensed Software.
+
+6. LIMITED WARRANTY AND WARRANTY DISCLAIMER
+
+The Qt Company hereby represents and warrants that (i) it has the power and
+authority to grant the rights and licenses granted to Licensee under this
+Agreement, and (ii) Licensed Software will operate materially in accordance
+with its specifications.
+
+Except as set forth above, the Licensed Software is licensed to Licensee "as
+is" and Licensee's exclusive remedy and The Qt Company's entire liability for
+errors in the Licensed Software shall be limited, at The Qt Company's option,
+to correction of the error, replacement of the Licensed Software or return of
+the applicable fees paid for the defective Licensed Software for the time
+period during which the License is not able to utilize the Licensed Software
+under the terms of this Agreement.
+
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
+ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
+NON-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT
+WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT
+IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
+UNINTERRUPTED.
+
+7. LIMITATION OF LIABILITY
+
+EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
+BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
+EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER PARTY FOR ANY LOSS OF PROFIT,
+LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY OTHER INDIRECT, SPECIAL,
+CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY KIND,
+HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT.
+
+EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
+BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
+EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT
+EXCEED THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY BY LICENSEE
+DURING THE DEVELOPMENT LICENSE TERM DURING WHICH THE EVENT RESULTING IN SUCH
+LIABILITY OCCURRED.
+
+THE PROVISIONS OF THIS SECTION 7 ALLOCATE THE RISKS UNDER THIS AGREEMENT
+BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE
+LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS
+AGREEMENT.
+
+NOTWITHSTANDING ANYTHING TO THE CONTRARY IN THIS AGREEMENT, LICENSEE SHALL
+ALWAYS BE LIABLE TO PAY THE APPLICABLE LICENSE FEES CORRESPONDING TO ITS
+ACTUAL USE OF LICENSED SOFTWARE.
+
+8. SUPPORT, UPDATES AND ONLINE SERVICES
+
+Upon due payment of the agreed License Fees the Licensee will be eligible to
+receive Support and Updates and to use the Online Services during the agreed
+Development License Term or other agreed fixed time period. Support is
+provided according to agreed support level and subject to applicable
+requirements and restrictions, as specified in the Support Terms.
+
+Unless otherwise decided by The Qt Company at its free and absolute discretion,
+Upgrades will not be included in the Support but may be available subject to
+additional fees.
+
+From time to time The Qt Company may change the Support Terms, provided that
+during the respective ongoing Support period the level of Support may not be
+reduced without the consent of the Licensee.
+
+Unless otherwise agreed, The Qt Company shall not be responsible for providing
+any service or support to Customers.
+
+9. CONFIDENTIALITY
+
+Each Party acknowledges that during the Agreement Term each Party may receive
+information about the other Party's business, business methods, business plans,
+customers, business relations, technology, and other information, including the
+terms of this Agreement, that is confidential and of great value to the other
+Party, and the value of which would be significantly reduced if disclosed to
+third parties ("Confidential Information"). Accordingly, when a Party (the
+"Receiving Party") receives Confidential Information from the other Party (the
+"Disclosing Party"), the Receiving Party shall only disclose such information
+to employees and Contractors on a need to know basis, and shall cause its
+employees and employees of its Affiliates to: (i) maintain any and all
+Confidential Information in confidence; (ii) not disclose the Confidential
+Information to a third party without the Disclosing Party's prior written
+approval; and (iii) not, directly or indirectly, use the Confidential
+Information for any purpose other than for exercising its rights and
+fulfilling its responsibilities pursuant to this Agreement. Each Party shall
+take reasonable measures to protect the Confidential Information of the other
+Party, which measures shall not be less than the measures taken by such Party
+to protect its own confidential and proprietary information.
+
+Obligation of confidentiality shall not apply to information that (i) is or
+becomes generally known to the public through no act or omission of the
+Receiving Party; (ii) was in the Receiving Party's lawful possession prior to
+the disclosure hereunder and was not subject to limitations on disclosure or
+use; (iii) is developed independently by employees or Contractors of the
+Receiving Party or other persons working for the Receiving Party who have not
+had access to the Confidential Information of the Disclosing Party, as proven
+by the written records of the Receiving Party; (iv) is lawfully disclosed to
+the Receiving Party without restrictions, by a third party not under an
+obligation of confidentiality; or (v) the Receiving Party is legally compelled
+to disclose, in which case the Receiving Party shall notify the Disclosing
+Party of such compelled disclosure and assert the privileged and confidential
+nature of the information and cooperate fully with the Disclosing Party to
+limit the scope of disclosure and the dissemination of disclosed Confidential
+Information to the minimum extent necessary.
+
+The obligations under this Section 9 shall continue to remain in force for a
+period of five (5) years after the last disclosure, and, with respect to trade
+secrets, for so long as such trade secrets are protected under applicable trade
+secret laws.
+
+10. FEES, DELIVERY AND PAYMENT
+
+10.1. License Fees
+
+License Fees are described in The Qt Company's standard price list, quote or
+Purchase Order confirmation or in an Appendix 2 hereto, as the case may be.
+
+Unless otherwise expressly provided in this Agreement, the License Fees shall
+not be refunded or claimed as a credit in any event or for any reason
+whatsoever.
+
+10.2. Ordering Licenses
+
+Licensee may purchase Development Licenses, Distribution Licenses and QA Tools
+Licenses pursuant to agreed pricing terms or, if no specific pricing terms have
+been agreed upon, at The Qt Company's standard pricing terms applicable at the
+time of purchase.
+
+Unless expressly otherwise agreed, any price or other term quoted to the
+Licensee or specified herein shall only be valid for the thirty (30) days from
+the effective date of this Agreement, Appendix 2 or the date of the quote, as
+applicable.
+
+Licensee shall submit all purchase orders for Development Licenses and
+Distribution Licenses to The Qt Company by email or any other method acceptable
+to The Qt Company (each such order is referred to herein as a "Purchase Order")
+for confirmation, whereupon the Purchase Order shall become binding between the
+Parties.
+
+Licensee acknowledges and agrees that all Purchase Orders for Licensed Software
+the Licensee makes during the Agreement Term shall be governed exclusively
+under the terms of this Agreement.
+
+10.3. Distribution License Packs
+
+Unless otherwise agreed, Distribution Licenses shall be purchased by way of
+Distribution License Packs.
+
+Upon due payment of the ordered Distribution License Pack(s), the Licensee will
+have an account of Distribution Licenses available for distributing the
+Redistributables in accordance with this Agreement.
+
+Each time Licensee distributes a copy of Redistributables, then one
+Distribution License is used, and Licensee's account of available Distribution
+Licenses is decreased accordingly.
+
+Licensee may distribute copies of the Redistributables so long as Licensee has
+Distribution Licenses remaining on its account.
+
+10.4. Payment Terms
+
+License Fees and any other charges under this Agreement shall be paid by
+Licensee no later than thirty (30) days from the date of the applicable invoice
+from The Qt Company.
+
+The Qt Company will submit an invoice to Licensee after the date of this
+Agreement and/or after The Qt Company receives a Purchase Order from Licensee.
+
+A late payment charge of the lower of (a) one percent per month; or (b) the
+interest rate stipulated by applicable law, shall be charged on any unpaid
+balances that remain past due and which have not been disputed by the Licensee
+in good faith.
+
+10.5. Taxes
+
+All License Fees and other charges payable hereunder are gross amounts but
+exclusive of any value added tax, use tax, sales tax, withholding tax and other
+taxes, duties or tariffs ("Taxes") levied directly for the sale, delivery or
+use of Licensed Software hereunder pursuant to any applicable law. Such
+applicable Taxes shall be paid by Licensee to The Qt Company, or, where
+applicable, in lieu of payment of such Taxes to The Qt Company, Licensee shall
+provide an exemption certificate to The Qt Company and any applicable
+authority.
+
+11. RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
+
+11.1. Licensee's Record-keeping
+
+Licensee shall at all times during the Agreement Term and for a period of two
+(2) years thereafter maintain Licensee's Records in an accurate and up-to-date
+form. Licensee's Records shall be adequate to reasonably enable The Qt Company
+to determine Licensee's compliance with the provisions of this Agreement. The
+records shall conform to general good accounting practices.
+
+Licensee shall, within thirty (30) days from receiving The Qt Company's request
+to that effect, deliver to The Qt Company a report based on Licensee's Records,
+such report to contain information, in sufficient detail, on (i) number and
+identity of users working with Licensed Software or Open Source Qt, (ii) copies
+of Redistributables distributed by Licensee during the most recent calendar
+quarter and/or any other term specified by The Qt Company, , and (iii) any
+other information pertaining to Licensee's compliance with the terms of this
+Agreement (like e.g. information on products and/or projects relating to use of
+Distribution Licenses), as The Qt Company may reasonably require from time to
+time.
+
+11.2. The Qt Company's Audit Rights
+
+The Qt Company or an independent auditor acting on behalf of The Qt Company's,
+may, upon at least thirty (30) days' prior written notice and at its expense,
+audit Licensee with respect to the Licensee's use of the Licensed Software, but
+not more frequently than once during each 6-month period. Such audit may be
+conducted by mail, electronic means or through an in-person visit to Licensee's
+place of business. Any possible in-person audit shall be conducted during
+regular business hours at Licensee's facilities and shall not unreasonably
+interfere with Licensee's business activities and shall be limited in scope to
+verify Licensee's compliance with the terms of this Agreement. The Qt Company
+or the independent auditor acting on behalf of The Qt Company shall be entitled
+to inspect Licensee's Records and conduct necessary interviews of Licensee's
+relevant employees and Contractors. All such Licensee's Records and use thereof
+shall be subject to an obligation of confidentiality under this Agreement.
+
+If an audit reveals that Licensee is using the Licensed Software beyond scope
+of the licenses Licensee has paid for, Licensee shall pay to The Qt Company any
+amounts owed for such unauthorized use within 30 days from receipt of the
+corresponding invoice from The Qt Company.
+
+In addition, in the event the audit reveals a material violation of the terms
+of this Agreement (without limitation, either (i) underpayment of more than 10
+% of License Fees or 10,000 euros (whichever is more) or (ii) distribution of
+products, which include or result from Prohibited Combination, shall be deemed
+a material violation for purposes of this section), then the Licensee shall
+pay The Qt Company's reasonable cost of conducting such audit.
+
+12. TERM AND TERMINATION
+
+12.1. Agreement Term
+
+This Agreement shall enter into force upon due acceptance by both Parties and
+remain in force until terminated pursuant to the terms of this Section 12
+("Agreement Term").
+
+12.2. Termination for breach and suspension of rights
+Either Party shall have the right to terminate this Agreement upon thirty (30)
+days prior written notice if the other Party commits a material breach of any
+obligation of this Agreement and fails to remedy such breach within such notice
+period.
+
+Instead of termination, The Qt Company shall have the right to suspend or
+withhold grants of all rights to the Licensed Software hereunder, including but
+not limited to the Development Licenses, Distribution License, and Support,
+should Licensee fail to make payment in timely fashion or otherwise violates or
+is reasonably suspected to violate its obligations or terms of this Agreement,
+and where such violation or breach is not cured within ten (10) business days
+following The Qt Company's written notice thereof.
+
+12.3. Termination for insolvency
+
+Either Party shall have the right to terminate this Agreement immediately upon
+written notice in the event that the other Party becomes insolvent, files for
+any form of bankruptcy, makes any assignment for the benefit of creditors, has
+a receiver, administrative receiver or officer appointed over the whole or a
+substantial part of its assets, ceases to conduct business, or an act
+equivalent to any of the above occurs under the laws of the jurisdiction of the
+other Party.
+
+12.4. Parties' Rights and Duties upon Termination
+
+Upon expiry or termination of the Agreement, Licensee shall cease and shall
+cause all Designated Users (including those of its Affiliates' and
+Contractors') to cease using the Licensed Software under this Agreement. For
+clarity, a Development License of a Designated User or a QA Tools License, and
+all rights relating thereto, shall always terminate at the expiry of the
+respective Development License Term, even if the Agreement continues to remain
+in force.
+
+Upon such termination the Licensee shall destroy or return to The Qt Company
+all copies of the Licensed Software and all related materials and will certify
+the same by Licensee's duly authorized officer to The Qt Company upon its
+request, provided however that Licensee may retain and exploit such copies of
+the Licensed Software as it may reasonably require in providing continued
+support to Customers.
+
+Except when this Agreement is terminated by The Qt Company due to Licensee's
+material breach as set forth in Section 12.2, the Licensee may continue
+distribution of Applications and Devices under the terms of this Agreement
+despite the termination of this Agreement. In such event the terms hereof will
+continue to be applicable and govern any such distribution of Applications and
+Devices beyond the expiry or termination of this Agreement. In case of
+termination by The Qt Company due to Licensee's material breach, Licensee must
+cease any distribution of Applications and Devices at the date of termination
+of this Agreement.
+
+Expiry or termination of this Agreement for any reason whatsoever shall not
+relieve Licensee of its obligation to pay any License Fees accrued or payable
+to The Qt Company prior to the effective date of termination, and Licensee pay
+to The Qt Company all such fees within 30 days from the effective date of
+termination of this Agreement.
+
+Termination of this Agreement shall not affect any rights of Customers to
+continue use of Applications and Devices (and therein incorporated
+Redistributables).
+
+12.5. Extension of Rights under Special Circumstances
+
+In the event of The Qt Company choosing not to renew the Development License(s)
+or QA Tools Licenses, as set forth in Section 3.1 and 3.5 respectively, and
+where such decision of non-renewal is not due to any ongoing breach or alleged
+breach (as reasonably determined by The Qt Company) by Licensee of the terms of
+this Agreement or any applicable license terms of Open Source Qt, then all
+valid and affected Development Licenses and QA Tools licenses possessed by the
+Licensee at such date shall be extended to be valid in perpetuity under the
+terms of this Agreement and Licensee is entitled to purchase additional
+licenses as set forth in Section 10.2.
+
+In the event The Qt Company is declared bankrupt under a final, non-cancellable
+decision by relevant court of law, and this Agreement is not, at the date of
+expiry of the Development License(s) or QA Tools Licenses, assigned to party,
+who has assumed The Qt Company's position as a legitimate licensor of Licensed
+Software under this Agreement, then all valid Development Licenses and QA Tools
+Licenses possessed by the Licensee at such date of expiry, and which the
+Licensee has not notified for expiry, shall be extended to be valid in
+perpetuity under the terms of this Agreement.
+
+For clarity, in case of an extension under this Section 12.5, any such
+extension shall not apply to The Qt Company's Support obligations, but Support
+shall be provided only up until the end of the respective fixed Development
+License Term regardless of the extension of relevant Development License or QA
+Tools License, unless otherwise agreed between the Parties.
+
+13. GOVERNING LAW AND LEGAL VENUE
+
+In the event this Agreement is in the name of The Qt Company Inc., a Delaware
+Corporation, then:
+ (i) this Agreement shall be construed and interpreted in accordance with
+ the laws of the State of California, USA, excluding its choice of law
+ provisions;
+ (ii) the United Nations Convention on Contracts for the International Sale
+ of Goods will not apply to this Agreement; and
+ (iii) any dispute, claim or controversy arising out of or relating to this
+ Agreement or the breach, termination, enforcement, interpretation or
+ validity thereof, including the determination of the scope or
+ applicability of this Agreement to arbitrate, shall be determined by
+ arbitration in San Francisco, USA, before one arbitrator. The
+ arbitration shall be administered by JAMS pursuant to JAMS' Streamlined
+ Arbitration Rules and Procedures. Judgment on the Award may be entered
+ in any court having jurisdiction. This Section shall not preclude
+ parties from seeking provisional remedies in aid of arbitration from a
+ court of appropriate jurisdiction.
+
+In the event this Agreement is in the name of The Qt Company Ltd., a Finnish
+Company, then:
+ (i) this Agreement shall be construed and interpreted in accordance with
+ the laws of Finland, excluding its choice of law provisions;
+ (ii) the United Nations Convention on Contracts for the International Sale
+ of Goods will not apply to this Agreement; and
+ (iii) any disputes, controversy or claim arising out of or relating to this
+ Agreement, or the breach, termination or validity thereof shall be
+ finally settled by arbitration in accordance with the Arbitration Rules
+ of International Chamber of Commerce. The arbitration tribunal shall
+ consist of one (1), or if either Party so requires, of three (3),
+ arbitrators. The award shall be final and binding and enforceable in
+ any court of competent jurisdiction. The arbitration shall be held in
+ Helsinki, Finland and the process shall be conducted in the English
+ language. This Section shall not preclude parties from seeking
+ provisional remedies in aid of arbitration from a court of appropriate
+ jurisdiction.
+
+14. GENERAL PROVISIONS
+
+14.1. No Assignment
+
+Except in the case of a merger or sale of substantially all of its corporate
+assets, Licensee shall not be entitled to assign or transfer all or any of its
+rights, benefits and obligations under this Agreement without the prior written
+consent of The Qt Company, which shall not be unreasonably withheld or delayed.
+The Qt Company shall be entitled to freely assign or transfer any of its
+rights, benefits or obligations under this Agreement.
+
+14.2. No Third-Party Representations
+
+Licensee shall make no representations or warranties concerning the Licensed
+Software on behalf of The Qt Company. Any representation or warranty Licensee
+makes or purports to make on The Qt Company's behalf shall be void as to
+The Qt Company.
+
+14.3. Surviving Sections
+
+Any terms and conditions that by their nature or otherwise reasonably should
+survive termination of this Agreement shall so be deemed to survive. Such
+sections include especially the following: 1, 2, 6, 7, 9, 11, 12.4, 13 and 14.
+
+14.4. Entire Agreement
+
+This Agreement, the Appendices hereto, the License Certificate and any
+applicable quote and Purchase Order accepted by The Qt Company constitute the
+complete agreement between the Parties and supersedes all prior or
+contemporaneous discussions, representations, and proposals, written or oral,
+with respect to the subject matters discussed herein.
+
+In the event of any conflict or inconsistency between this Agreement and any
+Purchase Order, the terms of this Agreement will prevail over the terms of the
+Purchase Order with respect to such conflict or inconsistency.
+
+Parties specifically acknowledge and agree that this Agreement prevails over
+any click-to-accept or similar agreements the Designated Users may need to
+accept online upon download of the Licensed Software, as may be required by
+The Qt Company's applicable processes relating to Licensed Software.
+
+14.5. Modifications
+
+No modification of this Agreement shall be effective unless contained in a
+writing executed by an authorized representative of each Party. No term or
+condition contained in Licensee's Purchase Order ("Deviating Terms") shall
+apply unless The Qt Company has expressly agreed such Deviating Terms in
+writing. Unless and to the extent expressly agreed by The Qt Company, any such
+Deviating Terms shall be deemed void and with no legal effect. For clarity,
+delivery of the Licensed Software following the receipt of the Purchase Order
+including Deviating Terms shall not constitute acceptance of such Deviating
+Terms.
+
+14.6. Force Majeure
+
+Except for the payment obligations hereunder, neither Party shall be liable to
+the other for any delay or non-performance of its obligations hereunder in the
+event and to the extent that such delay or non-performance is due to an event
+of act of God, terrorist attack or other similar unforeseeable catastrophic
+event that prevents either Party for fulfilling its obligations under this
+Agreement and which such Party cannot avoid or circumvent ("Force Majeure
+Event"). If the Force Majeure Event results in a delay or non-performance of a
+Party for a period of three (3) months or longer, then either Party shall have
+the right to terminate this Agreement with immediate effect without any
+liability (except for the obligations of payment arising prior to the event of
+Force Majeure) towards the other Party.
+
+14.7. Notices
+
+Any notice given by one Party to the other shall be deemed properly given and
+deemed received if specifically acknowledged by the receiving Party in writing
+or when successfully delivered to the recipient by hand, fax, or special
+courier during normal business hours on a business day to the addresses
+specified for each Party on the signature page. Each communication and document
+made or delivered by one Party to the other Party pursuant to this Agreement
+shall be in the English language.
+
+14.8. Export Control
+
+Licensee acknowledges that the Redistributables, as incorporated in
+Applications or Devices, may be subject to export control restrictions under
+the applicable laws of respective countries. Licensee shall fully comply with
+all applicable export license restrictions and requirements as well as with all
+laws and regulations relating to the Redistributables and exercise of licenses
+hereunder and shall procure all necessary governmental authorizations,
+including without limitation, all necessary licenses, approvals, permissions or
+consents, where necessary for the re-exportation of the Redistributables,
+Applications and/or Devices.
+
+14.9. No Implied License
+
+There are no implied licenses or other implied rights granted under this
+Agreement, and all rights, save for those expressly granted hereunder, shall
+remain with The Qt Company and its licensors. In addition, no licenses or
+immunities are granted to the combination of the Licensed Software with any
+other software or hardware not delivered by The Qt Company under this
+Agreement.
+
+14.10. Attorney Fees
+
+The prevailing Party in any action to enforce this Agreement shall be entitled
+to recover its attorney's fees and costs in connection with such action, as to
+be ordered by the relevant dispute resolution body.
+
+14.11. Privacy
+
+Licensee acknowledges and agrees that for the purpose of this Agreement,
+The Qt Company may collect, use, transfer and disclose personal data pertaining
+to Designated Users as well as any other employees and directors of the
+Licensee and its Contractors relevant for carrying out the intent of this
+Agreement. Such personal data will be primarily collected from the relevant
+individuals but may be collected also from Licensee (e.g. in the course of
+Licensee's reporting obligations). The Parties acknowledge that as
+The Qt Company determines the purpose and means for such collection and
+processing of the applicable personal data, The Qt Company shall be regarded as
+the Data Controller under the applicable Data Protection Legislation.
+The Qt Company shall process any such personal data in accordance with its
+privacy and security policies and practices, which will comply with all
+applicable requirements of the Data Protection Legislation.
+
+14.12. Severability
+
+If any provision of this Agreement shall be adjudged by any court of competent
+jurisdiction to be unenforceable or invalid, that provision shall be limited or
+eliminated to the minimum extent necessary so that this Agreement shall
+otherwise remain in full force and effect and enforceable.
+
+14.13. Marketing Rights
+
+Parties have agreed upon Marketing Rights pursuant to Appendix 7, if any.
+
+
+
+
+APPENDICES
+The Agreement includes following Appendices 1-10, as applicable.
+- Appendix 1: Licensed Software details
+- Appendix 2: Pricing
+- Appendix 3: Add-on Software details (optional)
+- Appendix 4: Small business and startup Licenses (optional)
+- Appendix 5: Non-commercial and educational Licenses (optional)
+- Appendix 6: License Reporting (optional)
+- Appendix 7: Marketing Rights (optional)
+- Appendix 8: Intentionally left blank (optional)
+- Appendix 9: Support Terms
+- Appendix 10: Conversion from legacy Licenses to Subscription (optional)
+- Appendix 11: TERMS OF USE - QT INSIGHT TRACKER LIBRARY
+
+
+APPENDIX 1: LICENSED SOFTWARE
+
+The modules and/or tools that are included in the latest publicly available
+version of the respective product at the effective date of this Agreement- Qt
+for Application Development Professional (ADP), Qt for Application Development
+Enterprise (ADE), Qt for Device Creation Professional (DCP), Qt for Device
+Creation Enterprise (DCE), - are marked with "X" in the below table. The
+modules and tools are specific to each product version respectively and may
+vary from version to version. Modules and tools included in the latest publicly
+available version of the respective product at any given time are listed in
+Appendix 1 of the latest version of this Agreement available at
+www.qt.io/terms-conditions/. If a new version of Licensed Software does not
+include a module or tool present in an older version which Licensee is entitled
+to use under a valid license from The Qt Company, then Licensee will continue
+to have such right during the Term of this Agreement. In the event a new
+version of the Licensed Software adds modules or tools to any previous
+version(s), Licensee's rights will extend to cover also such additional modules
+and tools.
+
+Parts of the product that are permitted for distribution in object-code form
+only ("Redistributables") are marked with "R" in the below table.
+
++----------------------------------------------------------+
+| Modules / Tools | ADP | ADE | DCP | DCE |
++----------------------------------------------------------+
+| Active Qt | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt 3D | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt 5 Core Compatibility APIs | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Android Extras | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Bluetooth | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Canvas 3D | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Charts | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Concurrent | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Core | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Data Visualization | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt D-Bus | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt for Python | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt for WebAssembly | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Gamepad | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Graphical Effects | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt GUI | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Help | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Image Formats | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Location | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Lottie Animation | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Mac Extras | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Multimedia | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Multimedia Widgets | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Network | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Network Authorization | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt NFC | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt OpenGL | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt PDF | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Platform Headers | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Positioning | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Print Support | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Purchasing | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt QML | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick 3D | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Controls 1 | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Controls | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Dialogs | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Extras | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Layouts | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Test | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Timeline | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick WebGL | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Widgets | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Remote Objects | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Script | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Script Tools | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt SCXML | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Sensors | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Serial Bus | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Serial Port | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Shader Tools | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Speech | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt State Machine | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt SQL | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt SVG | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Test | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt UI Tools | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Virtual Keyboard | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Wayland Compositor | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt WebChannel | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt WebEngine | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt WebSockets | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt WebView | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Widgets | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Windows Extras | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt X11 Extras | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt XML | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt XML Patterns | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Designer (Qt Widget Designer) | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Linguist | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt Assistant | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| lupdate | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| lrelease | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| lconvert | X,R | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt MQTT | | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt KNX | | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt OPC UA | | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Qt CoAP | | X,R | X,R | X,R |
++----------------------------------------------------------+
+| Boot 2 Qt stacks | | | X,R | X,R |
++----------------------------------------------------------+
+| Qt OTA | | | X,R | X,R |
++----------------------------------------------------------+
+| Device Utilities | | | X,R | X,R |
++----------------------------------------------------------+
+| Qt Debugging Bridge (QDB) Daemon | | | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Ultralite Controls | | | X,R | X,R |
++----------------------------------------------------------+
+| Qt Quick Ultralite | | | X,R | X,R |
++----------------------------------------------------------+
+| Qt Safe Renderer (QSR) | | | | X,R |
++----------------------------------------------------------+
+| Qt Application Manager | | | | X,R |
++----------------------------------------------------------+
+| Qt Interface Framework | | | | X,R |
++----------------------------------------------------------+
+| Neptune Reference UI | | | | X,R |
++----------------------------------------------------------+
+| Qt for Android Automotive (QAA) | | | | X,R |
++----------------------------------------------------------+
+| Qt Creator | X | X | X | X |
++----------------------------------------------------------+
+| Qt Design Studio Professional | X | X | X | X |
++----------------------------------------------------------+
+| androiddeployqt | X | X | X | X |
++----------------------------------------------------------+
+| androidtestrunner | X | X | X | X |
++----------------------------------------------------------+
+| canbusutil | X | X | X | X |
++----------------------------------------------------------+
+| dumpcpp | X | X | X | X |
++----------------------------------------------------------+
+| dumpdoc | X | X | X | X |
++----------------------------------------------------------+
+| fixqt4headers.pl | X | X | X | X |
++----------------------------------------------------------+
+| idc | X | X | X | X |
++----------------------------------------------------------+
+| moc | X | X | X | X |
++----------------------------------------------------------+
+| pixeltool | X | X | X | X |
++----------------------------------------------------------+
+| qdbus | X | X | X | X |
++----------------------------------------------------------+
+| qdbuscpp2xml | X | X | X | X |
++----------------------------------------------------------+
+| qdbusviwer | X | X | X | X |
++----------------------------------------------------------+
+| qdbusxml2cpp | X | X | X | X |
++----------------------------------------------------------+
+| qdistancefieldgenerator | X | X | X | X |
++----------------------------------------------------------+
+| qdoc | X | X | X | X |
++----------------------------------------------------------+
+| qhelpgenerator | X | X | X | X |
++----------------------------------------------------------+
+| qlalr | X | X | X | X |
++----------------------------------------------------------+
+| qmake | X | X | X | X |
++----------------------------------------------------------+
+| qml | X | X | X | X |
++----------------------------------------------------------+
+| qmlcachegen | X | X | X | X |
++----------------------------------------------------------+
+| qmldom | X | X | X | X |
++----------------------------------------------------------+
+| qmleasing | X | X | X | X |
++----------------------------------------------------------+
+| qmlformat | X | X | X | X |
++----------------------------------------------------------+
+| qmllint | X | X | X | X |
++----------------------------------------------------------+
+| qmlpreview | X | X | X | X |
++----------------------------------------------------------+
+| qmlprofiler | X | X | X | X |
++----------------------------------------------------------+
+| qmlscene | X | X | X | X |
++----------------------------------------------------------+
+| qmltestrunner | X | X | X | X |
++----------------------------------------------------------+
+| qmltime | X | X | X | X |
++----------------------------------------------------------+
+| qmlviewer | X | X | X | X |
++----------------------------------------------------------+
+| qtdiag | X | X | X | X |
++----------------------------------------------------------+
+| qtpaths | X | X | X | X |
++----------------------------------------------------------+
+| qtplugininfo | X | X | X | X |
++----------------------------------------------------------+
+| qvkgen | X | X | X | X |
++----------------------------------------------------------+
+| rcc | X | X | X | X |
++----------------------------------------------------------+
+| tracegen | X | X | X | X |
++----------------------------------------------------------+
+| uic | X | X | X | X |
++----------------------------------------------------------+
+| windeployqt | X | X | X | X |
++----------------------------------------------------------+
+| Target toolchains | | | X | X |
++----------------------------------------------------------+
+| Qt Debugging Bridge Host Tools | | | X | X |
++----------------------------------------------------------+
+| qtconfig-gui | | | X | X |
++----------------------------------------------------------+
+| Qt Emulator | | | X | X |
++----------------------------------------------------------+
+| Qt Creator VxWorks plugin | | | X | X |
++----------------------------------------------------------+
+| Qt Creator plugin for Qt | | | | X |
+| Application Manager | | | | |
++----------------------------------------------------------+
+| qmlinterfacegenerator | | | | X |
++----------------------------------------------------------+
+| qmltocpp | | | | X |
++----------------------------------------------------------+
+| qulfontcompiler | | | | X |
++----------------------------------------------------------+
+| Qt Deployment Server | | | | X |
++----------------------------------------------------------+
+
+
+Rights for Application and Device use cases
+
+Following table summarizes the rights afforded by different products of the
+Licensed Software to create and distribute Applications and Devices as defined
+in this Agreement (X marks for rights):
+
++---------------------------------------------------------------+
+| | Applications | Devices |
++---------------------------------------------------------------+
+| ADP | X | |
++---------------------------------------------------------------+
+| ADE | X | |
++---------------------------------------------------------------+
+| DCP | X | X |
++---------------------------------------------------------------+
+| DCE | X | X |
++---------------------------------------------------------------+
+
+Licensed Software: Designer tools and modules
+
+The modules and/or tools that are included in the respective product - Qt for
+Design Studio Professional (DSP), Qt for Design Studio Enterprise (DSE) - are
+marked with "X" in the below table.
+
+Designer tools provides no Redistributables.
+
++---------------------------------------------+
+| | DSP | DSE |
++---------------------------------------------+
+| Qt Design Studio | X | X |
++---------------------------------------------+
+| Qt Design Bridges | | X |
++---------------------------------------------+
+| QML Live on host | X | X |
++---------------------------------------------+
+| QML Live on target | | X |
++---------------------------------------------+
+| Variant Management | | X |
++---------------------------------------------+
+| Shader creation tools | | X |
++---------------------------------------------+
+| Profiling tools | | X |
++---------------------------------------------+
+| Simulink support | | X |
++---------------------------------------------+
+
+
+Both DSP and DSE can be used to create an user interface for use cases covered
+by ADP, ADE, DCP and DCE.
+
+Licensed Software: QA Tools
+
+The modules and/or tools that are included in the respective QA Tools product
+- Squish (both Tester and execution Licenses), Coco or Test Center - are marked
+with "X" in the below table. Optional features that will need additional
+licenses are marked with "O". QA Tools include no Redistributables.
+
++---------------------------------------------------------------------+
+| | Squish | Coco | Test Center |
++---------------------------------------------------------------------+
+| Squish IDE | X | | |
++---------------------------------------------------------------------+
+| QA Tool-specific command line tools | X | X | X |
++---------------------------------------------------------------------+
+| Coverage Browser | | X | |
++---------------------------------------------------------------------+
+| HTML interface | | | X |
++---------------------------------------------------------------------+
+| Qt Support Module | X | | |
++---------------------------------------------------------------------+
+| Java support module | X | | |
++---------------------------------------------------------------------+
+| Windows support module | X | | |
++---------------------------------------------------------------------+
+| iOS support module | X | | |
++---------------------------------------------------------------------+
+| Android support module | X | | |
++---------------------------------------------------------------------+
+| Web support module | X | | |
++---------------------------------------------------------------------+
+| macOS support module | X | | |
++---------------------------------------------------------------------+
+| VNC support module | X | | |
++---------------------------------------------------------------------+
+| MCU support module | X | | |
++---------------------------------------------------------------------+
+| C and C++ language module | | X | |
++---------------------------------------------------------------------+
+| C# language module | | X | |
++---------------------------------------------------------------------+
+| QML language module | | X | |
++---------------------------------------------------------------------+
+| Tester Cross-Compilation Add-On | O | O | |
++---------------------------------------------------------------------+
+
+License capabilities for Squish
+
+License capabilities that are included in the Squish Tester and Execution
+Licenses are marked with "X" in the below table.
+
++-----------------------------------------------------------------------------+
+| | Squish Tester License | Squish Execution License |
++-----------------------------------------------------------------------------+
+| Ability to create, edit, | X | |
+| and debug test cas | | |
++-----------------------------------------------------------------------------+
+| Ability to execute test | X | X |
+| cases | | |
++-----------------------------------------------------------------------------+
+
+Install and use capabilities for QA Tools
+
+Install and use capabilities that are included in the respective QA Tools
+products are defined in the below table.
+
++-----------------------------------------------------------------------------+
+| | Squish | Squish | Coco | Test |
+| | Tester | Execution | License | Center |
+| | License | License | | License |
++-----------------------------------------------------------------------------+
+| Number of installation | Unlimited | Unlimited | Unlimited | One(1) |
+| instances per license | | | | |
++-----------------------------------------------------------------------------+
+| Number of concurrent | Limited by| Limited by | Limited by | Limited by |
+| users | number of | number of | number of | number of |
+| | Squish | Squish | Coco | Test Center |
+| | Tester | Execution | Tester | Licenses |
+| | Licenses | Licenses | Licenses | |
++-----------------------------------------------------------------------------+
+
+
+APPENDIX 2: PRICING
+
+Separate template
+
+APPENDIX 3: ADD-ON PRODUCTS TO LICENSED SOFTWARE
+
+Intentionally left blank.
+
+APPENDIX 4: SMALL BUSINESS AND STARTUP
+
+The provisions of this Appendix 4 are applicable for companies with an annual
+revenue, including funding, equivalent to maximum of 250,000 USD (in applicable
+currency) during the latest full calendar year, as evidenced by duly audited
+records of the Licensee and approved by The Qt Company ("Start-up Company").
+
+Start-up Companies are qualified for a discounted License Fee for maximum of
+four (4) Development Licenses ("Start-up Development License") unless otherwise
+agreed between the parties.
+
+Start-up Development License entitles the respective Designated User for
+Support only for Install Support as defined in Appendix 9, Support Terms.
+
+Upon expiry of the respective Development License Term, the Start-up
+Development Licenses shall be automatically extended, pursuant to Section 3.1
+of the Agreement, for a Renewal Term either as new Start-up Development
+Licenses (if the Licensee still qualifies as a Start-up Company), or as normal
+then standard list price Development Licenses (if the Licensee no longer
+qualifies as a Start-up Company).
+
+APPENDIX 5: NON-COMMERCIAL AND EDUCATIONAL USE
+
+The provisions of this Appendix 5 are applicable for non-commercial use of the
+Licensed Software by the Licensee.
+
+For the purpose of this Appendix 5, the following additional definitions
+(replacing the relevant definition of the Agreement, where applicable) shall be
+applicable:
+
+"Demo Units" shall mean (i) hardware development platform, which incorporates
+the Licensed Software along with Licensee's software and/or hardware, and (ii)
+prototype versions of Applications or Devices.
+
+"Designated User(s)" shall mean the employees and students of the Licensee.
+
+"Licensee Products" shall mean Applications and/or Devices.
+
+"Permitted Purpose" shall mean (i) Licensee's internal evaluation and testing
+of Licensed Software, (ii) building Demo Units as well as (iii) educational
+use.
+
+"Agreement Term" shall mean a period of twelve (12) months or any such other
+period as may be agreed between the Parties.
+
+For the purpose of this Appendix 5, the following changes shall be agreed with
+respect to relevant Sections of the Agreement:
+ I. Recital (A) shall be replaced in its entirety to read as follows:
+ "(A) Licensee wishes to use the Licensed Software for the Permitted
+ Purpose."
+ II. Section 3.1 shall be replaced in its entirety to read as follows:
+ "The Qt Company grants to Licensee a personal, non-exclusive,
+ non-transferable, revocable, royalty-free license, valid for the
+ Agreement Term, to use, modify and copy the Licensed Software solely
+ for the Permitted Purpose. Licensee may install copies of the Licensed
+ Software on five (5) computers per Designated User, provided that only
+ the Designated Users who have a valid Development License may use the
+ Licensed Software. Licensee may demonstrate the Demo Units, provided
+ that such demonstrations must be conducted by Licensee, and the Demo
+ Units must remain in Licensee's possession and under Licensee's control
+ at all times.
+ For clarity, this Agreement does not (i) entitle Licensee to use
+ Licensed Software to create Applications or Devices (other than
+ prototypes thereof) or (ii) carry any distribution rights to Licensee,
+ but such rights are subject to and conditional upon conclusion of a
+ separate license agreement with The Qt Company."
+ III. Sections 3.2, 3.3, 3.5, 3.6, 8 and 10 shall be deleted.
+ IV. Section 3.4 shall be replaced in its entirety to read as follows:
+ "Licensee shall not:
+ - remove or alter any copyright, trademark or other proprietary rights
+ notice contained in any portion of the Licensed Software;
+ - transfer, publish, sublicense, disclose, display or otherwise make
+ the Licensed Software available to any third party (except that
+ Licensee may demonstrate the Demo Units pursuant to Section 3.1);
+ - in any way combine, incorporate or integrate Licensed Software with,
+ or use Licensed Software for creation of, any software created with
+ or incorporating Open Source Qt; Licensee shall cause all Designated
+ Users who make use of the licenses granted under this Agreement, to
+ be contractually bound to comply with the relevant terms of this
+ Agreement and not to use the Licensed Software beyond the terms
+ hereof. Licensee shall be responsible for any and all actions and
+ omissions of its Designated Users relating to the Licensed Software
+ and use thereof. Any use of Licensed Software beyond the provisions
+ of this Agreement is strictly prohibited and requires an additional
+ license from The Qt Company."
+ V. Section 12 shall be replaced in its entirety to read as follows:
+ "This Agreement shall enter into force upon due acceptance by both
+ Parties and remain in force for the Agreement Term, unless and until
+ terminated pursuant to the terms of Section 12.
+ Upon termination of the Agreement, Licensee shall cease using the
+ Licensed Software. All other copies of Licensed Software in the
+ possession or control of Licensee must be erased or destroyed. An
+ officer of Licensee must, upon request, promptly deliver to The Qt
+ Company a written confirmation that this has occurred."
+
+Except for the modifications specified above, this Appendix carries no change
+to the terms of the Agreement which shall remain in full force.
+
+APPENDIX 6: LICENSE REPORTING
+
+Separate template
+
+APPENDIX 7: MARKETING RIGHTS
+
+This Appendix 7 has the purpose to grant visibility through The Qt Company
+marketing channels of the usage of Qt and related product and service in
+Licensee product. Following related marketing right are agreed between the Qt
+Company and the Licensee.
+
+1. LICENSEE NAME AND LICENSEE LOGO
+
+The Qt Company has the right to use Licensee name and Licensee logo in public
+channel, in respect of the value proposition that the Qt company provided to
+the Licensee.
+
+2. MARKETING CONTENT COOPERATION
+
+2.1. LICENSEE CASES
+
+The Licensee is open to collaborate on content creation for marketing and
+communication purpose. The Licensee will nominate one responsible that will be
+in charge to support The Qt company with this content creation, according to
+content format paragraph, answering technical questions or sharing professional
+picture or video of required content. The Qt Company will have the right to
+advertise this in Content Format and Channel as mentioned in paragraph 3 and 4.
+
+2.2. FINAL PRODUCT REFERRAL
+
+Licensee agree that The Qt Company could connect their software product and
+services with the Licensee device or application, that the Licensee has created
+using The Qt Company technology and competence. Licensee will provide high
+quality picture, and video of the created final product where the Qt technology
+is running into. The Qt Company will have the right to advertise this in
+Content Format and Channel as mentioned in paragraph 3 and 4.
+
+3. CONTENT FORMAT
+
+- Video
+- Written Licensee case
+- Press release
+- Social media posts
+- Emails
+- Event booth Graphics
+- Printed material
+
+4. CHANNELS
+
+- Social media
+- The Qt Company resource center and website
+- Email to the Qt company contact database
+- Events
+- Online webinars
+- Public speech
+- Public presentations
+
+APPENDIX 8: INTENTIONALLY LEFT BLANK
+
+APPENDIX 9: SUPPORT TERMS
+Version 2023-04
+
+These Qt support terms and conditions (“Support Terms”) set forth the legal
+framework, where under The Qt Company (“The Qt Company”) provides support
+services (as herein defined) to the Licensee.
+
+1 DEFINITIONS
+
+“Application Code” shall mean a computer software program written strictly
+using the Qt programming language, by or for the Licensee, with a user
+interface, enabling the Licensee or their users to accomplish a specific task
+and display any results of the task on the display monitor or screen.
+
+“Customer Portal” shall mean The Qt Company’s web-based service and support
+user interface located at https://account.qt.io/ or at another location
+designated by The Qt Company. Customer Portal is used by a Designated User with
+Qt Account, and it provides downloads, license management, license certificate
+and other services for Designated Users.
+
+“Dedicated Contact” shall mean the employee of The Qt Company who will be the
+first point of contact for all Designated Users’ requests for Support.
+
+“Errors” shall mean an error, flaw, mistake, failure, or fault in Licensed
+Software that prevents it from behaving as described in the relevant
+documentation or as agreed between the Parties. Designated User can follow the
+state and progress of Errors in Customer Portal.
+
+“Extended Support” shall mean a continuation to the normal Support period,
+which allows Designated Users to receive selected Support (Standard Support or
+Premium Support) for a version of Licensed Software that is no longer generally
+supported by The Qt Company.
+
+”Install Support” shall mean Support that is limited to installation-related
+Error(s) on Development Platforms specified as supported host platforms for
+each Qt release under doc.qt.io. Install Support covers also operational use of
+the QA Tools, but not operational use of Qt Software.
+
+“Maintenance Release” shall mean a release or version of Licensed Software
+containing bug fixes, error corrections and other changes targeted to
+maintaining and improving product stability and quality. Maintenance Releases
+are generally depicted as a change to the third digit of Licensed Software
+version number.
+
+“Platforms” shall mean both Development Platforms and Deployment Platforms.
+Supported host and target Platforms may vary from for each Qt release as
+defined under doc.qt.io.
+
+“Premium Support” shall mean an upgraded level of Support that The Qt Company
+provides pursuant to these Support Terms to Licensee if Licensee has purchased
+Premium Support instead of Standard Support. Premium Support also covers what
+is included in Standard Support. Premium Support shall always be purchased for
+all Designated User(s) in the respective development team of the Licensee.
+
+“Qt Account” shall mean the Qt Account for a Designated User used for using Qt
+services and Customer Portal. A Qt Account is mapped to the Licensee company
+with the corporate email domain or domains.
+
+”Qualification Kit” shall mean a set of documents and validation test cases
+used for product certification needs as defined in section 2.6.
+
+“Response Time” shall mean the period of time from when Licensee notifies The
+Qt Company about an Error or requests Support until The Qt Company provides
+Licensee with a response that addresses (but not necessarily resolves) the
+reported Error or provides the requested Support.
+
+“Standard Support” shall mean standard level of Support that The Qt Company
+provides pursuant to these Support Terms to Licensee. Standard Support also
+covers what is included in Install Support.
+
+“Security Issue” shall mean an Error that may cause a vulnerability in a system
+or application that uses the Licensed Software.
+
+“Support” shall mean developer assistance that is provided by The Qt Company to
+assist eligible Designated Users in Licensed Software installation, usage and
+functionality problem resolution for Error(s) and Error workarounds pursuant to
+the terms of these Support Terms. Support for different products is available
+as specified in the below table (‘X’ marking the Support that is included in
+the license price, optional Add-on Support services are marked as ‘O’):
+
++-----------------------------------------------------------------------------+
+| | Install| Standard| Premium| Extended| Qualification|
+| | Support| Support | Support| Support | Kit |
++-----------------------------------------------------------------------------+
+| DSP | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| DSE | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| ADP | X | | | | |
++-----------------------------------------------------------------------------+
+| ADE | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| DCP | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| DCE | X | X | O | O | |
++-----------------------------------------------------------------------------+
+| Squish | X | X | O | | O |
++-----------------------------------------------------------------------------+
+| Coco | X | X | O | | O |
++-----------------------------------------------------------------------------+
+| Test Center | X | X | O | | O |
++-----------------------------------------------------------------------------+
+| Axivion Suite | X | X | | | |
++-----------------------------------------------------------------------------+
+| Architecture Analysis | X | X | | | |
++-----------------------------------------------------------------------------+
+| Static Code Analysis | X | X | | | |
++-----------------------------------------------------------------------------+
+| Static Coverage | X | X | | | |
+| Analysis Professional | | | | | |
++-----------------------------------------------------------------------------+
+| Qt Insight | | X | | | |
++-----------------------------------------------------------------------------+
+
+“Support Validity Term” shall mean the Development License Term or any other
+fixed time period agreed between the Parties during which time the Licensee is
+eligible to receive Support from The Qt Company.
+
+2 SUPPORT SERVICES
+
+2.1 Support Services Provided by The Qt Company
+
+Subject to these Support Terms and during the Support Validity Term, The Qt
+Company will via its Customer Portal, provide Designated User(s) with Support
+for the Licensed Software which Licensee has licensed under the Agreement. The
+Qt Company will make commercially reasonable efforts to solve any Errors
+reported by Designated User(s). Resolution of an Error may be provided through
+Designated User(s) themselves downloading of a later released version of the
+applicable Licensed Software product(s) or providing the Designated User with a
+workaround addressing such Error or providing the Designated User with an
+updated tool configuration.
+
+2.2 Licensee's Obligations
+
+To report an Error, the Designated User shall register the Error on the
+Customer Portal. If the Designated User considers the reported Error to be a
+Security Issue, the Error shall be marked as a Security Issue.
+
+The Designated User must provide adequate information and documentation to The
+Qt Company to enable it to recreate the Error or problem for which the
+Designated User has sought assistance. To ensure efficient handling of Errors,
+the Designated User must provide the following information, where relevant:
+- A clear, detailed description of the problem, question or suggestion;
+- Identification of which Licensed Software product and version is affected;
+- Identification of the operating environment (e.g. operating system, hardware
+ Platform, build tools, tool configuration, etc.) on which the problem exists;
+- Marking the issue as a Security Issue, when reporting a Security Issue;
+- On Standard Support: A complete and compilable test case of not more than 500
+ lines of code that demonstrates the problem;
+- On Premium Support: A complete and compilable test case that demonstrates the
+ problem or access to Application Code source codes.
+
+Additional relevant content, such as screenshots, etc.
+Additional content should be included as attachments. The preferred image
+formats are JPEG and PNG. Compressed content should be included in zip or
+tar.gz archives. Executable content and documents in platform specific formats
+such as Microsoft Office' are not accepted.
+
+In order for The Qt Company to provide prompt handling of Errors, the
+Designated User shall promptly respond to any requests from The Qt Company for
+additional information.
+
+2.3 Support Limitations
+
+General limitations:
+
+Each version or release of the Licensed Software will be Supported under
+Standard Support or Premium Support only for limited time period as set forth
+in doc.qt.io or in documentation provided with the respective Licensed Software
+product. If nothing is documented, a release of Licensed Software is supported
+for one (1) year from the release date of the version x.y.0 and Long Term
+Support (LTS) Releases are supported for a period of three (3) years from the
+release date of the LTS version x.y.0.
+
+The Qt Company shall only provide Support for Designated User(s) through
+Customer Portal.Support is made available for the entire development teams
+only: It is not allowed to purchase Support only for some members of the
+development team, and all Designated Users of the respective development team
+must be eligible for the same level of Support.
+
+Support is not provided for snapshots, preview releases, beta releases or
+release candidates.
+
+The Qt Company shall have no obligation to provide Support for 3rd party
+components, hardware or operating system specific problems or problems arising
+from improper use, accident, neglect, or modification of Qt.
+
+Limitations with Install Support:
+
+Support limited to (i) Error(s) regarding installation and setting up of the Qt
+development environment on host Platforms, or (ii) Errors impacting operational
+use of the QA Tools.
+
+Limitations with Standard Support:
+
+The Qt Company shall not provide Support for third-party software or problems
+caused by third-party software even if such third-party software is distributed
+together with Licensed Software product(s).
+
+The Qt Company shall only provide Support for Error(s) that are reported on and
+can be reproduced on Platforms that are officially supported for the release of
+the Licensed Software.
+
+Limitations with Premium support:
+
+The Qt Company shall not provide Support for third-party software or problems
+caused by third-party software. However, if such third-party software is
+distributed together with Licensed Software, The Qt Company will make
+commercially reasonable efforts to solve such problems.
+
+The Qt Company shall only provide Support for Error(s) that can be reproduced
+on Platforms that are officially supported for the release of the Licensed
+Software. If the Error is on a Platform that is not supported, The Qt Company
+will make commercially reasonable efforts to provide a solution on closest
+corresponding supported Platform.
+
+Premium Support is optional and purchased for an agreed bucket of hours
+(“Bucket”). Hours can be used by any Designated User in the respective
+development team. To encourage continuous usage of the Support, ten percent
+(10%) of the purchased Bucket shall automatically expire (regardless of whether
+such support hours are actually used or not by the Licensee) each month after
+three (3) months from the purchase of the Premium Support.
+
+2.4 Handling of Security Issues
+
+The reported Errors marked as Security Issues will be assessed by experts to
+determine the severity of the issue and to verify if it indeed is a valid
+Security Issue. The Designated User who reported the issue may be contacted for
+more details. If the reported issue is not deemed to be a Security Issue, it
+will be treated as a normal Error and handled accordingly.
+
+A verified Security Issue will be fixed as soon as possible. Qt Company will
+notify all Licensees via appropriate channels about the Security Errors and
+availability of patches for Licensed Software. Typically, a fix for the
+Security Issue is included in the next Maintenance Release of Licensed
+Software.
+
+If the Security Issue is reported in a third-party library used in Licensed
+Software, The Qt Company will notify the relevant third party of such Security
+Issue detected in their library. When the Security Issue is fixed in the
+third-party library, the new version of the third-party library will be in the
+next feasible Maintenance Release of the Licensed Software. If a fixed version
+of the third-party library is not available, The Qt Company may instead decide
+to include documentation regarding the issue, or a patch for this third-party
+library.
+
+All known Security Issues in Licensed Software will be mentioned as part of the
+change notes released with each version of Licensed Software.
+
+2.5 Extended Support
+
+Extended Support extends the Support Validity Term for a release of Licensed
+Software that is no longer generally supported.
+
+Extended Support includes and is by default provided with Standard Support
+rules and limitations, unless Extended Support is purchased together with
+Premium Support in which case Premium Support rules and limitations will apply.
+
+Extended Support is optional and purchased with annual fee and separately per
+each Licensee product. Extended Support will need definition of (i) Licensee
+product, (ii) used Platform(s) and (iii) Licensed Software version(s). For
+avoidance of doubt, Extended Support requires that the Designated User has a
+valid license for the respective Licensed Software.
+
+2.6 Qualification Kit
+
+The Qt Company shall provide a set of documents and validation tests that
+enable the Licensee to qualify QA testing tool (subject to a separate fee) or
+Qt Safe Renderer for the purpose of safety certification of Licensee end-to-end
+solution. Exact complied safety standards may vary between products, used
+features, use case, and industry.
+
+3 RESPONSE TIME
+
+In performing Support, The Qt Company shall commit to following, non-binding,
+Response Times:
+
+Standard Support: Errors and Support requests will have a Response Time not to
+exceed two (2) business days.
+
+Premium Support: Errors and Support requests will have a Response Time not to
+exceed one (1) business day.
+
+Security Issues: Errors that are Security Issues will have a Response Time not
+to exceed one (1) business day.
+
+For complex issues, The Qt Company may provide an initial response to the
+Designated User and then follow up, without undue delay, with additional
+communication before an Error is properly addressed or Support provided.
+
+4 ADDITIONAL SERVICES IN PREMIUM SUPPORT
+
+The Designated User(s) will be assigned a Dedicated Contact to handle requests
+for Support. Dedicated Contact is subject to change in cases such as sick
+leave, vacation and other similar reasons.
+
+The Designated User(s) can on request ask The Qt Company to access their
+computer remotely in order to resolve problems directly.
+
+The Designated User(s) can request a session via Instant Messaging or phone
+call in the support request to The Qt Company.
+
+Premium Support can assist Licensee in implementing new features, bug fixes
+and accessing patches in Licensed Software or Application Code.
+
+All Support requests will be handled with high priority.
+
+5 MAINTENANCE RELEASES, UPDATES AND UPGRADES
+
+Under the Support the Licensee is eligible for Maintenance Releases and Updates
+that The Qt Company generally makes available to customers who has purchased
+Support. Unless otherwise decided by The Company at its free and absolute
+discretion, Upgrades will not be provided under the Support.
+
+The primary focus of Maintenance Releases is product quality. Therefore, each
+Maintenance Release typically includes the following types of changes to the
+previous version of Licensed Software:
+- Bug fixes caused by changes to previously working code;
+- Fixes related to build issues on supported Platforms;
+- Error corrections specific to a single Platform that are not present on other
+ Platforms;
+- Corrections to Security Issues;
+- Critical Error corrections such as crashes, data corruption, loss of data,
+ race conditions; and
+- Updates to documentation and license information when deemed necessary by
+ The Qt Company.
+
+The primary focus of Updates is introducing new features to Licensed Software
+and covering new platforms. Therefore, each Updates typically includes the
+following types of changes to the previous version of Licensed Software:
+- New platform support;
+- New toolchain support;
+- New features and Qt modules;
+
+6 WARRANTY DISCLAIMER
+
+The Qt Company makes no warranties that the Support provided will be successful
+in resolving any difficulties or problems or in diagnosing faults reported by
+Licensee. Support is provided to Licensee on an "as is" basis. To the maximum
+extent permitted by applicable law, The Qt Company disclaims all warranties and
+conditions, either express or implied, including, but not limited to, implied
+warranties of merchantability and fitness for a particular purpose for the
+Support provided by The Qt Company to Licensee.
+
+APPENDIX 10: CONVERSION TO SUBSCRIPTION
+
+Subject to the terms of this Appendix Licensee's current development licenses
+("Current Licenses") for commercial version of Qt Software and the license
+agreements governing such Current Licenses ("Existing Agreements") are being
+replaced by this Agreement and subscription based Development Licenses
+governed hereunder, as further specified below.
+
++---------------------------------------------------------------------------+
+| Existing Agreement(s) | <Trolltech, Nokia, Digia, The Qt Company> and |
+| signing parties, version | <Licensee> <Version of the Agreement, e.g. 2,0,|
+| and date of signatures | 3.2 or 4.1> <Date of the agreement signatures> |
+| thereof | |
++---------------------------------------------------------------------------+
+
+Parties hereby agree on conversion of Current Licenses listed in attached
+Exhibit A to the subscription licenses listed in attached Exhibit B for use
+through License Term. As of the date hereof,
+
+i. Licensee's Current Licenses as listed in Exhibit A shall terminate and be
+replaced with the Subscription licenses listed in Exhibit B and;
+ii. Existing Agreements are terminated.
+
+Prices for the conversion of Current Licenses are defined in Appendix 2
+Pricing or Quote.
+
+Notwithstanding anything in this Appendix to the contrary, and in addition to
+any payments due pursuant to this Appendix, Licensee remains fully obligated to
+fulfill any and all outstanding payment obligations to The Qt Company under any
+applicable Existing Agreements. For the avoidance of doubt, if any payments
+remain outstanding on the Current Licenses under the applicable terms Licensee
+will continue to make such payments in accordance with the applicable order
+documentation, notwithstanding the fact that the Current Licenses are being
+converted to Development Licenses pursuant to this Appendix.
+
+APPENDIX 11: TERMS OF USE - QT INSIGHT TRACKER LIBRARY
+Version 1.0
+
+Qt Insight Tracker Library ("Tracker Library") is a software module used to
+collect end user data from Customer's Application and Devices relating to The
+Qt Company's Qt Insight online service the Customer is ordering from The Qt
+Company under a separate service agreement ("Service Agreement").
+
+Unless otherwise set forth herein, definitions written in capital letters used
+herein shall have the meaning set forth in the Service Agreement.
+
+Subject to these terms The Qt Company grants to Customer a worldwide,
+non-exclusive, non-transferable, royalty-free, revocable (for cause) right and
+license, valid for the term of the Service Agreement, to
+ (i) use, copy and modify Tracker Library for the purpose of including it
+ into the Devices and Applications and solely for the purpose of being
+ used only in conjunction with Insight Cloud or Insight Private Cloud,
+ and
+ (ii) distribute, by itself or through its Contractors, Tracker Library as
+ installed, incorporated, or integrated into Applications and/or
+ Devices.
+
+Use of Tracker Library in a way or for the purpose other than the above is
+strictly prohibited. Tracker Library is licensed to the Customer in all
+respects "as is".
+
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
+ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
+NON-INFRINGEMENT WITH REGARD TO THE TRACKER LIBRARY. THE QT COMPANY DOES NOT
+WARRANT THAT THE TRACKER LIBRARY WILL SATISFY CUSTOMER'S REQUIREMENTS OR THAT
+IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
+UNINTERRUPTED.
+IN NO EVENT SHALL THE QT COMPANY BE LIABLE TO THE CUSTOMER FOR ANY LOSS OF
+PROFIT, LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY OTHER INDIRECT,
+SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY
+KIND, HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THE USE OF THE TRACKER
+LIBRARY.
+
+THE TOTAL MAXIMUM LIABILITY OF THE QT COMPANY UNDER THESE TERMS SHALL IN NO
+EVENT EXCEED 10,000 EUROS.
diff --git a/licenses/The-Qt-Company-Qt-LGPL-Exception-1.1 b/licenses/The-Qt-Company-Qt-LGPL-Exception-1.1
deleted file mode 100644
index 5cdacb9a..00000000
--- a/licenses/The-Qt-Company-Qt-LGPL-Exception-1.1
+++ /dev/null
@@ -1,22 +0,0 @@
-The Qt Company Qt LGPL Exception version 1.1
-
-As an additional permission to the GNU Lesser General Public License version
-2.1, the object code form of a "work that uses the Library" may incorporate
-material from a header file that is part of the Library. You may distribute
-such object code under terms of your choice, provided that:
- (i) the header files of the Library have not been modified; and
- (ii) the incorporated material is limited to numerical parameters, data
- structure layouts, accessors, macros, inline functions and
- templates; and
- (iii) you comply with the terms of Section 6 of the GNU Lesser General
- Public License version 2.1.
-
-Moreover, you may apply this exception to a modified version of the Library,
-provided that such modification does not involve copying material from the
-Library into the modified Library's header files unless such material is
-limited to (i) numerical parameters; (ii) data structure layouts;
-(iii) accessors; and (iv) small macros, templates and inline functions of
-five lines or less in length.
-
-Furthermore, you are not required to apply this additional permission to a
-modified version of the Library.
diff --git a/licenses/The-Qt-Company-TPLA-2.4 b/licenses/The-Qt-Company-TPLA-2.4
deleted file mode 100644
index 1f59ab24..00000000
--- a/licenses/The-Qt-Company-TPLA-2.4
+++ /dev/null
@@ -1,627 +0,0 @@
-TECHNOLOGY PREVIEW LICENSE AGREEMENT
-
-For individuals and/or legal entities resident in the Americas (North
-America, Central America and South America), the applicable licensing
-terms are specified under the heading "Technology Preview License
-Agreement: The Americas".
-
-For individuals and/or legal entities not resident in The Americas, the
-applicable licensing terms are specified under the heading "Technology
-Preview License Agreement: Rest of the World".
-
-
-TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas
-Agreement version 2.4
-
-This Technology Preview License Agreement ("Agreement")is a legal agreement
-between The Qt Company USA, Inc. ("The Qt Company"), with its registered
-office at 2350 Mission College Blvd., Suite 1020, Santa Clara, California
-95054, U.S.A. and you (either an individual or a legal entity) ("Licensee")
-for the Licensed Software (as defined below).
-
-1. DEFINITIONS
-
-"Affiliate" of a Party shall mean an entity (i) which is directly or
-indirectly controlling such Party; (ii) which is under the same direct
-or indirect ownership or control as such Party; or (iii) which is
-directly or indirectly owned or controlled by such Party. For these
-purposes, an entity shall be treated as being controlled by another if
-that other entity has fifty percent (50 %) or more of the votes in such
-entity, is able to direct its affairs and/or to control the composition
-of its board of directors or equivalent body.
-
-"Applications" shall mean Licensee's software products created using the
-Licensed Software which may include portions of the Licensed Software.
-
-"Term" shall mean the period of time six (6) months from the later of
-(a) the Effective Date; or (b) the date the Licensed Software was
-initially delivered to Licensee by The Qt Company. If no specific Effective
-Date is set forth in the Agreement, the Effective Date shall be deemed to be
-the date the Licensed Software was initially delivered to Licensee.
-
-"Licensed Software" shall mean the computer software, "online" or
-electronic documentation, associated media and printed materials,
-including the source code, example programs and the documentation
-delivered by The Qt Company to Licensee in conjunction with this Agreement.
-
-"Party" or "Parties" shall mean Licensee and/or The Qt Company.
-
-
-2. OWNERSHIP
-
-The Licensed Software is protected by copyright laws and international
-copyright treaties, as well as other intellectual property laws and
-treaties. The Licensed Software is licensed, not sold.
-
-If Licensee provides any findings, proposals, suggestions or other
-feedback ("Feedback") to The Qt Company regarding the Licensed Software,
-The Qt Company shall own all right, title and interest including the
-intellectual property rights in and to such Feedback, excluding however any
-existing patent rights of Licensee. To the extent Licensee owns or controls
-any patents for such Feedback Licensee hereby grants to The Qt Company and its
-Affiliates, a worldwide, perpetual, non-transferable, sublicensable,
-royalty-free license to (i) use, copy and modify Feedback and to create
-derivative works thereof, (ii) to make (and have made), use, import,
-sell, offer for sale, lease, dispose, offer for disposal or otherwise
-exploit any products or services of The Qt Company containing Feedback, and
-(iii) sublicense all the foregoing rights to third party licensees and
-customers of The Qt Company and/or its Affiliates.
-
-
-3. VALIDITY OF THE AGREEMENT
-
-By installing, copying, or otherwise using the Licensed Software,
-Licensee agrees to be bound by the terms of this Agreement. If Licensee
-does not agree to the terms of this Agreement, Licensee may not install,
-copy, or otherwise use the Licensed Software. Upon Licensee's acceptance
-of the terms and conditions of this Agreement, The Qt Company grants Licensee
-the right to use the Licensed Software in the manner provided below.
-
-
-4. LICENSES
-
-4.1. Using and Copying
-
-The Qt Company grants to Licensee a non-exclusive, non-transferable,
-time-limited license to use and copy the Licensed Software for sole purpose
-of designing, developing and testing Applications, and evaluating and the
-Licensed Software during the Term.
-
-Licensee may install copies of the Licensed Software on an unlimited
-number of computers provided that (a) if an individual, only such
-individual; or (b) if a legal entity only its employees; use the
-Licensed Software for the authorized purposes.
-
-4.2 No Distribution or Modifications
-
-Licensee may not disclose, modify, sell, market, commercialise,
-distribute, loan, rent, lease, or license the Licensed Software or any
-copy of it or use the Licensed Software for any purpose that is not
-expressly granted in this Section 4. Licensee may not alter or remove
-any details of ownership, copyright, trademark or other property right
-connected with the Licensed Software. Licensee may not distribute any
-software statically or dynamically linked with the Licensed Software.
-
-4.3 No Technical Support
-
-The Qt Company has no obligation to furnish Licensee with any technical
-support whatsoever. Any such support is subject to separate agreement between
-the Parties.
-
-
-5. PRE-RELEASE CODE
-The Licensed Software contains pre-release code that is not at the level
-of performance and compatibility of a final, generally available,
-product offering. The Licensed Software may not operate correctly and
-may be substantially modified prior to the first commercial product
-release, if any. The Qt Company is not obligated to make this or any later
-version of the Licensed Software commercially available. The License
-Software is "Not for Commercial Use" and may only be used for the
-purposes described in Section 4. The Licensed Software may not be used
-in a live operating environment where it may be relied upon to perform
-in the same manner as a commercially released product or with data that
-has not been sufficiently backed up.
-
-6. THIRD PARTY SOFTWARE
-
-The Licensed Software may provide links to third party libraries or code
-(collectively "Third Party Software") to implement various functions.
-Third Party Software does not comprise part of the Licensed Software. In
-some cases, access to Third Party Software may be included along with
-the Licensed Software delivery as a convenience for development and
-testing only. Such source code and libraries may be listed in the
-".../src/3rdparty" source tree delivered with the Licensed Software or
-documented in the Licensed Software where the Third Party Software is
-used, as may be amended from time to time, do not comprise the Licensed
-Software. Licensee acknowledges (1) that some part of Third Party
-Software may require additional licensing of copyright and patents from
-the owners of such, and (2) that distribution of any of the Licensed
-Software referencing any portion of a Third Party Software may require
-appropriate licensing from such third parties.
-
-
-7. LIMITED WARRANTY AND WARRANTY DISCLAIMER
-
-The Licensed Software is licensed to Licensee "as is". To the maximum
-extent permitted by applicable law, The Qt Company on behalf of itself and
-its suppliers, disclaims all warranties and conditions, either express or
-implied, including, but not limited to, implied warranties of
-merchantability, fitness for a particular purpose, title and
-non-infringement with regard to the Licensed Software.
-
-
-8. LIMITATION OF LIABILITY
-
-If, The Qt Company's warranty disclaimer notwithstanding, The Qt Company is
-held liable to Licensee, whether in contract, tort or any other legal theory,
-based on the Licensed Software, The Qt Company's entire liability to Licensee
-and Licensee's exclusive remedy shall be, at The Qt Company's option, either
-(A) return of the price Licensee paid for the Licensed Software, or (B)
-repair or replacement of the Licensed Software, provided Licensee
-returns to The Qt Company all copies of the Licensed Software as originally
-delivered to Licensee. The Qt Company shall not under any circumstances be
-liable to Licensee based on failure of the Licensed Software if the failure
-resulted from accident, abuse or misapplication, nor shall The Qt Company
-under any circumstances be liable for special damages, punitive or exemplary
-damages, damages for loss of profits or interruption of business or for
-loss or corruption of data. Any award of damages from The Qt Company to
-Licensee shall not exceed the total amount Licensee has paid to The Qt
-Company in connection with this Agreement.
-
-
-9. CONFIDENTIALITY
-
-Each party acknowledges that during the Term of this Agreement it shall
-have access to information about the other party's business, business
-methods, business plans, customers, business relations, technology, and
-other information, including the terms of this Agreement, that is
-confidential and of great value to the other party, and the value of
-which would be significantly reduced if disclosed to third parties (the
-"Confidential Information"). Accordingly, when a party (the "Receiving
-Party") receives Confidential Information from another party (the
-"Disclosing Party"), the Receiving Party shall, and shall obligate its
-employees and agents and employees and agents of its Affiliates to: (i)
-maintain the Confidential Information in strict confidence; (ii) not
-disclose the Confidential Information to a third party without the
-Disclosing Party's prior written approval; and (iii) not, directly or
-indirectly, use the Confidential Information for any purpose other than
-for exercising its rights and fulfilling its responsibilities pursuant
-to this Agreement. Each party shall take reasonable measures to protect
-the Confidential Information of the other party, which measures shall
-not be less than the measures taken by such party to protect its own
-confidential and proprietary information.
-
-"Confidential Information" shall not include information that (a) is or
-becomes generally known to the public through no act or omission of the
-Receiving Party; (b) was in the Receiving Party's lawful possession
-prior to the disclosure hereunder and was not subject to limitations on
-disclosure or use; (c) is developed by the Receiving Party without
-access to the Confidential Information of the Disclosing Party or by
-persons who have not had access to the Confidential Information of the
-Disclosing Party as proven by the written records of the Receiving
-Party; (d) is lawfully disclosed to the Receiving Party without
-restrictions, by a third party not under an obligation of
-confidentiality; or (e) the Receiving Party is legally compelled to
-disclose the information, in which case the Receiving Party shall assert
-the privileged and confidential nature of the information and cooperate
-fully with the Disclosing Party to protect against and prevent
-disclosure of any Confidential Information and to limit the scope of
-disclosure and the dissemination of disclosed Confidential Information
-by all legally available means.
-
-The obligations of the Receiving Party under this Section shall continue
-during the Initial Term and for a period of five (5) years after
-expiration or termination of this Agreement. To the extent that the
-terms of the Non-Disclosure Agreement between The Qt Company and Licensee
-conflict with the terms of this Section 9, this Section 9 shall be
-controlling over the terms of the Non-Disclosure Agreement.
-
-
-10. GENERAL PROVISIONS
-
-10.1 No Assignment
-
-Licensee shall not be entitled to assign or transfer all or any of its
-rights, benefits and obligations under this Agreement without the prior
-written consent of The Qt Company, which shall not be unreasonably withheld.
-
-10.2 Termination
-
-The Qt Company may terminate the Agreement at any time immediately upon
-written notice by The Qt Company to Licensee if Licensee breaches this
-Agreement.
-
-Upon termination of this Agreement, Licensee shall return to The Qt Company
-all copies of Licensed Software that were supplied by The Qt Company. All
-other copies of Licensed Software in the possession or control of Licensee
-must be erased or destroyed. An officer of Licensee must promptly
-deliver to The Qt Company a written confirmation that this has occurred.
-
-10.3 Surviving Sections
-
-Any terms and conditions that by their nature or otherwise reasonably
-should survive a cancellation or termination of this Agreement shall
-also be deemed to survive. Such terms and conditions include, but are
-not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4,
-10.5, 10.6, 10.7, and 10.8 of this Agreement.
-
-10.4 Entire Agreement
-
-This Agreement constitutes the complete agreement between the parties
-and supersedes all prior or contemporaneous discussions,
-representations, and proposals, written or oral, with respect to the
-subject matters discussed herein, with the exception of the
-non-disclosure agreement executed by the parties in connection with this
-Agreement ("Non-Disclosure Agreement"), if any, shall be subject to
-Section 9. No modification of this Agreement shall be effective unless
-contained in a writing executed by an authorized representative of each
-party. No term or condition contained in Licensee's purchase order shall
-apply unless expressly accepted by The Qt Company in writing. If any
-provision of the Agreement is found void or unenforceable, the remainder
-shall remain valid and enforceable according to its terms. If any remedy
-provided is determined to have failed for its essential purpose, all
-limitations of liability and exclusions of damages set forth in this
-Agreement shall remain in effect.
-
-10.5 Export Control
-
-Licensee acknowledges that the Licensed Software may be subject to
-export control restrictions of various countries. Licensee shall fully
-comply with all applicable export license restrictions and requirements
-as well as with all laws and regulations relating to the importation of
-the Licensed Software and shall procure all necessary governmental
-authorizations, including without limitation, all necessary licenses,
-approvals, permissions or consents, where necessary for the
-re-exportation of the Licensed Software.,
-
-10.6 Governing Law and Legal Venue
-
-This Agreement shall be governed by and construed in accordance with the
-federal laws of the United States of America and the internal laws of
-the State of New York without given effect to any choice of law rule
-that would result in the application of the laws of any other
-jurisdiction. The United Nations Convention on Contracts for the
-International Sale of Goods (CISG) shall not apply. Each Party (a)
-hereby irrevocably submits itself to and consents to the jurisdiction of
-the United States District Court for the Southern District of New York
-(or if such court lacks jurisdiction, the state courts of the State of
-New York) for the purposes of any action, claim, suit or proceeding
-between the Parties in connection with any controversy, claim, or
-dispute arising out of or relating to this Agreement; and (b) hereby
-waives, and agrees not to assert by way of motion, as a defense or
-otherwise, in any such action, claim, suit or proceeding, any claim that
-is not personally subject to the jurisdiction of such court(s), that the
-action, claim, suit or proceeding is brought in an inconvenient forum or
-that the venue of the action, claim, suit or proceeding is improper.
-Notwithstanding the foregoing, nothing in this Section 9.6 is intended
-to, or shall be deemed to, constitute a submission or consent to, or
-selection of, jurisdiction, forum or venue for any action for patent
-infringement, whether or not such action relates to this Agreement.
-
-10.7 No Implied License
-
-There are no implied licenses or other implied rights granted under this
-Agreement, and all rights, save for those expressly granted hereunder,
-shall remain with The Qt Company and its licensors. In addition, no licenses
-or immunities are granted to the combination of the Licensed Software with
-any other software or hardware not delivered by The Qt Company under this
-Agreement.
-
-10.8 Government End Users
-
-A "U.S. Government End User" shall mean any agency or entity of the
-government of the United States. The following shall apply if Licensee
-is a U.S. Government End User. The Licensed Software is a "commercial
-item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
-consisting of "commercial computer software" and "commercial computer
-software documentation," as such terms are used in 48 C.F.R. 12.212
-(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users acquire
-the Licensed Software with only those rights set forth herein. The
-Licensed Software (including related documentation) is provided to U.S.
-Government End Users: (a) only as a commercial end item; and (b) only
-pursuant to this Agreement.
-
-
-
-
-
-TECHNOLOGY PREVIEW LICENSE AGREEMENT: Rest of the World
-Agreement version 2.4
-
-This Technology Preview License Agreement ("Agreement") is a legal
-agreement between The Qt Company Ltd ("The Qt Company"), with its registered
-office at Valimotie 21,FI-00380 Helsinki, Finland and you (either an
-individual or a legal entity) ("Licensee") for the Licensed Software.
-
-1. DEFINITIONS
-
-"Affiliate" of a Party shall mean an entity (i) which is directly or
-indirectly controlling such Party; (ii) which is under the same direct
-or indirect ownership or control as such Party; or (iii) which is
-directly or indirectly owned or controlled by such Party. For these
-purposes, an entity shall be treated as being controlled by another if
-that other entity has fifty percent (50 %) or more of the votes in such
-entity, is able to direct its affairs and/or to control the composition
-of its board of directors or equivalent body.
-
-"Applications" shall mean Licensee's software products created using the
-Licensed Software which may include portions of the Licensed Software.
-
-"Term" shall mean the period of time six (6) months from the later of
-(a) the Effective Date; or (b) the date the Licensed Software was
-initially delivered to Licensee by The Qt Company. If no specific Effective
-Date is set forth in the Agreement, the Effective Date shall be deemed to be
-the date the Licensed Software was initially delivered to Licensee.
-
-"Licensed Software" shall mean the computer software, "online" or
-electronic documentation, associated media and printed materials,
-including the source code, example programs and the documentation
-delivered by The Qt Company to Licensee in conjunction with this Agreement.
-
-"Party" or "Parties" shall mean Licensee and/or The Qt Company.
-
-
-2. OWNERSHIP
-
-The Licensed Software is protected by copyright laws and international
-copyright treaties, as well as other intellectual property laws and
-treaties. The Licensed Software is licensed, not sold.
-
-If Licensee provides any findings, proposals, suggestions or other
-feedback ("Feedback") to The Qt Company regarding the Licensed Software,
-The Qt Companyshall own all right, title and interest including the
-intellectual property rights in and to such Feedback, excluding however any
-existing patent rights of Licensee. To the extent Licensee owns or controls
-any patents for such Feedback Licensee hereby grants to The Qt Company and
-its Affiliates, a worldwide, perpetual, non-transferable, sublicensable,
-royalty-free license to (i) use, copy and modify Feedback and to create
-derivative works thereof, (ii) to make (and have made), use, import,
-sell, offer for sale, lease, dispose, offer for disposal or otherwise
-exploit any products or services of The Qt Company containing Feedback, and
-(iii) sublicense all the foregoing rights to third party licensees and
-customers of The Qt Company and/or its Affiliates.
-
-3. VALIDITY OF THE AGREEMENT
-
-By installing, copying, or otherwise using the Licensed Software,
-Licensee agrees to be bound by the terms of this Agreement. If Licensee
-does not agree to the terms of this Agreement, Licensee may not install,
-copy, or otherwise use the Licensed Software. Upon Licensee's acceptance
-of the terms and conditions of this Agreement, The Qt Company grants Licensee
-the right to use the Licensed Software in the manner provided below.
-
-
-4. LICENSES
-
-4.1. Using and Copying
-
-The Qt Company grants to Licensee a non-exclusive, non-transferable,
-time-limited license to use and copy the Licensed Software for sole purpose
-of designing, developing and testing Applications, and evaluating and the
-Licensed Software during the Term.
-
-Licensee may install copies of the Licensed Software on an unlimited
-number of computers provided that (a) if an individual, only such
-individual; or (b) if a legal entity only its employees; use the
-Licensed Software for the authorized purposes.
-
-4.2 No Distribution or Modifications
-
-Licensee may not disclose, modify, sell, market, commercialise,
-distribute, loan, rent, lease, or license the Licensed Software or any
-copy of it or use the Licensed Software for any purpose that is not
-expressly granted in this Section 4. Licensee may not alter or remove
-any details of ownership, copyright, trademark or other property right
-connected with the Licensed Software. Licensee may not distribute any
-software statically or dynamically linked with the Licensed Software.
-
-4.3 No Technical Support
-
-The Qt Company has no obligation to furnish Licensee with any technical
-support whatsoever. Any such support is subject to separate agreement
-between the Parties.
-
-
-5. PRE-RELEASE CODE
-
-The Licensed Software contains pre-release code that is not at the level
-of performance and compatibility of a final, generally available,
-product offering. The Licensed Software may not operate correctly and
-may be substantially modified prior to the first commercial product
-release, if any. The Qt Company is not obligated to make this or any later
-version of the Licensed Software commercially available. The License
-Software is "Not for Commercial Use" and may only be used for the
-purposes described in Section 4. The Licensed Software may not be used
-in a live operating environment where it may be relied upon to perform
-in the same manner as a commercially released product or with data that
-has not been sufficiently backed up.
-
-6. THIRD PARTY SOFTWARE
-
-The Licensed Software may provide links to third party libraries or code
-(collectively "Third Party Software") to implement various functions.
-Third Party Software does not comprise part of the Licensed Software. In
-some cases, access to Third Party Software may be included along with
-the Licensed Software delivery as a convenience for development and
-testing only. Such source code and libraries may be listed in the
-".../src/3rdparty" source tree delivered with the Licensed Software or
-documented in the Licensed Software where the Third Party Software is
-used, as may be amended from time to time, do not comprise the Licensed
-Software. Licensee acknowledges (1) that some part of Third Party
-Software may require additional licensing of copyright and patents from
-the owners of such, and (2) that distribution of any of the Licensed
-Software referencing any portion of a Third Party Software may require
-appropriate licensing from such third parties.
-
-
-7. LIMITED WARRANTY AND WARRANTY DISCLAIMER
-
-The Licensed Software is licensed to Licensee "as is". To the maximum
-extent permitted by applicable law, The Qt Company on behalf of itself and
-its suppliers, disclaims all warranties and conditions, either express or
-implied, including, but not limited to, implied warranties of
-merchantability, fitness for a particular purpose, title and
-non-infringement with regard to the Licensed Software.
-
-
-8. LIMITATION OF LIABILITY
-
-If, The Qt Company's warranty disclaimer notwithstanding, The Qt Company is
-held liable to Licensee, whether in contract, tort or any other legal theory,
-based on the Licensed Software, The Qt Company's entire liability to Licensee
-and Licensee's exclusive remedy shall be, at The Qt Company's option, either
-(A) return of the price Licensee paid for the Licensed Software, or (B)
-repair or replacement of the Licensed Software, provided Licensee
-returns to The Qt Company all copies of the Licensed Software as originally
-delivered to Licensee. The Qt Company shall not under any circumstances be
-liable to Licensee based on failure of the Licensed Software if the failure
-resulted from accident, abuse or misapplication, nor shall The Qt Company
-under any circumstances be liable for special damages, punitive or exemplary
-damages, damages for loss of profits or interruption of business or for
-loss or corruption of data. Any award of damages from The Qt Company to
-Licensee shall not exceed the total amount Licensee has paid to
-The Qt Company in connection with this Agreement.
-
-
-9. CONFIDENTIALITY
-
-Each party acknowledges that during the Term of this Agreement it shall
-have access to information about the other party's business, business
-methods, business plans, customers, business relations, technology, and
-other information, including the terms of this Agreement, that is
-confidential and of great value to the other party, and the value of
-which would be significantly reduced if disclosed to third parties (the
-"Confidential Information"). Accordingly, when a party (the "Receiving
-Party") receives Confidential Information from another party (the
-"Disclosing Party"), the Receiving Party shall, and shall obligate its
-employees and agents and employees and agents of its Affiliates to: (i)
-maintain the Confidential Information in strict confidence; (ii) not
-disclose the Confidential Information to a third party without the
-Disclosing Party's prior written approval; and (iii) not, directly or
-indirectly, use the Confidential Information for any purpose other than
-for exercising its rights and fulfilling its responsibilities pursuant
-to this Agreement. Each party shall take reasonable measures to protect
-the Confidential Information of the other party, which measures shall
-not be less than the measures taken by such party to protect its own
-confidential and proprietary information.
-
-"Confidential Information" shall not include information that (a) is or
-becomes generally known to the public through no act or omission of the
-Receiving Party; (b) was in the Receiving Party's lawful possession
-prior to the disclosure hereunder and was not subject to limitations on
-disclosure or use; (c) is developed by the Receiving Party without
-access to the Confidential Information of the Disclosing Party or by
-persons who have not had access to the Confidential Information of the
-Disclosing Party as proven by the written records of the Receiving
-Party; (d) is lawfully disclosed to the Receiving Party without
-restrictions, by a third party not under an obligation of
-confidentiality; or (e) the Receiving Party is legally compelled to
-disclose the information, in which case the Receiving Party shall assert
-the privileged and confidential nature of the information and cooperate
-fully with the Disclosing Party to protect against and prevent
-disclosure of any Confidential Information and to limit the scope of
-disclosure and the dissemination of disclosed Confidential Information
-by all legally available means.
-
-The obligations of the Receiving Party under this Section shall continue
-during the Initial Term and for a period of five (5) years after
-expiration or termination of this Agreement. To the extent that the
-terms of the Non-Disclosure Agreement between The Qt Company and Licensee
-conflict with the terms of this Section 9, this Section 9 shall be
-controlling over the terms of the Non-Disclosure Agreement.
-
-
-10. GENERAL PROVISIONS
-
-10.1 No Assignment
-
-Licensee shall not be entitled to assign or transfer all or any of its
-rights, benefits and obligations under this Agreement without the prior
-written consent of The Qt Company, which shall not be unreasonably withheld.
-
-10.2 Termination
-
-The Qt Company may terminate the Agreement at any time immediately upon
-written notice by The Qt Company to Licensee if Licensee breaches this
-Agreement.
-
-Upon termination of this Agreement, Licensee shall return to The Qt Company
-all copies of Licensed Software that were supplied by The Qt Company. All
-other copies of Licensed Software in the possession or control of Licensee
-must be erased or destroyed. An officer of Licensee must promptly
-deliver to The Qt Company a written confirmation that this has occurred.
-
-10.3 Surviving Sections
-
-Any terms and conditions that by their nature or otherwise reasonably
-should survive a cancellation or termination of this Agreement shall
-also be deemed to survive. Such terms and conditions include, but are
-not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4,
-10.5, 10.6, 10.7, and 10.8 of this Agreement.
-
-10.4 Entire Agreement
-
-This Agreement constitutes the complete agreement between the parties
-and supersedes all prior or contemporaneous discussions,
-representations, and proposals, written or oral, with respect to the
-subject matters discussed herein, with the exception of the
-non-disclosure agreement executed by the parties in connection with this
-Agreement ("Non-Disclosure Agreement"), if any, shall be subject to
-Section 9. No modification of this Agreement shall be effective unless
-contained in a writing executed by an authorized representative of each
-party. No term or condition contained in Licensee's purchase order shall
-apply unless expressly accepted by The Qt Company in writing. If any provision
-of the Agreement is found void or unenforceable, the remainder shall remain
-valid and enforceable according to its terms. If any remedy provided is
-determined to have failed for its essential purpose, all limitations of
-liability and exclusions of damages set forth in this Agreement shall
-remain in effect.
-
-10.5 Export Control
-
-Licensee acknowledges that the Licensed Software may be subject to
-export control restrictions of various countries. Licensee shall fully
-comply with all applicable export license restrictions and requirements
-as well as with all laws and regulations relating to the importation of
-the Licensed Software and shall procure all necessary governmental
-authorizations, including without limitation, all necessary licenses,
-approvals, permissions or consents, where necessary for the
-re-exportation of the Licensed Software.,
-
-10.6 Governing Law and Legal Venue
-
-This Agreement shall be construed and interpreted in accordance with the
-laws of Finland, excluding its choice of law provisions. Any disputes
-arising out of or relating to this Agreement shall be resolved in
-arbitration under the Rules of Arbitration of the Chamber of Commerce of
-Helsinki, Finland. The arbitration tribunal shall consist of one (1), or
-if either Party so requires, of three (3), arbitrators. The award shall
-be final and binding and enforceable in any court of competent
-jurisdiction. The arbitration shall be held in Helsinki, Finland and the
-process shall be conducted in the English language.
-
-10.7 No Implied License
-
-There are no implied licenses or other implied rights granted under this
-Agreement, and all rights, save for those expressly granted hereunder,
-shall remain with The Qt Company and its licensors. In addition, no licenses
-or immunities are granted to the combination of the Licensed Software with
-any other software or hardware not delivered by The Qt Company under this
-Agreement.
-
-10.8 Government End Users
-
-A "U.S. Government End User" shall mean any agency or entity of the
-government of the United States. The following shall apply if Licensee
-is a U.S. Government End User. The Licensed Software is a "commercial
-item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
-consisting of "commercial computer software" and "commercial computer
-software documentation," as such terms are used in 48 C.F.R. 12.212
-(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users acquire
-the Licensed Software with only those rights set forth herein. The
-Licensed Software (including related documentation) is provided to U.S.
-Government End Users: (a) only as a commercial end item; and (b) only
-pursuant to this Agreement.
-
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch
deleted file mode 100644
index 7a67c744..00000000
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 827b323ee9a6db04c1f5b644abea0ced2095096a Mon Sep 17 00:00:00 2001
-From: Christophe Chapuis <chris.chapuis@gmail.com>
-Date: Tue, 26 Jan 2016 18:56:42 +0100
-Subject: [PATCH] Don't use MeeGo as prefix in order to make this a common
- component
-
-Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
-Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
----
- plugin/plugin.cpp | 2 +-
- plugin/plugin.pro | 2 +-
- plugin/qmldir | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/plugin/plugin.cpp b/plugin/plugin.cpp
-index a383482..451c95f 100644
---- a/plugin/plugin.cpp
-+++ b/plugin/plugin.cpp
-@@ -24,7 +24,7 @@
- class ConnmanPlugin: public QQmlExtensionPlugin
- {
- Q_OBJECT
-- Q_PLUGIN_METADATA(IID "MeeGo.Connman")
-+ Q_PLUGIN_METADATA(IID "Connman")
-
- public:
- void registerTypes(const char *uri);
-diff --git a/plugin/plugin.pro b/plugin/plugin.pro
-index c4f54cf..3763f57 100644
---- a/plugin/plugin.pro
-+++ b/plugin/plugin.pro
-@@ -17,7 +17,7 @@ LIBS += -l$$qtLibraryTarget(connman-$$TARGET_SUFFIX)
- QT += qml
- OTHER_FILES += plugin.json qmldirs
-
--MODULENAME = MeeGo/Connman
-+MODULENAME = Connman
- TARGETPATH = $$[QT_INSTALL_QML]/$$MODULENAME
-
- target.path = $$TARGETPATH
-diff --git a/plugin/qmldir b/plugin/qmldir
-index 5db82b7..de56688 100644
---- a/plugin/qmldir
-+++ b/plugin/qmldir
-@@ -1,2 +1,2 @@
--module MeeGo.Connman
-+module Connman
- plugin ConnmanQtDeclarative
---
-2.11.0.windows.3
-
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
index ecd295c3..a3d7f279 100644
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
+++ b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
@@ -1,24 +1,26 @@
require recipes-qt/qt5/qt5.inc
-SUMMARY = "Qt Library for ConnMan"
-HOMEPAGE = "https://git.merproject.org/mer-core/libconnman-qt"
+SUMMARY = "Qt 5/6 Library for ConnMan"
+HOMEPAGE = "https://github.com/sailfishos/libconnman-qt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://libconnman-qt/clockmodel.h;endline=8;md5=ea9f724050803f15d2d900ce3c5dac88"
DEPENDS += "qtbase qtdeclarative"
-PV = "1.2.4+git${SRCPV}"
-SRCREV = "9d98e12ed60ae4fa9da62485cb8a82129ed1a464"
-SRC_URI = "git://git.merproject.org/mer-core/libconnman-qt.git;protocol=https \
- file://0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch \
-"
+VERSION = "1.2.46"
+PV = "${VERSION}+git${SRCPV}"
+
+SRCREV = "6786936cba9048ee943c0cd5d051c0b8fc70896f"
+SRC_URI = "git://github.com/sailfishos/libconnman-qt.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
inherit pkgconfig
-RDEPENDS_${PN} += "connman"
+EXTRA_QMAKEVARS_PRE = "CONFIG+=no-module-prefix VERSION=${VERSION}"
+
+RDEPENDS:${PN} += "connman"
-do_install_append() {
+do_install:append() {
if ls ${D}${libdir}/pkgconfig/connman-qt5.pc >/dev/null 2>/dev/null; then
sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/connman-qt5.pc
fi
diff --git a/recipes-connectivity/libqofono/libqofono/0001-also-emit-modemRemoved-and-modemAdded.patch b/recipes-connectivity/libqofono/libqofono/0001-also-emit-modemRemoved-and-modemAdded.patch
new file mode 100644
index 00000000..219b5fd3
--- /dev/null
+++ b/recipes-connectivity/libqofono/libqofono/0001-also-emit-modemRemoved-and-modemAdded.patch
@@ -0,0 +1,53 @@
+From d2ceb83fe889d7cb40ad1e0d71e75d726a87fb28 Mon Sep 17 00:00:00 2001
+From: Christophe Chapuis <chris.chapuis@gmail.com>
+Date: Sat, 13 Jul 2019 11:17:08 +0000
+Subject: [PATCH] onGetModemsFinished: also emit modemRemoved and modemAdded
+
+VoiceCall only subscribes to these events, so we need to emit these
+more "atomic" events too.
+
+Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
+
+Upstream-Status: Pending
+---
+ src/qofonomanager.cpp | 21 ++++++++++++++++++---
+ 1 file changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/src/qofonomanager.cpp b/src/qofonomanager.cpp
+index e1da658..38cf0e4 100644
+--- a/src/qofonomanager.cpp
++++ b/src/qofonomanager.cpp
+@@ -88,15 +88,30 @@ void QOfonoManager::Private::handleGetModemsReply(QOfonoManager *obj, ObjectPath
+ {
+ const bool wasAvailable = available;
+ QString prevDefault = defaultModem();
+- QStringList newModems;
++ QStringList newModems, oldModems;
+ const int n = reply.count();
+ for (int i = 0; i < n; i++) {
+ newModems.append(reply.at(i).path.path());
+ }
+ qSort(newModems);
+ available = true;
+- if (modems != newModems) {
+- modems = newModems;
++ oldModems = modems;
++ modems = newModems;
++
++ // emit atomic events for add/remove
++ Q_FOREACH(QString modem, oldModems) {
++ if(!newModems.contains(modem)) {
++ Q_EMIT obj->modemRemoved(modem);
++ }
++ }
++ Q_FOREACH(QString modem, newModems) {
++ if(!oldModems.contains(modem)) {
++ Q_EMIT obj->modemAdded(modem);
++ }
++ }
++
++ // then update the whole list
++ if (oldModems != newModems) {
+ Q_EMIT obj->modemsChanged(modems);
+ }
+ QString newDefault = defaultModem();
diff --git a/recipes-connectivity/libqofono/libqofono_git.bb b/recipes-connectivity/libqofono/libqofono_git.bb
index 18e9b8fd..f89e052d 100644
--- a/recipes-connectivity/libqofono/libqofono_git.bb
+++ b/recipes-connectivity/libqofono/libqofono_git.bb
@@ -1,19 +1,22 @@
DESCRIPTION = "Qt 5 bindings for the ofono dbus API"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS += "qtbase qtdeclarative"
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns"
-SRCREV = "6916cd030b05f0bd137ea9b669fee48f20c19084"
-SRC_URI = "git://git.merproject.org/mer-core/libqofono.git"
+SRCREV = "047b667f18ca73cb7f884f174d1d164a616d6814"
+
+SRC_URI = "git://github.com/sailfishos/libqofono.git;protocol=https;branch=master \
+ file://0001-also-emit-modemRemoved-and-modemAdded.patch \
+"
S = "${WORKDIR}/git"
-PV = "0.92+gitr${SRCPV}"
+PV = "0.103+gitr${SRCPV}"
inherit qmake5
-do_install_append() {
+do_install:append() {
if ls ${D}${libdir}/pkgconfig/qofono-qt5.pc >/dev/null 2>/dev/null; then
sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/qofono-qt5.pc
fi
@@ -21,19 +24,18 @@ do_install_append() {
PACKAGES += "${PN}-tests"
-FILES_${PN}-dbg += " \
- /lib/libqofono-qt5/tests/.debug \
- ${libdir}/qt5/qml/MeeGo/QOfono/.debug \
-"
-FILES_${PN}-tests = " \
+FILES:${PN}-tests = " \
${libdir}/libqofono-qt5/tests/tst_* \
+ /opt/examples/libqofono-qt5/ \
/opt/tests/libqofono-qt5 \
"
-FILES_${PN} += " \
- ${libdir}/qt5/qml/MeeGo/QOfono/qmldir \
- ${libdir}/qt5/qml/MeeGo/QOfono/libQOfonoQtDeclarative.so \
+FILES:${PN} += " \
+ ${OE_QMAKE_PATH_QML}/MeeGo/QOfono/qmldir \
+ ${OE_QMAKE_PATH_QML}/MeeGo/QOfono/plugins.qmltypes \
+ ${OE_QMAKE_PATH_QML}/MeeGo/QOfono/libQOfonoQtDeclarative.so \
"
-FILES_${PN}-dev += " \
- ${datadir}/qt5/mkspecs \
+FILES:${PN}-dev += " \
+ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
${libdir}/libqofono-qt5.prl \
+ ${datadir}/qt5/mkspecs \
"
diff --git a/recipes-connectivity/libqofono/libqofonoext_git.bb b/recipes-connectivity/libqofono/libqofonoext_git.bb
new file mode 100644
index 00000000..68d54052
--- /dev/null
+++ b/recipes-connectivity/libqofono/libqofonoext_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Qt 5 bindings for the ofono dbus API for Jolla's oFono extensions"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://src/qofonoext.cpp;;beginline=1;endline=14;md5=e78738e9230b2e0f55eb7f63e3444df5"
+
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns libqofono"
+
+SRCREV = "ebe45e0fe46578c24e9fe241e84cd5ca0f097372"
+SRC_URI = "git://github.com/sailfishos/libqofonoext.git;protocol=https;branch=master"
+S = "${WORKDIR}/git"
+
+PV = "1.027+gitr${SRCPV}"
+
+inherit pkgconfig qmake5
+
+do_install:append() {
+ if ls ${D}${libdir}/pkgconfig/qofono-qt5.pc >/dev/null 2>/dev/null; then
+ sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/qofono-qt5.pc
+ fi
+}
+
+PACKAGES += "${PN}-tests"
+
+FILES:${PN} += " \
+ ${OE_QMAKE_PATH_QML}/org/nemomobile/ofono/qmldir \
+ ${OE_QMAKE_PATH_QML}/org/nemomobile/ofono/plugins.qmltypes \
+ ${OE_QMAKE_PATH_QML}/org/nemomobile/ofono/libqofonoextdeclarative.so \
+"
diff --git a/recipes-connectivity/libvcard/libvcard_git.bb b/recipes-connectivity/libvcard/libvcard_git.bb
new file mode 100644
index 00000000..776d7d0a
--- /dev/null
+++ b/recipes-connectivity/libvcard/libvcard_git.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Qt vCard library"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f94eaed54ffa1718d593504bae740faf"
+
+DEPENDS += "qtbase"
+
+SRCREV = "4250e2468552ea01954244a2d9cd5d2b44b00042"
+SRC_URI = "git://github.com/pol51/libvcard.git;protocol=https;branch=master"
+
+PV = "1.0+gitr${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit cmake_qt5
diff --git a/recipes-devtools/gdb/gdb_%.bbappend b/recipes-devtools/gdb/gdb_%.bbappend
deleted file mode 100644
index 3e663e71..00000000
--- a/recipes-devtools/gdb/gdb_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG ??= "readline python"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
deleted file mode 100644
index b42338ab..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-inherit qmake5_paths
-
-PACKAGECONFIG[qt5] = '--enable-qt \
- --with-moc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc" \
- --with-uic="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic" \
- --with-rcc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc" \
- ,--disable-qt,qtbase qtdeclarative qtbase-native'
-
-# The GStreamer Qt5 plugin needs desktop OpenGL or OpenGL ES to work, so make sure it is enabled
-python() {
- cur_packageconfig = d.getVar('PACKAGECONFIG',True).split()
- if 'qt5' in cur_packageconfig and not (('opengl' in cur_packageconfig) or ('gles2' in cur_packageconfig)):
- gl_packageconfig = d.getVar('PACKAGECONFIG_GL',True)
- d.appendVar('PACKAGECONFIG', ' ' + gl_packageconfig)
-}
diff --git a/recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch b/recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch
deleted file mode 100644
index 7e1c7bf4..00000000
--- a/recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 8a2f852417414e19d060da66cd7c5cba76e43c7d Mon Sep 17 00:00:00 2001
-From: Diego Rondini <diego.rondini@kynetics.com>
-Date: Wed, 19 Jul 2017 14:17:51 +0200
-Subject: [PATCH] qtabbar.sip: fix build with accessibility disabled
-
-Upstream-Status: Submitted
-
-Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
----
- sip/QtWidgets/qtabbar.sip | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/sip/QtWidgets/qtabbar.sip b/sip/QtWidgets/qtabbar.sip
-index ffe2d3b..80ad816 100644
---- a/sip/QtWidgets/qtabbar.sip
-+++ b/sip/QtWidgets/qtabbar.sip
-@@ -166,11 +166,15 @@ protected:
-
- public:
- %If (Qt_5_8_0 -)
-+%If (PyQt_Accessibility)
- QString accessibleTabName(int index) const;
- %End
-+%End
- %If (Qt_5_8_0 -)
-+%If (PyQt_Accessibility)
- void setAccessibleTabName(int index, const QString &name);
- %End
-+%End
-
- private:
- QTabBar(const QTabBar &);
---
-2.7.4
-
diff --git a/recipes-python/pyqt5/files/fix-sm.patch b/recipes-python/pyqt5/files/fix-sm.patch
deleted file mode 100644
index f2936a23..00000000
--- a/recipes-python/pyqt5/files/fix-sm.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- PyQt5_gpl-5.8.2/sip/QtGui/qguiapplication.sip.orig 2017-05-13 13:28:42.523392315 -0400
-+++ PyQt5_gpl-5.8.2/sip/QtGui/qguiapplication.sip 2017-05-13 13:30:08.081207211 -0400
-@@ -270,12 +270,14 @@
- %End
-
- public:
-+%If (PyQt_SessionManager)
- %If (Qt_5_6_0 -)
- static bool isFallbackSessionManagementEnabled();
- %End
- %If (Qt_5_6_0 -)
- static void setFallbackSessionManagementEnabled(bool);
- %End
-+%End
-
- signals:
- %If (Qt_5_6_0 -)
diff --git a/recipes-python/pyqt5/python-pyqt5_5.8.2.bb b/recipes-python/pyqt5/python-pyqt5_5.8.2.bb
deleted file mode 100644
index fdfa1205..00000000
--- a/recipes-python/pyqt5/python-pyqt5_5.8.2.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "Python Qt5 Bindings"
-AUTHOR = "Phil Thomson @ riverbank.co.uk"
-HOMEPAGE = "http://riverbankcomputing.co.uk"
-SECTION = "devel/python"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "\
- file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
-"
-DEPENDS = "sip sip-native qtbase python"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/pyqt/PyQt5_gpl-${PV}.tar.gz \
- file://fix-sm.patch \
- file://0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch \
-"
-SRC_URI[md5sum] = "c3048e9d242f3e72fd393630da1d971a"
-SRC_URI[sha256sum] = "ebd70515b30bbd6098fee29e6271a6696b1183c5530ee30e6ba9aaab195536e8"
-
-S = "${WORKDIR}/PyQt5_gpl-${PV}"
-
-
-inherit qmake5 pythonnative python-dir distro_features_check
-# depends on qt4-x11-free
-REQUIRED_DISTRO_FEATURES = "x11"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager"
-
-DISABLED_FEATURES_append_arm = " PyQt_qreal_double"
-
-PYQT_MODULES = "QtCore QtGui QtNetwork QtWidgets"
-PYQT_MODULES_aarch64 = "QtCore QtGui QtNetwork QtWidgets"
-
-do_configure_prepend() {
- cd ${S}
- echo "py_platform = linux" > pyqt.cfg
- echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)" >> pyqt.cfg
- echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg
- echo "py_pylib_lib = python%(py_major).%(py_minor)mu" >> pyqt.cfg
- echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg
- echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg
- echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt5" >> pyqt.cfg
- echo "pyuic_interpreter = ${D}/${bindir}/python%(py_major).%(py_minor)" >> pyqt.cfg
- echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg
- echo "qt_shared = True" >> pyqt.cfg
- QT_VERSION=`${OE_QMAKE_QMAKE} -query QT_VERSION`
- echo "[Qt $QT_VERSION]" >> pyqt.cfg
- echo "pyqt_modules = ${PYQT_MODULES}" >> pyqt.cfg
- echo yes | python configure.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/qt5/qmake --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST}
-}
-
-do_compile() {
- cd ${S}
- oe_runmake
-}
-
-do_install() {
- cd ${S}
- oe_runmake install
-}
-
-RDEPENDS_${PN} = "python-core python-sip"
-
-FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/PyQt5/"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*/.debug/"
-
diff --git a/recipes-python/pyqt5/python3-pyqt-builder-native_1.15.0.bb b/recipes-python/pyqt5/python3-pyqt-builder-native_1.15.0.bb
new file mode 100644
index 00000000..7f16eb7b
--- /dev/null
+++ b/recipes-python/pyqt5/python3-pyqt-builder-native_1.15.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "The PEP 517 compliant PyQt build system"
+HOMEPAGE = "https://pypi.org/project/PyQt-builder/"
+LICENSE = "SIP | GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9cd437778ebd1c056a76b4ded73b3a6d"
+
+SRC_URI[sha256sum] = "a90553703897eb41e27c2f1abd31fb9ed304c32ec3271b380015b54ea9762ddd"
+
+inherit pypi setuptools3 native
+
+PYPI_PACKAGE = "PyQt-builder"
diff --git a/recipes-python/pyqt5/python3-pyqt5-sip_12.12.1.bb b/recipes-python/pyqt5/python3-pyqt5-sip_12.12.1.bb
new file mode 100644
index 00000000..a776324e
--- /dev/null
+++ b/recipes-python/pyqt5/python3-pyqt5-sip_12.12.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "The sip module support for PyQt5"
+HOMEPAGE = "https://pypi.org/project/PyQt5-sip/"
+LICENSE = "SIP | GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9cd437778ebd1c056a76b4ded73b3a6d"
+
+SRC_URI[sha256sum] = "8fdc6e0148abd12d977a1d3828e7b79aae958e83c6cb5adae614916d888a6b10"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "PyQt5_sip"
diff --git a/recipes-python/pyqt5/python3-pyqt5_5.15.9.bb b/recipes-python/pyqt5/python3-pyqt5_5.15.9.bb
new file mode 100644
index 00000000..3361cd50
--- /dev/null
+++ b/recipes-python/pyqt5/python3-pyqt5_5.15.9.bb
@@ -0,0 +1,97 @@
+SUMMARY = "Python qt5 Bindings"
+HOMEPAGE = "https://www.riverbankcomputing.com/software/pyqt"
+SECTION = "devel/python"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit pypi python3-dir python3native qmake5 qmake5_paths
+
+SRC_URI[sha256sum] = "dc41e8401a90dc3e2b692b411bd5492ab559ae27a27424eed4bd3915564ec4c0"
+PYPI_PACKAGE = "PyQt5"
+
+S = "${WORKDIR}/PyQt5-${PV}"
+
+DEPENDS = " \
+ python3 \
+ python3-ply-native \
+ python3-pyqt-builder-native \
+ python3-toml-native \
+ qtbase \
+ qtdeclarative \
+ qtquickcontrols2 \
+ sip \
+ sip-native \
+"
+
+DISABLED_FEATURES = " \
+ PyQt_Desktop_OpenGL \
+ PyQt_Accessibility \
+ PyQt_SessionManager \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'PyQt_OpenGL', d)} \
+"
+
+PYQT_MODULES = " \
+ QtCore \
+ QtGui \
+ QtNetwork \
+ QtXml \
+ QtNetwork \
+ QtQml \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'QtQuick QtWidgets QtQuickWidgets', '', d)} \
+"
+
+do_configure:prepend() {
+ local i
+ local extra_args
+
+ cd ${S}
+
+ for i in ${DISABLED_FEATURES}; do
+ extra_args="${extra_args} --disabled-feature=${i}"
+ done
+
+ for i in ${PYQT_MODULES}; do
+ extra_args="${extra_args} --enable=${i}"
+ done
+
+ sip-build \
+ --verbose \
+ --confirm-license \
+ --scripts-dir="${bindir}" \
+ --build-dir="${B}" \
+ --target-dir="${PYTHON_SITEPACKAGES_DIR}" \
+ --qmake=${OE_QMAKE_QMAKE} \
+ --no-make \
+ --enable=pylupdate \
+ --enable=pyrcc \
+ --enable=Qt \
+ --enable=QtCore \
+ --no-dbus-python \
+ ${extra_args}
+
+ QMAKE_PROFILES=${B}/PyQt5.pro
+}
+
+do_compile:append() {
+ sed -i "s,${STAGING_DIR_TARGET},," ${B}/inventory.txt
+}
+
+do_install:append() {
+ sed -i "s,exec .*nativepython3,exec ${bindir}/python3," ${D}/${bindir}/*
+}
+
+pyqt_fix_sources() {
+ find ${PKGD}/usr/src/debug/${PN} -type f -exec sed -i "s,\(${B}\|${S}\),/usr/src/debug/${PN}/${PV},g" {} \;
+}
+PACKAGESPLITFUNCS += "pyqt_fix_sources"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${OE_QMAKE_PATH_PLUGINS}"
+RDEPENDS:${PN} = " \
+ python3-core \
+ python3-pyqt5-sip \
+ qtbase \
+ qtdeclarative \
+ qtquickcontrols2 \
+ qtquickcontrols2-mkspecs \
+ sip \
+"
diff --git a/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb b/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb
new file mode 100644
index 00000000..0bb84fe0
--- /dev/null
+++ b/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Python Qt Chart Bindings"
+AUTHOR = "Adrian.Fiergolski@fastree3d.com"
+HOMEPAGE = "https://www.riverbankcomputing.com/software/pyqtchart"
+SECTION = "devel/python"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+inherit pypi
+
+PYPI_PACKAGE = "PyQtChart"
+
+SRC_URI[md5sum] = "8a36bc796b0d9a2301e613c382336b0e"
+SRC_URI[sha256sum] = "8d976b3dbfb233fb0123129323c68adb9d3693c945bba1e227e004208f0747bc"
+
+S = "${WORKDIR}/PyQtChart-${PV}"
+
+inherit qmake5
+inherit python3native python3-dir
+
+DEPENDS = "qtcharts"
+DEPENDS += "sip sip-native python3 python3-pyqt5"
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+PARALLEL_MAKEINST = ""
+
+DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager"
+
+do_configure:prepend() {
+ cd ${S}
+ echo "[PyQt 5]" > pyqt.cfg
+ echo "py_platform = linux" >> pyqt.cfg
+ echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)${PYTHON_ABI}" >> pyqt.cfg
+ echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg
+ echo "py_sip_dir = ${STAGING_EXECPREFIXDIR}/share/sip" >> pyqt.cfg
+ echo "sip_module = PyQt5.sip" >> pyqt.cfg
+ echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg
+ echo yes | ${PYTHON} configure.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST}
+}
+
+do_configure:append() {
+ #Fix installation paths
+ sed -i -e s:'$(INSTALL_ROOT)'${STAGING_EXECPREFIXDIR}:'$(INSTALL_ROOT)'${D}${exec_prefix}:g ${S}/Makefile
+ sed -i -e s:'$(INSTALL_ROOT)'${STAGING_EXECPREFIXDIR}:'$(INSTALL_ROOT)'${D}${exec_prefix}:g ${S}/QtChart/Makefile
+ #Skip installed.txt creation
+ sed -i -e s:" install_distinfo ":" ": ${S}/Makefile
+}
+
+do_compile() {
+ cd ${S}
+ oe_runmake
+}
+
+do_install() {
+ cd ${S}
+ oe_runmake MAKEFLAGS='-j 1' install
+}
+
+
+FILES:${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/"
+
+RDEPENDS:${PN} = "qtbase qtdeclarative qtquickcontrols2 qtquickcontrols2-mkspecs qtcharts"
+RDEPENDS:${PN} += "python3-core sip python3-pyqt5"
diff --git a/recipes-python/pytest-qt/python3-pytest-qt_4.0.2.bb b/recipes-python/pytest-qt/python3-pytest-qt_4.0.2.bb
new file mode 100644
index 00000000..ea061120
--- /dev/null
+++ b/recipes-python/pytest-qt/python3-pytest-qt_4.0.2.bb
@@ -0,0 +1,12 @@
+SUMMARY = "pytest support for PyQt and PySide applications"
+HOMEPAGE = "http://github.com/pytest-dev/pytest-qt"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be0db96616c6ec3cabe975402c4c687f"
+
+SRC_URI[sha256sum] = "dfc5240dec7eb43b76bcb5f9a87eecae6ef83592af49f3af5f1d5d093acaa93e"
+
+inherit pypi setuptools3
+
+DEPENDS = "python3-setuptools-scm-native"
+
+RDEPENDS:${PN} += "python3-pytest"
diff --git a/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb b/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb
index 0d65ba13..5986b21c 100644
--- a/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb
+++ b/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Extra files for qt5 demo"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
S="${WORKDIR}"
LIC_FILES_CHKSUM = "file://LICENSE;md5=88355dc91a186cc816d9f64757793895"
diff --git a/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch b/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch
index fc132ecc..c9149c41 100644
--- a/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch
+++ b/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch
@@ -1,3 +1,7 @@
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
Index: Qt5_CinematicExperience_rpi_1.0/content/SettingsView.qml
===================================================================
--- Qt5_CinematicExperience_rpi_1.0.orig/content/SettingsView.qml
diff --git a/recipes-qt/examples/cinematicexperience_1.0.bb b/recipes-qt/examples/cinematicexperience_1.0.bb
index 0c535730..b2e6072f 100644
--- a/recipes-qt/examples/cinematicexperience_1.0.bb
+++ b/recipes-qt/examples/cinematicexperience_1.0.bb
@@ -10,7 +10,7 @@ SRC_URI += "file://fix_qt5_3_compatibility.patch"
SRC_URI[md5sum] = "935a5db0a6b2a72c67236e72f52be7d1"
SRC_URI[sha256sum] = "0dd602983ced5f7c0cfd5ad0fbfe2b0b7e3c9ff715e4ef23eef818ccc2b6c60b"
-S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}/"
+S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}"
# other version available for small screens
#SRC_URI = "http://quitcoding.com/download/Qt5_CinematicExperience_1.0.tgz"
@@ -19,15 +19,17 @@ S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}/"
#S = "${WORKDIR}/Qt5_CinematicExperience_${PV}/"
DEPENDS = "qtdeclarative qtgraphicaleffects"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+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}${datadir}/${P}/content/ ${D}${datadir}/${P}/content/images/
+ install -m 0755 ${B}/Qt5_CinematicExperience ${D}${datadir}/${P}/Qt5_CinematicExperience
+ install -m 0644 ${S}/content/*.qml ${D}${datadir}/${P}/content/
+ install -m 0644 ${S}/content/images/*.png ${D}${datadir}/${P}/content/images/
+ install -m 0644 ${S}/content/images/*.xcf ${D}${datadir}/${P}/content/images/
+ install -m 0644 ${S}/Qt5_CinematicExperience.qml ${D}${datadir}/${P}/Qt5_CinematicExperience.qml
install -d ${D}${bindir}
echo "#!/bin/sh" > ${D}${bindir}/Qt5_CinematicExperience
@@ -37,5 +39,4 @@ do_install() {
chmod +x ${D}${bindir}/Qt5_CinematicExperience
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
diff --git a/recipes-qt/examples/qt5-opengles2-test_git.bb b/recipes-qt/examples/qt5-opengles2-test_git.bb
index 5da25dc9..3634fbae 100644
--- a/recipes-qt/examples/qt5-opengles2-test_git.bb
+++ b/recipes-qt/examples/qt5-opengles2-test_git.bb
@@ -12,8 +12,8 @@ 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"
+SRC_URI = "git://github.com/smk-embedded/qt5-opengles2-test.git;branch=master;protocol=https"
+SRCREV = "293ae5cfedf48c97178057932d06db409117e4ad"
S = "${WORKDIR}/git"
inherit qmake5
diff --git a/recipes-qt/examples/qt5everywheredemo_1.0.bb b/recipes-qt/examples/qt5everywheredemo_1.0.bb
index 493344f7..c9c726a3 100644
--- a/recipes-qt/examples/qt5everywheredemo_1.0.bb
+++ b/recipes-qt/examples/qt5everywheredemo_1.0.bb
@@ -1,14 +1,15 @@
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"
+LICENSE = "BSD-3-Clause"
+HOMEPAGE = "https://code.qt.io/cgit/qt-labs"
LIC_FILES_CHKSUM = "file://qml/QtDemo/main.qml;endline=39;md5=7d80863906a4bc8ffca77fd869e335a9"
-DEPENDS = "qtdeclarative qtgraphicaleffects qtsvg qtmultimedia"
+DEPENDS = "qtdeclarative qtgraphicaleffects qtsvg qtmultimedia qtxmlpatterns"
SRCREV = "35d72a2eba7456a2efc5eb8b77afbc00f69ba0ac"
QT_GIT_PROJECT = "qt-labs"
-SRC_URI = "${QT_GIT}/qt5-everywhere-demo"
+QT_MODULE_BRANCH = "master"
+SRC_URI = "${QT_GIT}/qt5-everywhere-demo;branch=${QT_MODULE_BRANCH};protocol=${QT_GIT_PROTOCOL}"
S = "${WORKDIR}/git/QtDemo"
@@ -20,7 +21,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/examples/qt5ledscreen_1.0.bb b/recipes-qt/examples/qt5ledscreen_1.0.bb
index e2b994bc..395d3d1b 100644
--- a/recipes-qt/examples/qt5ledscreen_1.0.bb
+++ b/recipes-qt/examples/qt5ledscreen_1.0.bb
@@ -18,7 +18,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb b/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
index 145f7974..fad6c4bc 100644
--- a/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
+++ b/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
@@ -21,7 +21,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/examples/qt5nmapper/change-property-string.patch b/recipes-qt/examples/qt5nmapper/change-property-string.patch
index dae2fdcc..46541244 100644
--- a/recipes-qt/examples/qt5nmapper/change-property-string.patch
+++ b/recipes-qt/examples/qt5nmapper/change-property-string.patch
@@ -1,6 +1,7 @@
qt5nmapper: Change property string to onTextString
Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
diff --git a/content_org/Switch.qml b/content/Switch.qml
index 08a2cba..a8b8b26 100644
diff --git a/recipes-qt/examples/qt5nmapper_1.0.bb b/recipes-qt/examples/qt5nmapper_1.0.bb
index 762ad20b..10324cee 100644
--- a/recipes-qt/examples/qt5nmapper_1.0.bb
+++ b/recipes-qt/examples/qt5nmapper_1.0.bb
@@ -22,8 +22,7 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/examples/qtsmarthome_1.0.bb b/recipes-qt/examples/qtsmarthome_1.0.bb
index da1bbdf3..2f95be4c 100644
--- a/recipes-qt/examples/qtsmarthome_1.0.bb
+++ b/recipes-qt/examples/qtsmarthome_1.0.bb
@@ -1,13 +1,13 @@
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"
+LICENSE = "LGPL-2.1-or-later & 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 = "https://artifacts.toradex.com/artifactory/tdxref-oe-prod-frankfurt/dunfell-5.x.y/release/4/sources/smarthome_src.tar.gz"
SRC_URI[md5sum] = "883b0376239baec20ebec072e938a995"
SRC_URI[sha256sum] = "fceaa813c33e462bad6c0383eaef81a6f6e586c15d1fa73898173b517fc1cda6"
@@ -22,7 +22,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/components ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/examples/quitbattery_1.0.0.bb b/recipes-qt/examples/quitbattery_1.0.0.bb
index 6c2d3d11..c8dddb17 100644
--- a/recipes-qt/examples/quitbattery_1.0.0.bb
+++ b/recipes-qt/examples/quitbattery_1.0.0.bb
@@ -20,7 +20,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/examples/quitindicators_1.0.1.bb b/recipes-qt/examples/quitindicators_1.0.1.bb
index 3e42d047..48b72041 100644
--- a/recipes-qt/examples/quitindicators_1.0.1.bb
+++ b/recipes-qt/examples/quitindicators_1.0.1.bb
@@ -19,7 +19,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
}
-FILES_${PN}-dbg += "${datadir}/${P}/.debug"
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
+RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-Drop-tr1-namespace-its-not-there-in-c-11-and-newer.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Drop-tr1-namespace-its-not-there-in-c-11-and-newer.patch
new file mode 100644
index 00000000..920946ec
--- /dev/null
+++ b/recipes-qt/maliit/maliit-framework-qt5/0001-Drop-tr1-namespace-its-not-there-in-c-11-and-newer.patch
@@ -0,0 +1,83 @@
+From 60e7464fe2b75bb7187a4be0d6ba944d2b46f93e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Jan 2019 22:02:32 -0800
+Subject: [PATCH] Drop tr1 namespace its not there in c++11 and newer
+
+compile as C++11 code
+libc++'s tr1 headers don't actually make a tr1 namespace.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mimonscreenplugins.cpp | 10 +++++-----
+ .../ut_mimpluginmanagerconfig.cpp | 2 +-
+ .../ut_mimpluginmanagerconfig.h | 2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/mimonscreenplugins.cpp b/src/mimonscreenplugins.cpp
+index da6e937e..b830e1bf 100644
+--- a/src/mimonscreenplugins.cpp
++++ b/src/mimonscreenplugins.cpp
+@@ -21,9 +21,9 @@
+ #include <QDebug>
+
+ #include <algorithm>
+-#include <tr1/functional>
++#include <functional>
+
+-using namespace std::tr1::placeholders;
++using namespace std::placeholders;
+
+ namespace
+ {
+@@ -118,10 +118,10 @@ bool MImOnScreenPlugins::isEnabled(const QString &plugin) const
+
+ std::remove_copy_if(mEnabledSubViews.begin(), mEnabledSubViews.end(),
+ std::back_inserter(mEnabledAndAvailableSubViews),
+- std::tr1::bind(&MImOnScreenPlugins::isSubViewUnavailable, this, _1));
++ std::bind(&MImOnScreenPlugins::isSubViewUnavailable, this, _1));
+
+ return std::find_if(mEnabledAndAvailableSubViews.begin(), mEnabledAndAvailableSubViews.end(),
+- std::tr1::bind(equalPlugin, _1, plugin)) != mEnabledAndAvailableSubViews.end();
++ std::bind(equalPlugin, _1, plugin)) != mEnabledAndAvailableSubViews.end();
+ }
+
+ bool MImOnScreenPlugins::isSubViewEnabled(const SubView &subView) const
+@@ -138,7 +138,7 @@ QList<MImOnScreenPlugins::SubView> MImOnScreenPlugins::enabledSubViews(const QSt
+ {
+ QList<MImOnScreenPlugins::SubView> result;
+ std::remove_copy_if(mEnabledSubViews.begin(), mEnabledSubViews.end(),
+- std::back_inserter(result), std::tr1::bind(notEqualPlugin, _1, plugin));
++ std::back_inserter(result), std::bind(notEqualPlugin, _1, plugin));
+ return result;
+ }
+
+diff --git a/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.cpp b/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.cpp
+index dea443e3..677dd689 100644
+--- a/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.cpp
++++ b/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.cpp
+@@ -39,7 +39,7 @@
+ #include "mattributeextensionmanager.h"
+ #include "msharedattributeextensionmanager.h"
+
+-using namespace std::tr1;
++using namespace std;
+
+ typedef QSet<Maliit::HandlerState> HandlerStates;
+ Q_DECLARE_METATYPE(HandlerStates);
+diff --git a/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.h b/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.h
+index 5b1b691b..3ea18747 100644
+--- a/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.h
++++ b/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.h
+@@ -16,7 +16,7 @@
+
+ #include "mimserveroptions.h"
+ #include "mimsettingsqsettings.h"
+-#include <tr1/memory>
++#include <memory>
+
+ #include <QtTest/QtTest>
+ #include <QObject>
+--
+2.20.1
+
diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch
new file mode 100644
index 00000000..f8f2981f
--- /dev/null
+++ b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch
@@ -0,0 +1,63 @@
+From 78a4b12b64c26f29e64fe56801e92d1e76f362b0 Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Fri, 16 Aug 2019 15:08:41 +0300
+Subject: [PATCH] Fix test installations
+
+Qmake won't ignore install errors anymore.
+
+Upstream-Status: Pending
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+---
+ .../ut_mattributeextensionmanager.pro | 7 ++++---
+ tests/ut_mimpluginmanager/ut_mimpluginmanager.pro | 7 ++++---
+ .../ut_mimpluginmanagerconfig.pro | 3 ---
+ 3 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/tests/ut_mattributeextensionmanager/ut_mattributeextensionmanager.pro b/tests/ut_mattributeextensionmanager/ut_mattributeextensionmanager.pro
+index 22280882..d0c390ef 100644
+--- a/tests/ut_mattributeextensionmanager/ut_mattributeextensionmanager.pro
++++ b/tests/ut_mattributeextensionmanager/ut_mattributeextensionmanager.pro
+@@ -13,9 +13,10 @@ CONFIG += plugin
+ include($$TOP_DIR/src/libmaliit-plugins.pri)
+ include($$TOP_DIR/connection/libmaliit-connection.pri)
+
+-target.files += \
+- $$TARGET \
++extra.files += \
+ toolbar1.xml \
+- toolbar2.xml \
++ toolbar2.xml
++extra.path = $$target.path
++INSTALLS += extra
+
+ include(../common_check.pri)
+diff --git a/tests/ut_mimpluginmanager/ut_mimpluginmanager.pro b/tests/ut_mimpluginmanager/ut_mimpluginmanager.pro
+index 19e68e6a..44e0fa0f 100644
+--- a/tests/ut_mimpluginmanager/ut_mimpluginmanager.pro
++++ b/tests/ut_mimpluginmanager/ut_mimpluginmanager.pro
+@@ -17,9 +17,10 @@ include($$TOP_DIR/src/libmaliit-plugins.pri)
+ # For MImInputContextConnection pulled in by TestInputMethodHost
+ include($$TOP_DIR/connection/libmaliit-connection.pri)
+
+-target.files += \
+- $$TARGET \
++extra.files += \
+ toolbar1.xml \
+- toolbar2.xml \
++ toolbar2.xml
++extra.path = $$target.path
++INSTALLS += extra
+
+ include(../common_check.pri)
+diff --git a/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.pro b/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.pro
+index 739ceef6..e0b363c8 100644
+--- a/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.pro
++++ b/tests/ut_mimpluginmanagerconfig/ut_mimpluginmanagerconfig.pro
+@@ -17,7 +17,4 @@ include($$TOP_DIR/src/libmaliit-plugins.pri)
+ # For MImInputContextConnection pulled in by TestInputMethodHost
+ include($$TOP_DIR/connection/libmaliit-connection.pri)
+
+-target.files += \
+- $$TARGET \
+-
+ include(../common_check.pri)
diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch
index 2310e637..8f793dc5 100644
--- a/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch
+++ b/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
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
diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-examples-plugins-Replace-obsolete-screenGeometry.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-examples-plugins-Replace-obsolete-screenGeometry.patch
new file mode 100644
index 00000000..84c8aeac
--- /dev/null
+++ b/recipes-qt/maliit/maliit-framework-qt5/0001-examples-plugins-Replace-obsolete-screenGeometry.patch
@@ -0,0 +1,66 @@
+From 604761d49aa1d93ef5cc6d13259dc53dce7f04c4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 Jul 2019 17:52:04 -0700
+Subject: [PATCH] examples/plugins: Replace obsolete screenGeometry
+
+Fixes errors like
+helloworldinputmethod.cpp:93:55: error: 'screenGeometry' is deprecated: Use QGuiApplication::screens() [-Werror,-Wdeprecated-declarations]
+ const QSize screenSize = QApplication::desktop()->screenGeometry().size();
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/plugins/cxx/helloworld/helloworldinputmethod.cpp | 5 +++--
+ examples/plugins/cxx/override/overrideinputmethod.cpp | 5 +++--
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/examples/plugins/cxx/helloworld/helloworldinputmethod.cpp b/examples/plugins/cxx/helloworld/helloworldinputmethod.cpp
+index eb470a1f..e5e5911d 100644
+--- a/examples/plugins/cxx/helloworld/helloworldinputmethod.cpp
++++ b/examples/plugins/cxx/helloworld/helloworldinputmethod.cpp
+@@ -18,7 +18,7 @@
+
+ #include <QDebug>
+ #include <QApplication>
+-#include <QDesktopWidget>
++#include <QScreen>
+
+ namespace {
+
+@@ -90,7 +90,8 @@ void HelloWorldInputMethod::show()
+ }
+
+ // Set size of our container to screen size
+- const QSize screenSize = QApplication::desktop()->screenGeometry().size();
++ QScreen *screen = QApplication::primaryScreen();
++ const QSize screenSize = screen->availableSize();
+ mainWidget->parentWidget()->resize(screenSize);
+
+ // Set size of the input method
+diff --git a/examples/plugins/cxx/override/overrideinputmethod.cpp b/examples/plugins/cxx/override/overrideinputmethod.cpp
+index c00160e4..f2f30e1d 100644
+--- a/examples/plugins/cxx/override/overrideinputmethod.cpp
++++ b/examples/plugins/cxx/override/overrideinputmethod.cpp
+@@ -18,7 +18,7 @@
+
+ #include <QDebug>
+ #include <QApplication>
+-#include <QDesktopWidget>
++#include <QScreen>
+ #include <QKeyEvent>
+
+ namespace {
+@@ -82,7 +82,8 @@ void OverrideInputMethod::show()
+ }
+
+ // Set size of the input method
+- const QSize &screenSize = QApplication::desktop()->screenGeometry().size();
++ QScreen *screen = QApplication::primaryScreen();
++ const QSize screenSize = screen->availableSize();
+ const QSize size(screenSize.width() - 200, 200);
+
+ surface->setGeometry(QRect(QPoint((screenSize.width() - size.width()) / 2,
+--
+2.22.0
+
diff --git a/recipes-qt/maliit/maliit-framework-qt5_git.bb b/recipes-qt/maliit/maliit-framework-qt5_git.bb
index e0a0e0e1..1df83e7c 100644
--- a/recipes-qt/maliit/maliit-framework-qt5_git.bb
+++ b/recipes-qt/maliit/maliit-framework-qt5_git.bb
@@ -1,15 +1,18 @@
DESCRIPTION = "A virtual keyboard for touch-screen based user interfaces"
HOMEPAGE = "https://wiki.maliit.org/Main_Page"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
-inherit qmake5 qmake5_paths
+inherit qmake5 qmake5_paths pkgconfig
-SRC_URI = "git://github.com/maliit/framework.git;branch=master \
+SRC_URI = "git://github.com/maliit/framework.git;branch=master;protocol=https \
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 \
+ file://0001-Drop-tr1-namespace-its-not-there-in-c-11-and-newer.patch \
+ file://0001-examples-plugins-Replace-obsolete-screenGeometry.patch \
+ file://0001-Fix-test-installations.patch \
"
SRCREV = "60b1b10de14f932420313c547ab801daf522d539"
@@ -21,9 +24,9 @@ GTKIMMODULES_PACKAGES = "${PN}-gtk"
DEPENDS = "qtdeclarative"
-RRECOMMENDS_${PN} = "maliit-plugins-qt5"
+RRECOMMENDS:${PN} = "maliit-plugins-qt5"
-FILES_${PN} += "\
+FILES:${PN} += "\
${libdir}/*.so* \
${bindir} \
${datadir}/applications/maliit-server.desktop \
@@ -31,12 +34,11 @@ FILES_${PN} += "\
${OE_QMAKE_PATH_PLUGINS}/platforminputcontexts \
"
-FILES_${PN}-dbg += "\
+FILES:${PN}-dbg += "\
${libdir}/maliit-framework-tests \
- ${OE_QMAKE_PATH_PLUGINS}/platforminputcontexts/.debug \
"
-FILES_${PN}-dev += "\
+FILES:${PN}-dev += "\
${includedir}/maliit \
${libdir}/pkgconfig \
${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \
@@ -58,9 +60,13 @@ EXTRA_QMAKEVARS_PRE = "\
CONFIG+=enable-dbus-activation \
CONFIG+=qt5-inputcontext \
"
+
+# tests fail to build with gcc12/clang
+EXTRA_QMAKEVARS_PRE:append = " CONFIG+=notests"
+
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
-do_install_append() {
+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
@@ -69,26 +75,22 @@ do_install_append() {
install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications
}
-pkg_postinst_${PN} () {
+pkg_postinst_ontarget:${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} () {
+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
+ 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
fi
-rm -f /etc/xdg/autostart/maliit-server.desktop
}
S = "${WORKDIR}/git"
diff --git a/recipes-qt/maliit/maliit-plugins-qt5/0001-Do-not-use-tr1-namespace.patch b/recipes-qt/maliit/maliit-plugins-qt5/0001-Do-not-use-tr1-namespace.patch
new file mode 100644
index 00000000..e5525379
--- /dev/null
+++ b/recipes-qt/maliit/maliit-plugins-qt5/0001-Do-not-use-tr1-namespace.patch
@@ -0,0 +1,58 @@
+From 19cc10dc4378e9eda15b58f3673f686c4ff845e2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Jan 2019 22:17:56 -0800
+Subject: [PATCH] Do not use tr1 namespace
+
+This is not a standard in C++11
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ maliit-keyboard/lib/logic/layouthelper.cpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/maliit-keyboard/lib/logic/layouthelper.cpp b/maliit-keyboard/lib/logic/layouthelper.cpp
+index a8bd995f..f694e819 100644
+--- a/maliit-keyboard/lib/logic/layouthelper.cpp
++++ b/maliit-keyboard/lib/logic/layouthelper.cpp
+@@ -31,7 +31,7 @@
+ */
+
+ #include <algorithm>
+-#include <tr1/functional>
++#include <functional>
+
+ #include "layouthelper.h"
+ #include "coreutils.h"
+@@ -76,7 +76,7 @@ struct KeyPredicate
+
+ } // namespace
+
+-typedef std::tr1::function<void(const KeyArea &, const KeyOverrides &)> EmitFunc;
++typedef std::function<void(const KeyArea &, const KeyOverrides &)> EmitFunc;
+
+ class LayoutHelperPrivate
+ {
+@@ -468,13 +468,13 @@ void LayoutHelper::onKeysOverriden(const KeyOverrides &overriden_keys,
+ d->overriden_keys = overriden_keys;
+ }
+
+- using std::tr1::placeholders::_1;
+- using std::tr1::placeholders::_2;
++ using std::placeholders::_1;
++ using std::placeholders::_2;
+
+- d->overrideCheck(changed_ids, d->left, std::tr1::bind(&LayoutHelper::leftPanelChanged, this, _1, _2));
+- d->overrideCheck(changed_ids, d->right, std::tr1::bind(&LayoutHelper::rightPanelChanged, this, _1, _2));
+- d->overrideCheck(changed_ids, d->center, std::tr1::bind(&LayoutHelper::centerPanelChanged, this, _1, _2));
+- d->overrideCheck(changed_ids, d->extended, std::tr1::bind(&LayoutHelper::extendedPanelChanged, this, _1, _2));
++ d->overrideCheck(changed_ids, d->left, std::bind(&LayoutHelper::leftPanelChanged, this, _1, _2));
++ d->overrideCheck(changed_ids, d->right, std::bind(&LayoutHelper::rightPanelChanged, this, _1, _2));
++ d->overrideCheck(changed_ids, d->center, std::bind(&LayoutHelper::centerPanelChanged, this, _1, _2));
++ d->overrideCheck(changed_ids, d->extended, std::bind(&LayoutHelper::extendedPanelChanged, this, _1, _2));
+ }
+
+ }} // namespace Logic, MaliitKeyboard
+--
+2.20.1
+
diff --git a/recipes-qt/maliit/maliit-plugins-qt5_git.bb b/recipes-qt/maliit/maliit-plugins-qt5_git.bb
index 7dc1a730..d0576415 100644
--- a/recipes-qt/maliit/maliit-plugins-qt5_git.bb
+++ b/recipes-qt/maliit/maliit-plugins-qt5_git.bb
@@ -1,16 +1,20 @@
DESCRIPTION = "Plugins for a virtual keyboard for touch-screen based user interfaces"
HOMEPAGE = "https://wiki.maliit.org/Main_Page"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
inherit qmake5
DEPENDS = "maliit-framework-qt5"
-RDEPENDS_${PN} += "qtsvg-plugins"
+inherit pkgconfig
-SRC_URI = "git://github.com/maliit/plugins.git;branch=master"
+RDEPENDS:${PN} += "qtsvg-plugins"
+
+SRC_URI = "git://github.com/maliit/plugins.git;branch=master;protocol=https \
+ file://0001-Do-not-use-tr1-namespace.patch \
+ "
SRCREV = "c6a348592607248a771a3dde5a0e33dc3c433a2a"
PV = "0.99.0+git${SRCPV}"
@@ -23,13 +27,14 @@ EXTRA_QMAKEVARS_PRE = "\
CONFIG+=nodoc \
"
-FILES_${PN} += "\
+# tests fail to build with gcc12/clang
+EXTRA_QMAKEVARS_PRE:append = " CONFIG+=notests"
+
+FILES:${PN} += "\
${libdir}/maliit \
${datadir} \
"
-FILES_${PN}-dbg += "${libdir}/maliit/plugins/.debug"
-
S= "${WORKDIR}/git"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
diff --git a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
index 71746f03..36d56fd5 100644
--- a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
+++ b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
@@ -3,12 +3,15 @@
SUMMARY = "Host packages for the Qt5 standalone SDK or external toolchain"
LICENSE = "MIT"
-inherit nativesdk packagegroup
+inherit packagegroup nativesdk
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
nativesdk-packagegroup-sdk-host \
nativesdk-qttools-tools \
- nativesdk-qtbase-tools \
+ nativesdk-qtbase \
+ nativesdk-qtbase-dev \
+ nativesdk-perl-modules \
+ nativesdk-qtdeclarative-tools \
"
diff --git a/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb b/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
index b34dbffa..67c4ef21 100644
--- a/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
+++ b/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
@@ -8,9 +8,9 @@ inherit packagegroup
# Override by distro if needed
VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon ?= "openssh-sshd"
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
gdbserver \
${VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon} \
openssh-sftp-server \
- qtdeclarative-plugins \
+ qtdeclarative \
"
diff --git a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
index df805146..98f7be2c 100755
--- a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
+++ b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
@@ -3,22 +3,11 @@
DESCRIPTION = "Target packages for Qt5 SDK"
LICENSE = "MIT"
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
inherit packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
-# Requires Ruby to work
-USE_RUBY = " \
- qtquick1-dev \
- qtquick1-mkspecs \
- qtquick1-plugins \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtquick1-qmlplugins', '', d)} \
- qttranslations-qtquick1 \
- qtwebkit-dev \
- qtwebkit-mkspecs \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebkit-qmlplugins', '', d)} \
-"
-
# Requires Wayland to work
USE_WAYLAND = " \
qtwayland-dev \
@@ -33,7 +22,7 @@ USE_X11 = " \
qtx11extras-mkspecs \
"
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
packagegroup-core-standalone-sdk-target \
libsqlite3-dev \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qt3d-dev', '', d)} \
@@ -43,9 +32,12 @@ RDEPENDS_${PN} += " \
qtbase-mkspecs \
qtbase-plugins \
qtbase-staticdev \
- qttranslations-qt \
+ 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)} \
@@ -55,11 +47,7 @@ RDEPENDS_${PN} += " \
${@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 \
@@ -68,6 +56,8 @@ RDEPENDS_${PN} += " \
qtlocation-plugins \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtlocation-qmlplugins', '', d)} \
qttranslations-qtlocation \
+ qtmqtt-dev \
+ qtmqtt-mkspecs \
qtmultimedia-dev \
qtmultimedia-mkspecs \
qtmultimedia-plugins \
@@ -95,7 +85,6 @@ RDEPENDS_${PN} += " \
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 \
@@ -111,8 +100,14 @@ RDEPENDS_${PN} += " \
qtquickcontrols2-dev \
qtquickcontrols2-mkspecs \
"
+RDEPENDS:${PN}:remove:toolchain-clang:riscv32 = "qttools-dev qttools-mkspecs qttools-staticdev qttools-tools"
+RDEPENDS:${PN}:remove:toolchain-clang:riscv64 = "qttools-dev qttools-mkspecs qttools-staticdev qttools-tools"
-RRECOMMENDS_${PN} += " \
+RRECOMMENDS:${PN} += " \
qtquickcontrols-qmlplugins \
+ qtquickcontrols2-qmlplugins \
qttools-plugins \
"
+
+RRECOMMENDS:${PN}:remove:toolchain-clang:riscv32 = "qttools-plugins"
+RRECOMMENDS:${PN}:remove:toolchain-clang:riscv64 = "qttools-plugins"
diff --git a/recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch b/recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch
new file mode 100644
index 00000000..9a54b902
--- /dev/null
+++ b/recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch
@@ -0,0 +1,39 @@
+From 647b1da38d8c741681de9c89f2090f0edcf25a47 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 13:40:34 -0800
+Subject: [PATCH] lib.pro: Append LIB_ARCH to lib
+
+appending to lib so it becomes lib64 when needed and LIB_ARCH can be set
+in evnironment
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib.pro | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib.pro b/src/lib.pro
+index b5f8ab6..0731d01 100755
+--- a/src/lib.pro
++++ b/src/lib.pro
+@@ -18,7 +18,7 @@ public_headers += \
+ include(src.pri)
+
+ win32: target.path = $${PREFIX}/bin
+-else: target.path = $${PREFIX}/lib
++else: target.path = $${PREFIX}/lib$${LIB_ARCH}
+ INSTALLS += target
+
+ headers.files = $$public_headers
+@@ -30,7 +30,7 @@ INSTALLS += headers
+ QMAKE_PKGCONFIG_NAME = qmllive
+ QMAKE_PKGCONFIG_DESCRIPTION = Qt QmlLive Library
+ QMAKE_PKGCONFIG_PREFIX = $$PREFIX
+- QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib
++ QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib$${LIB_ARCH}
+ QMAKE_PKGCONFIG_INCDIR = ${prefix}/include/qmllive
+ QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+ }
+--
+2.24.1
+
diff --git a/recipes-qt/qmllive/qmllive_git.bb b/recipes-qt/qmllive/qmllive_git.bb
new file mode 100644
index 00000000..70b0eb0d
--- /dev/null
+++ b/recipes-qt/qmllive/qmllive_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "QmlLive is a live reloader environment for rapid UI development"
+HOMEPAGE = "https://github.com/qtproject/qt-apps-qmllive"
+LICENSE = "GPL-3.0-only"
+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 \
+ file://0001-lib.pro-Append-LIB_ARCH-to-lib.patch \
+ "
+SRCREV = "0c7bf141b08aa9e757e91a4a05769257d043eab2"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig qmake5
+
+EXTRA_QMAKEVARS_PRE += "LIB_ARCH=${@d.getVar('baselib').replace('lib', '')}"
+EXTRA_QMAKEVARS_POST = "QMAKE_RPATHDIR="
+
+FILES:${PN}-dev += "${datadir}"
diff --git a/recipes-qt/qsiv/qsiv_1.1.bb b/recipes-qt/qsiv/qsiv_1.1.bb
index bb2efa69..02bbee5e 100644
--- a/recipes-qt/qsiv/qsiv_1.1.bb
+++ b/recipes-qt/qsiv/qsiv_1.1.bb
@@ -1,11 +1,11 @@
SUMMARY = "Qt Simple Image Viewer"
DESCRIPTION = "A simple image viewer using a mix of C++ and qml code for demonstration."
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11c7965a9059e287de5d93b98adf6d1a"
DEPENDS = "qtdeclarative"
SRCREV = "7b9810b0f02f9ac74fae3ead6e2e9fb5c1382173"
-SRC_URI = "git://code.ossystems.com.br/qt/qsiv;protocol=http"
+SRC_URI = "git://code.ossystems.com.br/qt/qsiv;protocol=http;branch=master"
S = "${WORKDIR}/git"
@@ -13,7 +13,7 @@ inherit qmake5
EXTRA_QMAKEVARS_PRE += "target.path=${libdir}/${P}"
-do_install_append() {
+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
@@ -22,7 +22,5 @@ do_install_append() {
chmod +x ${D}${bindir}/qsiv
}
-FILES_${PN} += "${libdir}/${P}"
-RDEPENDS_${PN} += "qtdeclarative-qmlplugins"
-
-FILES_${PN}-dbg += "${libdir}/${P}/.debug"
+FILES:${PN} += "${libdir}/${P}"
+RDEPENDS:${PN} += "qtdeclarative-qmlplugins"
diff --git a/recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf
new file mode 100644
index 00000000..4f4849b5
--- /dev/null
+++ b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf
@@ -0,0 +1,5 @@
+{
+ "URL": "http://github.com/OSSystems/qt-kiosk-browser",
+ "RestartTimeout": 0,
+ "ScreenSaverTimeout": 0
+}
diff --git a/recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb
new file mode 100644
index 00000000..60b6e428
--- /dev/null
+++ b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Qt Kiosk Browser"
+DESCRIPTION = "Provides a simple but highly configurable browser for use on Kiosk devices"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
+LICENSE = "GPL-3.0-only"
+
+DEPENDS = "qtwebengine"
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('qtwebengine dependency requires meta-python2 to be present.')
+}
+
+SRC_URI = " \
+ git://github.com/OSSystems/qt-kiosk-browser;protocol=https;branch=master \
+ file://${BPN}.conf \
+"
+
+PV = "0.0+git${SRCPV}"
+SRCREV = "d42b7d9050b5445e2b9430022a46d5d583581631"
+
+S = "${WORKDIR}/git"
+
+inherit qmake5
+
+EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}"
+
+do_install:append() {
+ install -Dm 0644 ${WORKDIR}/${PN}.conf ${D}${sysconfdir}/${PN}.conf
+}
+
+RDEPENDS:${PN} += " \
+ liberation-fonts \
+ qtdeclarative-qmlplugins \
+ qtquickcontrols-qmlplugins \
+ qtvirtualkeyboard \
+ qtwebengine-qmlplugins \
+"
+COMPATIBLE_MACHINE = "(-)"
+COMPATIBLE_MACHINE:x86 = "(.*)"
+COMPATIBLE_MACHINE:x86-64 = "(.*)"
+COMPATIBLE_MACHINE:armv6 = "(.*)"
+COMPATIBLE_MACHINE:armv7a = "(.*)"
+COMPATIBLE_MACHINE:armv7ve = "(.*)"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
diff --git a/recipes-qt/qt5/nativesdk-qt5.inc b/recipes-qt/qt5/nativesdk-qt5.inc
index 2eb8c142..5472012c 100644
--- a/recipes-qt/qt5/nativesdk-qt5.inc
+++ b/recipes-qt/qt5/nativesdk-qt5.inc
@@ -1,4 +1,4 @@
-inherit nativesdk qmake5_base
+inherit qmake5_base nativesdk
# we don't want conflicts with qt4
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index fe280dc3..56e0a0a8 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -3,30 +3,29 @@ 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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \
- file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
- file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
- file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.QT-LICENSE-AGREEMENT;md5=485e1d58b313def058a0d72598aa6efe \
"
QT_MODULE = "qtbase"
+inherit pkgconfig
+
require nativesdk-qt5.inc
-require qt5-git.inc
+require qt5-lts.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.9-shared
-# 5.9.meta-qt5-shared.5
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared
+# 5.15.meta-qt5-shared.4
SRC_URI += "\
file://0001-Add-linux-oe-g-platform.patch \
file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
@@ -35,17 +34,27 @@ SRC_URI += "\
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-Disable-ltcg-for-host_build.patch \
+ file://0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
+ file://0014-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0017-Define-__NR_futex-if-it-does-not-exist.patch \
+ file://0018-Revert-Fix-workaround-in-pthread-destructor.patch \
+ file://0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch \
+ file://0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch \
+ file://0022-testlib-don-t-track-the-build-or-source-directories.patch \
"
# common for qtbase-native and nativesdk-qtbase
-# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-native
-# 5.9.meta-qt5-native.5
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native
+# 5.15.meta-qt5-native.4
SRC_URI += " \
- file://0012-Always-build-uic.patch \
+ file://0023-Always-build-uic-and-qvkgen.patch \
+ file://0024-Avoid-renameeat2-for-native-sdk-builds.patch \
"
# CMake's toolchain configuration of nativesdk-qtbase
@@ -53,45 +62,34 @@ SRC_URI += " \
file://OEQt5Toolchain.cmake \
"
-PACKAGES = "${PN}-tools-dbg ${PN}-tools-dev ${PN}-tools-staticdev ${PN}-tools"
-
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
-FILES_${PN}-tools-dev = " \
- ${includedir} \
- ${FILES_SOLIBSDEV} ${libdir}/*.la \
- ${libdir}/*.prl \
+FILES:${PN}-dev += " \
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
${OE_QMAKE_PATH_LIBS}/*.prl \
"
-FILES_${PN}-tools-staticdev = " \
- ${OE_QMAKE_PATH_LIBS}/*.a \
-"
-
-FILES_${PN}-tools-dbg = " \
- ${libdir}/.debug \
- ${OE_QMAKE_PATH_BINS}/.debug \
-"
-
-FILES_${PN}-tools = " \
- ${libdir}/lib*${SOLIBS} \
- ${OE_QMAKE_PATH_BINS}/* \
+FILES:${PN} += " \
${SDKPATHNATIVE}/environment-setup.d \
- ${datadir}/cmake \
+ ${OE_QMAKE_PATH_PLUGINS} \
+ ${OE_QMAKE_PATH_LIBS}/metatypes \
"
# 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}-tools = "1"
+DEBIAN_NOAUTONAME:${PN} = "1"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[gui] = "-gui -qpa offscreen,-no-gui,"
+PACKAGECONFIG[imageformats] = "-qt-libpng -qt-libjpeg -gif -ico, -no-libpng -no-libjpeg -no-ico -no-gif,"
+PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl,libssl"
QT_CONFIG_FLAGS += " \
-shared \
-silent \
-no-pch \
- -no-rpath \
-pkg-config \
${PACKAGECONFIG_CONFARGS} \
"
@@ -105,23 +103,22 @@ OE_QMAKE_PATH_HOST_LIBS = "${libdir}"
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 \
- -opensource -confirm-license \
+ -${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-qml-debug \
-no-sql-mysql \
-no-sql-sqlite \
-no-opengl \
- -no-openssl \
-no-xcb \
-no-feature-bearermanagement \
-no-icu \
@@ -137,7 +134,6 @@ do_configure() {
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
-libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
-plugindir ${OE_QMAKE_PATH_PLUGINS} \
- -importdir ${OE_QMAKE_PATH_IMPORTS} \
-qmldir ${OE_QMAKE_PATH_QML} \
-translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
-testsdir ${OE_QMAKE_PATH_TESTS} \
@@ -149,8 +145,8 @@ do_configure() {
-silent \
-nomake examples \
-nomake tests \
+ -make tools \
-no-compile-examples \
- -no-rpath \
-platform ${OE_QMAKE_PLATFORM_NATIVE} \
-xplatform ${OE_QMAKE_PLATFORM} \
${QT_CONFIG_FLAGS}
@@ -161,13 +157,16 @@ 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() {
@@ -178,10 +177,12 @@ fakeroot do_generate_qt_environment_file() {
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_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_OBJCOPY=$OBJCOPY' >> $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
@@ -198,6 +199,7 @@ fakeroot do_generate_qt_environment_file() {
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 = "159f7e9c39c57177d25f524ae3cad4e533b89da8"
+SRCREV = "8a25db3204f39a228d14148d9cdf414393d239a5"
diff --git a/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch
new file mode 100644
index 00000000..2e15543a
--- /dev/null
+++ b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch
@@ -0,0 +1,63 @@
+From 4fa69c1c5396bded20edccb2a1dd9b61f0b1140d Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Fri, 2 Aug 2019 12:39:50 +0300
+Subject: [PATCH] Fix examples build error
+
+Add workaround for QTBUG-77288 which causes examples to fail to build
+
+Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
+Upstream-Status: Pending
+---
+ examples/studio3d/cppdatainput/cppdatainput.pro | 1 +
+ examples/studio3d/dynamicelement/dynamicelement.pro | 1 +
+ examples/studio3d/qmldatainput/qmldatainput.pro | 1 +
+ examples/studio3d/simpleqml/simpleqml.pro | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/examples/studio3d/cppdatainput/cppdatainput.pro b/examples/studio3d/cppdatainput/cppdatainput.pro
+index 20b5c68..bbb403a 100644
+--- a/examples/studio3d/cppdatainput/cppdatainput.pro
++++ b/examples/studio3d/cppdatainput/cppdatainput.pro
+@@ -1,5 +1,6 @@
+ CONFIG += c++11
+ QT += widgets qml quick studio3d
++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL
+
+ target.path = $$[QT_INSTALL_EXAMPLES]/studio3d/$$TARGET
+ INSTALLS += target
+diff --git a/examples/studio3d/dynamicelement/dynamicelement.pro b/examples/studio3d/dynamicelement/dynamicelement.pro
+index 1b804fd..ae3c005 100644
+--- a/examples/studio3d/dynamicelement/dynamicelement.pro
++++ b/examples/studio3d/dynamicelement/dynamicelement.pro
+@@ -1,6 +1,7 @@
+ TEMPLATE = app
+
+ QT += qml quick studio3d
++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL
+
+ SOURCES += \
+ demo.cpp \
+diff --git a/examples/studio3d/qmldatainput/qmldatainput.pro b/examples/studio3d/qmldatainput/qmldatainput.pro
+index 9bafed5..496c2c1 100644
+--- a/examples/studio3d/qmldatainput/qmldatainput.pro
++++ b/examples/studio3d/qmldatainput/qmldatainput.pro
+@@ -1,6 +1,7 @@
+ TEMPLATE = app
+
+ QT += widgets qml quick studio3d
++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL
+
+ integrity: DEFINES += USE_EMBEDDED_FONTS
+
+diff --git a/examples/studio3d/simpleqml/simpleqml.pro b/examples/studio3d/simpleqml/simpleqml.pro
+index 62afa78..1a0784b 100644
+--- a/examples/studio3d/simpleqml/simpleqml.pro
++++ b/examples/studio3d/simpleqml/simpleqml.pro
+@@ -1,6 +1,7 @@
+ TEMPLATE = app
+
+ QT += widgets qml quick studio3d
++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL
+
+ SOURCES += \
+ main.cpp
diff --git a/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch b/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch
new file mode 100644
index 00000000..9f61a1e7
--- /dev/null
+++ b/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch
@@ -0,0 +1,70 @@
+From c70df6bf52cdcdceb73ed965a28642177df32943 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Mar 2021 12:58:32 -0800
+Subject: [PATCH] Qt3D: Add support to fix build on ppc64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/foundation/Qt3DSPreprocessor.h | 2 +-
+ src/foundation/Qt3DSSystem.cpp | 8 +++++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+--- a/src/foundation/Qt3DSPreprocessor.h
++++ b/src/foundation/Qt3DSPreprocessor.h
+@@ -112,11 +112,11 @@ Platform define
+ #define QT3DS_VMX
+ #elif defined(__x86_64__)
+ #define QT3DS_X64
+-#elif defined(__ppc__)
+-#define QT3DS_PPC
+-#elif defined(__ppc64__)
++#elif defined(__powerpc64__)
+ #define QT3DS_PPC
+ #define QT3DS_PPC64
++#elif defined(__ppc__)
++#define QT3DS_PPC
+ //# elif defined(__aarch64__)
+ //# define QT3DS_ARM_64
+ #else
+--- a/src/foundation/Qt3DSSystem.cpp
++++ b/src/foundation/Qt3DSSystem.cpp
+@@ -62,6 +62,10 @@ const char *qt3ds::foundation::System::g
+ const char *qt3ds::foundation::System::g_Processor = "x64";
+ const char *qt3ds::foundation::System::g_BitWidth = "64";
+ const char *qt3ds::foundation::System::g_FloatingPointModel = "";
++#elif defined(QT3DS_PPC64)
++const char *qt3ds::foundation::System::g_Processor = "ppc64";
++const char *qt3ds::foundation::System::g_BitWidth = "64";
++const char *qt3ds::foundation::System::g_FloatingPointModel = "";
+ #elif defined(QT3DS_ARM)
+ #if defined(__aarch64__) || defined(__ARM64__)
+ const char *qt3ds::foundation::System::g_Processor = "arm";
+@@ -79,7 +83,7 @@ const char *qt3ds::foundation::System::g
+ #endif
+ #endif
+ #else
+-#error "Unknown Platform"
++//#error "Unknown Platform"
+ #endif
+
+ #if defined(QT3DS_ARM)
+@@ -97,8 +101,10 @@ const char *qt3ds::foundation::System::g
+ const char *qt3ds::foundation::System::g_GPUType = "";
+ #elif defined(QT3DS_X64)
+ const char *qt3ds::foundation::System::g_GPUType = "";
++#elif defined(QT3DS_PPC64)
++const char *qt3ds::foundation::System::g_GPUType = "";
+ #else
+-#error "Must define a processor type (QT3DS_ARM or QT3DS_X86)"
++//#error "Must define a processor type (QT3DS_ARM or QT3DS_X86)"
+ #endif
+
+ namespace {
+@@ -136,4 +142,4 @@ const char *System::getPlatformGLStr()
+ strcpy(text, str.c_str());
+ }
+ return text;
+-}
+\ No newline at end of file
++}
diff --git a/recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch b/recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch
new file mode 100644
index 00000000..94ca4f5c
--- /dev/null
+++ b/recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch
@@ -0,0 +1,35 @@
+From 84a9dd3f1bce450b3a6eb589ab9794178d74d1d7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Oct 2019 11:58:21 -0700
+Subject: [PATCH] Qt3DSSimpleTypes: make QT3DSU64 as unsigned long on linux as
+ well
+
+linux 64bit platform defines uint64_t as unsigned long as well, which
+inturn is used to define GLuint64, therefore its needed to be compatible
+or else we get compile errors
+
+src/render/backends/gl/Qt3DSRenderBackendGL3.cpp:754:80: error: cannot initialize a parameter of type 'GLuint64 *' (aka 'unsigned long *') with an lvalue of type 'qt3ds::QT3DSU64 *' (aka 'unsigned long long *')
+| queryID, m_Conversion.fromQueryResultTypeToGL(resultType), params));
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/foundation/Qt3DSSimpleTypes.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/foundation/Qt3DSSimpleTypes.h b/src/foundation/Qt3DSSimpleTypes.h
+index 05ac8d9..adb72e9 100644
+--- a/src/foundation/Qt3DSSimpleTypes.h
++++ b/src/foundation/Qt3DSSimpleTypes.h
+@@ -54,7 +54,7 @@ typedef quint32 QT3DSU32;
+ typedef qint32 QT3DSI32;
+
+ // Android's definition of GLuint64 as unsigned long (64-bits) requires this workaround
+-#if Q_PROCESSOR_WORDSIZE == 8 && (defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY))
++#if Q_PROCESSOR_WORDSIZE == 8 && (defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY) || defined(Q_OS_LINUX))
+ typedef unsigned long QT3DSU64;
+ #else
+ typedef quint64 QT3DSU64;
+--
+2.23.0
+
diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb
new file mode 100644
index 00000000..1aee97b5
--- /dev/null
+++ b/recipes-qt/qt5/ogl-runtime_git.bb
@@ -0,0 +1,30 @@
+require qt5.inc
+require qt5-git.inc
+
+LICENSE = "GPL-3.0-only & 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 qtdeclarative qtquickcontrols2"
+
+QT_MODULE_BRANCH = "master"
+QT_MODULE_BRANCH_EASTL = "master"
+QT_GIT_PROJECT = "qt3dstudio"
+PV = "2.8.0+git${SRCPV}"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|powerpc64).*-linux"
+
+SRC_URI += " \
+ ${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \
+ file://0001-Fix-examples-build-error.patch \
+ file://0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch \
+ file://0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch \
+"
+
+SRCREV_ogl-runtime = "b53aeb784f950d7b2a5ebe38ea37c5bb6f456c9c"
+SRCREV_EASTL = "31697c758f2ed19bd7c6bbe61f1b91f9e12035b5"
+SRCREV = "${SRCREV_ogl-runtime}"
+
+SRCREV_FORMAT = "ogl-runtime_EASTL"
diff --git a/recipes-qt/qt5/qtbase/run-ptest b/recipes-qt/qt5/ptest/run-ptest
index 044f834d..044f834d 100644
--- a/recipes-qt/qt5/qtbase/run-ptest
+++ b/recipes-qt/qt5/ptest/run-ptest
diff --git a/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch b/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch
index c0ef6849..774d66f7 100644
--- a/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch
+++ b/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch
@@ -1,36 +1,38 @@
-From f61a6e50fbff57b17c113a70d8c50e460831fe70 Mon Sep 17 00:00:00 2001
-From: Samuli Piippo <samuli.piippo@theqtcompany.com>
-Date: Wed, 10 Feb 2016 09:02:09 +0200
+From 4cd75323c448db3dd06a0f0f70ec4d8f9ae3ad2c 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
-Change-Id: I4de6b96ec51fe297a0eeb757cef56d8fb40bd6f0
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qt3d.pro | 7 ++++++-
src/3rdparty/assimp/assimp_dependency.pri | 2 +-
- tools/tools.pro | 2 +-
- 3 files changed, 8 insertions(+), 3 deletions(-)
+ tools/tools.pro | 4 ++--
+ 3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/qt3d.pro b/qt3d.pro
-index 2cc347a..81cdeef 100644
+index c5232e116..cf5345352 100644
--- a/qt3d.pro
+++ b/qt3d.pro
@@ -1,4 +1,4 @@
--requires(qtConfig(opengl))
-+!tools-only:requires(qtConfig(opengl))
+-qtHaveModule(gui): \
++!tools-only:qtHaveModule(gui): \
+ requires(qtConfig(opengl):!wasm)
CONFIG += examples_need_tools
- load(qt_parts)
-@@ -14,3 +14,8 @@ load(qt_parts)
-
+@@ -16,3 +16,8 @@ load(qt_parts)
OTHER_FILES += \
- sync.profile
+ sync.profile \
+ .qmake.conf
+
+tools-only {
+ sub_tools.depends -= sub_src
+ SUBDIRS = sub_tools
+}
+\ No newline at end of file
diff --git a/src/3rdparty/assimp/assimp_dependency.pri b/src/3rdparty/assimp/assimp_dependency.pri
-index 8ba2d9a..e973d93 100644
+index 8ba2d9a41..e973d93dd 100644
--- a/src/3rdparty/assimp/assimp_dependency.pri
+++ b/src/3rdparty/assimp/assimp_dependency.pri
@@ -1,5 +1,5 @@
@@ -41,12 +43,18 @@ index 8ba2d9a..e973d93 100644
} else {
include(assimp.pri)
diff --git a/tools/tools.pro b/tools/tools.pro
-index 8e973ae..ad51db5 100644
+index 3b457ed50..9f5376a0a 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
-@@ -1,4 +1,4 @@
+@@ -1,9 +1,9 @@
TEMPLATE = subdirs
+
+-!qtHaveModule(3dcore): \
++!tools-only:!qtHaveModule(3dcore): \
+ return()
+
QT_FOR_CONFIG += 3dcore-private
--!android:qtConfig(assimp):qtConfig(commandlineparser): \
-+!android:tools-only|qtConfig(assimp):qtConfig(commandlineparser): \
+-qtConfig(assimp):qtConfig(commandlineparser): {
++tools-only|qtConfig(assimp):qtConfig(commandlineparser): {
SUBDIRS += qgltf
+ }
diff --git a/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch b/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch
new file mode 100644
index 00000000..82feaf2e
--- /dev/null
+++ b/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch
@@ -0,0 +1,29 @@
+From b2c6dd0330d9dee417192a32ae6c636b77b6bf46 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 Mar 2021 15:16:01 -0800
+Subject: [PATCH] renderers/opengl: Link in libatomic on riscv
+
+GCC 11 needs this since it failing to find a builtin function
+
+Fixes
+src/plugins/renderers/opengl/renderer/renderview.cpp:107: undefined reference to `__atomic_exchange_1'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/plugins/renderers/opengl/opengl.pri | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/plugins/renderers/opengl/opengl.pri b/src/plugins/renderers/opengl/opengl.pri
+index 1682ab7b3..31b71dd6b 100644
+--- a/src/plugins/renderers/opengl/opengl.pri
++++ b/src/plugins/renderers/opengl/opengl.pri
+@@ -39,3 +39,5 @@ qtConfig(qt3d-simd-sse2):!qtConfig(qt3d-simd-avx2) {
+ CONFIG += simd
+ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2
+ }
++
++LIBS += "-latomic"
+--
+2.30.1
+
diff --git a/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch b/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch
deleted file mode 100644
index d6875f31..00000000
--- a/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 535d2ecd0ccaae5a36d40e9b64ffa2ef32f09cdb Mon Sep 17 00:00:00 2001
-From: Kim Kulling <kim.kulling@googlemail.com>
-Date: Mon, 7 Nov 2016 17:19:49 +0100
-Subject: [PATCH] Fix BlenderDNA for clang cross compiler.
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/3rdparty/assimp/code/BlenderDNA.cpp | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/3rdparty/assimp/code/BlenderDNA.cpp b/src/3rdparty/assimp/code/BlenderDNA.cpp
-index 18ec9f2..5b0b209 100644
---- a/src/3rdparty/assimp/code/BlenderDNA.cpp
-+++ b/src/3rdparty/assimp/code/BlenderDNA.cpp
-@@ -55,10 +55,10 @@ using namespace Assimp::Formatter;
-
- bool match4(StreamReaderAny& stream, const char* string) {
- char tmp[] = {
-- (stream).GetI1(),
-- (stream).GetI1(),
-- (stream).GetI1(),
-- (stream).GetI1()
-+ (const char)(stream).GetI1(),
-+ (const char)(stream).GetI1(),
-+ (const char)(stream).GetI1(),
-+ (const char)(stream).GetI1()
- };
- return (tmp[0]==string[0] && tmp[1]==string[1] && tmp[2]==string[2] && tmp[3]==string[3]);
- }
-@@ -345,10 +345,10 @@ void SectionParser :: Next()
- stream.SetCurrentPos(current.start + current.size);
-
- const char tmp[] = {
-- stream.GetI1(),
-- stream.GetI1(),
-- stream.GetI1(),
-- stream.GetI1()
-+ (const char)stream.GetI1(),
-+ (const char)stream.GetI1(),
-+ (const char)stream.GetI1(),
-+ (const char)stream.GetI1()
- };
- current.id = std::string(tmp,tmp[3]?4:tmp[2]?3:tmp[1]?2:1);
-
diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb
index 9570b9b4..df338b69 100644
--- a/recipes-qt/qt5/qt3d_git.bb
+++ b/recipes-qt/qt5/qt3d_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "LGPL-3.0 | GPL-2.0 | The-Qt-Company-Commercial"
+LICENSE = "LGPL-3.0-only | GPL-2.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPLv3;md5=8211fde12cc8a4e2477602f5953f5b71 \
file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
@@ -9,18 +9,25 @@ LIC_FILES_CHKSUM = " \
"
DEPENDS += "qtbase"
-DEPENDS_class-target += "qtdeclarative qt3d-native"
+DEPENDS:class-target += "qtdeclarative qt3d-native"
-# Patches from https://github.com/meta-qt5/qt3d/commits/b5.9
-# 5.9.meta-qt5.5
+# Patches from https://github.com/meta-qt5/qt3d/commits/b5.15
+# 5.15.meta-qt5.2
SRC_URI += " \
file://0001-Allow-a-tools-only-build.patch \
- file://0002-Fix-BlenderDNA-for-clang-cross-compiler.patch \
"
+# For assimp submodule
+SRC_URI += " \
+ git://code.qt.io/qt/qtquick3d-assimp.git;name=assimp;branch=qt6_assimp;protocol=https;destsuffix=git/src/3rdparty/assimp/src \
+"
+
+SRC_URI:append:riscv64 = " file://0001-renderers-opengl-Link-in-libatomic-on-riscv.patch"
+SRC_URI:append:riscv32 = " file://0001-renderers-opengl-Link-in-libatomic-on-riscv.patch"
+
PACKAGECONFIG ??= ""
-PACKAGECONFIG_class-native ??= "tools-only"
-PACKAGECONFIG_class-nativesdk ??= "tools-only"
+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"
@@ -30,13 +37,16 @@ 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() {
+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 = "90151ffffd83cb8555dc915250ac60cdc5c77c2b"
+SRCREV_qt3d = "dac2afc9c6cffd42e49030dcafffc1e0a05873b9"
+SRCREV_assimp = "8f0c6b04b2257a520aaab38421b2e090204b69df"
+
+SRCREV_FORMAT = "qt3d_assimp"
BBCLASSEXTEND += "native nativesdk"
diff --git a/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch b/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch
deleted file mode 100644
index c4ee34bf..00000000
--- a/recipes-qt/qt5/qt5-creator/0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 056bc88a15df06443a4a6bdea2b1ead045f89bf6 Mon Sep 17 00:00:00 2001
-From: Greg Nietsky <gregory@distrotech.co.za>
-Date: Tue, 4 Mar 2014 11:33:40 +0200
-Subject: [PATCH] Fix: Allow qt-creator to build on arm aarch32 and aarch64
-
-Botan is imported hardwired for x86 this small patch allows it
-too operate on arm other platforms could be added.
-
-Task-number: QTCREATORBUG-8107
-Change-Id: Iddea28f21c9fa1afd2fdd5d16a44e6c96a516a7a
----
- src/libs/3rdparty/botan/botan.cpp | 16 +++++++++++++++-
- src/libs/3rdparty/botan/botan.h | 2 ++
- 2 files changed, 17 insertions(+), 1 deletion(-)
-
-diff --git a/src/libs/3rdparty/botan/botan.cpp b/src/libs/3rdparty/botan/botan.cpp
-index e6a5f22..7b625ac 100644
---- a/src/libs/3rdparty/botan/botan.cpp
-+++ b/src/libs/3rdparty/botan/botan.cpp
-@@ -1101,6 +1101,8 @@ class Montgomery_Exponentiator : public Modular_Exponentiator
-
- #if (BOTAN_MP_WORD_BITS != 32)
- #error The mp_x86_32 module requires that BOTAN_MP_WORD_BITS == 32
-+#elif !defined(BOTAN_TARGET_CPU_IS_X86_FAMILY)
-+typedef Botan::u64bit dword;
- #endif
-
- #ifdef Q_OS_UNIX
-@@ -1118,6 +1120,7 @@ extern "C" {
- */
- inline word word_madd2(word a, word b, word* c)
- {
-+#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY)
- asm(
- ASM("mull %[b]")
- ASM("addl %[c],%[a]")
-@@ -1127,6 +1130,11 @@ inline word word_madd2(word a, word b, word* c)
- : "0"(a), "1"(b), [c]"g"(*c) : "cc");
-
- return a;
-+#else
-+ dword z = (dword)a * b + *c;
-+ *c = (word)(z >> BOTAN_MP_WORD_BITS);
-+ return (word)z;
-+#endif
- }
-
- /*
-@@ -1134,6 +1142,7 @@ inline word word_madd2(word a, word b, word* c)
- */
- inline word word_madd3(word a, word b, word c, word* d)
- {
-+#if defined(BOTAN_TARGET_CPU_IS_X86_FAMILY)
- asm(
- ASM("mull %[b]")
-
-@@ -1147,6 +1156,11 @@ inline word word_madd3(word a, word b, word c, word* d)
- : "0"(a), "1"(b), [c]"g"(c), [d]"g"(*d) : "cc");
-
- return a;
-+#else
-+ dword z = (dword)a * b + c + *d;
-+ *d = (word)(z >> BOTAN_MP_WORD_BITS);
-+ return (word)z;
-+#endif
- }
-
- }
-@@ -2315,7 +2329,7 @@ namespace Botan {
-
- extern "C" {
-
--#ifdef Q_OS_UNIX
-+#if defined(Q_OS_UNIX) && defined(BOTAN_TARGET_CPU_IS_X86_FAMILY)
- /*
- * Helper Macros for x86 Assembly
- */
-diff --git a/src/libs/3rdparty/botan/botan.h b/src/libs/3rdparty/botan/botan.h
-index 2caa4a3..39b8079 100644
---- a/src/libs/3rdparty/botan/botan.h
-+++ b/src/libs/3rdparty/botan/botan.h
-@@ -85,7 +85,9 @@
- #endif
-
- #define BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN
-+#if !defined(__arm__) && !defined(__aarch64__)
- #define BOTAN_TARGET_CPU_IS_X86_FAMILY
-+#endif
- #define BOTAN_TARGET_UNALIGNED_MEMORY_ACCESS_OK 1
-
- #if defined(BOTAN_TARGET_CPU_IS_LITTLE_ENDIAN) || \
diff --git a/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch b/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch
new file mode 100644
index 00000000..c1fd2340
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch
@@ -0,0 +1,36 @@
+From 0701dd54b228e58b913d09e5a87f70de77575cc7 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
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ src/plugins/debugger/debugger.pro | 1 +
+ src/plugins/qmldesigner/qmldesignerplugin.pro | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
+index 6c38efaca8..ba86639d72 100644
+--- a/src/plugins/debugger/debugger.pro
++++ b/src/plugins/debugger/debugger.pro
+@@ -137,3 +137,4 @@ include(console/console.pri)
+ include(analyzer/analyzer.pri)
+
+ include(shared/shared.pri)
++LIBS *= -lexecinfo
+diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pro b/src/plugins/qmldesigner/qmldesignerplugin.pro
+index 85a7685da5..d69cabcaaf 100644
+--- a/src/plugins/qmldesigner/qmldesignerplugin.pro
++++ b/src/plugins/qmldesigner/qmldesignerplugin.pro
+@@ -4,7 +4,7 @@ CONFIG += exceptions
+ INCLUDEPATH += $$PWD
+ INCLUDEPATH += $$PWD/components
+
+-unix:!openbsd:!osx: LIBS += -lrt # posix shared memory
++unix:!openbsd:!osx: LIBS += -lexecinfo -lrt # posix shared memory
+
+ include(../../qtcreatorplugin.pri)
+
diff --git a/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch b/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch
new file mode 100644
index 00000000..5a3ce4db
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch
@@ -0,0 +1,30 @@
+From 79c3b7761bc63f42bdfbcc94b9cc6cca58b8a4a4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Aug 2020 21:19:22 -0700
+Subject: [PATCH] app: Use malloc_trim only on glibc
+
+musl does not implement it
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/app/main.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/app/main.cpp b/src/app/main.cpp
+index 248fa8efef..12980f3b37 100644
+--- a/src/app/main.cpp
++++ b/src/app/main.cpp
+@@ -791,7 +791,11 @@ int main(int argc, char **argv)
+ m_trimTimer.setSingleShot(true);
+ m_trimTimer.setInterval(60000);
+ // glibc may not actually free memory in free().
++#ifdef __GLIBC__
+ connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); });
++#else
++ connect(&m_trimTimer, &QTimer::timeout, this, [] { });
++#endif
+ }
+
+ bool eventFilter(QObject *, QEvent *e) override
diff --git a/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch b/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch
deleted file mode 100644
index 8d953c99..00000000
--- a/recipes-qt/qt5/qt5-creator/0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From fbae8e85e74976b79308c203d38839b364757302 Mon Sep 17 00:00:00 2001
-From: Eike Ziller <eike.ziller@qt.io>
-Date: Fri, 24 Jun 2016 10:23:24 +0200
-Subject: [PATCH] Fix compilation with QT_NO_ACCESSIBILITY
-
-Task-number: QTCREATORBUG-16446
-Change-Id: If75122c23a697f26ccf56391fe2e8d316aad6367
-Reviewed-by: hjk <hjk@theqtcompany.com>
----
- src/libs/utils/fancymainwindow.cpp | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp
-index 9477f17..1ee425f 100644
---- a/src/libs/utils/fancymainwindow.cpp
-+++ b/src/libs/utils/fancymainwindow.cpp
-@@ -159,13 +159,16 @@ public:
-
- m_floatButton = new DockWidgetTitleButton(this);
- m_floatButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarNormalButton, &opt, q));
-- m_floatButton->setAccessibleName(QDockWidget::tr("Float"));
-- m_floatButton->setAccessibleDescription(QDockWidget::tr("Undocks and re-attaches the dock widget"));
-
- m_closeButton = new DockWidgetTitleButton(this);
- m_closeButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarCloseButton, &opt, q));
-+
-+#ifndef QT_NO_ACCESSIBILITY
-+ m_floatButton->setAccessibleName(QDockWidget::tr("Float"));
-+ m_floatButton->setAccessibleDescription(QDockWidget::tr("Undocks and re-attaches the dock widget"));
- m_closeButton->setAccessibleName(QDockWidget::tr("Close"));
- m_closeButton->setAccessibleDescription(QDockWidget::tr("Closes the dock widget"));
-+#endif
-
- setActive(false);
-
diff --git a/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch b/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch
new file mode 100644
index 00000000..d88a4b21
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch
@@ -0,0 +1,47 @@
+From ec82db9b97aa77c499d7f0bf70b130c242fb3c2b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de>
+Date: Mon, 8 Mar 2021 21:56:06 +0100
+Subject: [PATCH] clangformat: Fix build with LLVM 13
+
+Change-Id: I5eaad17a6f240aa1e3f246492b69f093b4f59fee
+Reviewed-by: David Schulz <david.schulz@qt.io>
+
+Upstream-Status: Accepted [https://code.qt.io/cgit/qt-creator/qt-creator.git/commit/?id=14eb5b382cabf90352634393c19bf87a4c15766a]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/plugins/clangformat/clangformatbaseindenter.cpp | 4 ++++
+ src/plugins/clangformat/clangformatutils.cpp | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp
+index fb8e693809..6378b2af53 100644
+--- a/src/plugins/clangformat/clangformatbaseindenter.cpp
++++ b/src/plugins/clangformat/clangformatbaseindenter.cpp
+@@ -42,7 +42,11 @@ void adjustFormatStyleForLineBreak(clang::format::FormatStyle &style,
+ ReplacementsToKeep replacementsToKeep)
+ {
+ style.MaxEmptyLinesToKeep = 100;
++#if LLVM_VERSION_MAJOR >= 13
++ style.SortIncludes = clang::format::FormatStyle::SI_Never;
++#else
+ style.SortIncludes = false;
++#endif
+ style.SortUsingDeclarations = false;
+
+ // This is a separate pass, don't do it unless it's the full formatting.
+diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp
+index a249327d0e..770e75908c 100644
+--- a/src/plugins/clangformat/clangformatutils.cpp
++++ b/src/plugins/clangformat/clangformatutils.cpp
+@@ -145,7 +145,11 @@ static clang::format::FormatStyle qtcStyle()
+ style.PenaltyReturnTypeOnItsOwnLine = 300;
+ style.PointerAlignment = FormatStyle::PAS_Right;
+ style.ReflowComments = false;
++#ifdef LLVM_VERSION_MAJOR >= 13
++ style.SortIncludes = FormatStyle::SI_CaseSensitive;
++#else
+ style.SortIncludes = true;
++#endif
+ style.SortUsingDeclarations = true;
+ style.SpaceAfterCStyleCast = true;
+ style.SpaceAfterTemplateKeyword = false;
diff --git a/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch b/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch
deleted file mode 100644
index e64b6d9a..00000000
--- a/recipes-qt/qt5/qt5-creator/0003-Qmlpuppet-add-missing-includes.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 896624d715e20e658344ac85db91cd55d25e7211 Mon Sep 17 00:00:00 2001
-From: Marco Benelli <marco.benelli@qt.io>
-Date: Thu, 6 Jul 2017 09:31:41 +0200
-Subject: [PATCH] Qmlpuppet: add missing includes
-
-Task-number: QTCREATORBUG-18498
-Change-Id: Ie40a066508bb52f53b8ad528f9d4cf6969fc0632
-Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
----
- .../qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp | 2 ++
- .../qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 1 +
- 2 files changed, 3 insertions(+)
-
-diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp
-index 3f9f148..160e5c4 100644
---- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp
-+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp
-@@ -29,6 +29,8 @@
- ****************************************************************************/
- #include "layoutnodeinstance.h"
-
-+#include <QCoreApplication>
-+
- namespace QmlDesigner {
- namespace Internal {
-
-diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
-index 5a9342f..bacbc12 100644
---- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
-+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
-@@ -33,6 +33,7 @@
- #include <enumeration.h>
- #include <qmlprivategate.h>
-
-+#include <QDebug>
- #include <QEvent>
- #include <QQmlContext>
- #include <QQmlError>
diff --git a/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch b/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch
new file mode 100644
index 00000000..d2678b0c
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch
@@ -0,0 +1,30 @@
+From d13fc5742cb3afc876218fab303880a5da124c8a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de>
+Date: Wed, 16 Jun 2021 20:59:29 +0200
+Subject: [PATCH] clangformat: Fix build with LLVM 13
+
+Change-Id: Ia9db10696fd129c8b989ecc4c9ecbb7f1f10e68c
+Reviewed-by: David Schulz <david.schulz@qt.io>
+
+Upstream-Status: Accepted [https://code.qt.io/cgit/qt-creator/qt-creator.git/commit/?id=55b91a76172a3235b4879daf0b675519d5b02db7]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/plugins/clangformat/clangformatutils.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp
+index 770e75908c..8017411fb3 100644
+--- a/src/plugins/clangformat/clangformatutils.cpp
++++ b/src/plugins/clangformat/clangformatutils.cpp
+@@ -157,7 +157,11 @@ static clang::format::FormatStyle qtcStyle()
+ style.SpaceBeforeParens = FormatStyle::SBPO_ControlStatements;
+ style.SpaceInEmptyParentheses = false;
+ style.SpacesBeforeTrailingComments = 1;
++#if LLVM_VERSION_MAJOR >= 13
++ style.SpacesInAngles = FormatStyle::SIAS_Never;
++#else
+ style.SpacesInAngles = false;
++#endif
+ style.SpacesInContainerLiterals = false;
+ style.SpacesInCStyleCastParentheses = false;
+ style.SpacesInParentheses = false;
diff --git a/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch b/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch
deleted file mode 100644
index 59687e55..00000000
--- a/recipes-qt/qt5/qt5-creator/0004-Link-with-libexecinfo-on-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7fb65b82d247123c7fdb61436183f1d76067b66b 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 +
- src/plugins/qmldesigner/config.pri | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
-index c40bd63..96ab542 100644
---- a/src/plugins/debugger/debugger.pro
-+++ b/src/plugins/debugger/debugger.pro
-@@ -148,3 +148,4 @@ include(qml/qml.pri)
- include(namedemangler/namedemangler.pri)
-
- include(shared/shared.pri)
-+LIBS *= -lexecinfo
-diff --git a/src/plugins/qmldesigner/config.pri b/src/plugins/qmldesigner/config.pri
-index 1b559b2..b485b63 100644
---- a/src/plugins/qmldesigner/config.pri
-+++ b/src/plugins/qmldesigner/config.pri
-@@ -9,3 +9,4 @@ equals(TMP_BAUHAUS_NO_OUTPUT, true):DEFINES += QT_NO_DEBUG_OUTPUT \
- DEFINES += ENABLE_TEXT_VIEW
-
- isEmpty($$(BAUHAUS_OUTPUT_IN_TEST)):DEFINES += QDEBUG_IN_TESTS WARNINGS_IN_TESTS
-+LIBS *= -lexecinfo
diff --git a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in b/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in
deleted file mode 100644
index 64f7c6ba..00000000
--- a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in
+++ /dev/null
@@ -1,10 +0,0 @@
-[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/recipes-qt/qt5/qt5-creator_3.5.1.bb b/recipes-qt/qt5/qt5-creator_3.5.1.bb
deleted file mode 100644
index fe9cb414..00000000
--- a/recipes-qt/qt5/qt5-creator_3.5.1.bb
+++ /dev/null
@@ -1,93 +0,0 @@
-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 = "LGPLv2.1 | GPLv3"
-LIC_FILES_CHKSUM = " \
- file://LGPL_EXCEPTION.TXT;md5=f4748b0d1a72c5c8fb5dab2dd1f7fa46 \
- file://LICENSE.LGPLv21;md5=825920de5f6db2eeb1bebe625476346d \
- file://LICENSE.LGPLv3;md5=0786418af032b9e608909874f334a2d1 \
-"
-
-inherit qmake5
-
-DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg qtquick1"
-DEPENDS_append_libc-musl = " libexecinfo"
-
-# Patches from https://github.com/meta-qt5/qtcreator/commits/b5.3.1
-# 5.3.1.meta-qt5.1
-SRC_URI = " \
- http://download.qt.io/official_releases/qtcreator/3.5/${PV}/qt-creator-opensource-src-${PV}.tar.gz \
- file://0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch \
- file://0002-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch \
- file://0003-Qmlpuppet-add-missing-includes.patch \
- file://qtcreator.desktop.in \
-"
-
-SRC_URI_append_libc-musl = " file://0004-Link-with-libexecinfo-on-musl.patch"
-
-
-SRC_URI[md5sum] = "77aef7df837eba07c7ce6037ee504c05"
-SRC_URI[sha256sum] = "5925ac818a08be919094e0f28fb4c5d8896765e0975d54d353e4c50f13d63e65"
-
-S = "${WORKDIR}/qt-creator-opensource-src-${PV}"
-
-EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}"
-
-LDFLAGS_append_libc-musl = " -lexecinfo "
-do_configure_append() {
- # Find native tools
- sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
- sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile
-
- # see qtbase-native.inc
- # sed -i 's:QT_INSTALL_DOCS=${docdir}:QT_INSTALL_DOCS=${STAGING_DATADIR_NATIVE}${QT_DIR_NAME}/doc:g' ${B}/Makefile
-}
-
-do_compile_append() {
- # build docs
- #oe_runmake docs_online
-}
-
-do_install() {
- oe_runmake install INSTALL_ROOT=${D}${prefix}
- oe_runmake install_inst_qch_docs INSTALL_ROOT=${D}${prefix}
- # install desktop and ensure that qt-creator finds qmake
- install -d ${D}${datadir}/applications
- install -m 0644 ${WORKDIR}/qtcreator.desktop.in ${D}${datadir}/applications/qtcreator.desktop
- sed -i 's:@QT5_QMAKE@:${OE_QMAKE_PATH_QT_BINS}:g' ${D}${datadir}/applications/qtcreator.desktop
-}
-
-FILES_${PN} += " \
- ${datadir}/qtcreator \
- ${datadir}/icons \
- ${libdir}${QT_DIR_NAME}/qtcreator \
-"
-FILES_${PN}-dbg += " \
- ${libdir}${QT_DIR_NAME}/qtcreator/.debug \
- ${libdir}${QT_DIR_NAME}/qtcreator/plugins/.debug \
- ${libdir}${QT_DIR_NAME}/qtcreator/plugins/qmldesigner/.debug \
- ${libdir}${QT_DIR_NAME}/qtcreator/plugins/qbs/plugins/.debug \
-"
-
-FILES_${PN}-dev += " \
- ${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \
-"
-
-RDEPENDS_${PN} += "perl"
-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 \
-"
diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb
new file mode 100644
index 00000000..85bfcc35
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator_git.bb
@@ -0,0 +1,109 @@
+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 = "GPL-3.0-only"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+"
+
+inherit qmake5 pkgconfig mime-xdg
+
+DEPENDS += "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib"
+DEPENDS:append:libc-musl = " libexecinfo"
+
+SRCREV = "39ac7b1bf6add473026687003311b702742b6b21"
+PV = "4.15.2+git${SRCPV}"
+# Patches from https://github.com/meta-qt5/qtcreator/commits/b4.9.2
+# 4.9.2.meta-qt5.1
+SRC_URI = " \
+ git://code.qt.io/qt-creator/qt-creator.git;branch=4.15 \
+ file://0001-app-Use-malloc_trim-only-on-glibc.patch \
+ file://0002-clangformat-Fix-build-with-LLVM-13.patch \
+ file://0003-clangformat-Fix-build-with-LLVM-13.patch \
+"
+SRC_URI:append:libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch"
+
+S = "${WORKDIR}/git"
+
+EXTRA_QMAKEVARS_PRE += " \
+ IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME} \
+ CONFIG+=disable_external_rpath \
+"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:toolchain-clang = " clang"
+
+# Important note: In case clang was added to qttools' PACKAGECONFIG, it has to
+# be added here too - otherwise build fails trying to link native clang libraries
+PACKAGECONFIG[clang] = ",,clang"
+
+COMPATIBLE_HOST:toolchain-clang:riscv32 = "null"
+COMPATIBLE_HOST:toolchain-clang:riscv64 = "null"
+
+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}
+ if [ "${@bb.utils.contains("PACKAGECONFIG", "clang", "1", "0", d)}" = "1" ]; then
+ # Remove RPATHs embedded in bins
+ chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang*
+ chrpath --delete ${D}${libexecdir}/qtcreator/clang*
+ fi
+}
+
+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 python3"
+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 \
+ cmake \
+ qtwebengine-dev \
+ qtwebengine-mkspecs \
+ qtwebengine-plugins \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebengine-qmlplugins', '', d)} \
+"
+
+# 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"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES ?= "x11 opengl"
+
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc
index 3cb44c2b..a6d757af 100644
--- a/recipes-qt/qt5/qt5-git.inc
+++ b/recipes-qt/qt5/qt5-git.inc
@@ -1,17 +1,18 @@
# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
-# Copyright (C) 2013-2018 Martin Jansa <martin.jansa@gmail.com>
+# Copyright (C) 2013-2022 Martin Jansa <martin.jansa@gmail.com>
QT_MODULE ?= "${BPN}"
-QT_MODULE_BRANCH ?= "5.9"
+QT_MODULE_BRANCH ?= "5.15"
QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH};nobranch=1"
+QT_MODULE_REPO ?= "${QT_MODULE}.git"
# 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} \
+ ${QT_GIT}/${QT_MODULE_REPO};name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \
"
-CVE_PRODUCT = "qt"
+CVE_PRODUCT:append = " qt"
S = "${WORKDIR}/git"
-PV = "5.9.8+git${SRCPV}"
+PV = "5.15.17+git${SRCPV}"
diff --git a/recipes-qt/qt5/qt5-lts.inc b/recipes-qt/qt5/qt5-lts.inc
new file mode 100644
index 00000000..af611ce4
--- /dev/null
+++ b/recipes-qt/qt5/qt5-lts.inc
@@ -0,0 +1,9 @@
+require qt5-git.inc
+
+QT_LTS_GIT ?= "git://codereview.qt-project.org/${QT_GIT_PROJECT}"
+QT_GIT = "${QT_LTS_GIT}"
+QT_LTS_GIT_PROTOCOL ?= "ssh"
+QT_GIT_PROTOCOL = "${QT_LTS_GIT_PROTOCOL}"
+QT_MODULE_BRANCH = "tqtc/lts-5.15"
+QT_LTS_MODULE_REPO ?= "tqtc-${QT_MODULE}.git"
+QT_MODULE_REPO = "${QT_LTS_MODULE_REPO}"
diff --git a/recipes-qt/qt5/qt5-native.inc b/recipes-qt/qt5/qt5-native.inc
index 85350288..3afc3f28 100644
--- a/recipes-qt/qt5/qt5-native.inc
+++ b/recipes-qt/qt5/qt5-native.inc
@@ -1,4 +1,4 @@
-inherit native qmake5_base
+inherit qmake5_base native
# we don't want conflicts with qt4
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
@@ -10,10 +10,3 @@ 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}"
-
-# Regenerate header files when they are included in source tarball
-# Otherwise cmake files don't set PRIVATE_HEADERS correctly
-do_configure_prepend() {
- rm -rf ${S}/include
- mkdir -p ${S}/.git || true
-}
diff --git a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch
new file mode 100644
index 00000000..d4fb132c
--- /dev/null
+++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch
@@ -0,0 +1,75 @@
+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>
+Upstream-Status: Pending
+---
+ 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/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-include-errno.h-for-errno-definition.patch b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-include-errno.h-for-errno-definition.patch
new file mode 100644
index 00000000..ff0eb56f
--- /dev/null
+++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-include-errno.h-for-errno-definition.patch
@@ -0,0 +1,38 @@
+From 2486c9ecc1db12132ee8c77ed69b1d301e75786b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 1 Feb 2019 23:35:24 -0800
+Subject: [PATCH] include errno.h for errno definition
+
+This fixes errors with clang/libc++
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ vboxtouch/setshape.cpp | 1 +
+ vboxtouch/vboxtouch.cpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/vboxtouch/setshape.cpp b/vboxtouch/setshape.cpp
+index 092f888..4dd25a1 100644
+--- a/vboxtouch/setshape.cpp
++++ b/vboxtouch/setshape.cpp
+@@ -24,6 +24,7 @@
+ #include <QByteArray>
+ #include <QDebug>
+
++#include <errno.h>
+ #include <stdint.h>
+ #include <string.h>
+
+diff --git a/vboxtouch/vboxtouch.cpp b/vboxtouch/vboxtouch.cpp
+index 345fdcb..ffe1d50 100644
+--- a/vboxtouch/vboxtouch.cpp
++++ b/vboxtouch/vboxtouch.cpp
+@@ -32,6 +32,7 @@
+
+ #include <qpa/qwindowsysteminterface.h>
+
++#include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
+ #include <unistd.h>
diff --git a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb
index 383145be..60eeb32b 100644
--- a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb
+++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb
@@ -3,7 +3,7 @@ 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"
+LICENSE = "LGPL-2.1-only & GPL-3.0-only"
LIC_FILES_CHKSUM = " \
file://vboxtouch.cpp;beginline=1;endline=22;md5=ca51db8f7c0606c77f702dcee4cf31d9 \
file://evdevmousehandler.cpp;beginline=1;endline=40;md5=9081062f6e7f74b6e62ad7ecee4a71be \
@@ -16,12 +16,15 @@ 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"
+SRC_URI = "git://github.com/nemomobile/qt5-plugin-generic-vboxtouch.git;branch=master;protocol=https \
+ file://0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch;patchdir=.. \
+ file://0001-include-errno.h-for-errno-definition.patch;patchdir=.. \
+ "
SRCREV = "3f2bdb5a1d346f02d5ab185522271ba2288a42bb"
S = "${WORKDIR}/git/vboxtouch"
inherit qmake5
-FILES_${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so"
-FILES_${PN}-dbg += "${OE_QMAKE_PATH_PLUGINS}/generic/.debug/"
-FILES_${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*"
+FILES:${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so"
+FILES:${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*"
+
diff --git a/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc
index 97bce88e..75d71ba9 100644
--- a/recipes-qt/qt5/qt5-ptest.inc
+++ b/recipes-qt/qt5/qt5-ptest.inc
@@ -1,63 +1,26 @@
+FILESEXTRAPATHS:append := ":${THISDIR}/ptest"
SRC_URI += "file://run-ptest"
inherit ptest
-addtask do_populate_sysroot after do_install before do_compile_ptest_base
-deltask do_compile_ptest_base
-addtask do_compile_ptest_base after do_populate_sysroot before do_install_ptest_base
-deltask do_install_ptest_base
-addtask do_install_ptest_base after do_compile_ptest_base before do_package
-
do_compile_ptest() {
- cd ${S}/tests
- qmake -o Makefile tests.pro
+ mkdir -p ${B}/tests
+ cd ${B}/tests
+ ${OE_QMAKE_QMAKE} -o Makefile ${S}/tests/tests.pro
oe_runmake
}
-do_populate_sysroot_append_class-target() {
- workdir = d.getVar('WORKDIR', True)
- srcdir = workdir + '/sysroot-destdir/usr/'
- destdir = workdir + '/recipe-sysroot/usr/'
-
- def copyFiles(sourceDir, targetDir, filelist):
- for file in os.listdir(sourceDir):
- sourceFile = os.path.join(sourceDir, file)
- targetFile = os.path.join(targetDir, file)
- filelist.append(targetFile) #record the file list
- if os.path.isfile(sourceFile):
- if not os.path.exists(targetDir):
- os.makedirs(targetDir)
- if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))):
- open(targetFile, "wb").write(open(sourceFile, "rb").read())
- if os.path.isdir(sourceFile):
- First_Directory = False
- copyFiles(sourceFile, targetFile, filelist)
-
- if os.path.exists(destdir):
- Tmpfilelist = []
- copyFiles(srcdir, destdir, Tmpfilelist)
-
- fp=open(workdir + '/filelist', 'w')
- for i in Tmpfilelist:
- fp.write(i)
- fp.write("\n")
- fp.close()
-}
+DEBUG_PREFIX_MAP += "\
+ -fmacro-prefix-map=${D}= \
+"
fakeroot do_install_ptest() {
mkdir -p ${D}${PTEST_PATH}
t=${D}${PTEST_PATH}
- for var in ` find ${S}/tests/auto/ -name tst_*`; do
+ 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}
+ install -m 0744 ${var} ${t}
fi
done
- for file in `cat ${WORKDIR}/filelist`; do
- if [ -f $file ]; then
- rm -f $file
- fi
- done
- rm -f ${WORKDIR}/filelist
}
-
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index 4b5fe8a8..2f8de7e0 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -1,5 +1,5 @@
# Copyright (C) 2012, 2014 O.S. Systems Software LTDA.
-# Copyright (C) 2013 Martin Jansa <martin.jansa@gmail.com>
+# Copyright (C) 2013-2018 Martin Jansa <martin.jansa@gmail.com>
inherit qmake5
@@ -7,8 +7,10 @@ PACKAGECONFIG_OPENSSL ?= "openssl"
PACKAGECONFIG[examples] = ""
PACKAGECONFIG[tests] = ""
-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)}"
+PACKAGECONFIG[qtquickcompiler] = ",,qtdeclarative-native"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', 'QT_BUILD_PARTS-=examples', d)}"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=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}"
@@ -35,70 +37,47 @@ python __anonymous() {
d.setVar("PACKAGE_ARCH", tarch)
}
-# Regenerate header files when they are included in source tarball
-# Otherwise cmake files don't set PRIVATE_HEADERS correctly
-do_configure_prepend() {
- rm -rf ${S}/include
- mkdir -p ${S}/.git || true
+# 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"
-INSANE_SKIP_${PN}-examples-dbg += "libdir"
-INSANE_SKIP_${PN}-examples-dev += "libdir dev-elf"
+INSANE_SKIP:${PN}-dbg += "libdir"
+INSANE_SKIP:${PN}-examples += "libdir staticdev dev-so"
-PACKAGES =. "${PN}-qmlplugins-dbg ${PN}-tools-dbg ${PN}-plugins-dbg ${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-dbg ${PN}-examples "
+PACKAGES =. "${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples "
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dbg = "1"
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-mkspecs = "1"
+ALLOW_EMPTY:${PN}-plugins = "1"
+ALLOW_EMPTY:${PN}-qmlplugins = "1"
-RRECOMMENDS_${PN} = " \
+RRECOMMENDS:${PN} = " \
${PN}-plugins \
${PN}-qmlplugins \
"
-RRECOMMENDS_${PN}_class-native = ""
+RRECOMMENDS:${PN}:class-native = ""
-RRECOMMENDS_${PN}-dev = " \
+RRECOMMENDS:${PN}-dev = " \
${PN} \
${PN}-mkspecs \
${PN}-qmldesigner \
"
-RRECOMMENDS_${PN}-dbg = " \
- ${PN}-plugins-dbg \
- ${PN}-qmlplugins-dbg \
- "
-
-# extra -dbg packages
-FILES_${PN}-qmlplugins-dbg = " \
- ${OE_QMAKE_PATH_QML}/*/.debug \
- ${OE_QMAKE_PATH_QML}/*/*/.debug \
- ${OE_QMAKE_PATH_QML}/*/*/*/.debug \
- ${OE_QMAKE_PATH_QML}/*/*/*/*/.debug \
- ${OE_QMAKE_PATH_IMPORTS}/*/.debug \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/.debug \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/*/.debug \
-"
-FILES_${PN}-tools-dbg = " \
- ${OE_QMAKE_PATH_BINS}/.debug \
-"
-FILES_${PN}-plugins-dbg = " \
- ${OE_QMAKE_PATH_PLUGINS}/*/.debug/* \
- ${OE_QMAKE_PATH_PLUGINS}/*/*/.debug/* \
- ${OE_QMAKE_PATH_PLUGINS}/*/*/*/.debug/* \
-"
-
# extra packages
-FILES_${PN}-qmldesigner += " \
+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 = " \
+FILES:${PN}-qmlplugins = " \
${OE_QMAKE_PATH_QML}/*.qmltypes \
${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_QML}/*/qmldir \
@@ -134,36 +113,27 @@ FILES_${PN}-qmlplugins = " \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.js \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.jsc \
${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \
- ${OE_QMAKE_PATH_IMPORTS}/*.qmltypes \
- ${OE_QMAKE_PATH_IMPORTS}/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_IMPORTS}/*/*.qmltypes \
- ${OE_QMAKE_PATH_IMPORTS}/*/qmldir \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/*.qmltypes \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/qmldir \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/*/*.qmltypes \
- ${OE_QMAKE_PATH_IMPORTS}/*/*/*/qmldir \
"
-FILES_${PN}-tools = " \
+FILES:${PN}-tools = " \
${OE_QMAKE_PATH_BINS}/* \
"
-FILES_${PN}-plugins = " \
+FILES:${PN}-plugins = " \
${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_PLUGINS}/*/*/*/*${SOLIBSDEV} \
"
-FILES_${PN}-mkspecs = "\
+FILES:${PN}-mkspecs = "\
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
"
# modifications to normal packages
-FILES_${PN} += " \
+FILES:${PN} += " \
+ ${OE_QMAKE_PATH_LIBS}/metatypes \
${OE_QMAKE_PATH_LIBS}/lib*${SOLIBS} \
${OE_QMAKE_PATH_LIBEXECS} \
"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \
${OE_QMAKE_PATH_LIBS}/pkgconfig \
${OE_QMAKE_PATH_LIBS}/cmake/* \
@@ -171,45 +141,23 @@ FILES_${PN}-dev += " \
${OE_QMAKE_PATH_LIBS}/*.la \
${OE_QMAKE_PATH_HEADERS}/* \
"
-FILES_${PN}-dbg += " \
- ${OE_QMAKE_PATH_LIBS}/.debug \
- ${OE_QMAKE_PATH_LIBEXECS}/.debug \
-"
-FILES_${PN}-staticdev += " \
+FILES:${PN}-staticdev += " \
${OE_QMAKE_PATH_LIBS}/*.a \
-"
-FILES_${PN}-examples = " \
- ${OE_QMAKE_PATH_EXAMPLES}/* \
-"
-FILES_${PN}-examples-dev = " \
- ${OE_QMAKE_PATH_EXAMPLES}/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*${SOLIBSDEV} \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*/*${SOLIBSDEV} \
-"
-FILES_${PN}-examples-dbg = " \
- ${OE_QMAKE_PATH_EXAMPLES}/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/.debug \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*/.debug \
-"
-FILES_${PN}-examples-staticdev = " \
- ${OE_QMAKE_PATH_EXAMPLES}/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*.a \
- ${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*/*.a \
-"
-
-PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:"
+ ${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/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index cffdca2f..2ed8aa50 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -3,25 +3,22 @@ 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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \
- file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
- file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
- file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.QT-LICENSE-AGREEMENT;md5=485e1d58b313def058a0d72598aa6efe \
"
require qt5-native.inc
-require qt5-git.inc
+require qt5-lts.inc
# common for qtbase-native, qtbase-nativesdk and qtbase
-# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-shared
-# 5.9.meta-qt5-shared.5
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared
+# 5.15.meta-qt5-shared.4
SRC_URI += "\
file://0001-Add-linux-oe-g-platform.patch \
file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
@@ -30,40 +27,58 @@ SRC_URI += "\
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-Disable-ltcg-for-host_build.patch \
+ file://0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
+ file://0014-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0017-Define-__NR_futex-if-it-does-not-exist.patch \
+ file://0018-Revert-Fix-workaround-in-pthread-destructor.patch \
+ file://0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch \
+ file://0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch \
+ file://0022-testlib-don-t-track-the-build-or-source-directories.patch \
"
# common for qtbase-native and nativesdk-qtbase
-# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-native
-# 5.9.meta-qt5-native.5
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native
+# 5.15.meta-qt5-native.4
SRC_URI += " \
- file://0012-Always-build-uic.patch \
+ file://0023-Always-build-uic-and-qvkgen.patch \
+ file://0024-Avoid-renameeat2-for-native-sdk-builds.patch \
+"
+
+# only for qtbase-native
+SRC_URI += " \
+ file://0025-Bootstrap-without-linkat-feature.patch \
"
CLEANBROKEN = "1"
-XPLATFORM_toolchain-clang = "linux-oe-clang"
+XPLATFORM:toolchain-clang = "linux-oe-clang"
XPLATFORM ?= "linux-oe-g++"
-PACKAGECONFIG_CONFARGS = " \
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[gui] = "-gui -qpa offscreen,-no-gui,"
+PACKAGECONFIG[imageformats] = "-qt-libpng -qt-libjpeg -gif -ico, -no-libpng -no-libjpeg -no-ico -no-gif,"
+PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl"
+
+QT_CONFIG_FLAGS = " \
-sysroot ${STAGING_DIR_NATIVE} \
+ -L${STAGING_LIBDIR_NATIVE} \
-no-gcc-sysroot \
-system-zlib \
-qt-pcre \
- -no-libjpeg \
- -no-libpng \
- -no-gif \
+ -qt-doubleconversion \
-no-accessibility \
-no-cups \
- -no-gui \
- -no-qml-debug \
-no-sql-mysql \
-no-sql-sqlite \
+ -no-sql-psql \
-no-opengl \
- -no-openssl \
+ -no-vulkan \
-no-xcb \
-no-icu \
-verbose \
@@ -86,18 +101,25 @@ PACKAGECONFIG_CONFARGS = " \
-nomake examples \
-nomake tests \
-no-rpath \
+ -no-feature-linkat \
-platform ${XPLATFORM} \
+ ${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
-do_configure_prepend() {
+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 -opensource -confirm-license ${PACKAGECONFIG_CONFARGS} || die "Configuring qt failed. PACKAGECONFIG_CONFARGS was ${PACKAGECONFIG_CONFARGS}"
+ MAKEFLAGS="${PARALLEL_MAKE}" ${S}/configure -${QT_EDITION} -confirm-license ${QT_CONFIG_FLAGS} || die "Configuring qt failed. QT_CONFIG_FLAGS was ${QT_CONFIG_FLAGS}"
}
do_install() {
@@ -118,11 +140,9 @@ do_install() {
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 = "159f7e9c39c57177d25f524ae3cad4e533b89da8"
+SRCREV = "8a25db3204f39a228d14148d9cdf414393d239a5"
diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
index 130c5890..85789f0d 100644
--- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
+++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
@@ -1,4 +1,4 @@
-From a77e7c2996ca25cc59b04b165a24575440dd7efa Mon Sep 17 00:00:00 2001
+From 8f7ac021d483eca1b181fd9f0551f317aa7c5965 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
@@ -19,21 +19,23 @@ Upstream-Status: Inappropriate [embedded specific]
Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
---
configure | 2 +-
- mkspecs/features/configure.prf | 4 ++--
+ mkspecs/features/configure.prf | 4 +--
+ mkspecs/features/qt.prf | 6 ++---
mkspecs/features/qt_functions.prf | 2 +-
- mkspecs/linux-oe-g++/qmake.conf | 42 ++++++++++++++++++++++++++++++++++++
+ mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++++++++++++++++
mkspecs/linux-oe-g++/qplatformdefs.h | 1 +
- 5 files changed, 47 insertions(+), 4 deletions(-)
+ 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 08b49a8..5876721 100755
+index b6c9b462f2..4e3fcd41d1 100755
--- a/configure
+++ b/configure
-@@ -712,7 +712,7 @@ fi
+@@ -708,7 +708,7 @@ fi
# is where the resulting variable is written to
setBootstrapVariable()
{
@@ -43,7 +45,7 @@ index 08b49a8..5876721 100755
# build qmake
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
-index 934a18a..0f5b1b6 100644
+index 934a18a924..0f5b1b6333 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -46,14 +46,14 @@ defineTest(qtCompileTest) {
@@ -63,11 +65,35 @@ index 934a18a..0f5b1b6 100644
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 69d1954306..37f7c9c4a2 100644
+--- a/mkspecs/features/qt.prf
++++ b/mkspecs/features/qt.prf
+@@ -151,7 +151,7 @@ import_plugins:qtConfig(static) {
+ plug_name = $$QMAKE_PREFIX_STATICLIB$${plug}$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
+ plug_path = $$eval(QT_PLUGIN.$${plug}.PATH)
+ isEmpty(plug_path): \
+- plug_path = $$[QT_INSTALL_PLUGINS/get]
++ plug_path = $$[QT_INSTALL_PLUGINS]
+ LIBS += $$plug_path/$$plug_type/$$plug_name
+ } else {
+ LIBS += -l$${plug}$$qtPlatformTargetSuffix()
+@@ -274,8 +274,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 1903e50..c093dd4 100644
+index 7777e615bd..8d792fa70a 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
-@@ -69,7 +69,7 @@ defineTest(qtHaveModule) {
+@@ -87,7 +87,7 @@ defineTest(qtHaveModule) {
defineTest(qtPrepareTool) {
cmd = $$eval(QT_TOOL.$${2}.binary)
isEmpty(cmd) {
@@ -78,10 +104,10 @@ index 1903e50..c093dd4 100644
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 0000000..30d31ed
+index 0000000000..087e13bb91
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qmake.conf
-@@ -0,0 +1,42 @@
+@@ -0,0 +1,40 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
@@ -92,8 +118,9 @@ index 0000000..30d31ed
+
+include(../common/linux.conf)
+
-+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar, objcopy and strip
+QMAKE_AR = $$(OE_QMAKE_AR) cqs
++QMAKE_OBJCOPY = $$(OE_QMAKE_OBJCOPY)
+QMAKE_STRIP = $$(OE_QMAKE_STRIP)
+
+include(../common/gcc-base-unix.conf)
@@ -106,17 +133,14 @@ index 0000000..30d31ed
+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_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)
+
@@ -126,7 +150,7 @@ index 0000000..30d31ed
+load(qt_config)
diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
new file mode 100644
-index 0000000..5d22fb4
+index 0000000000..5d22fb4101
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qplatformdefs.h
@@ -0,0 +1 @@
diff --git a/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
index 5d247d19..80c6e042 100644
--- a/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
+++ b/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
@@ -1,4 +1,4 @@
-From 3ffab93bd68226b63350a38fdb64b64ab66a808b Mon Sep 17 00:00:00 2001
+From c92850bf1a43d0a0271f8c5e356b91f710189ebf 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
@@ -19,38 +19,38 @@ Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index 545b9a3..c991a9b 100644
+index 0d02edb41c..ec934c3931 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake)
+@@ -8,7 +8,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\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake${OE_QMAKE_BIN_SUFFIX}\")
!!ENDIF
_qt5_Core_check_file_exists(${imported_location})
-@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc)
+@@ -23,7 +23,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\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc${OE_QMAKE_BIN_SUFFIX}\")
!!ENDIF
_qt5_Core_check_file_exists(${imported_location})
-@@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc)
+@@ -40,7 +40,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\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc${OE_QMAKE_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 1d94715..301af8f 100644
+index a814678f7b..8546e4b4dc 100644
--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
@@ -58,7 +58,7 @@ index 1d94715..301af8f 100644
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\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml${OE_QMAKE_BIN_SUFFIX}\")
!!ENDIF
_qt5_DBus_check_file_exists(${imported_location})
@@ -67,12 +67,12 @@ index 1d94715..301af8f 100644
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\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp${OE_QMAKE_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 99d87e2..5621dc0 100644
+index 83d8004a08..d0651ee44b 100644
--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic)
@@ -80,7 +80,7 @@ index 99d87e2..5621dc0 100644
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\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic${OE_QMAKE_BIN_SUFFIX}\")
!!ENDIF
_qt5_Widgets_check_file_exists(${imported_location})
diff --git a/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
index e137b089..170ade15 100644
--- a/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
+++ b/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
@@ -1,4 +1,4 @@
-From b3c893e8af76e64d59051401fd86acd24f4d5369 Mon Sep 17 00:00:00 2001
+From 31a126a7e5e08fe1d3ba84639d2121453a71606f 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
@@ -13,23 +13,24 @@ Upstream-Status: Inappropriate [embedded specific]
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 b4ba0b5..11d4c00 100644
+index 8ceb763491..ea102f788d 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
-@@ -172,7 +172,10 @@ void QLibrarySettings::load()
+@@ -183,7 +183,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(!QFile::exists(qtconfig))
++ if(qtconfig.isEmpty() || !QFile::exists(qtconfig))
+ qtconfig = qmake_libraryInfoFile();
if (QFile::exists(qtconfig))
return new QSettings(qtconfig, QSettings::IniFormat);
diff --git a/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch
index 9d1f2963..ccac9b69 100644
--- a/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch
+++ b/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch
@@ -1,4 +1,4 @@
-From 4c827328e3d654b4e179864149cb9edee1a58f53 Mon Sep 17 00:00:00 2001
+From 20cadec59408c63adcdb41619a886422e34e6410 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
@@ -10,17 +10,18 @@ Also update length of EXT_PREFIX and HOST_PREFIX now.
Change-Id: If98dd57160efe9c98c36148cdf872f50b3d38118
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+Upstream-Status: Pending
---
configure.pri | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.pri b/configure.pri
-index dc703ec..961b41e 100644
+index 49755f7abf..f84862d1ca 100644
--- a/configure.pri
+++ b/configure.pri
-@@ -796,10 +796,10 @@ defineTest(qtConfOutput_preparePaths) {
- "static const char qt_configure_installation [12+11] = \"qt_instdate=2012-12-20\";" \
- "" \
+@@ -883,10 +883,10 @@ defineTest(qtConfOutput_preparePaths) {
+
+ $${currentConfig}.output.qconfigSource = \
"/* 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\";" \
diff --git a/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch b/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch
index 8dade548..136b4ce1 100644
--- a/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch
+++ b/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch
@@ -1,19 +1,21 @@
-From 6ca3f881b0d0f6feb824aad35ce85ddb3be2146b Mon Sep 17 00:00:00 2001
+From 33e847c682efe11e10a0a42a262f096343418b97 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
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
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 d5dcda2..501151d 100644
+index 6537d98c5d..06d23e3847 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
-@@ -1251,7 +1251,8 @@ defineReplace(qtConfEvaluateSingleExpression) {
+@@ -1544,7 +1544,8 @@ defineReplace(qtConfEvaluateSingleExpression) {
error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.")
return($$result)
}
diff --git a/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch
index 9aefbf9f..a7864efb 100644
--- a/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch
+++ b/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch
@@ -1,4 +1,4 @@
-From 9c6fc0f0e5f2da02b6b2a21c113f6b29588fc52c Mon Sep 17 00:00:00 2001
+From 4afd71e88a906eba8a8f14a12599abcc8582d22c 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
@@ -30,12 +30,12 @@ Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
2 files changed, 10 insertions(+)
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 55c74aa..f9ec328 100644
+index db18dbece6..13908c8fe5 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,6 +9,11 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+@@ -2,6 +2,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()
- !!ENDIF
+if(NOT DEFINED OE_QMAKE_PATH_EXTERNAL_HOST_BINS)
+ message(WARNING "Skipping because OE_QMAKE_PATH_EXTERNAL_HOST_BINS is not defined")
@@ -46,11 +46,11 @@ index 55c74aa..f9ec328 100644
!!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 75b5348..ed31888 100644
+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 2.8.9)
- message(FATAL_ERROR \"Qt5 requires at least CMake version 2.8.9\")
+@@ -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)
diff --git a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch
index 3d687c71..3210f2c8 100644
--- a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch
+++ b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch
@@ -1,15 +1,16 @@
-From 70eb95bcde17f4e67b4660caa8183e24ec876102 Mon Sep 17 00:00:00 2001
+From 7974ec566c4ede9cbd73fd0df2c35d7ff3dbcba5 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>
+Upstream-Status: Pending
---
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 09458bd..59a120e 100644
+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=\
diff --git a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch b/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch
deleted file mode 100644
index 71ab6ff6..00000000
--- a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 08d705e3a5e16ba75b0ca281400bba0d85f64f77 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 f9ddd59..2f92db9 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>
-@@ -197,7 +197,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 f64a88c..997218b 100644
---- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
-+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
-@@ -77,6 +77,7 @@
- #include <stdlib.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <sched.h>
- #endif
-
- #include "private/qhostinfo_p.h"
-@@ -2138,8 +2139,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/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch b/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch
index d393352e..3cebfc11 100644
--- a/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch
+++ b/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch
@@ -1,22 +1,23 @@
-From 1b576218b875cd10fcbcbd227d0011fc0bb917da Mon Sep 17 00:00:00 2001
+From 9bf5632187b8f17cc0d626926df2784c38059875 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>
+Upstream-Status: Pending
---
- mkspecs/linux-oe-clang/qmake.conf | 43 ++++++++++++++++++++++++++++++++++
+ mkspecs/linux-oe-clang/qmake.conf | 40 ++++++++++++++++++++++++++
mkspecs/linux-oe-clang/qplatformdefs.h | 1 +
- 2 files changed, 44 insertions(+)
+ 2 files changed, 41 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 0000000..ffc9f05
+index 0000000000..c09b132ac8
--- /dev/null
+++ b/mkspecs/linux-oe-clang/qmake.conf
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,40 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
@@ -27,10 +28,10 @@ index 0000000..ffc9f05
+
+include(../common/linux.conf)
+
-+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar, objcopy and strip
+QMAKE_AR = $$(OE_QMAKE_AR) cqs
++QMAKE_OBJCOPY = $$(OE_QMAKE_OBJCOPY)
+QMAKE_STRIP = $$(OE_QMAKE_STRIP)
-+QMAKE_WAYLAND_SCANNER = $$(OE_QMAKE_WAYLAND_SCANNER)
+
+include(../common/gcc-base-unix.conf)
+
@@ -42,17 +43,14 @@ index 0000000..ffc9f05
+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)
+
@@ -62,7 +60,7 @@ index 0000000..ffc9f05
+load(qt_config)
diff --git a/mkspecs/linux-oe-clang/qplatformdefs.h b/mkspecs/linux-oe-clang/qplatformdefs.h
new file mode 100644
-index 0000000..880c927
+index 0000000000..880c927b21
--- /dev/null
+++ b/mkspecs/linux-oe-clang/qplatformdefs.h
@@ -0,0 +1 @@
diff --git a/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch b/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch
index 6e8aa738..6279dc57 100644
--- a/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch
+++ b/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch
@@ -1,4 +1,4 @@
-From c295b6fad2183ff47c8f5c061484713f2fe44583 Mon Sep 17 00:00:00 2001
+From 638dcaa0123c170473594d2e44217755008f145e 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
@@ -8,15 +8,16 @@ 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>
+Upstream-Status: Pending
---
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 d29225f..a0cdb57 100644
+index a818d973f0..959a508d3a 100644
--- a/mkspecs/linux-clang/qplatformdefs.h
+++ b/mkspecs/linux-clang/qplatformdefs.h
-@@ -84,10 +84,10 @@
+@@ -81,10 +81,10 @@
#undef QT_SOCKLEN_T
diff --git a/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch b/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch
index ab124fe3..561cda05 100644
--- a/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch
+++ b/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch
@@ -1,4 +1,4 @@
-From 5d00d9490866ee2b3eb88463f45b7d5ea0a8654a Mon Sep 17 00:00:00 2001
+From eaf5d2ec9953b8bd299f486fc96d85d2f114c40d 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
@@ -6,14 +6,15 @@ 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>
+Upstream-Status: Pending
---
- tests/auto/corelib/tools/qlocale/tst_qlocale.cpp | 2 +-
+ tests/auto/corelib/text/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 10d78b1..a59f358 100644
---- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
-+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
+index 6ff6995440..1f36c6fefa 100644
+--- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
++++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
@@ -46,7 +46,7 @@
#include <private/qlocale_tools_p.h>
#include <qnumeric.h>
diff --git a/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch b/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch
new file mode 100644
index 00000000..66945d21
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch
@@ -0,0 +1,29 @@
+From 5c5461c606b028bf3b31e370a43fba2ce8156b36 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]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ 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 d81f340edd..dc1d196710 100644
+--- a/mkspecs/features/ltcg.prf
++++ b/mkspecs/features/ltcg.prf
+@@ -1,6 +1,6 @@
+ static:no-static-ltcg {
+ # Static library but no-static-ltcg enabled: skip LTCG
+-} else: CONFIG(release, debug|release) {
++} else: CONFIG(release, debug|release):!host_build {
+ separate_debug_info {
+ # Evaluate single-$ variable references that have no valid value at mkspec loading time
+ QMAKE_LFLAGS_LTCG_SEPARATE_DEBUG_INFO ~= s/\\$\\{/\$\$\{/
diff --git a/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
new file mode 100644
index 00000000..e8c7201b
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
@@ -0,0 +1,66 @@
+From 0574975fb4a981568e69461c4df99767cc1faa72 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 84dbbfebd4..ad6956d814 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})
+ if (IS_ABSOLUTE ${_lib})
+ get_filename_component(_libFile ${_lib} NAME_WE)
+@@ -171,11 +165,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/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch b/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch
new file mode 100644
index 00000000..15631feb
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch
@@ -0,0 +1,27 @@
+From e98382d11622179a2ab4712fa781c2b46d8b35b2 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 7418579fe0..aba29de499 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/recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch b/recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
new file mode 100644
index 00000000..a3605718
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
@@ -0,0 +1,41 @@
+From f339005f6ee97911bd0c2ed9d9445f5aac514155 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 11ecd6b2a5..a9a65c6800 100644
+--- a/mkspecs/features/toolchain.prf
++++ b/mkspecs/features/toolchain.prf
+@@ -41,6 +41,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 {
+@@ -60,6 +67,8 @@ isEmpty($${target_prefix}.COMPILER_MACROS) {
+ } else {
+ vars = $$qtVariablesFromMSVC($$QMAKE_CXX)
+ }
++ } else: clang {
++ vars = $$qtVariablesFromCLANG($$QMAKE_CXX, $$QMAKE_CXXFLAGS)
+ } else: gcc|ghs {
+ vars = $$qtVariablesFromGCC($$QMAKE_CXX)
+ }
diff --git a/recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch b/recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch
new file mode 100644
index 00000000..aa11a4be
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch
@@ -0,0 +1,123 @@
+From be12f3c3a5240b8bbb6837a3b23d36b61303b455 Mon Sep 17 00:00:00 2001
+From: Nicola Lunghi <nick83ola@gmail.com>
+Date: Wed, 5 Feb 2020 15:32:25 +0000
+Subject: [PATCH] tst_qpainter: FE_ macros are not defined for every platform
+
+the FE_INEXACT, FE_UNDERFLOW, FE_OVERFLOW, FE_DIVBYZERO, FE_INVALID are defined
+only for platforms with fp engine.
+
+Signed-off-by: Nicola Lunghi <nick83ola@gmail.com>
+Upstream-Status: Submitted [https://codereview.qt-project.org/c/qt/qtbase/+/289447]
+---
+ .../gui/painting/qpainter/tst_qpainter.cpp | 50 ++++++++++++++-----
+ 1 file changed, 37 insertions(+), 13 deletions(-)
+
+diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+index 42e98ce363..0ca9b87f04 100644
+--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
++++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+@@ -2931,19 +2931,43 @@ void tst_QPainter::monoImages()
+ #if !defined(Q_OS_AIX) && !defined(Q_CC_MSVC) && !defined(Q_OS_SOLARIS) && !defined(__UCLIBC__)
+ #include <fenv.h>
+
++#if defined(FE_INEXACT)
++ #define QP_FE_INEXACT (FE_INEXACT)
++#else
++ #define QP_FE_INEXACT 0
++#endif
++#if defined(FE_UNDERFLOW)
++ #define QP_FE_UNDERFLOW (FE_UNDERFLOW)
++#else
++ #define QP_FE_UNDERFLOW 0
++#endif
++#if defined(FE_OVERFLOW)
++ #define QP_FE_OVERFLOW (FE_OVERFLOW)
++#else
++ #define QP_FE_OVERFLOW 0
++#endif
++#if defined(FE_DIVBYZERO)
++ #define QP_FE_DIVBYZERO (FE_DIVBYZERO)
++#else
++ #define QP_FE_DIVBYZERO 0
++#endif
++#if defined(FE_INVALID)
++ #define QP_FE_INVALID (FE_INVALID)
++#else
++ #define QP_FE_INVALID 0
++#endif
++
+ static const QString fpeExceptionString(int exception)
+ {
+-#ifdef FE_INEXACT
+- if (exception & FE_INEXACT)
++ if (exception & QP_FE_INEXACT)
+ return QLatin1String("Inexact result");
+-#endif
+- if (exception & FE_UNDERFLOW)
++ if (exception & QP_FE_UNDERFLOW)
+ return QLatin1String("Underflow");
+- if (exception & FE_OVERFLOW)
++ if (exception & QP_FE_OVERFLOW)
+ return QLatin1String("Overflow");
+- if (exception & FE_DIVBYZERO)
++ if (exception & QP_FE_DIVBYZERO)
+ return QLatin1String("Divide by zero");
+- if (exception & FE_INVALID)
++ if (exception & QP_FE_INVALID)
+ return QLatin1String("Invalid operation");
+ return QLatin1String("No exception");
+ }
+@@ -2969,7 +2993,7 @@ private:
+
+ void fpe_rasterizeLine_task232012()
+ {
+- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO);
++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO);
+ QImage img(128, 128, QImage::Format_ARGB32_Premultiplied);
+ img.fill(0x0);
+ QPainter p(&img);
+@@ -2981,7 +3005,7 @@ void fpe_rasterizeLine_task232012()
+
+ void fpe_pixmapTransform()
+ {
+- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO);
++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO);
+
+ QImage img(128, 128, QImage::Format_ARGB32_Premultiplied);
+
+@@ -3009,7 +3033,7 @@ void fpe_pixmapTransform()
+
+ void fpe_zeroLengthLines()
+ {
+- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO);
++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO);
+
+ QImage img(128, 128, QImage::Format_ARGB32_Premultiplied);
+
+@@ -3021,7 +3045,7 @@ void fpe_zeroLengthLines()
+
+ void fpe_divByZero()
+ {
+- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO);
++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO);
+
+ QImage img(128, 128, QImage::Format_ARGB32_Premultiplied);
+
+@@ -3044,7 +3068,7 @@ void fpe_divByZero()
+
+ void fpe_steepSlopes()
+ {
+- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO);
++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO);
+
+ QImage img(1024, 1024, QImage::Format_ARGB32_Premultiplied);
+
+@@ -3063,7 +3087,7 @@ void fpe_steepSlopes()
+
+ void fpe_radialGradients()
+ {
+- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO);
++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO);
+
+ QImage img(21, 21, QImage::Format_ARGB32_Premultiplied);
+ img.fill(0);
diff --git a/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch b/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch
new file mode 100644
index 00000000..8198b4f5
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch
@@ -0,0 +1,33 @@
+From 308746ac207de4f1c3429d6e61ff071809378b70 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Oct 2020 22:10:02 -0700
+Subject: [PATCH] Define __NR_futex if it does not exist
+
+__NR_futex is not defines by newer architectures e.g. arc, riscv32 as
+they only have 64bit variant of time_t. Glibc defines SYS_futex interface based on
+__NR_futex, since this is used in applications, such applications start
+to fail to build for these newer architectures. This patch defines a
+fallback to alias __NR_futex to __NR_futex_tim64 so SYS_futex keeps
+working
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/corelib/thread/qfutex_p.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h
+index f287b752d7..fa5307a604 100644
+--- a/src/corelib/thread/qfutex_p.h
++++ b/src/corelib/thread/qfutex_p.h
+@@ -76,6 +76,9 @@ QT_END_NAMESPACE
+ # include <unistd.h>
+ # include <asm/unistd.h>
+ # include <linux/futex.h>
++# if !defined(__NR_futex) && defined(__NR_futex_time64)
++# define __NR_futex __NR_futex_time64
++# endif
+ # define QT_ALWAYS_USE_FUTEX
+
+ // if not defined in linux/futex.h
diff --git a/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch b/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch
new file mode 100644
index 00000000..93a4a6ba
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch
@@ -0,0 +1,69 @@
+From d46b92ecdae0c7dd2f284e3333641866aab4f604 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 26 Jan 2021 08:50:45 +0100
+Subject: [PATCH] Revert "Fix workaround in pthread destructor"
+
+This reverts commit 81ce2d1d6fa741de4d27b939a378147a02019ec1.
+
+currentThreadData was reverted in 5.12 before this commit:
+
+81ce2d1d6f Fix workaround in pthread destructor
+8867e0eaa7 Revert "Remove pthread storage for thread local data"
+78665d8a0c Remove pthread storage for thread local data
+
+causing build failures in configurations which use this
+| /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-halium-webos-linux-gnueabi/qtbase/5.15.2+gitAUTOINC+40143c189b-r0/git/src/corelib/thread/qthread_unix.cpp: In function 'void destroy_current_thread_data(void*)':
+| /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-halium-webos-linux-gnueabi/qtbase/5.15.2+gitAUTOINC+40143c189b-r0/git/src/corelib/thread/qthread_unix.cpp:121:5: error: 'currentThreadData' was not declared in this scope
+| 121 | currentThreadData = data;
+| | ^~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/corelib/thread/qthread_unix.cpp | 25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
+index 659d5fb03c..1da68b3130 100644
+--- a/src/corelib/thread/qthread_unix.cpp
++++ b/src/corelib/thread/qthread_unix.cpp
+@@ -116,11 +116,18 @@ static pthread_key_t current_thread_data_key;
+
+ static void destroy_current_thread_data(void *p)
+ {
++#if defined(Q_OS_VXWORKS)
++ // Calling setspecific(..., 0) sets the value to 0 for ALL threads.
++ // The 'set to 1' workaround adds a bit of an overhead though,
++ // since this function is called twice now.
++ if (p == (void *)1)
++ return;
++#endif
++ // POSIX says the value in our key is set to zero before calling
++ // this destructor function, so we need to set it back to the
++ // right value...
++ pthread_setspecific(current_thread_data_key, p);
+ QThreadData *data = static_cast<QThreadData *>(p);
+- // thread_local variables are set to zero before calling this destructor function,
+- // if they are internally using pthread-specific data management,
+- // so we need to set it back to the right value...
+- currentThreadData = data;
+ if (data->isAdopted) {
+ QThread *thread = data->thread.loadAcquire();
+ Q_ASSERT(thread);
+@@ -131,8 +138,14 @@ static void destroy_current_thread_data(void *p)
+ data->deref();
+
+ // ... but we must reset it to zero before returning so we aren't
+- // leaving a dangling pointer.
+- currentThreadData = nullptr;
++ // called again (POSIX allows implementations to call destructor
++ // functions repeatedly until all values are zero)
++ pthread_setspecific(current_thread_data_key,
++#if defined(Q_OS_VXWORKS)
++ (void *)1);
++#else
++ nullptr);
++#endif
+ }
+
+ static void create_current_thread_data_key()
diff --git a/recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch b/recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch
new file mode 100644
index 00000000..1f1945c8
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch
@@ -0,0 +1,63 @@
+From f6b67c71be078d5f58042882e801b9af6634e483 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
+Date: Fri, 20 Aug 2021 12:10:25 +0300
+Subject: [PATCH] tst_QPluginLoader: Simplify creating a fake pointer in
+ fakeplugin.cpp
+
+When assigning multiple variables to a specific section, both GCC
+and Clang legitimately error out if those variables wouldn't end
+up in the same section (e.g. if one of them is going to a read-only
+section while the other one is going to a read-write section).
+
+In C++, when a seemingly const variable needs dynamic initialization,
+it needs to be stored in a read-write section.
+
+Clang 13 changed internals for how some constants are materialized.
+Now, when a variable is initialized with an expression containing
+plain old fashioned casts, it is considered to be potentially
+runtime initialized (at the point when section assignment conflicts
+is evaluated). Therefore, Clang 13 errors out on fakeplugin.cpp
+with errors like:
+
+ fakeplugin.cpp:36:39: error: 'message' causes a section type conflict with 'pluginSection'
+ QT_PLUGIN_METADATA_SECTION const char message[] = "QTMETADATA";
+ ^
+ fakeplugin.cpp:32:40: note: declared here
+ QT_PLUGIN_METADATA_SECTION void *const pluginSection = (void*)(0xc0ffeec0ffeeL);
+ ^
+
+See https://bugs.llvm.org/show_bug.cgi?id=51442 for discussion
+on the matter in Clang.
+
+To simplify things, just initialize the fake pointers as regular
+uintptr_t instead, avoiding the whole matter. This produces the
+exact same contents in the section as before.
+
+For what it's worth, the actual manually constructed metadata in
+fakeplugin.cpp doesn't seem to have any effect on running the
+QPluginLoader tests on either ELF or MachO right now.
+
+Upstream-Status: Backport [https://codereview.qt-project.org/c/qt/qtbase/+/366218]
+Change-Id: Ib84a2ceb20cb8e3a1bb5132a5715538e08049616
+Pick-to: 6.2 6.1
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp b/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp
+index 9e7a1f750b..a6d53f350f 100644
+--- a/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp
++++ b/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp
+@@ -29,8 +29,8 @@
+ #include <QtCore/qplugin.h>
+
+ #if QT_POINTER_SIZE == 8
+-QT_PLUGIN_METADATA_SECTION void *const pluginSection = (void*)(0xc0ffeec0ffeeL);
++QT_PLUGIN_METADATA_SECTION const uintptr_t pluginSection = 0xc0ffeec0ffeeULL;
+ #else
+-QT_PLUGIN_METADATA_SECTION void *const pluginSection = (void*)0xc0ffee;
++QT_PLUGIN_METADATA_SECTION const uintptr_t pluginSection = 0xc0ffee;
+ #endif
+ QT_PLUGIN_METADATA_SECTION const char message[] = "QTMETADATA";
diff --git a/recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch b/recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch
new file mode 100644
index 00000000..521e6cc3
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch
@@ -0,0 +1,29 @@
+From a2b11501812e0e34bd49b1950bac52dadd4e3cff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 15 Oct 2022 15:50:34 +0200
+Subject: [PATCH] rcc: Just dcument file name without full path to reduce qa
+ warnings
+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>
+---
+ src/tools/rcc/rcc.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
+index c5e3d2ae4c..2d76cfd081 100644
+--- a/src/tools/rcc/rcc.cpp
++++ b/src/tools/rcc/rcc.cpp
+@@ -344,7 +344,7 @@ qint64 RCCFileInfo::writeDataBlob(RCCResourceLibrary &lib, qint64 offset,
+ // some info
+ if (text || pass1) {
+ lib.writeString(" // ");
+- lib.writeByteArray(m_fileInfo.absoluteFilePath().toLocal8Bit());
++ lib.writeByteArray(m_fileInfo.baseName().toLocal8Bit());
+ lib.writeString("\n ");
+ }
+
diff --git a/recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch b/recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch
new file mode 100644
index 00000000..f16afed5
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch
@@ -0,0 +1,32 @@
+From 7d4da27df6ab641390de75dd7c04b755295a653b Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Mon, 22 Aug 2022 15:01:28 +0300
+Subject: [PATCH] testlib: don't track the build or source directories
+
+Build tests without location of the build and sources directories.
+
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Change-Id: I8d5add473623a3d9f481097649819c9fb906e4b2
+---
+ mkspecs/features/testlib_defines.prf | 2 --
+ src/testlib/Qt5TestConfigExtras.cmake.in | 5 -----
+ 2 files changed, 7 deletions(-)
+
+diff --git a/mkspecs/features/testlib_defines.prf b/mkspecs/features/testlib_defines.prf
+index 901e03a91d..e69de29bb2 100644
+--- a/mkspecs/features/testlib_defines.prf
++++ b/mkspecs/features/testlib_defines.prf
+@@ -1,2 +0,0 @@
+-contains(TEMPLATE, vc.*): DEFINES += QT_TESTCASE_BUILDDIR=\"$$OUT_PWD\"
+-else: DEFINES += QT_TESTCASE_BUILDDIR=$$shell_quote(\"$$OUT_PWD\")
+diff --git a/src/testlib/Qt5TestConfigExtras.cmake.in b/src/testlib/Qt5TestConfigExtras.cmake.in
+index 2a575958ae..e69de29bb2 100644
+--- a/src/testlib/Qt5TestConfigExtras.cmake.in
++++ b/src/testlib/Qt5TestConfigExtras.cmake.in
+@@ -1,5 +0,0 @@
+-
+-set_property(TARGET Qt5::Test
+- APPEND PROPERTY
+- INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\"
+-)
diff --git a/recipes-qt/qt5/qtbase/0012-Always-build-uic.patch b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch
index 0cb36e18..7a100a69 100644
--- a/recipes-qt/qt5/qtbase/0012-Always-build-uic.patch
+++ b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch
@@ -1,7 +1,7 @@
-From 7ad9a6e116879730543ae947abef0fe74a5b0dbb Mon Sep 17 00:00:00 2001
+From 5f415fb09ea64765e60d1d52721064f53545a413 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
+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.
@@ -9,20 +9,21 @@ 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>
+Upstream-Status: Pending
---
src/src.pro | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/src.pro b/src/src.pro
-index 3e32f7e..18b268b 100644
+index 8990109743..105feee924 100644
--- a/src/src.pro
+++ b/src/src.pro
-@@ -205,7 +205,7 @@ qtConfig(gui) {
+@@ -244,7 +244,7 @@ qtConfig(gui) {
}
}
}
-SUBDIRS += src_plugins
-+SUBDIRS += src_plugins src_tools_uic
++SUBDIRS += src_plugins src_tools_uic src_tools_qvkgen
nacl: SUBDIRS -= src_network src_testlib
diff --git a/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch
new file mode 100644
index 00000000..97e4ff6c
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch
@@ -0,0 +1,68 @@
+From 77196464454a1c66e57ad5aac237a55de211a107 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 b3daf43c04..e1df2ac580 100644
+--- a/src/corelib/global/qconfig-bootstrapped.h
++++ b/src/corelib/global/qconfig-bootstrapped.h
+@@ -107,7 +107,7 @@
+ #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
+@@ -115,7 +115,7 @@
+ #define QT_FEATURE_signaling_nan -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 231e5cb0ea..8da5872c5e 100644
+--- a/src/corelib/io/qfilesystemengine_unix.cpp
++++ b/src/corelib/io/qfilesystemengine_unix.cpp
+@@ -1443,16 +1443,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
+ Q_CHECK_FILE_NAME(srcPath, false);
+ Q_CHECK_FILE_NAME(tgtPath, 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 (renameatx_np(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_EXCL) == 0)
+ return true;
diff --git a/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch
new file mode 100644
index 00000000..b759214b
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch
@@ -0,0 +1,28 @@
+From a052a876d0639db2f919aada2ae0afe1718928af 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]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+[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 e1df2ac580..151cc1d2c2 100644
+--- a/src/corelib/global/qconfig-bootstrapped.h
++++ b/src/corelib/global/qconfig-bootstrapped.h
+@@ -98,7 +98,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/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 52156174..4009afc5 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -1,22 +1,20 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://LICENSE.LGPLv21;md5=fb91571854638f10b2e5f36562661a5a \
- file://LICENSE.LGPLv3;md5=a909b94c1c9674b2aa15ff03a86f518a \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
- file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
- file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.QT-LICENSE-AGREEMENT;md5=485e1d58b313def058a0d72598aa6efe \
"
# common for qtbase-native, qtbase-nativesdk and qtbase
-# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-shared
-# 5.9.meta-qt5-shared.5
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared
+# 5.15.meta-qt5-shared.4
SRC_URI += "\
file://0001-Add-linux-oe-g-platform.patch \
file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
@@ -25,46 +23,35 @@ SRC_URI += "\
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://run-ptest \
+ file://0012-Disable-ltcg-for-host_build.patch \
+ file://0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
+ file://0014-corelib-Include-sys-types.h-for-uint32_t.patch \
+ file://0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0017-Define-__NR_futex-if-it-does-not-exist.patch \
+ file://0018-Revert-Fix-workaround-in-pthread-destructor.patch \
+ file://0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch \
+ file://0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch \
+ file://0022-testlib-don-t-track-the-build-or-source-directories.patch \
"
-inherit ptest
-
-# LGPL-3.0 is used only in src/plugins/platforms/android/extract.cpp
+# Disable LTO for now, QT5 patches are being worked upstream, perhaps revisit with
+# next major upgrade of QT
+LTO = ""
# for syncqt
-RDEPENDS_${PN}-tools += "perl"
+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)}"
+inherit pkgconfig
# separate some parts of PACKAGECONFIG which are often changed
-PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
+PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', 'no-opengl', 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_X11 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcb glib xkbcommon', '', d)}"
+PACKAGECONFIG_KDE ?= "${@bb.utils.contains('DISTRO_FEATURES', 'kde', 'sm cups fontconfig kms gbm libinput sql-sqlite openssl', '', d)}"
PACKAGECONFIG_FONTS ?= ""
PACKAGECONFIG_SYSTEM ?= "jpeg libpng zlib"
PACKAGECONFIG_DISTRO ?= ""
@@ -72,7 +59,12 @@ PACKAGECONFIG_DISTRO ?= ""
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"
+PACKAGECONFIG_DEFAULT ?= "accessibility dbus udev evdev widgets tools libs freetype pcre \
+ ${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Os', 'optimize-size ltcg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)} \
+"
PACKAGECONFIG ?= " \
${PACKAGECONFIG_RELEASE} \
@@ -81,15 +73,21 @@ PACKAGECONFIG ?= " \
${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[qml-debug] = "-qml-debug,-no-qml-debug"
+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"
@@ -109,7 +107,7 @@ 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,pcre"
+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"
@@ -117,41 +115,76 @@ 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[xcb] = "-xcb -xcb-xlib -no-bundled-xcb-xinput -DUSE_X11=ON,-no-xcb,libxcb xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil libxext"
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-odbc] = "-sql-odbc,-no-sql-odbc,unixodbc"
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[xkbcommon] = "-xkbcommon,-no-xkbcommon,libxkbcommon,xkeyboard-config"
PACKAGECONFIG[evdev] = "-evdev,-no-evdev"
PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev"
+PACKAGECONFIG[lttng] = "-trace lttng,-trace no,lttng-ust"
# 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/mesa"
+PACKAGECONFIG[gbm] = "-gbm,-no-gbm,virtual/libgbm"
PACKAGECONFIG[icu] = "-icu,-no-icu,icu"
PACKAGECONFIG[udev] = "-libudev,-no-libudev,udev"
-PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl,libssl"
+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,"
+PACKAGECONFIG[vulkan] = "-vulkan,-no-vulkan,vulkan-headers"
QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)}"
+# 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)}"
+
+# since the upgrade to 5.12.2 this got worse, with gold enabled configure will no longer pass the test for xlib
+# because with full paths to libraries since qtbase commit 521a85395 it fails to link with
+# /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.12.3+gitAUTOINC+b527725766-r0/recipe-sysroot/usr/lib/libm.so
+# as reported in:
+# https://github.com/meta-qt5/meta-qt5/pull/181#issuecomment-484425112
+# resulting in do_configure failure:
+# http://errors.yoctoproject.org/Errors/Details/237856/
+QT_CONFIG_FLAGS_GOLD = "-no-use-gold-linker"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+LDFLAGS:append:riscv64 = " -pthread"
+
QT_CONFIG_FLAGS += " \
${QT_CONFIG_FLAGS_GOLD} \
- -shared \
-silent \
-no-pch \
-no-rpath \
@@ -159,19 +192,36 @@ QT_CONFIG_FLAGS += " \
${PACKAGECONFIG_CONFARGS} \
"
+export CC_host:toolchain-clang = "clang"
+export CXX_host:toolchain-clang = "clang++"
+export LD_host:toolchain-clang = "clang++"
+export CC_host ?= "gcc"
+export CXX_host ?= "g++"
+export LD_host ?= "g++"
+
# 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: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 \
- -opensource -confirm-license \
+ -${QT_EDITION} -confirm-license \
-sysroot ${STAGING_DIR_TARGET} \
-prefix ${OE_QMAKE_PATH_PREFIX} \
-bindir ${OE_QMAKE_PATH_BINS} \
@@ -183,7 +233,6 @@ do_configure() {
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
-libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
-plugindir ${OE_QMAKE_PATH_PLUGINS} \
- -importdir ${OE_QMAKE_PATH_IMPORTS} \
-qmldir ${OE_QMAKE_PATH_QML} \
-translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
-testsdir ${OE_QMAKE_PATH_TESTS} \
@@ -198,34 +247,65 @@ do_configure() {
${QT_CONFIG_FLAGS}
}
-fakeroot do_install_ptest() {
- mkdir -p ${D}${PTEST_PATH}
- t=${D}${PTEST_PATH}
- for var in ` find ${B}/tests/auto/ -name tst_*`; do
- if [ not ` echo ${var##*/} | grep '\.'` ]; then
- echo ${var##*/} >> ${t}/tst_list
- install -m 0644 ${var} ${t}
- fi
- done
-}
-
-do_install_append() {
+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')
- # Fix up absolute paths in scripts
- grep -lr /usr/bin/perl ${D}${OE_QMAKE_PATH_QT_ARCHDATA}/ | \
- xargs -r sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,'
+ echo "" >> $conf
+ echo "# default compiler options which can be overwritten from the environment" >> $conf
+ echo "count(QMAKE_AR, 1): QMAKE_AR = ${OE_QMAKE_AR} cqs" >> $conf
+ echo "isEmpty(QMAKE_CC): QMAKE_CC = $OE_QMAKE_CC_NO_SYSROOT" >> $conf
+ echo "isEmpty(QMAKE_CXX): QMAKE_CXX = $OE_QMAKE_CXX_NO_SYSROOT" >> $conf
+ # OE_QMAKE_CFLAGS and OE_QMAKE_CXXFLAGS contain path of the build host, which is not useful for the target.
+ echo "isEmpty(QMAKE_CFLAGS): QMAKE_CFLAGS = ${OE_QMAKE_CFLAGS}" | sed -e 's/-fdebug-prefix-map=[^ ]*//g' | sed -e 's/-fmacro-prefix-map=[^ ]*//g' >> $conf
+ echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${OE_QMAKE_CXXFLAGS}" | sed -e 's/-fdebug-prefix-map=[^ ]*//g' | sed -e 's/-fmacro-prefix-map=[^ ]*//g' >> $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_OBJCOPY): QMAKE_OBJCOPY = ${TARGET_PREFIX}objcopy" >> $conf
+ echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${TARGET_PREFIX}strip" >> $conf
+ echo "isEmpty(CC_host): CC_host = ${CC_host}" >> $conf
+ echo "isEmpty(CXX_host): CXX_host = ${CXX_host}" >> $conf
+ echo "isEmpty(LD_host): LD_host = ${LD_host}" >> $conf
+
+ generate_target_qt_config_file ${D}${OE_QMAKE_PATH_BINS}/qt.conf
+
+ # Fix up absolute paths in scripts and use python3 instead of python
+ sed -i -e '1s,#!/usr/bin/python$,#! ${USRBINPATH}/env python3,' \
+ ${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"
+INSANE_SKIP:${PN}-mkspecs += "file-rdeps"
+
+RRECOMMENDS:${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}"
+
+TARGET_MKSPEC ?= "linux-g++"
-RRECOMMENDS_${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}"
+# 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${OE_QMAKE_PATH_BINS}/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 = "159f7e9c39c57177d25f524ae3cad4e533b89da8"
+SRCREV = "8a25db3204f39a228d14148d9cdf414393d239a5"
diff --git a/recipes-qt/qt5/qtcanvas3d_git.bb b/recipes-qt/qt5/qtcanvas3d_git.bb
deleted file mode 100644
index 9f9d7a1d..00000000
--- a/recipes-qt/qt5/qtcanvas3d_git.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require qt5.inc
-require qt5-git.inc
-
-LICENSE = "LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial"
-LIC_FILES_CHKSUM = " \
- file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
- file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
- file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
-"
-
-DEPENDS = "qtdeclarative"
-
-SRCREV = "c50045eacfdaa85b4bfd2f1ecfd776d320684228"
diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb
index edaeea45..05160cb2 100644
--- a/recipes-qt/qt5/qtcharts_git.bb
+++ b/recipes-qt/qt5/qtcharts_git.bb
@@ -1,15 +1,17 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
"
DEPENDS += "qtbase qtdeclarative qtmultimedia"
-SRCREV = "7468a3977a246688e43446ca385c71af389e1196"
+SRCREV = "9da73121e87e7078f4f5ae2260c884d644242164"
# 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)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+PACKAGECONFIG ?= "qtquickcompiler"
diff --git a/recipes-qt/qt5/qtcoap_git.bb b/recipes-qt/qt5/qtcoap_git.bb
new file mode 100644
index 00000000..df48de45
--- /dev/null
+++ b/recipes-qt/qt5/qtcoap_git.bb
@@ -0,0 +1,14 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "GFDL-1.3 & BSD-3-Clause & GPL-3.0-only | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+PACKAGECONFIG ?= "qtdeclarative"
+PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
+
+DEPENDS += "qtbase"
+
+SRCREV = "a9401d789d70e36d7f431bc1272c3ae95c2a5def"
diff --git a/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch
new file mode 100644
index 00000000..72afac30
--- /dev/null
+++ b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch
@@ -0,0 +1,23 @@
+From 000075567007d0ef76ef3c782fc4060f8ff8e647 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 20:29:19 -0800
+Subject: [PATCH] Add missing header for errno
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/bluetooth/bluez/bluetoothmanagement.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/bluetooth/bluez/bluetoothmanagement.cpp b/src/bluetooth/bluez/bluetoothmanagement.cpp
+index 31d3dc02..75d762e5 100644
+--- a/src/bluetooth/bluez/bluetoothmanagement.cpp
++++ b/src/bluetooth/bluez/bluetoothmanagement.cpp
+@@ -45,6 +45,7 @@
+ #include "bluez_data_p.h"
+ #include "../qbluetoothsocketbase_p.h"
+
++#include <errno.h>
+ #include <unistd.h>
+ #include <sys/prctl.h>
+ #include <sys/syscall.h>
diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb
index 7312e9f7..47c31f4b 100644
--- a/recipes-qt/qt5/qtconnectivity_git.bb
+++ b/recipes-qt/qt5/qtconnectivity_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -10,13 +10,13 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
-DEPENDS += "qtbase qtdeclarative"
+SRC_URI += "file://0001-Add-missing-header-for-errno.patch"
-inherit bluetooth
+DEPENDS += "qtbase qtdeclarative"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
-PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,${BLUEZ}"
+PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5"
EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "1d82115795a4b9a39e5ba969b6de02f2ff6d4891"
+SRCREV = "4c39684c31a2bfae5ac7d15b4c959ceb50101451"
diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb
index ddae9856..9565c834 100644
--- a/recipes-qt/qt5/qtdatavis3d_git.bb
+++ b/recipes-qt/qt5/qtdatavis3d_git.bb
@@ -1,11 +1,11 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
"
DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns"
-SRCREV = "d8a9d236eace348bfc09e6976dd4ee0bb930c6a9"
+SRCREV = "4482ce78012a754f0a95bcbf0ab7f29b6326eb86"
diff --git a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch
new file mode 100644
index 00000000..f5dd675a
--- /dev/null
+++ b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch
@@ -0,0 +1,32 @@
+From e9a8985fe1fd45da990e821283dcb16109d1d674 Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <tworaz@tworaz.net>
+Date: Wed, 3 Jul 2019 01:13:40 +0200
+Subject: [PATCH] Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to locate qmlcachegen
+
+Without this cmake will end up using host qmlcachegen instead of
+recipe-sysroot-native one.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
+---
+ tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in
+index 26d42c02a9..7b4186c837 100644
+--- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in
++++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in
+@@ -18,11 +18,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles)
+
+ find_package(Qt5 COMPONENTS Qml Core)
+
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+- set(compiler_path \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmlcachegen$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+- set(compiler_path \"$${CMAKE_BIN_DIR}qmlcachegen$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++ set(compiler_path \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmlcachegen${OE_QMAKE_BIN_SUFFIX}\")
+ if(NOT EXISTS \"${compiler_path}\" )
+ message(FATAL_ERROR \"The package \\\"Qt5QuickCompilerConfig\\\" references the file
+ \\\"${compiler_path}\\\"
diff --git a/recipes-qt/qt5/qtdeclarative/run-ptest b/recipes-qt/qt5/qtdeclarative/run-ptest
deleted file mode 100644
index 6c3f522b..00000000
--- a/recipes-qt/qt5/qtdeclarative/run-ptest
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-for x in ` awk '{print $1}' tst_list `;do
- ./${x};
-done
diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb
index 8b873078..5ade81be 100644
--- a/recipes-qt/qt5/qtdeclarative_git.bb
+++ b/recipes-qt/qt5/qtdeclarative_git.bb
@@ -1,9 +1,9 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -12,24 +12,47 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
-DEPENDS += "qtbase"
-
-PACKAGECONFIG ??= "qtxmlpatterns"
-PACKAGECONFIG[qtxmlpatterns] = ",,qtxmlpatterns"
+# Patches from https://github.com/meta-qt5/qtdeclarative/commits/b5.15
+# 5.15.meta-qt5.1
+SRC_URI += " \
+ file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \
+"
-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
+LDFLAGS:append:riscv64 = " -pthread"
+
+DEPENDS += "qtbase qtdeclarative-native"
+
+PACKAGECONFIG ??= "qml-debug qml-network ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)}"
+PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug"
+PACKAGECONFIG[qml-network] = "-qml-network, -no-qml-network"
+PACKAGECONFIG[static] = ",,qtdeclarative-native"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}
+ for var in `find ${B}/tests/auto/ -name tst_*`; do
+ case=$(basename ${var})
+ if [ -z `echo ${case} | grep '\.'` ]; then
+ dname=$(dirname ${var})
+ pdir=$(basename ${dname})
+ echo ${pdir}/${case} >> ${D}${PTEST_PATH}/tst_list
+
+ mkdir ${D}${PTEST_PATH}/${pdir}
+ install -m 0744 ${var} ${D}${PTEST_PATH}/${pdir}
+ data_dir=${S}/${dname##${B}}/data
+ if [ -d ${data_dir} ]; then
+ cp -r ${data_dir} ${D}${PTEST_PATH}/${pdir}
+ fi
+ fi
+ done
}
-do_install_append_class-nativesdk() {
+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 = "282d5530534c0297710759b81568cdb1c7c627c6"
+SRCREV = "73eeb35f09fd1ea846bb0f5ce507316f587fda9f"
BBCLASSEXTEND =+ "native nativesdk"
diff --git a/recipes-qt/qt5/qtenginio_git.bb b/recipes-qt/qt5/qtenginio_git.bb
deleted file mode 100644
index 30d5eeae..00000000
--- a/recipes-qt/qt5/qtenginio_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-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/recipes-qt/qt5/qtgamepad_git.bb b/recipes-qt/qt5/qtgamepad_git.bb
index 13885f25..dbe696b5 100644
--- a/recipes-qt/qt5/qtgamepad_git.bb
+++ b/recipes-qt/qt5/qtgamepad_git.bb
@@ -1,7 +1,9 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GPL-3.0 | LGPL-3.0 | The-Qt-Company-Commercial"
+inherit pkgconfig
+
+LICENSE = "GPL-3.0-only | LGPL-3.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPLv3;md5=c4fe8c6de4eef597feec6e90ed62e962 \
file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
@@ -14,4 +16,4 @@ PACKAGECONFIG[sdl2] = "-feature-sdl2,-no-feature-sdl2,libsdl2"
EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "5811f1752f8084f8b7aebc315dc40705739966ee"
+SRCREV = "01a74df25b14981cf054d58ac238083f5715c80c"
diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb
index f593fd1c..2a7f7268 100644
--- a/recipes-qt/qt5/qtgraphicaleffects_git.bb
+++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -10,12 +10,12 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
-DEPENDS += "qtdeclarative"
+DEPENDS += "qtdeclarative qtdeclarative-native"
-RDEPENDS_${PN}-dev = ""
+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)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-SRCREV = "cd1ce384b9ffb85b41864da3c27dcdf6705510c5"
+SRCREV = "161bf75024a8d04bf843c058717feef93de73624"
diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb
index 37c3ada2..4986276c 100644
--- a/recipes-qt/qt5/qtimageformats_git.bb
+++ b/recipes-qt/qt5/qtimageformats_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = " \
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 \
"
@@ -26,4 +25,4 @@ PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp"
EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "950add07f0f2ee20a2af60f081dc1676f9405d5e"
+SRCREV = "348a2b3860519a00f8b8f4cb690497b3f2ac5e7b"
diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb
new file mode 100644
index 00000000..3ce3a0ef
--- /dev/null
+++ b/recipes-qt/qt5/qtknx_git.bb
@@ -0,0 +1,12 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "(GPL-3.0-only & 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 = "f3a5a0a7b03ec565ab565ab316db974384eb59e1"
diff --git a/recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch b/recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch
new file mode 100644
index 00000000..78b5468e
--- /dev/null
+++ b/recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch
@@ -0,0 +1,52 @@
+From 92ce461e77dad3451eb5791efe7413a989dc2c3c Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@konsulko.com>
+Date: Wed, 7 Jun 2023 22:59:53 +0000
+Subject: [PATCH] mapbox-gl: explicitly include cstdint header
+
+Otherwise gcc13 report "undeclared" error for uint8_t and uint32_t
+
+Upstream-Status: Pending
+
+Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
+---
+ include/mbgl/util/geometry.hpp | 1 +
+ include/mbgl/util/string.hpp | 1 +
+ src/mbgl/gl/stencil_mode.hpp | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/include/mbgl/util/geometry.hpp b/include/mbgl/util/geometry.hpp
+index a28c59a47..92d928a37 100644
+--- a/include/mbgl/util/geometry.hpp
++++ b/include/mbgl/util/geometry.hpp
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <cstdint>
+ #include <mapbox/geometry/geometry.hpp>
+ #include <mapbox/geometry/point_arithmetic.hpp>
+ #include <mapbox/geometry/for_each_point.hpp>
+diff --git a/include/mbgl/util/string.hpp b/include/mbgl/util/string.hpp
+index 13498ccb9..726f7f6fc 100644
+--- a/include/mbgl/util/string.hpp
++++ b/include/mbgl/util/string.hpp
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <cstdint>
+ #include <sstream>
+ #include <string>
+ #include <cassert>
+diff --git a/src/mbgl/gl/stencil_mode.hpp b/src/mbgl/gl/stencil_mode.hpp
+index bc959c9a7..2fc62bba7 100644
+--- a/src/mbgl/gl/stencil_mode.hpp
++++ b/src/mbgl/gl/stencil_mode.hpp
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <cstdint>
+ #include <mbgl/util/variant.hpp>
+
+ namespace mbgl {
+--
+2.25.1
+
diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb
index ed00c405..0aaaf9d2 100644
--- a/recipes-qt/qt5/qtlocation_git.bb
+++ b/recipes-qt/qt5/qtlocation_git.bb
@@ -1,35 +1,42 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0 | The-Qt-Company-Commercial"
+LICENSE = "Apache-2.0 & MIT & OpenSSL & BSL-1.0 & GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | 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.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.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
+ 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[geoclue] = ",,,geoclue"
PACKAGECONFIG[gypsy] = "-feature-gypsy,-no-feature-gypsy,gconf gypsy"
+PACKAGECONFIG[geoservices_here] = "-feature-geoservices_here,-no-feature-geoservices_here"
+PACKAGECONFIG[geoservices_mapbox] = "-feature-geoservices_mapbox,-no-feature-geoservices_mapbox"
+PACKAGECONFIG[geoservices_esri] = "-feature-geoservices_esri,-no-feature-geoservices_esri"
+PACKAGECONFIG[geoservices_itemsoverlay] = "-feature-geoservices_itemsoverlay,-no-feature-geoservices_itemsoverlay"
+PACKAGECONFIG[geoservices_osm] = "-feature-geoservices_osm,-no-feature-geoservices_osm"
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)}"
+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=upstream/qt-staging;protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \
+ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \
+ file://0001-mapbox-gl-explicitly-include-cstdint-header.patch;patchdir=src/3rdparty/mapbox-gl-native \
"
-SRCREV_qtlocation = "1ab65694be69f328515389589998e5a321ee1104"
-SRCREV_qtlocation-mapboxgl = "8c1be4ec01ef46bf453856531ebf53b48ce3dbe7"
+SRCREV_qtlocation = "ff8d83c1b94fe6f13247b844268c0c6816081e6d"
+SRCREV_qtlocation-mapboxgl = "d3101bbc22edd41c9036ea487d4a71eabd97823d"
SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl"
diff --git a/recipes-qt/qt5/qtlottie_git.bb b/recipes-qt/qt5/qtlottie_git.bb
new file mode 100644
index 00000000..c6a6e0cb
--- /dev/null
+++ b/recipes-qt/qt5/qtlottie_git.bb
@@ -0,0 +1,12 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "(GPL-3.0-only & 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 qtdeclarative"
+
+SRCREV = "a56808f219f9a660dd48ee7e330d0bf86d2cee9b"
diff --git a/recipes-qt/qt5/qtmqtt_git.bb b/recipes-qt/qt5/qtmqtt_git.bb
new file mode 100644
index 00000000..f2caefb2
--- /dev/null
+++ b/recipes-qt/qt5/qtmqtt_git.bb
@@ -0,0 +1,12 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "(GPL-3.0-only & 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 = "690889a590a18495b79217d4ef0436165bf1a74b"
diff --git a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
index 0bcac424..6973e235 100644
--- a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
+++ b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch
@@ -1,4 +1,4 @@
-From bf2fa82b9ee1a9ab38ddbcdd68327bb5aed06c12 Mon Sep 17 00:00:00 2001
+From dc8c12331e567ace9e05fce3198c1c121ec2927d 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
@@ -7,16 +7,17 @@ Use lgl2.h instead of gl2.h and gl2ext.h,
fix a "conflicting declaration" error.
Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
+Upstream-Status: Pending
---
- src/plugins/videonode/imx6/lgl2.h | 46 ++++++++++++++++++++++
- .../videonode/imx6/qsgvivantevideomaterial.cpp | 5 ++-
- src/plugins/videonode/imx6/qsgvivantevideonode.cpp | 5 ++-
+ 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 0000000..2423697
+index 00000000..24236976
--- /dev/null
+++ b/src/plugins/videonode/imx6/lgl2.h
@@ -0,0 +1,46 @@
@@ -67,7 +68,7 @@ index 0000000..2423697
+
+#endif
diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
-index 465ccfa..40e7592 100644
+index e1468fe3..a77a9d6a 100644
--- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
@@ -37,8 +37,9 @@
@@ -83,7 +84,7 @@ index 465ccfa..40e7592 100644
#include "qsgvivantevideomaterial.h"
#include "qsgvivantevideomaterialshader.h"
diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
-index c8d83b4..5b1b8f2 100644
+index c8d83b4b..5b1b8f24 100644
--- a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
+++ b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
@@ -37,8 +37,9 @@
diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb
index 1453bcd1..8d90bd9b 100644
--- a/recipes-qt/qt5/qtmultimedia_git.bb
+++ b/recipes-qt/qt5/qtmultimedia_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -12,7 +12,10 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtdeclarative"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
+inherit pkgconfig
+
+PACKAGECONFIG ??= "gstreamer \
+ ${@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"
@@ -25,14 +28,22 @@ EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
# Disable GStreamer if completely disabled
EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', '-no-gstreamer', d)}"
-# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.9
-# 5.9.meta-qt5.5
+CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DMESA_EGL_NO_X11_HEADERS=1', d)}"
+
+# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.15
+# 5.15.meta-qt5.1
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)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+SRCREV = "b46203a7c4e4889c76f59e4a72da68a069a8f9c4"
-SRCREV = "1e70299bba804ef919c4c39ad15c1762c239d60c"
+# Temporary work around for Qt5MultimediaConfig.cmake referencing non-existent videoeglvideonode directory
+do_install:append() {
+ install -d ${D}${OE_QMAKE_PATH_PLUGINS}/videoeglvideonode
+}
+FILES:${PN} += "${OE_QMAKE_PATH_PLUGINS}/videoeglvideonode"
diff --git a/recipes-qt/qt5/qtnetworkauth_git.bb b/recipes-qt/qt5/qtnetworkauth_git.bb
index ea4b8ccc..197ccbf4 100644
--- a/recipes-qt/qt5/qtnetworkauth_git.bb
+++ b/recipes-qt/qt5/qtnetworkauth_git.bb
@@ -1,12 +1,12 @@
-LICENSE = "BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LICENSE = "BSD-3-Clause & GPL-3.0-only & 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
+require qt5-lts.inc
DEPENDS += "qtbase"
-SRCREV = "8c0018db2a15c771707615061e767a955d2847d7"
+SRCREV = "100c1e57b571ef00d9f715f24e945dd1cfb07044"
diff --git a/recipes-qt/qt5/qtopcua_git.bb b/recipes-qt/qt5/qtopcua_git.bb
new file mode 100644
index 00000000..46fc7c9a
--- /dev/null
+++ b/recipes-qt/qt5/qtopcua_git.bb
@@ -0,0 +1,21 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "( GFDL-1.3 & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial ) & MPL-2.0 & CC0-1.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.FDL;md5=f70ee9a6c44ae8917586fea34dff0ab5 \
+ file://LICENSE.GPLv2;md5=05832301944453ec79e40ba3c3cfceec \
+ file://LICENSE.LGPLv3;md5=c4fe8c6de4eef597feec6e90ed62e962 \
+"
+
+PACKAGECONFIG ?= "qtdeclarative"
+PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
+
+# src/3rdparty/open62541.pri adds -Wno-format, causing following error
+# because -Wformat-security cannot be used together with -Wno-format
+# cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
+SECURITY_STRINGFORMAT = ""
+
+DEPENDS += "qtbase"
+
+SRCREV = "950f40dcc2d365d6e9ac60fe20178c8ba48a1b6a"
diff --git a/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch b/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch
new file mode 100644
index 00000000..013832e5
--- /dev/null
+++ b/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch
@@ -0,0 +1,23 @@
+From be54e6e336001ed3ed342f65f379c2e355d847f0 Mon Sep 17 00:00:00 2001
+From: Leif Middelschulte <Leif.Middelschulte@klsmartin.com>
+Date: Tue, 8 Feb 2022 14:14:02 +0100
+Subject: [PATCH] configure.json: remove python2 dependency
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/buildtools/configure.json | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json
+index 5e5d9d725..541b7b740 100644
+--- a/src/buildtools/configure.json
++++ b/src/buildtools/configure.json
+@@ -422,7 +422,6 @@
+ && features.webengine-gperf
+ && features.webengine-bison
+ && features.webengine-flex
+- && features.webengine-python
+ && (!config.sanitizer || features.webengine-sanitizer)
+ && (!config.linux || features.pkg-config)
+ && (!config.linux || features.webengine-host-pkg-config)
diff --git a/recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch b/recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch
new file mode 100644
index 00000000..c95e7d02
--- /dev/null
+++ b/recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch
@@ -0,0 +1,25 @@
+From 6e25650c829bf1052f607b3f3edbdf88f163efe0 Mon Sep 17 00:00:00 2001
+From: Leif Middelschulte <Leif.Middelschulte@klsmartin.com>
+Date: Tue, 8 Feb 2022 16:28:14 +0100
+Subject: [PATCH] gn.pro: do not try to statically link stdc++
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/buildtools/gn.pro | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
+index a8ca6567b..9632f0ef7 100644
+--- a/src/buildtools/gn.pro
++++ b/src/buildtools/gn.pro
+@@ -20,7 +20,8 @@ build_pass|!debug_and_release {
+
+ gn_gen_args = --no-last-commit-position --out-path $$out_path \
+ --cc \"$$which($$CC_host)\" --cxx \"$$which($$CXX_host)\" \
+- --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\"
++ --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\" \
++ --no-static-libstdc++
+
+ msvc:!clang_cl: gn_gen_args += --use-lto
+
diff --git a/recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch b/recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch
new file mode 100644
index 00000000..21fe4f0b
--- /dev/null
+++ b/recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch
@@ -0,0 +1,40 @@
+From 9e1036a25207f9013a13b23401feacd72866be4c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 26 Feb 2022 18:15:28 -0800
+Subject: [PATCH] Fix build with clang
+
+use GNU runtime when building native tools like gn
+when using native clang compiler
+
+Fixes
+| FAILED: gn
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/qtpdf/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot-native/usr/bin/clang++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-stri
+p-all -Wl,--as-needed -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl
+| /mnt/b/yoe/master/build/tmp/hosttools/ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libclang_rt.builtins-x86_64.a: No such file or directory
+
+Fix building with clang from meta-clang
+
+Clang defaults to llvm runtime and this patch is needed
+for building the host tools, since its using native runtime
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/buildtools/gn.pro | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
+index 9632f0ef7..5ff50cca1 100644
+--- a/src/buildtools/gn.pro
++++ b/src/buildtools/gn.pro
+@@ -20,8 +20,7 @@ build_pass|!debug_and_release {
+
+ gn_gen_args = --no-last-commit-position --out-path $$out_path \
+ --cc \"$$which($$CC_host)\" --cxx \"$$which($$CXX_host)\" \
+- --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\" \
+- --no-static-libstdc++
++ --ld \"$$which($$CXX_host) -stdlib=libc++ -rtlib=libgcc -unwindlib=libgcc $$(GN_HOST_TOOLCHAIN_EXTRA_LDFLAGS)\" --ar \"$$which(ar)\"
+
+ msvc:!clang_cl: gn_gen_args += --use-lto
+
diff --git a/recipes-qt/qt5/qtpdf_git.bb b/recipes-qt/qt5/qtpdf_git.bb
new file mode 100644
index 00000000..ad17f36e
--- /dev/null
+++ b/recipes-qt/qt5/qtpdf_git.bb
@@ -0,0 +1,221 @@
+SUMMARY = "Qt Pdf support"
+
+# Read http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
+LICENSE = "BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0-only | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ 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 \
+ ninja-native \
+ bison-native \
+ qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \
+ jpeg-native \
+ freetype-native \
+ gperf-native \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxcursor libxi libxrandr libxtst libxkbfile', '', d)} \
+"
+
+DEPENDS:append:libc-musl = " libexecinfo"
+
+inherit pkgconfig
+
+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, libvpx
+# Only depenedencies available in oe-core are enabled by default
+PACKAGECONFIG ??= "libevent libpng \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+
+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[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"
+PACKAGECONFIG[pulseaudio] = "-feature-webengine-pulseaudio,-no-feature-webengine-pulseaudio,pulseaudio"
+
+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 = "(.*)"
+COMPATIBLE_MACHINE:riscv64 = "(.*)"
+
+inherit qmake5
+inherit gettext
+inherit perlnative
+inherit 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 GN_HOST_TOOLCHAIN_EXTRA_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE}"
+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} -verbose
+}
+
+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
+}
+
+do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
+
+# 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 = "87-based"
+
+# Uses the same repository and couple patches as qtwebengine, but qtwebengine
+# still depends on python2
+QT_MODULE = "qtwebengine"
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtwebengine:"
+
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc
+# 5.15-glibc.meta-qt5.17
+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 \
+"
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15
+# 5.15.meta-qt5.17
+SRC_URI:append:libc-musl = "\
+ file://0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \
+ file://0003-musl-link-against-libexecinfo.patch \
+ file://0004-mkspecs-Allow-builds-with-libc-glibc.patch \
+"
+
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc
+# 87-based-glibc.meta-qt5.11
+SRC_URI += " \
+ file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \
+ file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \
+ file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \
+ file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \
+ file://chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \
+ file://chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \
+ file://chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \
+ file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \
+ file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \
+ file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \
+ file://chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch;patchdir=src/3rdparty \
+ file://chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch;patchdir=src/3rdparty \
+ file://chromium/0024-Fix-dependecy-when-compiling-content-browser.patch;patchdir=src/3rdparty \
+"
+
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based
+# 87-based.meta-qt5.11
+SRC_URI:append:libc-musl = "\
+ file://chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \
+ file://chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \
+ file://chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \
+ file://chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \
+ file://chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \
+ file://chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
+ file://chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
+ file://chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
+ file://chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \
+ file://chromium/0022-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \
+ file://chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \
+"
+
+SRCREV_qtwebengine = "17fd3176988586168bee8654008a097a5f23ec1d"
+SRCREV_chromium = "fdfef5b37af3bed8402d7c7e20a5487f2602b0a6"
+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"
+
+###
+### This recipe's part above is mostly a copy of qtwebengine_git.bb.
+### The PACKAGECONFIG flags were kept to avoid enablement of any unwished-for features
+### There were only some (build) dependencies removed.
+###
+
+# First patch skips "python2" dependency checks for the pdf module
+# Second patch repairs a failing build of the `gn` buildtool due to missing (host) libstdc++
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-qtpdf
+# 5.15-qtpdf.meta-qt5.5
+SRC_URI += " \
+ file://0001-configure.json-remove-python2-dependency.patch \
+ file://0002-gn.pro-do-not-try-to-statically-link-stdc.patch \
+"
+SRC_URI:append:toolchain-clang:runtime-llvm = " file://0003-Fix-build-with-clang.patch"
+
+# These flags below go more into detail than qtwebengine's documentation
+PACKAGECONFIG[no-core] = "-no-build-qtwebengine-core,,"
+PACKAGECONFIG[qtpdf] = "-feature-build-qtpdf,-no-feature-build-qtpdf,python3-native"
+PACKAGECONFIG[webengine-pdf] = "-feature-webengine-python,-no-feature-webengine-python,python3-native"
+
+# The flags below enable just the PDF widget
+PACKAGECONFIG = "no-core qtpdf"
+
+# Work around gn's dependency on python (2).
+# To build qtpdf it works just as well with python3.
+EXTRA_QMAKEVARS_PRE += "QMAKE_PYTHON2=python3"
diff --git a/recipes-qt/qt5/qtpurchasing_git.bb b/recipes-qt/qt5/qtpurchasing_git.bb
new file mode 100644
index 00000000..1d93d2a5
--- /dev/null
+++ b/recipes-qt/qt5/qtpurchasing_git.bb
@@ -0,0 +1,13 @@
+require qt5.inc
+require qt5-lts.inc
+
+HOMEPAGE = "http://www.qt.io"
+LICENSE = "Apache-2.0 & BSD-3-Clause & ( LGPL-3.0-only | GPL-3.0-only | The-Qt-Company-Commercial )"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPLv3;md5=b8c75190712063cde04e1f41b6fdad98 \
+ file://LICENSE.GPLv3;md5=40f9bf30e783ddc201497165dfb32afb \
+"
+
+DEPENDS += "qtbase qtdeclarative"
+
+SRCREV = "e879db20f84340a9eaef66cd34137eafa5388b00"
diff --git a/recipes-qt/qt5/qtquick1/run-ptest b/recipes-qt/qt5/qtquick1/run-ptest
deleted file mode 100644
index 044f834d..00000000
--- a/recipes-qt/qt5/qtquick1/run-ptest
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-for x in ` awk '{print $1}' tst_list `;do
- ./${x};
-done
-
diff --git a/recipes-qt/qt5/qtquick1_git.bb b/recipes-qt/qt5/qtquick1_git.bb
deleted file mode 100644
index a8fbb8e7..00000000
--- a/recipes-qt/qt5/qtquick1_git.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-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.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
- file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
- file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
- file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
- file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
-"
-
-DEPENDS += "qtscript qtsvg qtxmlpatterns"
-# qttools
-
-PACKAGECONFIG ??= "webkit"
-PACKAGECONFIG[webkit] = ",,qtwebkit"
-
-EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'webkit', '', 'CONFIG+=noqtwebkit', d)}"
-
-do_configure_prepend() {
- sed -i 's#^qtHaveModule(webkitwidgets):#qtHaveModule(webkitwidgets):!contains(CONFIG, noqtwebkit):#g' ${S}/src/imports/imports.pro
-}
-
-QT_MODULE_BRANCH = "dev"
-SRCREV = "fa02271a18837f20e82006de23c2af1899294aa1"
diff --git a/recipes-qt/qt5/qtquick3d_git.bb b/recipes-qt/qt5/qtquick3d_git.bb
new file mode 100644
index 00000000..9349e098
--- /dev/null
+++ b/recipes-qt/qt5/qtquick3d_git.bb
@@ -0,0 +1,27 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "(GPL-3.0-only & BSD-3-Clause) | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+DEPENDS += "qtbase qtdeclarative qtquickcontrols2"
+
+SRC_URI += " \
+ git://code.qt.io/qt/qtquick3d-assimp.git;name=assimp;branch=qt6_assimp;protocol=https;destsuffix=git/src/3rdparty/assimp/src \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[system-assimp] = "-system-quick3d-assimp,-qt-quick3d-assimp,assimp"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
+
+FILES:${PN}-qmlplugins += " \
+ ${OE_QMAKE_PATH_QML}/QtQuick3D/Helpers/meshes/*.mesh \
+"
+
+SRCREV_qtquick3d = "d3272d49a0a01714bc486e0fd39ae2bbfe7a74c6"
+SRCREV_assimp = "8f0c6b04b2257a520aaab38421b2e090204b69df"
+
+SRCREV_FORMAT = "qtquick3d_assimp"
diff --git a/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch b/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch
new file mode 100644
index 00000000..1692e2de
--- /dev/null
+++ b/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch
@@ -0,0 +1,129 @@
+From 9fada65e1dd8958cbe4b8dc12c9e4814fcff5a6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 16 Apr 2021 21:54:16 +0200
+Subject: [PATCH] Revert "Get the scale of the popup item when setting the
+ parent item"
+
+Upgrade 5.14.2 (for us dunfell) -> 5.15.2 introduced a bug: Opening a menu
+for the second+ time, menu moves right and down and parts land outside screen.
+Reported but nobody cares. [1]
+
+[1] https://bugreports.qt.io/browse/QTBUG-86973
+
+Upstream-Status: Pending
+
+This reverts commit 761dba8b23b7e558acc57b3e481648ce319a4397.
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/quicktemplates2/qquickpopuppositioner.cpp | 18 +++++++--------
+ .../qquickpopuppositioner_p_p.h | 1 -
+ tests/auto/controls/data/tst_combobox.qml | 22 -------------------
+ tests/auto/controls/data/tst_popup.qml | 3 ---
+ 4 files changed, 8 insertions(+), 36 deletions(-)
+
+diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp
+index 1bfaafbe6..dbe8ac1d5 100644
+--- a/src/quicktemplates2/qquickpopuppositioner.cpp
++++ b/src/quicktemplates2/qquickpopuppositioner.cpp
+@@ -92,10 +92,7 @@ void QQuickPopupPositioner::setParentItem(QQuickItem *parent)
+
+ QQuickItemPrivate::get(parent)->addItemChangeListener(this, ItemChangeTypes);
+ addAncestorListeners(parent->parentItem());
+- // Store the scale property so the end result of any transition that could effect the scale
+- // does not influence the top left of the final popup, so it doesn't appear to flip from one
+- // position to another as a result
+- m_popupScale = m_popup->popupItem()->scale();
++
+ if (m_popup->popupItem()->isVisible())
+ QQuickPopupPrivate::get(m_popup)->reposition();
+ }
+@@ -111,10 +108,11 @@ void QQuickPopupPositioner::reposition()
+ return;
+ }
+
+- const qreal w = popupItem->width() * m_popupScale;
+- const qreal h = popupItem->height() * m_popupScale;
+- const qreal iw = popupItem->implicitWidth() * m_popupScale;
+- const qreal ih = popupItem->implicitHeight() * m_popupScale;
++ const qreal scale = popupItem->scale();
++ const qreal w = popupItem->width() * scale;
++ const qreal h = popupItem->height() * scale;
++ const qreal iw = popupItem->implicitWidth() * scale;
++ const qreal ih = popupItem->implicitHeight() * scale;
+
+ bool widthAdjusted = false;
+ bool heightAdjusted = false;
+@@ -260,9 +258,9 @@ void QQuickPopupPositioner::reposition()
+ }
+
+ if (!p->hasWidth && widthAdjusted && rect.width() > 0)
+- popupItem->setWidth(rect.width() / m_popupScale);
++ popupItem->setWidth(rect.width() / scale);
+ if (!p->hasHeight && heightAdjusted && rect.height() > 0)
+- popupItem->setHeight(rect.height() / m_popupScale);
++ popupItem->setHeight(rect.height() / scale);
+ m_positioning = false;
+ }
+
+diff --git a/src/quicktemplates2/qquickpopuppositioner_p_p.h b/src/quicktemplates2/qquickpopuppositioner_p_p.h
+index 03a2e2fed..64f57a3fa 100644
+--- a/src/quicktemplates2/qquickpopuppositioner_p_p.h
++++ b/src/quicktemplates2/qquickpopuppositioner_p_p.h
+@@ -79,7 +79,6 @@ protected:
+ bool m_positioning = false;
+ QQuickItem *m_parentItem = nullptr;
+ QQuickPopup *m_popup = nullptr;
+- qreal m_popupScale = 1.0;
+ };
+
+ QT_END_NAMESPACE
+diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml
+index 1c58372ff..e9156fee5 100644
+--- a/tests/auto/controls/data/tst_combobox.qml
++++ b/tests/auto/controls/data/tst_combobox.qml
+@@ -911,28 +911,6 @@ TestCase {
+ compare(control.popup.visible, true)
+ verify(control.popup.contentItem.y < control.y)
+
+-
+- // Account for when a transition of a scale from 0.9-1.0 that it is placed above right away and not below
+- // first just because there is room at the 0.9 scale
+- if (control.popup.enter !== null) {
+- // hide
+- mouseClick(control)
+- compare(control.pressed, false)
+- tryCompare(control.popup, "visible", false)
+- control.y = control.Window.height - (control.popup.contentItem.height * 0.99)
+- var popupYSpy = createTemporaryObject(signalSpy, testCase, {target: control.popup, signalName: "yChanged"})
+- verify(popupYSpy.valid)
+- mousePress(control)
+- compare(control.pressed, true)
+- compare(control.popup.visible, false)
+- mouseRelease(control)
+- compare(control.pressed, false)
+- compare(control.popup.visible, true)
+- tryCompare(control.popup.enter, "running", false)
+- verify(control.popup.contentItem.y < control.y)
+- verify(popupYSpy.count === 1)
+- }
+-
+ // follow the control outside the horizontal window bounds
+ control.x = -control.width / 2
+ compare(control.x, -control.width / 2)
+diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml
+index 57d5ccccf..71d6f2d76 100644
+--- a/tests/auto/controls/data/tst_popup.qml
++++ b/tests/auto/controls/data/tst_popup.qml
+@@ -1276,9 +1276,6 @@ TestCase {
+ { visible: true, width: 100, height: 100 })
+ verify(control)
+ verify(control.visible)
+- // If there is a transition then make sure it is finished
+- if (control.enter !== null)
+- tryCompare(control.enter, "running", false)
+ compare(control.parent, control.Overlay.overlay)
+ compare(control.x, 0)
+ compare(control.y, 0)
+--
+2.26.2
+
diff --git a/recipes-qt/qt5/qtquickcontrols2_git.bb b/recipes-qt/qt5/qtquickcontrols2_git.bb
index d371e21e..7ad39bef 100644
--- a/recipes-qt/qt5/qtquickcontrols2_git.bb
+++ b/recipes-qt/qt5/qtquickcontrols2_git.bb
@@ -1,13 +1,15 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & LGPL-3.0-only | GPL-3.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.LGPLv3;md5=382747d0119037529ec2b98b24038eb0 \
file://LICENSE.GPLv3;md5=dce746aa5261707df6d6999ab9958d8b \
"
-DEPENDS += "qtdeclarative"
+DEPENDS += "qtdeclarative qtdeclarative-native"
-SRCREV = "7a1aa360fdbbc2852318967d227f1dcb009be976"
+SRC_URI += "file://0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch"
+
+SRCREV = "32755d45229fdcb2de7af1b21a23d9649773d6cb"
diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb
index 8a6fcd9a..fcde2ea9 100644
--- a/recipes-qt/qt5/qtquickcontrols_git.bb
+++ b/recipes-qt/qt5/qtquickcontrols_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -10,11 +10,11 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
-DEPENDS += "qtdeclarative"
+DEPENDS += "qtdeclarative qtdeclarative-native"
-FILES_${PN}-qmlplugins += " \
+FILES:${PN}-qmlplugins += " \
${OE_QMAKE_PATH_QML}/QtQuick/Controls/Shaders \
${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \
"
-SRCREV = "4961e95a525629fc4b92999bbf32963762fce1c6"
+SRCREV = "dd98d78caa6f68c9aa6ffe61445ddfed701daf98"
diff --git a/recipes-qt/qt5/qtquicktimeline_git.bb b/recipes-qt/qt5/qtquicktimeline_git.bb
new file mode 100644
index 00000000..c31d119f
--- /dev/null
+++ b/recipes-qt/qt5/qtquicktimeline_git.bb
@@ -0,0 +1,13 @@
+require qt5.inc
+require qt5-lts.inc
+
+DESCRIPTION = "Qt Quick Timeline"
+LICENSE = "GPL-2.0-or-later | The-Qt-Company-Commercial"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ "
+
+DEPENDS = "qtbase qtdeclarative"
+
+SRCREV = "4278a28a27317bbb30c978ccc21e2e58d83d5d1f"
diff --git a/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch b/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch
index 4a49b620..90588176 100644
--- a/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch
+++ b/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch
@@ -1,16 +1,18 @@
-From a83e4f796c44cda70ac839f5cd545e88097c8e91 Mon Sep 17 00:00:00 2001
+From 7cad6026250fc10503f4373e8d5e0228e7420446 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
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
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
+index fd321e3..e218217 100644
--- a/mkspecs/features/repccommon.pri
+++ b/mkspecs/features/repccommon.pri
@@ -3,7 +3,7 @@ cmd = $${QT.remoteobjects.bins}/repc
@@ -23,10 +25,10 @@ index 5e88bf8..6efd19e 100644
# qtPrepareTool honors QT_TOOL.repc.binary if set
qtPrepareTool(QMAKE_REPC, repc)
diff --git a/qtremoteobjects.pro b/qtremoteobjects.pro
-index c2e2b6b..93c2bb5 100644
+index 454f0d1..7c1d2ee 100644
--- a/qtremoteobjects.pro
+++ b/qtremoteobjects.pro
-@@ -2,3 +2,8 @@ CONFIG += examples_need_tools tests_need_tools
+@@ -4,3 +4,8 @@ CONFIG += examples_need_tools tests_need_tools
load(qt_parts)
SUBDIRS += mkspecs
diff --git a/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
new file mode 100644
index 00000000..b0bfd34e
--- /dev/null
+++ b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
@@ -0,0 +1,24 @@
+From 812ed2c2f89c6df731d7698fe2bf253e3afa179a Mon Sep 17 00:00:00 2001
+From: ibinderwolf <daniel@bluepattern.net>
+Date: Wed, 26 Jun 2019 09:46:48 +0200
+Subject: [PATCH] cmake Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in b/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in
+index f98c37a..0f8aee5 100644
+--- a/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in
++++ b/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in
+@@ -40,7 +40,7 @@ if (NOT TARGET Qt5::repc)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+ set(imported_location \"${_qt5RemoteObjects_install_prefix}/$${CMAKE_BIN_DIR}repc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+- set(imported_location \"$${CMAKE_BIN_DIR}repc$$CMAKE_BIN_SUFFIX\")
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/repc${OE_QMAKE_BIN_SUFFIX}\")
+ !!ENDIF
+ _qt5_RemoteObjects_check_file_exists(${imported_location})
+
diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb
index 4416efc4..3dd17b2d 100644
--- a/recipes-qt/qt5/qtremoteobjects_git.bb
+++ b/recipes-qt/qt5/qtremoteobjects_git.bb
@@ -1,4 +1,4 @@
-LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LICENSE = "BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
@@ -7,23 +7,24 @@ LIC_FILES_CHKSUM = " \
"
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
DEPENDS += "qtbase qtdeclarative qtremoteobjects-native"
-# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.9
-# 5.9.meta-qt5.5
+# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.15
+# 5.15.meta-qt5.1
SRC_URI += " \
file://0001-Allow-a-tools-only-build.patch \
+ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \
"
PACKAGECONFIG ??= ""
-PACKAGECONFIG_class-native ??= "tools-only"
-PACKAGECONFIG_class-nativesdk ??= "tools-only"
+PACKAGECONFIG:class-native ??= "tools-only"
+PACKAGECONFIG:class-nativesdk ??= "tools-only"
PACKAGECONFIG[tools-only] = "CONFIG+=tools-only"
EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "a4ac5446eefaa5577115ac604b41fcfb48c9f775"
+SRCREV = "e006bf7ec70e4e1617810667f992aa3f9b01cd0f"
BBCLASSEXTEND += "native nativesdk"
diff --git a/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch b/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch
new file mode 100644
index 00000000..35af2d9f
--- /dev/null
+++ b/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch
@@ -0,0 +1,36 @@
+From f752f2a0a7565ff62376eb61b3a67389fe1fa2fc 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 a4695a2..4b7a45b 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/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb
index 06bb6b7b..ded1b5a7 100644
--- a/recipes-qt/qt5/qtscript_git.bb
+++ b/recipes-qt/qt5/qtscript_git.bb
@@ -2,14 +2,21 @@ 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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | 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;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
+# Patches from https://github.com/meta-qt5/qtscript/commits/b5.15
+# 5.15.meta-qt5.1
+SRC_URI += " \
+ file://0001-Include-asm-sgidefs.h-on-non-glibc-systems.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]
@@ -20,13 +27,13 @@ LIC_FILES_CHKSUM = " \
#{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"
+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)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-SRCREV = "39fd6bb400aa0433566151358be97e738ef316b8"
+SRCREV = "572daa83e990ce88cca27909470c5404657ec9de"
diff --git a/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch b/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch
index 36a6d031..47be0b7f 100644
--- a/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch
+++ b/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch
@@ -1,4 +1,4 @@
-From c9886590333dce8a1dd1e198f5449bb841033bc8 Mon Sep 17 00:00:00 2001
+From d5eb24a355d98c8961ce4b89e0622001480f7c90 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
@@ -14,7 +14,7 @@ Change-Id: Idb814be705e9cbaad7f1e68b5d7cdb79c4b65008
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
+index b9b589f..bb52533 100644
--- a/src/scxml/Qt5ScxmlConfigExtras.cmake.in
+++ b/src/scxml/Qt5ScxmlConfigExtras.cmake.in
@@ -40,7 +40,7 @@ if (NOT TARGET Qt5::qscxmlc)
diff --git a/recipes-qt/qt5/qtscxml_git.bb b/recipes-qt/qt5/qtscxml_git.bb
index 571d2afa..8a105e4b 100644
--- a/recipes-qt/qt5/qtscxml_git.bb
+++ b/recipes-qt/qt5/qtscxml_git.bb
@@ -1,4 +1,4 @@
-LICENSE = "LGPL-3.0 & BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LICENSE = "LGPL-3.0-only & BSD-3-Clause & GPL-3.0-only & 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 \
@@ -6,17 +6,17 @@ LIC_FILES_CHKSUM = " \
"
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native"
-SRCREV = "e054306b679a56970af282df26baab7aaefcf8fa"
+SRCREV = "9c12ec9ad94d84f3c2319cc461b6342bdfd3b593"
-# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.9
-# 5.9.meta-qt5.5
+# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.15
+# 5.15.meta-qt5.1
SRC_URI += "file://0001-Use-external-host-bin-path-for-cmake-file.patch"
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
# qml files not needed in nativesdk
rm -rf ${D}${OE_QMAKE_PATH_QML}
}
diff --git a/recipes-qt/qt5/qtsensors_git.bb b/recipes-qt/qt5/qtsensors_git.bb
index 0df5b492..62312884 100644
--- a/recipes-qt/qt5/qtsensors_git.bb
+++ b/recipes-qt/qt5/qtsensors_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase qtdeclarative"
-SRCREV = "a1e9b6acb2149f40f130b5cfface16b2cd877f79"
+SRCREV = "83ee0a26e791e0a9ea01df2109e26053d3ec2ab5"
diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb
index 53e4fd0e..c5e20fc9 100644
--- a/recipes-qt/qt5/qtserialbus_git.bb
+++ b/recipes-qt/qt5/qtserialbus_git.bb
@@ -1,14 +1,20 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GFDL-1.3 & (LGPL-3.0 | GPL-2.0+) | The-Qt-Company-Commercial"
+LICENSE = "GFDL-1.3 & (LGPL-3.0-only | GPL-2.0-or-later) | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
- file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
- file://LICENSE.FDL;md5=f70ee9a6c44ae8917586fea34dff0ab5 \
+ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
"
-DEPENDS += "qtbase qtserialport"
+DEPENDS += "qtbase"
+
+PACKAGECONFIG ?= "modbus ${@bb.utils.contains('BBFILE_COLLECTIONS', 'openembedded-layer', 'socketcan', '', d)}"
+PACKAGECONFIG[modbus] = "-feature-modbus-serialport,-no-feature-modbus-serialport,qtserialport"
+PACKAGECONFIG[socketcan] = "-feature-socketcan,-no-feature-socketcan,,libsocketcan"
+
+EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "6e796645c50153de2502591132b4e8cdf4650fda"
+SRCREV = "58372774dcadfbfeb1f375103d1cd58b9ef1225a"
diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb
index 8a9da8b0..1c5bce54 100644
--- a/recipes-qt/qt5/qtserialport_git.bb
+++ b/recipes-qt/qt5/qtserialport_git.bb
@@ -1,18 +1,15 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-# text of LGPL_EXCEPTION.txt and LICENSE.FDL is slightly different than what
-# other qt* components use :/
-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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
- file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
- file://LGPL_EXCEPTION.txt;md5=bb426f3367c4805d1e12fad05bd0b750 \
- file://LICENSE.FDL;md5=3801d7932fdc07fd9efe89f9854a6caa \
- file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
DEPENDS += "qtbase"
-SRCREV = "672dd108843389dee272a51baec21ef836acaca9"
+SRCREV = "f4663160f1c5d0b1806f43ef2d1d25a5103995ec"
diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb
index 9b3ecbc0..5378985f 100644
--- a/recipes-qt/qt5/qtsvg_git.bb
+++ b/recipes-qt/qt5/qtsvg_git.bb
@@ -1,16 +1,15 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | 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 = "e2fbd2cf279b5af8d9d224f24d4a13978de5c252"
+SRCREV = "59b581701c0cb888f6ac9b6b3ef78b26b6d30d8d"
diff --git a/recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch b/recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch
new file mode 100644
index 00000000..93d34b8d
--- /dev/null
+++ b/recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch
@@ -0,0 +1,71 @@
+From 34071f47bb5a0b1617e8cc97d8259899f7e96f9f Mon Sep 17 00:00:00 2001
+From: ansar-rasool <ansar_rasool@mentor.com>
+Date: Wed, 22 Sep 2021 10:50:42 +0500
+Subject: [PATCH] qtsystems: install files only once
+
+This fixes build error for qtsystems when it tries to
+install files multiple times and fails with error of
+"Destination file exists".
+
+Upstream-Status: Pending
+Signed-off-by: ansar-rasool <ansar_rasool@mentor.com>
+---
+ examples/systeminfo/inputinfo/inputinfo.pro | 3 +--
+ examples/systeminfo/qml-battery/qml-battery.pro | 3 +--
+ examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro | 3 +--
+ examples/systeminfo/qml-inputinfo/qml-inputinfo.pro | 3 +--
+ 4 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/examples/systeminfo/inputinfo/inputinfo.pro b/examples/systeminfo/inputinfo/inputinfo.pro
+index a5365fa..d0947e8 100644
+--- a/examples/systeminfo/inputinfo/inputinfo.pro
++++ b/examples/systeminfo/inputinfo/inputinfo.pro
+@@ -22,5 +22,4 @@ HEADERS += \
+ inputtest.h
+
+ target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/inputinfo
+- app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/inputinfo
+- INSTALLS += target app
++INSTALLS += target
+diff --git a/examples/systeminfo/qml-battery/qml-battery.pro b/examples/systeminfo/qml-battery/qml-battery.pro
+index e9e3700..7c35d53 100644
+--- a/examples/systeminfo/qml-battery/qml-battery.pro
++++ b/examples/systeminfo/qml-battery/qml-battery.pro
+@@ -7,8 +7,7 @@ app.files = \
+ $$files(*.qml) \
+
+ target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-battery
+-app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-battery
+-INSTALLS += target app
++INSTALLS += target
+
+ RESOURCES += \
+ qml-battery.qrc
+diff --git a/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro b/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro
+index 4a39200..a942272 100644
+--- a/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro
++++ b/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro
+@@ -7,8 +7,7 @@ app.files = \
+ $$files(*.qml)
+
+ target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-deviceinfo
+-app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-deviceinfo
+-INSTALLS += target app
++INSTALLS += target
+
+ RESOURCES += \
+ qml-deviceinfo.qrc
+diff --git a/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro b/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro
+index 4b49738..0a389e3 100644
+--- a/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro
++++ b/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro
+@@ -7,8 +7,7 @@ app.files = \
+ $$files(*.qml) \
+
+ target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-inputinfo
+-app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-inputinfo
+-INSTALLS += target app
++INSTALLS += target
+
+ RESOURCES += \
+ qml-inputinfo.qrc
diff --git a/recipes-qt/qt5/qtsystems_git.bb b/recipes-qt/qt5/qtsystems_git.bb
index d459f591..4c7956aa 100644
--- a/recipes-qt/qt5/qtsystems_git.bb
+++ b/recipes-qt/qt5/qtsystems_git.bb
@@ -1,34 +1,36 @@
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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
- file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
- file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+ 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}"
+PACKAGECONFIG[bluez] = "CONFIG+=OE_BLUEZ_ENABLED,,bluez5"
EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
-do_configure_prepend() {
+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() {
+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"
+SRCREV = "e3332ee38d27a134cef6621fdaf36687af1b6f4a"
+
+SRC_URI += " \
+ file://0001-qtsystems-install-files-only-once.patch \
+"
diff --git a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch
index f7ada984..4389d992 100644
--- a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch
+++ b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch
@@ -1,4 +1,4 @@
-From fcbe797b61e624e5859dabfbe932ace2e8022649 Mon Sep 17 00:00:00 2001
+From dfd1f8f5d4ac5ae62597aad0d6ec9b680f1a6545 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
@@ -6,7 +6,7 @@ MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Upstream-Status: Inappropiate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
@@ -16,7 +16,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro
-index 82f5509..ef07ee0 100644
+index 5da0b007..9571697f 100644
--- a/src/assistant/assistant/assistant.pro
+++ b/src/assistant/assistant/assistant.pro
@@ -1,4 +1,4 @@
@@ -25,7 +25,7 @@ index 82f5509..ef07ee0 100644
BROWSER = qtwebkit
} else {
BROWSER = qtextbrowser
-@@ -75,7 +75,7 @@ SOURCES += aboutdialog.cpp \
+@@ -77,7 +77,7 @@ SOURCES += aboutdialog.cpp \
openpagesmanager.cpp \
openpagesswitcher.cpp
@@ -35,7 +35,7 @@ index 82f5509..ef07ee0 100644
QT += webkitwidgets
SOURCES += helpviewer_qwv.cpp
diff --git a/src/designer/src/plugins/plugins.pro b/src/designer/src/plugins/plugins.pro
-index 500a153..b60fa2d 100644
+index 500a1534..b60fa2d9 100644
--- a/src/designer/src/plugins/plugins.pro
+++ b/src/designer/src/plugins/plugins.pro
@@ -1,6 +1,6 @@
diff --git a/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch b/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch
index 7abc9ea8..1cdfc433 100644
--- a/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch
+++ b/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch
@@ -1,60 +1,43 @@
-From f7102d4e5c5c1d9e285b6821e18fff7c2dcea9c0 Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Thu, 9 Jul 2015 11:28:19 -0400
+From c4d1caad764372d2a852fb837e7c37e168c65f0c Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Mon, 18 Feb 2019 10:45:03 +0200
Subject: [PATCH] linguist-tools cmake: allow overriding the location for
lupdate and lrelease
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
- src/linguist/Qt5LinguistToolsConfig.cmake.in | 15 +++------------
- 1 file changed, 3 insertions(+), 12 deletions(-)
+ src/linguist/Qt5LinguistToolsConfig.cmake.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16..2e3b70f 100644
+index 2e99bc76..e6f4f7ed 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)
+@@ -47,7 +47,7 @@ if (NOT TARGET Qt5::lrelease)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
+ !!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease${OE_QMAKE_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)
+@@ -62,7 +62,7 @@ if (NOT TARGET Qt5::lupdate)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
+ !!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate${OE_QMAKE_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)
+@@ -77,7 +77,7 @@ if (NOT TARGET Qt5::lconvert)
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
+ !!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
++ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert${OE_QMAKE_BIN_SUFFIX}\")
+ !!ENDIF
_qt5_LinguistTools_check_file_exists(${imported_location})
- set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch b/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch
new file mode 100644
index 00000000..32de7de1
--- /dev/null
+++ b/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch
@@ -0,0 +1,26 @@
+From ff55599d0d9a5b2e31b18c415f835567f301acf2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 14 Dec 2019 18:36:49 -0800
+Subject: [PATCH] src.pro: Add option noqdoc to disable qdoc builds
+
+it needs clang on host, so lets separate it out
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/src.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/src.pro b/src/src.pro
+index 5c256ea3..196c34c7 100644
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -25,7 +25,7 @@ qtConfig(library) {
+
+ include($$OUT_PWD/qdoc/qtqdoc-config.pri)
+ QT_FOR_CONFIG += qdoc-private
+-qtConfig(qdoc): qtConfig(thread): SUBDIRS += qdoc
++qtConfig(qdoc): qtConfig(thread):!contains(CONFIG, noqdoc): SUBDIRS += qdoc
+
+ !android|android_app: SUBDIRS += qtpaths
+
diff --git a/recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch b/recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch
new file mode 100644
index 00000000..bc833e0b
--- /dev/null
+++ b/recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch
@@ -0,0 +1,32 @@
+From 88c20560720693b6b30d48af748ab232238f9ac8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 14 Aug 2020 21:25:27 +0200
+Subject: [PATCH] Force native build of qt-help tools as qhelpgenerato
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/assistant/assistant.pro | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/src/assistant/assistant.pro b/src/assistant/assistant.pro
+index d34b5590..7d87ac48 100644
+--- a/src/assistant/assistant.pro
++++ b/src/assistant/assistant.pro
+@@ -14,9 +14,3 @@ SUBDIRS += \
+
+ assistant.depends = help
+ qhelpgenerator.depends = help
+-
+-qtNomakeTools( \
+- assistant \
+- qhelpgenerator \
+- qcollectiongenerator \
+-)
+--
+2.26.2
+
diff --git a/recipes-qt/qt5/qttools/run-ptest b/recipes-qt/qt5/qttools/run-ptest
deleted file mode 100644
index 5cd5e27e..00000000
--- a/recipes-qt/qt5/qttools/run-ptest
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-./tst_qtdiag
-./tst_qtattributionsscanner
diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb
index f20eefe0..83434189 100644
--- a/recipes-qt/qt5/qttools_git.bb
+++ b/recipes-qt/qt5/qttools_git.bb
@@ -1,8 +1,8 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -11,40 +11,39 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
-inherit ptest
-
DEPENDS += "qtbase qtdeclarative qtxmlpatterns"
-
-# Patches from https://github.com/meta-qt5/qttools/commits/b5.9
-# 5.9.meta-qt5.5
+# Patches from https://github.com/meta-qt5/qttools/commits/b5.15
+# 5.15.meta-qt5.1
SRC_URI += " \
- file://run-ptest \
file://0001-add-noqtwebkit-configuration.patch \
file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \
+ file://0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch \
"
+SRC_URI:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'file://0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch', '', d)}"
+
+FILES:${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks"
+FILES:${PN}-examples = "${datadir}${QT_DIR_NAME}/examples"
-FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks"
-FILES_${PN}-examples = "${datadir}${QT_DIR_NAME}/examples"
+# Without "opengl" in DISTRO_FEATURES, the libQt5UiTools.a library isn't generated, but qttools-staticdev
+# is required by packagegroup-qt5-toolchain-target.
+ALLOW_EMPTY:${PN}-staticdev = "1"
PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:toolchain-clang = " clang"
+
PACKAGECONFIG[qtwebkit] = ",,qtwebkit"
+PACKAGECONFIG[clang] = ",,clang"
+
+COMPATIBLE_HOST:toolchain-clang:riscv32 = "null"
+COMPATIBLE_HOST:toolchain-clang:riscv64 = "null"
-EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)}"
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_BINDIR}/llvm-config"
-SRCREV = "e610562828677f1e4eb8c7967ed6715e20099035"
+EXTRA_QMAKEVARS_PRE += " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=disable_external_rpath CONFIG+=assistant', 'CONFIG+=noqdoc', d)} \
+"
+SRCREV = "bc3cbd02fe57d01c6d8378c82cd60974ec0886c7"
BBCLASSEXTEND = "native nativesdk"
-do_compile_ptest() {
- export PATH=${STAGING_DIR_NATIVE}/usr/include/qt5:$PATH
- cd ${S}/tests
- qmake -o Makefile tests.pro
- oe_runmake
-}
-
-do_install_ptest() {
- mkdir -p ${D}${PTEST_PATH}
- t=${D}${PTEST_PATH}
- cp ${S}/tests/auto/qtdiag/tst_tdiag $t
- cp ${S}/tests/auto/qtattributionsscanner/tst_qtattributionsscanner $t
-}
diff --git a/recipes-qt/qt5/qttranslations_git.bb b/recipes-qt/qt5/qttranslations_git.bb
index 6d52e6f7..0a103c14 100644
--- a/recipes-qt/qt5/qttranslations_git.bb
+++ b/recipes-qt/qt5/qttranslations_git.bb
@@ -1,18 +1,24 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
+LICENSE = "GPL-3.0-only & 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 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 \
@@ -22,88 +28,74 @@ PACKAGES =. " \
${PN}-qtwebsockets \
${PN}-qtwebengine \
${PN}-qtxmlpatterns \
- ${PN}-qtquick1 \
${PN}-qtscript \
${PN}-qtserialport \
${PN}-qtbase \
${PN}-qthelp \
- ${PN}-qt \
"
-FILES_${PN}-assistant = " \
+FILES:${PN}-assistant = " \
${OE_QMAKE_PATH_TRANSLATIONS}/assistant_*.qm \
"
-FILES_${PN}-designer = " \
+FILES:${PN}-designer = " \
${OE_QMAKE_PATH_TRANSLATIONS}/designer_*.qm \
"
-FILES_${PN}-linguist = " \
+FILES:${PN}-linguist = " \
${OE_QMAKE_PATH_TRANSLATIONS}/linguist_*.qm \
"
-FILES_${PN}-qmlviewer = " \
- ${OE_QMAKE_PATH_TRANSLATIONS}/qmlviewer_*.qm \
-"
-
-FILES_${PN}-qtconnectivity = " \
+FILES:${PN}-qtconnectivity = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtconnectivity_*.qm \
"
-FILES_${PN}-qtmultimedia = " \
+FILES:${PN}-qtmultimedia = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtmultimedia_*.qm \
"
-FILES_${PN}-qtlocation = " \
+FILES:${PN}-qtlocation = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtlocation_*.qm \
"
-FILES_${PN}-qtdeclarative = " \
+FILES:${PN}-qtdeclarative = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtdeclarative_*.qm \
"
-FILES_${PN}-qtquickcontrols = " \
+FILES:${PN}-qtquickcontrols = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtquickcontrols_*.qm \
"
-FILES_${PN}-qtquickcontrols2 = " \
+FILES:${PN}-qtquickcontrols2 = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtquickcontrols2_*.qm \
"
-FILES_${PN}-qtwebsockets = " \
+FILES:${PN}-qtwebsockets = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtwebsockets_*.qm \
"
-FILES_${PN}-qtwebengine = " \
+FILES:${PN}-qtwebengine = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtwebengine_*.qm \
"
-FILES_${PN}-qtxmlpatterns = " \
+FILES:${PN}-qtxmlpatterns = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtxmlpatterns_*.qm \
"
-FILES_${PN}-qtquick1 = " \
- ${OE_QMAKE_PATH_TRANSLATIONS}/qtquick1_*.qm \
-"
-
-FILES_${PN}-qtscript = " \
+FILES:${PN}-qtscript = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtscript_*.qm \
"
-FILES_${PN}-qtserialport = " \
+FILES:${PN}-qtserialport = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtserialport_*.qm \
"
-FILES_${PN}-qtbase = " \
+FILES:${PN}-qtbase = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qtbase_*.qm \
"
-FILES_${PN}-qthelp = " \
+FILES:${PN}-qthelp = " \
${OE_QMAKE_PATH_TRANSLATIONS}/qt_help_*.qm \
"
-FILES_${PN}-qt = " \
- ${OE_QMAKE_PATH_TRANSLATIONS}/qt_*.qm \
-"
-
-SRCREV = "f9d3094f8921dbc64a90e416484aa34129bec187"
+SRCREV = "8a0280788ec15f496c78a3c06e641e4fae087409"
diff --git a/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch b/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch
deleted file mode 100644
index 185bf506..00000000
--- a/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c41773c12767dc6735cda8f8ad3d09454366283b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Jul 2017 23:59:52 -0700
-Subject: [PATCH] include sys/time.h for timeval
-
-Musl exposes this issue since its not indirectly
-including sys/time.h like glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/virtualkeyboard/3rdparty/pinyin/include/userdict.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h b/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h
-index 1b9673f..924be7b 100644
---- a/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h
-+++ b/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h
-@@ -24,6 +24,7 @@
- // Debug performance for operations
- // #define ___DEBUG_PERF___
-
-+#include <sys/time.h>
- #ifdef _WIN32
- #include <winsock.h> // timeval
- #else
diff --git a/recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch b/recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch
new file mode 100644
index 00000000..874c079c
--- /dev/null
+++ b/recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch
@@ -0,0 +1,66 @@
+From fe4546abf79cf2e93e151fe8cd771901f9b768d3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 7 Feb 2023 23:11:18 -0800
+Subject: [PATCH] replace deprecated std::auto_ptr with std::unique_ptr
+
+auto_ptr is gone with c++17
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp b/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp
+index 1971a69d..894028e4 100644
+--- a/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp
++++ b/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp
+@@ -96,7 +96,7 @@ LTKLoggerUtil::LTKLoggerUtil(){}
+ int LTKLoggerUtil::createLogger(const string& lipiLibPath)
+ {
+ void* functionHandle = NULL;
+- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
+
+ int iErrorCode = a_ptrOSUtil->loadSharedLib(lipiLibPath,
+ LOGGER_MODULE_STR,
+@@ -159,7 +159,7 @@ int LTKLoggerUtil::createLogger(const string& lipiLibPath)
+ *****************************************************************************/
+ int LTKLoggerUtil::destroyLogger()
+ {
+- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
+
+ if (module_destroyLogger != NULL )
+ {
+@@ -196,7 +196,7 @@ int LTKLoggerUtil::configureLogger(const string& logFile, LTKLogger::EDebugLevel
+ LTKReturnError(ELOGGER_LIBRARY_NOT_LOADED);
+ }
+
+- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
+
+ if ( logFile.length() != 0 )
+ {
+@@ -257,7 +257,7 @@ int LTKLoggerUtil::getAddressLoggerFunctions()
+ void* functionHandle = NULL;
+ int returnVal = SUCCESS;
+
+- auto_ptr<LTKOSUtil> a_ptrOSUtil;
++ unique_ptr<LTKOSUtil> a_ptrOSUtil;
+
+ //start log
+
+@@ -323,7 +323,7 @@ ostream& LTKLoggerUtil::logMessage(LTKLogger::EDebugLevel logLevel, string inStr
+ {
+ if (m_libHandleLogger == NULL)
+ {
+- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance());
+ m_libHandleLogger = a_ptrOSUtil->getLibraryHandle(LOGGER_MODULE_STR);
+
+ if (m_libHandleLogger == NULL)
+--
+2.39.1
+
diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb
index c8ab7c3e..32cb27fd 100644
--- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb
+++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb
@@ -1,14 +1,12 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GPL-3.0 | The-Qt-Company-Commercial"
+LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
"
-# Patches from https://github.com/meta-qt5/qtvirtualkeyboard/commits/b5.9
-# 5.9.meta-qt5.5
-SRC_URI += "file://0001-include-sys-time.h-for-timeval.patch"
+SRC_URI += "file://0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch"
# 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.
@@ -17,29 +15,51 @@ SRC_URI += "file://0001-include-sys-time.h-for-timeval.patch"
#SRC_URI += "file://${T9WRITEPACKAGE};subdir=git/src/virtualkeyboard/3rdparty/t9write"
#PACKAGECONFIG = "t9write lang-all"
-PACKAGECONFIG ?= "lang-all lipi-toolkit"
+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-bg_BG] = "CONFIG+=lang-bg_BG"
+PACKAGECONFIG[lang-cs_CZ] = "CONFIG+=lang-cs_CZ"
PACKAGECONFIG[lang-da_DK] = "CONFIG+=lang-da_DK"
PACKAGECONFIG[lang-de_DE] = "CONFIG+=lang-de_DE"
+PACKAGECONFIG[lang-el_GR] = "CONFIG+=lang-el_GR"
PACKAGECONFIG[lang-en_GB] = "CONFIG+=lang-en_GB"
+PACKAGECONFIG[lang-en_US] = "CONFIG+=lang-en_US"
PACKAGECONFIG[lang-es_ES] = "CONFIG+=lang-es_ES"
+PACKAGECONFIG[lang-es_MX] = "CONFIG+=lang-es_MX"
+PACKAGECONFIG[lang-et_EE] = "CONFIG+=lang-et_EE"
PACKAGECONFIG[lang-fa_FA] = "CONFIG+=lang-fa_FA"
PACKAGECONFIG[lang-fi_FI] = "CONFIG+=lang-fi_FI"
+PACKAGECONFIG[lang-fr_CA] = "CONFIG+=lang-fr_CA"
PACKAGECONFIG[lang-fr_FR] = "CONFIG+=lang-fr_FR"
+PACKAGECONFIG[lang-he_IL] = "CONFIG+=lang-he_IL"
PACKAGECONFIG[lang-hi_IN] = "CONFIG+=lang-hi_IN"
+PACKAGECONFIG[lang-hr_HR] = "CONFIG+=lang-hr_HR"
+PACKAGECONFIG[lang-hu_HU] = "CONFIG+=lang-hu_HU"
+PACKAGECONFIG[lang-id_ID] = "CONFIG+=lang-id_ID"
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-ms_MY] = "CONFIG+=lang-ms_MY"
PACKAGECONFIG[lang-nb_NO] = "CONFIG+=lang-nb_NO"
+PACKAGECONFIG[lang-nl_NL] = "CONFIG+=lang-nl_NL"
PACKAGECONFIG[lang-pl_PL] = "CONFIG+=lang-pl_PL"
+PACKAGECONFIG[lang-pt_BR] = "CONFIG+=lang-pt_BR"
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-sk_SK] = "CONFIG+=lang-sk_SK"
+PACKAGECONFIG[lang-sl_SI] = "CONFIG+=lang-sl_SI"
+PACKAGECONFIG[lang-sq_AL] = "CONFIG+=lang-sq_AL"
+PACKAGECONFIG[lang-sr_SP] = "CONFIG+=lang-sr_SP"
PACKAGECONFIG[lang-sv_SE] = "CONFIG+=lang-sv_SE"
+PACKAGECONFIG[lang-th_TH] = "CONFIG+=lang-th_TH"
+PACKAGECONFIG[lang-tr_TR] = "CONFIG+=lang-tr_TR"
+PACKAGECONFIG[lang-uk_UA] = "CONFIG+=lang-uk_UA"
+PACKAGECONFIG[lang-vi_VN] = "CONFIG+=lang-vi_VN"
PACKAGECONFIG[lang-zh_CN] = "CONFIG+=lang-zh_CN"
PACKAGECONFIG[lang-zh_TW] = "CONFIG+=lang-zh_TW"
@@ -47,10 +67,10 @@ 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"
+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"
+DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns qtdeclarative-native"
-SRCREV = "1cd903f20c09002937527aaaa310b7dc40d266f2"
+SRCREV = "b613d3c2ae8301028bbdc8dafbf6bf288d746886"
diff --git a/recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch b/recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch
new file mode 100644
index 00000000..ecaf5d60
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch
@@ -0,0 +1,63 @@
+From 2e1bbb5e28ccf7da4d2aba2e725baedbf511856a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 29 Nov 2021 17:24:50 -0800
+Subject: [PATCH] Fix vulkan buffer formats for GLES2
+
+Fixes
+vulkanserverbufferintegration.cpp:163:77: error: use of undeclared identifier 'GL_RGBA8'
+ if (extraDebug) qDebug() << "format" << Qt::hex << m_internalFormat << GL_RGBA8;
+ ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../client/vulkan-server/vulkanserverbufferintegration.cpp | 2 +-
+ .../vulkan-server/vulkanserverbufferintegration.cpp | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp b/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp
+index b4403855..3f4520e4 100644
+--- a/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp
++++ b/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp
+@@ -160,7 +160,7 @@ void VulkanServerBuffer::import()
+ if (extraDebug) qDebug() << "bound texture" << Qt::hex << glGetError();
+ funcs->glTexStorageMem2DEXT(GL_TEXTURE_2D, 1, m_internalFormat, m_size.width(), m_size.height(), m_memoryObject, 0 );
+ if (extraDebug) qDebug() << "glTexStorageMem2DEXT" << Qt::hex << glGetError();
+- if (extraDebug) qDebug() << "format" << Qt::hex << m_internalFormat << GL_RGBA8;
++ if (extraDebug) qDebug() << "format" << Qt::hex << m_internalFormat << GL_RGBA;
+ }
+
+ QOpenGLTexture *VulkanServerBuffer::toOpenGlTexture()
+diff --git a/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp b/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp
+index 69af5f9f..558a4d62 100644
+--- a/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp
++++ b/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp
+@@ -141,14 +141,14 @@ VulkanServerBuffer::VulkanServerBuffer(VulkanServerBufferIntegration *integratio
+ m_format = format;
+ switch (m_format) {
+ case RGBA32:
+- m_glInternalFormat = GL_RGBA8;
++ m_glInternalFormat = GL_RGBA;
+ break;
+ // case A8:
+ // m_glInternalFormat = GL_R8;
+ // break;
+ default:
+ qWarning("VulkanServerBuffer: unsupported format");
+- m_glInternalFormat = GL_RGBA8;
++ m_glInternalFormat = GL_RGBA;
+ break;
+ }
+
+@@ -229,7 +229,7 @@ QOpenGLTexture *VulkanServerBuffer::toOpenGlTexture()
+ if (extraDebug) qDebug() << "bound texture" << texId << Qt::hex << glGetError();
+ funcs->glTexStorageMem2DEXT(GL_TEXTURE_2D, 1, m_glInternalFormat, m_size.width(), m_size.height(), m_memoryObject, 0 );
+ if (extraDebug) qDebug() << "glTexStorageMem2DEXT" << Qt::hex << glGetError();
+- if (extraDebug) qDebug() << "format" << Qt::hex << m_glInternalFormat << GL_RGBA8;
++ if (extraDebug) qDebug() << "format" << Qt::hex << m_glInternalFormat << GL_RGBA;
+
+
+ return m_texture;
+--
+2.34.1
+
diff --git a/recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch b/recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch
new file mode 100644
index 00000000..9a6c606c
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch
@@ -0,0 +1,30 @@
+From c010cfedd13ffc57e0e6374f5662e9cdb56dd3ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 4 Sep 2021 12:03:32 -0700
+Subject: [PATCH] linux-dmabuf-unstable-v1: Include missing <array> header
+
+Fixes issue found with clang/libc++
+src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h:145:40: error: implicit instantiation of undefined template 'std::array<Plane, 4>'
+ std::array<Plane, MaxDmabufPlanes> m_planes;
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+index 56a710c3..1beb5f76 100644
+--- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
++++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h
+@@ -44,6 +44,7 @@
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
+
++#include <array>
+ // compatibility with libdrm <= 2.4.74
+ #ifndef DRM_FORMAT_RESERVED
+ #define DRM_FORMAT_RESERVED ((1ULL << 56) - 1)
+--
+2.33.0
+
diff --git a/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch
new file mode 100644
index 00000000..854ca45c
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch
@@ -0,0 +1,28 @@
+From 2f3274c8dac49eeefa1f32b73328fabd037082c6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Oct 2019 21:44:38 -0700
+Subject: [PATCH] tst_seatv4: Include <array>
+
+build fails with libc++ otherwise
+
+tests/auto/client/seatv4/tst_seatv4.cpp:330:43: error: implicit instantiation of undefined template 'std::__1::array<const char *, 4>'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/auto/client/seatv4/tst_seatv4.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/auto/client/seatv4/tst_seatv4.cpp b/tests/auto/client/seatv4/tst_seatv4.cpp
+index 2e17bef8..df78ba69 100644
+--- a/tests/auto/client/seatv4/tst_seatv4.cpp
++++ b/tests/auto/client/seatv4/tst_seatv4.cpp
+@@ -36,7 +36,7 @@
+ #include <QtWaylandClient/private/qwaylanddisplay_p.h>
+ #include <QtWaylandClient/private/qwaylandintegration_p.h>
+ #endif
+-
++#include <array>
+ using namespace MockCompositor;
+
+ // wl_seat version 5 was introduced in wayland 1.10, and although that's pretty old,
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index c69baeef..828822f6 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -1,10 +1,12 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
+
+inherit pkgconfig
DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native"
-DEPENDS_append_class-target = " libxkbcommon"
+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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -13,18 +15,26 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
+# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.15
+# 5.15.meta-qt5.1
+SRC_URI += "file://0001-tst_seatv4-Include-array.patch \
+ file://0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch \
+ file://0001-Fix-vulkan-buffer-formats-for-GLES2.patch \
+ "
+
PACKAGECONFIG ?= " \
wayland-client \
wayland-server \
- wayland-egl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland-egl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcomposite-egl xcomposite-glx', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'wayland-vulkan-server-buffer', '', 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: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"
@@ -32,15 +42,16 @@ PACKAGECONFIG[xcomposite-egl] = "-feature-xcomposite-egl,-no-feature-xcomposite-
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"
+PACKAGECONFIG[wayland-drm-egl-server-buffer] = "-feature-wayland-drm-egl-server-buffer,-no-feature-wayland-drm-egl-server-buffer,libdrm virtual/egl"
+PACKAGECONFIG[wayland-libhybris-egl-server-buffer] = "-feature-wayland-libhybris-egl-server-buffer,-no-feature-wayland-libhybris-egl-server-buffer,libhybris"
+PACKAGECONFIG[wayland-vulkan-server-buffer] = "-feature-wayland-vulkan-server-buffer,-no-feature-wayland-vulkan-server-buffer,vulkan-headers"
EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "042dff4b3520cf530face999cfe32978ab492a5c"
+SRCREV = "4f363a988155c86757ecd36c81393a7ba9fc8c95"
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)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
diff --git a/recipes-qt/qt5/qtwebchannel_git.bb b/recipes-qt/qt5/qtwebchannel_git.bb
index ea0081cf..486a7bd9 100644
--- a/recipes-qt/qt5/qtwebchannel_git.bb
+++ b/recipes-qt/qt5/qtwebchannel_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtdeclarative qtwebsockets"
-SRCREV = "b4682cf4197cf312dcfc88dcc5653370afa1bc64"
+SRCREV = "f887498f50123b96411070e7b1d5c9ff89b07732"
diff --git a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
new file mode 100644
index 00000000..7daa801a
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
@@ -0,0 +1,100 @@
+From ecde45984c610529c25257324252fb2ba01fe4ca 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/config/linux.pri | 2 +-
+ src/buildtools/configure_host.pro | 16 +++++++++-------
+ src/buildtools/gn.pro | 5 ++---
+ 3 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/src/buildtools/config/linux.pri b/src/buildtools/config/linux.pri
+index 7507d51ef..1e078cbfe 100644
+--- a/src/buildtools/config/linux.pri
++++ b/src/buildtools/config/linux.pri
+@@ -118,7 +118,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/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro
+index dd0d3e327..3d39198f3 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()
+@@ -24,6 +24,7 @@ contains(GN_TARGET_CPU, "arm")|contains(GN_TARGET_CPU, "mipsel")|contains(GN_TAR
+ }
+
+ GN_HOST_EXTRA_CPPFLAGS = $$(GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS)
++GN_HOST_EXTRA_LDFLAGS = $$(GN_HOST_TOOLCHAIN_EXTRA_LDFLAGS)
+
+ # We always use the gcc_toolchain, because clang_toolchain is just
+ # a broken wrapper around it for Google's custom clang binaries.
+@@ -31,12 +32,13 @@ 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($$CC_host)\" " \
++" cxx = \"$$which($$CXX_host)\" " \
++" ld = \"$$which($$CXX_host)\" " \
+ " ar = \"$$which(ar)\" " \
+ " nm = \"$$which(nm)\" " \
+ " extra_cppflags = \"$$GN_HOST_EXTRA_CPPFLAGS\" " \
++" extra_ldflags = \"$$GN_HOST_EXTRA_LDFLAGS\" " \
+ " toolchain_args = { " \
+ " current_os = \"$$GN_OS\" " \
+ " current_cpu = \"$$GN_HOST_CPU\" " \
+@@ -45,9 +47,9 @@ GN_CONTENTS = \
+ " } " \
+ "}" \
+ "gcc_toolchain(\"v8_snapshot\") {" \
+-" cc = \"$$which($$QMAKE_CC)\" " \
+-" cxx = \"$$which($$QMAKE_CXX)\" " \
+-" ld = \"$$which($$QMAKE_LINK)\" " \
++" cc = \"$$which($$CC_host)\" " \
++" cxx = \"$$which($$CXX_host)\" " \
++" ld = \"$$which($$CXX_host)\" " \
+ " ar = \"$$which(ar)\" " \
+ " nm = \"$$which(nm)\" " \
+ " toolchain_args = { " \
+diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
+index f94694da0..a8ca6567b 100644
+--- a/src/buildtools/gn.pro
++++ b/src/buildtools/gn.pro
+@@ -19,9 +19,8 @@ build_pass|!debug_and_release {
+ gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))
+
+ gn_gen_args = --no-last-commit-position --out-path $$out_path \
+- --cc \"$$which($$QMAKE_CC)\" --cxx \"$$which($$QMAKE_CXX)\" \
+- --ld \"$$which($$QMAKE_LINK)\"
+- !isEmpty(QMAKE_AR): gn_gen_args += --ar \"$$which($$first(QMAKE_AR))\"
++ --cc \"$$which($$CC_host)\" --cxx \"$$which($$CXX_host)\" \
++ --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\"
+
+ msvc:!clang_cl: gn_gen_args += --use-lto
+
diff --git a/recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch b/recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
deleted file mode 100644
index 90a557fc..00000000
--- a/recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 78a0bfb1026cd1a66e25663266896db6920636b9 Mon Sep 17 00:00:00 2001
-From: Cleiton Bueno <cleitonrbueno@gmail.com>
-Date: Thu, 24 Dec 2015 12:46:58 -0200
-Subject: [PATCH] chromium: Change false to FALSE and 1 to TRUE, FIX
- qtwebengine compile
-
-Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- chromium/ui/gfx/codec/jpeg_codec.cc | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/chromium/ui/gfx/codec/jpeg_codec.cc b/chromium/ui/gfx/codec/jpeg_codec.cc
-index 6d92637..738d3fd 100644
---- a/chromium/ui/gfx/codec/jpeg_codec.cc
-+++ b/chromium/ui/gfx/codec/jpeg_codec.cc
-@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
- // tell libjpeg where to write the next data
- cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
- cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
-- return 1;
-+ return TRUE;
- }
-
- // Cleans up the JpegEncoderState to prepare for returning in the final form.
-@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
- cinfo.data_precision = 8;
-
- jpeg_set_defaults(&cinfo);
-- jpeg_set_quality(&cinfo, quality, 1); // quality here is 0-100
-+ jpeg_set_quality(&cinfo, quality, TRUE); // quality here is 0-100
-
- // set up the destination manager
- jpeg_destination_mgr destmgr;
-@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
- JpegEncoderState state(output);
- cinfo.client_data = &state;
-
-- jpeg_start_compress(&cinfo, 1);
-+ jpeg_start_compress(&cinfo, TRUE);
-
- // feed it the rows, doing necessary conversions for the color format
- #ifdef JCS_EXTENSIONS
-@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) {
- // set to a positive value if TRUE is returned. A FALSE return should only
- // be used when I/O suspension is desired."
- boolean FillInputBuffer(j_decompress_ptr cinfo) {
-- return false;
-+ return FALSE;
- }
-
- // Skip data in the buffer. Since we have all the data at once, this operation
-@@ -488,8 +488,8 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size,
- cinfo.client_data = &state;
-
- // fill the file metadata into our buffer
-- if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK)
-- return false;
-+ if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK)
-+ return FALSE;
-
- // we want to always get RGB data out
- switch (cinfo.jpeg_color_space) {
diff --git a/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch b/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch
deleted file mode 100644
index aa223e1b..00000000
--- a/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7efbed6af08caf6ce2bedbb8fb653b60c3aaa920 Mon Sep 17 00:00:00 2001
-From: Frieder Schrempf <frieder.schrempf@online.de>
-Date: Mon, 1 Dec 2014 14:34:40 +0000
-Subject: [PATCH] functions.prf: allow build for linux-oe-g++ platform
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Frieder Schrempf <frieder.schrempf@online.de>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- mkspecs/features/functions.prf | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
-index b78d2a1..14dd07e 100644
---- a/mkspecs/features/functions.prf
-+++ b/mkspecs/features/functions.prf
-@@ -21,6 +21,12 @@ defineTest(isPlatformSupported) {
- return(false)
- }
- gcc:!clang:!isGCCVersionSupported(): return(false)
-+ } else:linux-oe-g++* {
-+ !gcc:!clang {
-+ skipBuild("Qt WebEngine on Linux requires clang or GCC.")
-+ return(false)
-+ }
-+ gcc:!clang:!isGCCVersionSupported(): return(false)
- } else:win32 {
- winrt {
- skipBuild("WinRT is not supported.")
diff --git a/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch b/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch
deleted file mode 100644
index 94fa5a6f..00000000
--- a/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From fe4d996a8a6fe8e0c6b720ff30fa7bff95df2acb Mon Sep 17 00:00:00 2001
-From: Cleiton Bueno <cleitonrbueno@gmail.com>
-Date: Fri, 25 Dec 2015 18:16:05 -0200
-Subject: [PATCH] WebEngine qquickwebengineview_p_p.h add include QColor
-
-Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com>
----
- src/webengine/api/qquickwebengineview_p_p.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
-index 19ecf5e..f6f638e 100644
---- a/src/webengine/api/qquickwebengineview_p_p.h
-+++ b/src/webengine/api/qquickwebengineview_p_p.h
-@@ -59,6 +59,8 @@
- #include <QString>
- #include <QtCore/qcompilerdetection.h>
- #include <QtGui/qaccessibleobject.h>
-+#include <QColor>
-+
-
- namespace QtWebEngineCore {
- class WebContentsAdapter;
diff --git a/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch
deleted file mode 100644
index a2eeee1f..00000000
--- a/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7233c121fedcf73d10499afedd19c5e45ae0e4ec 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 | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/chromium/tools/gn/bootstrap/bootstrap.py b/chromium/tools/gn/bootstrap/bootstrap.py
-index 43d252b..e583478 100755
---- a/chromium/tools/gn/bootstrap/bootstrap.py
-+++ b/chromium/tools/gn/bootstrap/bootstrap.py
-@@ -298,14 +298,14 @@ def write_gn_ninja(path, root_gen_dir, options):
- ld = os.environ.get('LD', 'link.exe')
- ar = os.environ.get('AR', 'lib.exe')
- 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')
-
-- cflags = os.environ.get('CFLAGS', '').split()
-- cflags_cc = os.environ.get('CXXFLAGS', '').split()
-- ldflags = os.environ.get('LDFLAGS', '').split()
-+ cflags = os.environ.get('CFLAGS_host', '').split()
-+ cflags_cc = os.environ.get('CXXFLAGS_host', '').split()
-+ ldflags = os.environ.get('LDFLAGS_host', '').split()
- include_dirs = [root_gen_dir, SRC_ROOT]
- libs = []
-
diff --git a/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch b/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch
new file mode 100644
index 00000000..d8044c9f
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch
@@ -0,0 +1,38 @@
+From a6c1cdbb588359676888b7961c063d1d13d05a2a 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>
+Upstream-Status: Pending
+---
+ 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 002a1af22..8fd2da36b 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/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch b/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch
deleted file mode 100644
index a61161de..00000000
--- a/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 4e95d44468ed954d68402c585c6df3c6cd6c5638 Mon Sep 17 00:00:00 2001
-From: Cleiton Bueno <cleitonrbueno@gmail.com>
-Date: Thu, 24 Dec 2015 15:59:51 -0200
-Subject: [PATCH] Include dependency to QCoreApplication::translate()
-
-Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com>
----
- src/core/media_capture_devices_dispatcher.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/core/media_capture_devices_dispatcher.h b/src/core/media_capture_devices_dispatcher.h
-index c378c32..1d33d95 100644
---- a/src/core/media_capture_devices_dispatcher.h
-+++ b/src/core/media_capture_devices_dispatcher.h
-@@ -45,6 +45,8 @@
- #include <list>
- #include <map>
-
-+#include <QCoreApplication>
-+
- #include "web_contents_adapter_client.h"
-
- #include "base/callback.h"
diff --git a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch
new file mode 100644
index 00000000..f8f4229d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch
@@ -0,0 +1,25 @@
+From 84938d171df35970e3444b8f7b0abc9c2b275f9f 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>
+Upstream-Status: Pending
+---
+ 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 9e087c815..7f518e020 100644
+--- a/src/core/core_module.pro
++++ b/src/core/core_module.pro
+@@ -9,7 +9,7 @@ isUniversal() {
+
+ api_library_name = qtwebenginecoreapi$$qtPlatformTargetSuffix()
+ api_library_path = $$OUT_PWD/api/$$getConfigDir()
+-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/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch
deleted file mode 100644
index d85f46f6..00000000
--- a/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From dbcfd868d551beb55a9411c26912050ea278ec48 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 f1b3d47..1212372 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()
-@@ -29,9 +29,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)\" " \
- " toolchain_args = { " \
-@@ -42,9 +42,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 831e195..8a28de5 100644
---- a/src/core/config/linux.pri
-+++ b/src/core/config/linux.pri
-@@ -98,7 +98,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/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch b/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch
new file mode 100644
index 00000000..da4cea8d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch
@@ -0,0 +1,49 @@
+From d30d88b852e3b46086ce92f4dfaedfe21ee926a8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Nov 2019 19:53:59 -0800
+Subject: [PATCH] mkspecs: Allow builds with libc != glibc
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/buildtools/config/support.pri | 4 ----
+ src/buildtools/configure.json | 4 +---
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri
+index e7f869a15..f9c9c24bf 100644
+--- a/src/buildtools/config/support.pri
++++ b/src/buildtools/config/support.pri
+@@ -191,10 +191,6 @@ defineTest(qtwebengine_checkForHostPkgCfg) {
+
+ defineTest(qtwebengine_checkForGlibc) {
+ module = $$1
+- !qtConfig(webengine-system-glibc) {
+- qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build $${module} could not be found.")
+- return(false)
+- }
+ return(true)
+ }
+
+diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json
+index 88d1790c1..9eb5e8e33 100644
+--- a/src/buildtools/configure.json
++++ b/src/buildtools/configure.json
+@@ -379,7 +379,6 @@
+ && (!config.sanitizer || features.webengine-sanitizer)
+ && (!config.linux || features.pkg-config)
+ && (!config.linux || features.webengine-host-pkg-config)
+- && (!config.linux || features.webengine-system-glibc)
+ && (!config.linux || features.webengine-system-khr)
+ && (!config.linux || features.webengine-system-nss)
+ && (!config.linux || features.webengine-system-dbus)
+@@ -782,8 +781,7 @@
+ "webengine-system-fontconfig",
+ "webengine-system-dbus",
+ "webengine-system-nss",
+- "webengine-system-khr",
+- "webengine-system-glibc"
++ "webengine-system-khr"
+ ]
+ },
+ {
diff --git a/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
deleted file mode 100644
index f1e633c9..00000000
--- a/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5e4ef7189876b1e2578f12824ad7b0405768f517 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/trace_event/malloc_dump_provider.cc | 3 ++-
- chromium/content/child/content_child_helpers.cc | 2 +-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc
-index 7d0cb57..10be59e 100644
---- a/chromium/base/trace_event/malloc_dump_provider.cc
-+++ b/chromium/base/trace_event/malloc_dump_provider.cc
-@@ -210,6 +210,7 @@ MallocDumpProvider::~MallocDumpProvider() {}
- // the current process.
- bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
- ProcessMemoryDump* pmd) {
-+#if defined(__GLIBC__)
- size_t total_virtual_size = 0;
- size_t resident_size = 0;
- size_t allocated_objects_size = 0;
-@@ -321,7 +322,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 7ddeb4d..b8c73b0 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/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
deleted file mode 100644
index 498b04d4..00000000
--- a/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 51c5ff669beda6efec97f28bf6c94329e193eafd 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 95480ea..1de3d1a 100644
---- a/chromium/base/allocator/allocator_shim.cc
-+++ b/chromium/base/allocator/allocator_shim.cc
-@@ -266,7 +266,7 @@ void ShimFree(void* address) {
- // 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/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
deleted file mode 100644
index 37da85ee..00000000
--- a/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 79ba4e54de16b6ef69ed4561edc694c0f4b77e5c 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 003708d..0fef314 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/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch b/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch
deleted file mode 100644
index d713d3ad..00000000
--- a/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a8af55b0070d9cd9e80ccc8535437435d7f3960c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Jul 2017 15:24:49 -0700
-Subject: [PATCH] chromium: musl: Match syscalls to match musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- chromium/third_party/lss/linux_syscall_support.h | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h
-index 9dbd239..a715de1 100644
---- a/chromium/third_party/lss/linux_syscall_support.h
-+++ b/chromium/third_party/lss/linux_syscall_support.h
-@@ -793,6 +793,14 @@ struct kernel_statfs {
- #endif
-
-
-+#undef stat64
-+#undef fstat64
-+
-+#ifndef __NR_fstatat
-+#define __NR_fstatat __NR_fstatat64
-+#endif
-+
-+
- #if defined(__x86_64__)
- #ifndef ARCH_SET_GS
- #define ARCH_SET_GS 0x1001
-@@ -1210,6 +1218,14 @@ struct kernel_statfs {
- #ifndef __NR_fallocate
- #define __NR_fallocate 285
- #endif
-+
-+#ifndef __NR_pread
-+#define __NR_pread __NR_pread64
-+#endif
-+#ifndef __NR_pwrite
-+#define __NR_pwrite __NR_pwrite64
-+#endif
-+
- /* End of x86-64 definitions */
- #elif defined(__mips__)
- #if _MIPS_SIM == _MIPS_SIM_ABI32
diff --git a/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch
deleted file mode 100644
index bec98b0d..00000000
--- a/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 5a83638e13e6d5b1d8aa401af12dbe29bcea8cda 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/heap/StackFrameDepth.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 92fbda5..c41579d 100644
---- a/chromium/base/threading/platform_thread_linux.cc
-+++ b/chromium/base/threading/platform_thread_linux.cc
-@@ -175,7 +175,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/heap/StackFrameDepth.cpp b/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
-index 1d164f5..3358deb 100644
---- a/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
-+++ b/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp
-@@ -68,7 +68,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize() {
- // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
- // correctly for the main thread.
-
--#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
-+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
- // pthread_getattr_np() can fail if the thread is not invoked by
- // pthread_create() (e.g., the main thread of webkit_unit_tests).
- // If so, a conservative size estimate is returned.
-@@ -135,7 +135,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize() {
- }
-
- void* StackFrameDepth::getStackStart() {
--#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
-+#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
- pthread_attr_t attr;
- int error;
- #if OS(FREEBSD)
diff --git a/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch b/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch
deleted file mode 100644
index 13ecb95a..00000000
--- a/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 4394020a7bfbac6fb78cf498f7bdaa9adf153707 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 a2ca2e2..e139cdf 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/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch b/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch
deleted file mode 100644
index d4bdc8b4..00000000
--- a/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 5e2fae4322189dc359c469fed55c7fadbf46418e 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>
----
- chromium/third_party/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 91f77dd..bb84a0b 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/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch
index 5d444899..6712cef6 100644
--- a/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch
@@ -1,4 +1,4 @@
-From b220fb26cdcc7b3b9d2762c46b8e7604f3120cc3 Mon Sep 17 00:00:00 2001
+From ba309beb6cdd4a0cd343cc8043464714cd5e8c3e 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
@@ -13,15 +13,17 @@ le.rsp): Unable to create file. File name too long
Task-number: QTBUG-59769
Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
- chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++
+ gn/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 a5bc6cd..5cefbfe 100644
---- a/chromium/tools/gn/ninja_action_target_writer.cc
-+++ b/chromium/tools/gn/ninja_action_target_writer.cc
-@@ -115,9 +115,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() {
+diff --git a/gn/tools/gn/ninja_action_target_writer.cc b/gn/tools/gn/ninja_action_target_writer.cc
+index 5f4fbaad882..1c074a2193b 100644
+--- a/gn/tools/gn/ninja_action_target_writer.cc
++++ b/gn/tools/gn/ninja_action_target_writer.cc
+@@ -119,9 +119,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;
@@ -30,7 +32,7 @@ index a5bc6cd..5cefbfe 100644
+ //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)
++ while (rspfile.length() > 250 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos)
+ rspfile = rspfile.substr(0,pos);
+
if (!target_->sources().empty())
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch
new file mode 100644
index 00000000..a7d8a1c5
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch
@@ -0,0 +1,91 @@
+From a67f504fcc2c96ea7e7a57e44dc9c6d559f19838 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Feb 2019 19:28:59 -0800
+Subject: [PATCH] chromium: fix build with clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/build/config/compiler/BUILD.gn | 27 ++-----------------------
+ 1 file changed, 2 insertions(+), 25 deletions(-)
+
+diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn
+index b511a58c5a8..b628042bc21 100644
+--- a/chromium/build/config/compiler/BUILD.gn
++++ b/chromium/build/config/compiler/BUILD.gn
+@@ -783,8 +783,6 @@ config("compiler_cpu_abi") {
+ }
+ } else if (current_cpu == "arm") {
+ if (is_clang && !is_android && !is_nacl) {
+- cflags += [ "--target=arm-linux-gnueabihf" ]
+- ldflags += [ "--target=arm-linux-gnueabihf" ]
+ }
+ if (!is_nacl) {
+ cflags += [
+@@ -797,8 +795,6 @@ config("compiler_cpu_abi") {
+ }
+ } else if (current_cpu == "arm64") {
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
+- cflags += [ "--target=aarch64-linux-gnu" ]
+- ldflags += [ "--target=aarch64-linux-gnu" ]
+ }
+ } else if (current_cpu == "mipsel" && !is_nacl) {
+ ldflags += [ "-Wl,--hash-style=sysv" ]
+@@ -807,9 +803,6 @@ config("compiler_cpu_abi") {
+ if (is_android) {
+ cflags += [ "--target=mipsel-linux-android" ]
+ ldflags += [ "--target=mipsel-linux-android" ]
+- } else {
+- cflags += [ "--target=mipsel-linux-gnu" ]
+- ldflags += [ "--target=mipsel-linux-gnu" ]
+ }
+ } else {
+ cflags += [ "-EL" ]
+@@ -888,10 +881,7 @@ config("compiler_cpu_abi") {
+ } else if (current_cpu == "mips" && !is_nacl) {
+ ldflags += [ "-Wl,--hash-style=sysv" ]
+ if (custom_toolchain == "") {
+- if (is_clang) {
+- cflags += [ "--target=mips-linux-gnu" ]
+- ldflags += [ "--target=mips-linux-gnu" ]
+- } else {
++ if (!is_clang) {
+ cflags += [ "-EB" ]
+ ldflags += [ "-EB" ]
+ }
+@@ -938,9 +928,6 @@ config("compiler_cpu_abi") {
+ if (is_android) {
+ cflags += [ "--target=mips64el-linux-android" ]
+ ldflags += [ "--target=mips64el-linux-android" ]
+- } else {
+- cflags += [ "--target=mips64el-linux-gnuabi64" ]
+- ldflags += [ "--target=mips64el-linux-gnuabi64" ]
+ }
+ } else {
+ cflags += [
+@@ -997,10 +984,7 @@ config("compiler_cpu_abi") {
+ } else if (current_cpu == "mips64") {
+ ldflags += [ "-Wl,--hash-style=sysv" ]
+ if (custom_toolchain == "") {
+- if (is_clang) {
+- cflags += [ "--target=mips64-linux-gnuabi64" ]
+- ldflags += [ "--target=mips64-linux-gnuabi64" ]
+- } else {
++ if (!is_clang) {
+ cflags += [
+ "-EB",
+ "-mabi=64",
+@@ -1167,13 +1151,6 @@ config("compiler_deterministic") {
+ }
+ }
+ }
+-
+- # Tells the compiler not to use absolute paths when passing the default
+- # paths to the tools it invokes. We don't want this because we don't
+- # really need it and it can mess up the goma cache entries.
+- if (is_clang && !is_nacl && !(use_qt && use_libcxx)) {
+- cflags += [ "-no-canonical-prefixes" ]
+- }
+ }
+
+ config("clang_revision") {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch
new file mode 100644
index 00000000..3dfcb1af
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch
@@ -0,0 +1,33 @@
+From cf19db916e8566a8c19e9a5aeeb6a9e6a7f08111 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 5 Feb 2019 14:32:20 -0800
+Subject: [PATCH] chromium: Exclude CRC32 for 32bit arm
+
+This fixes build issues during cross compiling for linux using clang
+
+Fixes
+src/3rdparty/chromium/third_party/zlib/crc32_simd.c:184: undefined reference to `__crc32d'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/third_party/zlib/BUILD.gn | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/chromium/third_party/zlib/BUILD.gn b/chromium/third_party/zlib/BUILD.gn
+index 44b827155b2..16892b8d284 100644
+--- a/chromium/third_party/zlib/BUILD.gn
++++ b/chromium/third_party/zlib/BUILD.gn
+@@ -129,8 +129,12 @@ if (use_arm_neon_optimizations) {
+ # Disabled for iPhone, as described in DDI0487C_a_armv8_arm:
+ # "All implementations of the ARMv8.1 architecture are required to
+ # implement the CRC32* instructions. These are optional in ARMv8.0."
++ defines = []
+ if (!is_ios && !use_qt) {
+ defines = [ "CRC32_ARMV8_CRC32" ]
++ if (current_cpu == "arm64") {
++ defines += [ "CRC32_ARMV8_CRC32" ]
++ }
+ if (is_android) {
+ defines += [ "ARMV8_OS_ANDROID" ]
+ } else if (is_linux || is_chromeos) {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch
new file mode 100644
index 00000000..4a82d69d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch
@@ -0,0 +1,41 @@
+From 1dd881dafa5d61f9a260dd54092689868869f066 Mon Sep 17 00:00:00 2001
+From: Johannes Pointner <johannes.pointner@br-automation.com>
+Date: Fri, 3 May 2019 09:12:38 +0200
+Subject: [PATCH] chromium: Do not try to set the guessed values for
+
+ march/mtune/float-abi OE config machinary has computed these values already
+ and fed it via compiler cmdline to chromium build
+
+I think upstream should check for the values on compiler cmdline
+before overriding these
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com>
+
+%% original patch: 0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch
+---
+ chromium/build/config/compiler/BUILD.gn | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn
+index b628042bc21..0b9476b33af 100644
+--- a/chromium/build/config/compiler/BUILD.gn
++++ b/chromium/build/config/compiler/BUILD.gn
+@@ -784,15 +784,6 @@ config("compiler_cpu_abi") {
+ } else if (current_cpu == "arm") {
+ if (is_clang && !is_android && !is_nacl) {
+ }
+- if (!is_nacl) {
+- cflags += [
+- "-march=$arm_arch",
+- "-mfloat-abi=$arm_float_abi",
+- ]
+- }
+- if (arm_tune != "") {
+- cflags += [ "-mtune=$arm_tune" ]
+- }
+ } else if (current_cpu == "arm64") {
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
+ }
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch
new file mode 100644
index 00000000..8ce307c9
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch
@@ -0,0 +1,28 @@
+From 73c864315f3d14ba232657232d145795adf25d89 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby@suse.cz>
+Date: Thu, 11 Jul 2019 09:35:13 +0200
+Subject: [PATCH] chromium: fix build after y2038 changes in glibc
+
+SIOCGSTAMP is defined in linux/sockios.h since kernel 5.2. Include that
+file wherever needed.
+
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Pending
+---
+ chromium/third_party/webrtc/rtc_base/physical_socket_server.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
+index cf6e7927951..e5df6f9d92c 100644
+--- a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
++++ b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
+@@ -70,6 +70,7 @@ typedef void* SockOptArg;
+ #endif // WEBRTC_POSIX
+
+ #if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
++#include <linux/sockios.h>
+
+ int64_t GetSocketRecvTimestamp(int socket) {
+ struct timeval tv_ioctl;
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000..b05d9163
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,48 @@
+From c9c77a6fdd6679815f8c68f1e519a317472e7bc5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 10:07:43 -0800
+Subject: [PATCH] chromium: Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ chromium/ui/events/ozone/evdev/event_converter_evdev.h | 5 +++++
+ chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 3 +--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.h b/chromium/ui/events/ozone/evdev/event_converter_evdev.h
+index 2d184811a00..fb2ba0069f1 100644
+--- a/chromium/ui/events/ozone/evdev/event_converter_evdev.h
++++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.h
+@@ -20,6 +20,11 @@
+ #include "ui/events/ozone/evdev/event_dispatch_callback.h"
+ #include "ui/gfx/geometry/size.h"
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ struct input_event;
+
+ namespace ui {
+diff --git a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc
+index b8d089f7381..5d2d08b1ec6 100644
+--- a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc
++++ b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc
+@@ -62,8 +62,7 @@ void TouchEventLogEvdev::DumpLog(const char* filename) {
+ continue;
+ std::string event_string = base::StringPrintf(
+ "E: %ld.%06ld %04x %04x %d %d\n", te->ev.input_event_sec,
+- te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value,
+- te->slot);
++ te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, te->slot);
+ report_content += event_string;
+ }
+ file.Write(0, report_content.c_str(), report_content.length());
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch
new file mode 100644
index 00000000..87893de6
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch
@@ -0,0 +1,35 @@
+From 851073e7af2c21567e1d8c1a15639fcc6e01be40 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Dec 2019 15:41:16 -0800
+Subject: [PATCH] chromium: Include cstddef for size_t definition
+
+Include ctsdint for uintXX_t
+
+Fixes
+In file included from ../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.cc:10:
+../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type
+ 34 | size_t stability_counter_;
+ | ^~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ccc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../third_party/webrtc/modules/video_coding/decoding_state.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
+index ec972949d89..2a76775cfb6 100644
+--- a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
++++ b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h
+@@ -15,6 +15,7 @@
+ #include <map>
+ #include <set>
+ #include <vector>
++#include <cstdint>
+
+ namespace webrtc {
+
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch
new file mode 100644
index 00000000..603173d1
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch
@@ -0,0 +1,556 @@
+From 50f862c3bed6f13932d43da5c992d3dacfdfe00e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 2 Jan 2020 17:13:55 -0800
+Subject: [PATCH] chromium: Move CharAllocator definition to a header
+ file
+
+Fixes
+error: invalid application of 'sizeof' to an incomplete type 'cc::ListContainerHelper::CharAllocator'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/cc/base/list_container_helper.cc | 251 ---------------------
+ chromium/cc/base/list_container_helper.h | 255 ++++++++++++++++++++++
+ 2 files changed, 255 insertions(+), 251 deletions(-)
+
+diff --git a/chromium/cc/base/list_container_helper.cc b/chromium/cc/base/list_container_helper.cc
+index 7b594b4a458..9dae1c360c4 100644
+--- a/chromium/cc/base/list_container_helper.cc
++++ b/chromium/cc/base/list_container_helper.cc
+@@ -13,259 +13,8 @@
+ #include "base/check_op.h"
+ #include "base/memory/aligned_memory.h"
+
+-namespace {
+-const size_t kDefaultNumElementTypesToReserve = 32;
+-} // namespace
+-
+ namespace cc {
+
+-// CharAllocator
+-////////////////////////////////////////////////////
+-// This class deals only with char* and void*. It does allocation and passing
+-// out raw pointers, as well as memory deallocation when being destroyed.
+-class ListContainerHelper::CharAllocator {
+- public:
+- // CharAllocator::InnerList
+- /////////////////////////////////////////////
+- // This class holds the raw memory chunk, as well as information about its
+- // size and availability.
+- struct InnerList {
+- InnerList(const InnerList&) = delete;
+- InnerList& operator=(const InnerList&) = delete;
+-
+- std::unique_ptr<char[], base::AlignedFreeDeleter> data;
+- // The number of elements in total the memory can hold. The difference
+- // between capacity and size is the how many more elements this list can
+- // hold.
+- size_t capacity;
+- // The number of elements have been put into this list.
+- size_t size;
+- // The size of each element is in bytes. This is used to move from between
+- // elements' memory locations.
+- size_t step;
+-
+- InnerList() : capacity(0), size(0), step(0) {}
+-
+- void Erase(char* position) {
+- // Confident that destructor is called by caller of this function. Since
+- // CharAllocator does not handle construction after
+- // allocation, it doesn't handle desctrution before deallocation.
+- DCHECK_LE(position, LastElement());
+- DCHECK_GE(position, Begin());
+- char* start = position + step;
+- std::copy(start, End(), position);
+-
+- --size;
+- // Decrease capacity to avoid creating not full not last InnerList.
+- --capacity;
+- }
+-
+- void InsertBefore(size_t alignment, char** position, size_t count) {
+- DCHECK_LE(*position, LastElement() + step);
+- DCHECK_GE(*position, Begin());
+-
+- // Adjust the size and capacity
+- size_t old_size = size;
+- size += count;
+- capacity = size;
+-
+- // Allocate the new data and update the iterator's pointer.
+- std::unique_ptr<char[], base::AlignedFreeDeleter> new_data(
+- static_cast<char*>(base::AlignedAlloc(size * step, alignment)));
+- size_t position_offset = *position - Begin();
+- *position = new_data.get() + position_offset;
+-
+- // Copy the data before the inserted segment
+- memcpy(new_data.get(), data.get(), position_offset);
+- // Copy the data after the inserted segment.
+- memcpy(new_data.get() + position_offset + count * step,
+- data.get() + position_offset, old_size * step - position_offset);
+- data = std::move(new_data);
+- }
+-
+- bool IsEmpty() const { return !size; }
+- bool IsFull() { return capacity == size; }
+- size_t NumElementsAvailable() const { return capacity - size; }
+-
+- void* AddElement() {
+- DCHECK_LT(size, capacity);
+- ++size;
+- return LastElement();
+- }
+-
+- void RemoveLast() {
+- DCHECK(!IsEmpty());
+- --size;
+- }
+-
+- char* Begin() const { return data.get(); }
+- char* End() const { return data.get() + size * step; }
+- char* LastElement() const { return data.get() + (size - 1) * step; }
+- char* ElementAt(size_t index) const { return data.get() + index * step; }
+- };
+-
+- CharAllocator(size_t alignment, size_t element_size, size_t element_count)
+- // base::AlignedAlloc does not accept alignment less than sizeof(void*).
+- : alignment_(std::max(sizeof(void*), alignment)),
+- element_size_(element_size),
+- size_(0),
+- last_list_index_(0),
+- last_list_(nullptr) {
+- // If this fails, then alignment of elements after the first could be wrong,
+- // and we need to pad sizes to fix that.
+- DCHECK_EQ(element_size % alignment, 0u);
+- AllocateNewList(element_count > 0 ? element_count
+- : kDefaultNumElementTypesToReserve);
+- last_list_ = storage_[last_list_index_].get();
+- }
+-
+- CharAllocator(const CharAllocator&) = delete;
+- ~CharAllocator() = default;
+-
+- CharAllocator& operator=(const CharAllocator&) = delete;
+-
+- void* Allocate() {
+- if (last_list_->IsFull()) {
+- // Only allocate a new list if there isn't a spare one still there from
+- // previous usage.
+- if (last_list_index_ + 1 >= storage_.size())
+- AllocateNewList(last_list_->capacity * 2);
+-
+- ++last_list_index_;
+- last_list_ = storage_[last_list_index_].get();
+- }
+-
+- ++size_;
+- return last_list_->AddElement();
+- }
+-
+- size_t alignment() const { return alignment_; }
+- size_t element_size() const { return element_size_; }
+- size_t list_count() const { return storage_.size(); }
+- size_t size() const { return size_; }
+- bool IsEmpty() const { return size() == 0; }
+-
+- size_t Capacity() const {
+- size_t capacity_sum = 0;
+- for (const auto& inner_list : storage_)
+- capacity_sum += inner_list->capacity;
+- return capacity_sum;
+- }
+-
+- void Clear() {
+- // Remove all except for the first InnerList.
+- DCHECK(!storage_.empty());
+- storage_.erase(storage_.begin() + 1, storage_.end());
+- last_list_index_ = 0;
+- last_list_ = storage_[0].get();
+- last_list_->size = 0;
+- size_ = 0;
+- }
+-
+- void RemoveLast() {
+- DCHECK(!IsEmpty());
+- last_list_->RemoveLast();
+- if (last_list_->IsEmpty() && last_list_index_ > 0) {
+- --last_list_index_;
+- last_list_ = storage_[last_list_index_].get();
+-
+- // If there are now two empty inner lists, free one of them.
+- if (last_list_index_ + 2 < storage_.size())
+- storage_.pop_back();
+- }
+- --size_;
+- }
+-
+- void Erase(PositionInCharAllocator* position) {
+- DCHECK_EQ(this, position->ptr_to_container);
+-
+- // Update |position| to point to the element after the erased element.
+- InnerList* list = storage_[position->vector_index].get();
+- char* item_iterator = position->item_iterator;
+- if (item_iterator == list->LastElement())
+- position->Increment();
+-
+- list->Erase(item_iterator);
+- // TODO(weiliangc): Free the InnerList if it is empty.
+- --size_;
+- }
+-
+- void InsertBefore(ListContainerHelper::Iterator* position, size_t count) {
+- if (!count)
+- return;
+-
+- // If |position| is End(), then append |count| elements at the end. This
+- // will happen to not invalidate any iterators or memory.
+- if (!position->item_iterator) {
+- // Set |position| to be the first inserted element.
+- Allocate();
+- position->vector_index = storage_.size() - 1;
+- position->item_iterator = storage_[position->vector_index]->LastElement();
+- // Allocate the rest.
+- for (size_t i = 1; i < count; ++i)
+- Allocate();
+- } else {
+- storage_[position->vector_index]->InsertBefore(
+- alignment_, &position->item_iterator, count);
+- size_ += count;
+- }
+- }
+-
+- InnerList* InnerListById(size_t id) const {
+- DCHECK_LT(id, storage_.size());
+- return storage_[id].get();
+- }
+-
+- size_t FirstInnerListId() const {
+- // |size_| > 0 means that at least one vector in |storage_| will be
+- // non-empty.
+- DCHECK_GT(size_, 0u);
+- size_t id = 0;
+- while (storage_[id]->size == 0)
+- ++id;
+- return id;
+- }
+-
+- size_t LastInnerListId() const {
+- // |size_| > 0 means that at least one vector in |storage_| will be
+- // non-empty.
+- DCHECK_GT(size_, 0u);
+- size_t id = storage_.size() - 1;
+- while (storage_[id]->size == 0)
+- --id;
+- return id;
+- }
+-
+- size_t NumAvailableElementsInLastList() const {
+- return last_list_->NumElementsAvailable();
+- }
+-
+- private:
+- void AllocateNewList(size_t list_size) {
+- std::unique_ptr<InnerList> new_list(new InnerList);
+- new_list->capacity = list_size;
+- new_list->size = 0;
+- new_list->step = element_size_;
+- new_list->data.reset(static_cast<char*>(
+- base::AlignedAlloc(list_size * element_size_, alignment_)));
+- storage_.push_back(std::move(new_list));
+- }
+-
+- std::vector<std::unique_ptr<InnerList>> storage_;
+- const size_t alignment_;
+- const size_t element_size_;
+-
+- // The number of elements in the list.
+- size_t size_;
+-
+- // The index of the last list to have had elements added to it, or the only
+- // list if the container has not had elements added since being cleared.
+- size_t last_list_index_;
+-
+- // This is equivalent to |storage_[last_list_index_]|.
+- InnerList* last_list_;
+-};
+-
+ // PositionInCharAllocator
+ //////////////////////////////////////////////////////
+ ListContainerHelper::PositionInCharAllocator::PositionInCharAllocator(
+diff --git a/chromium/cc/base/list_container_helper.h b/chromium/cc/base/list_container_helper.h
+index 31658bc8486..9e65013cbdb 100644
+--- a/chromium/cc/base/list_container_helper.h
++++ b/chromium/cc/base/list_container_helper.h
+@@ -8,9 +8,17 @@
+ #include <stddef.h>
+
+ #include <memory>
++#include <algorithm>
++#include <vector>
+
++#include "base/logging.h"
++#include "base/memory/aligned_memory.h"
+ #include "cc/base/base_export.h"
+
++namespace {
++const size_t kDefaultNumElementTypesToReserve = 32;
++} // namespace
++
+ namespace cc {
+
+ // Helper class for ListContainer non-templated logic. All methods are private,
+@@ -174,6 +182,253 @@ class CC_BASE_EXPORT ListContainerHelper final {
+ std::unique_ptr<CharAllocator> data_;
+ };
+
++// CharAllocator
++////////////////////////////////////////////////////
++// This class deals only with char* and void*. It does allocation and passing
++// out raw pointers, as well as memory deallocation when being destroyed.
++class ListContainerHelper::CharAllocator {
++ public:
++ // CharAllocator::InnerList
++ /////////////////////////////////////////////
++ // This class holds the raw memory chunk, as well as information about its
++ // size and availability.
++ struct InnerList {
++ InnerList(const InnerList&) = delete;
++ InnerList& operator=(const InnerList&) = delete;
++
++ std::unique_ptr<char[], base::AlignedFreeDeleter> data;
++ // The number of elements in total the memory can hold. The difference
++ // between capacity and size is the how many more elements this list can
++ // hold.
++ size_t capacity;
++ // The number of elements have been put into this list.
++ size_t size;
++ // The size of each element is in bytes. This is used to move from between
++ // elements' memory locations.
++ size_t step;
++
++ InnerList() : capacity(0), size(0), step(0) {}
++
++ void Erase(char* position) {
++ // Confident that destructor is called by caller of this function. Since
++ // CharAllocator does not handle construction after
++ // allocation, it doesn't handle desctrution before deallocation.
++ DCHECK_LE(position, LastElement());
++ DCHECK_GE(position, Begin());
++ char* start = position + step;
++ std::copy(start, End(), position);
++
++ --size;
++ // Decrease capacity to avoid creating not full not last InnerList.
++ --capacity;
++ }
++
++ void InsertBefore(size_t alignment, char** position, size_t count) {
++ DCHECK_LE(*position, LastElement() + step);
++ DCHECK_GE(*position, Begin());
++
++ // Adjust the size and capacity
++ size_t old_size = size;
++ size += count;
++ capacity = size;
++
++ // Allocate the new data and update the iterator's pointer.
++ std::unique_ptr<char[], base::AlignedFreeDeleter> new_data(
++ static_cast<char*>(base::AlignedAlloc(size * step, alignment)));
++ size_t position_offset = *position - Begin();
++ *position = new_data.get() + position_offset;
++
++ // Copy the data before the inserted segment
++ memcpy(new_data.get(), data.get(), position_offset);
++ // Copy the data after the inserted segment.
++ memcpy(new_data.get() + position_offset + count * step,
++ data.get() + position_offset, old_size * step - position_offset);
++ data = std::move(new_data);
++ }
++
++ bool IsEmpty() const { return !size; }
++ bool IsFull() { return capacity == size; }
++ size_t NumElementsAvailable() const { return capacity - size; }
++
++ void* AddElement() {
++ DCHECK_LT(size, capacity);
++ ++size;
++ return LastElement();
++ }
++
++ void RemoveLast() {
++ DCHECK(!IsEmpty());
++ --size;
++ }
++
++ char* Begin() const { return data.get(); }
++ char* End() const { return data.get() + size * step; }
++ char* LastElement() const { return data.get() + (size - 1) * step; }
++ char* ElementAt(size_t index) const { return data.get() + index * step; }
++ };
++
++ CharAllocator(size_t alignment, size_t element_size, size_t element_count)
++ // base::AlignedAlloc does not accept alignment less than sizeof(void*).
++ : alignment_(std::max(sizeof(void*), alignment)),
++ element_size_(element_size),
++ size_(0),
++ last_list_index_(0),
++ last_list_(nullptr) {
++ // If this fails, then alignment of elements after the first could be wrong,
++ // and we need to pad sizes to fix that.
++ DCHECK_EQ(element_size % alignment, 0u);
++ AllocateNewList(element_count > 0 ? element_count
++ : kDefaultNumElementTypesToReserve);
++ last_list_ = storage_[last_list_index_].get();
++ }
++
++ CharAllocator(const CharAllocator&) = delete;
++ ~CharAllocator() = default;
++
++ CharAllocator& operator=(const CharAllocator&) = delete;
++
++ void* Allocate() {
++ if (last_list_->IsFull()) {
++ // Only allocate a new list if there isn't a spare one still there from
++ // previous usage.
++ if (last_list_index_ + 1 >= storage_.size())
++ AllocateNewList(last_list_->capacity * 2);
++
++ ++last_list_index_;
++ last_list_ = storage_[last_list_index_].get();
++ }
++
++ ++size_;
++ return last_list_->AddElement();
++ }
++
++ size_t alignment() const { return alignment_; }
++ size_t element_size() const { return element_size_; }
++ size_t list_count() const { return storage_.size(); }
++ size_t size() const { return size_; }
++ bool IsEmpty() const { return size() == 0; }
++
++ size_t Capacity() const {
++ size_t capacity_sum = 0;
++ for (const auto& inner_list : storage_)
++ capacity_sum += inner_list->capacity;
++ return capacity_sum;
++ }
++
++ void Clear() {
++ // Remove all except for the first InnerList.
++ DCHECK(!storage_.empty());
++ storage_.erase(storage_.begin() + 1, storage_.end());
++ last_list_index_ = 0;
++ last_list_ = storage_[0].get();
++ last_list_->size = 0;
++ size_ = 0;
++ }
++
++ void RemoveLast() {
++ DCHECK(!IsEmpty());
++ last_list_->RemoveLast();
++ if (last_list_->IsEmpty() && last_list_index_ > 0) {
++ --last_list_index_;
++ last_list_ = storage_[last_list_index_].get();
++
++ // If there are now two empty inner lists, free one of them.
++ if (last_list_index_ + 2 < storage_.size())
++ storage_.pop_back();
++ }
++ --size_;
++ }
++
++ void Erase(PositionInCharAllocator* position) {
++ DCHECK_EQ(this, position->ptr_to_container);
++
++ // Update |position| to point to the element after the erased element.
++ InnerList* list = storage_[position->vector_index].get();
++ char* item_iterator = position->item_iterator;
++ if (item_iterator == list->LastElement())
++ position->Increment();
++
++ list->Erase(item_iterator);
++ // TODO(weiliangc): Free the InnerList if it is empty.
++ --size_;
++ }
++
++ void InsertBefore(ListContainerHelper::Iterator* position, size_t count) {
++ if (!count)
++ return;
++
++ // If |position| is End(), then append |count| elements at the end. This
++ // will happen to not invalidate any iterators or memory.
++ if (!position->item_iterator) {
++ // Set |position| to be the first inserted element.
++ Allocate();
++ position->vector_index = storage_.size() - 1;
++ position->item_iterator = storage_[position->vector_index]->LastElement();
++ // Allocate the rest.
++ for (size_t i = 1; i < count; ++i)
++ Allocate();
++ } else {
++ storage_[position->vector_index]->InsertBefore(
++ alignment_, &position->item_iterator, count);
++ size_ += count;
++ }
++ }
++
++ InnerList* InnerListById(size_t id) const {
++ DCHECK_LT(id, storage_.size());
++ return storage_[id].get();
++ }
++
++ size_t FirstInnerListId() const {
++ // |size_| > 0 means that at least one vector in |storage_| will be
++ // non-empty.
++ DCHECK_GT(size_, 0u);
++ size_t id = 0;
++ while (storage_[id]->size == 0)
++ ++id;
++ return id;
++ }
++
++ size_t LastInnerListId() const {
++ // |size_| > 0 means that at least one vector in |storage_| will be
++ // non-empty.
++ DCHECK_GT(size_, 0u);
++ size_t id = storage_.size() - 1;
++ while (storage_[id]->size == 0)
++ --id;
++ return id;
++ }
++
++ size_t NumAvailableElementsInLastList() const {
++ return last_list_->NumElementsAvailable();
++ }
++
++ private:
++ void AllocateNewList(size_t list_size) {
++ std::unique_ptr<InnerList> new_list(new InnerList);
++ new_list->capacity = list_size;
++ new_list->size = 0;
++ new_list->step = element_size_;
++ new_list->data.reset(static_cast<char*>(
++ base::AlignedAlloc(list_size * element_size_, alignment_)));
++ storage_.push_back(std::move(new_list));
++ }
++
++ std::vector<std::unique_ptr<InnerList>> storage_;
++ const size_t alignment_;
++ const size_t element_size_;
++
++ // The number of elements in the list.
++ size_t size_;
++
++ // The index of the last list to have had elements added to it, or the only
++ // list if the container has not had elements added since being cleared.
++ size_t last_list_index_;
++
++ // This is equivalent to |storage_[last_list_index_]|.
++ InnerList* last_list_;
++};
++
+ } // namespace cc
+
+ #endif // CC_BASE_LIST_CONTAINER_HELPER_H_
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch
new file mode 100644
index 00000000..f1385890
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch
@@ -0,0 +1,29 @@
+From df7f7525ece62cde56de905098bd6000483f10d2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 1 Feb 2020 12:17:23 -0800
+Subject: [PATCH] chromium: Link v8 with libatomic on x86
+
+Fixes
+| v8_base_without_compiler_jumbo_47.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x29a): undefined reference to `__atomic_l
+oad'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/v8/BUILD.gn | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn
+index ba99c75140b..33cf943bcba 100644
+--- a/chromium/v8/BUILD.gn
++++ b/chromium/v8/BUILD.gn
+@@ -3862,7 +3862,8 @@ v8_source_set("v8_base_without_compiler") {
+ if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" ||
+ v8_current_cpu == "mips64" || v8_current_cpu == "mips64el" ||
+ v8_current_cpu == "ppc" || v8_current_cpu == "ppc64" ||
+- v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
++ v8_current_cpu == "s390" || v8_current_cpu == "s390x" ||
++ v8_current_cpu == "x86") {
+ libs += [ "atomic" ]
+ }
+
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch
new file mode 100644
index 00000000..7b648671
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch
@@ -0,0 +1,89 @@
+From 7cc4c3490f01cec09f9ca63e36cf34c9977243f0 Mon Sep 17 00:00:00 2001
+From: Andrej Valek <andrej.valek@siemens.com>
+Date: Fri, 17 Apr 2020 09:43:32 +0200
+Subject: [PATCH] chromium: icu: use system library only targets
+
+ - use bundled one for native/v8 internal builds
+
+Complete system ICU library using requires ICU dev package
+be installed on host. Enabling dependency on native package
+is not enough due to V8 hosttools toolchain. V8 toolchain
+is not using native sysroot, only a host packages.
+On the other hand webenegine does not produce external
+native artifacts. So external system ICU linking is not
+needed.
+
+Upstream-Status: Pending
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ chromium/third_party/icu/BUILD.gn | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn
+index 2430d3e48e5..5d00226667d 100644
+--- a/chromium/third_party/icu/BUILD.gn
++++ b/chromium/third_party/icu/BUILD.gn
+@@ -8,9 +8,13 @@ import("//build/config/linux/pkg_config.gni")
+ import("//build/shim_headers.gni")
+ import("//third_party/icu/config.gni")
+ import("//third_party/icu/sources.gni")
++import("//v8/gni/snapshot_toolchain.gni")
+
+ declare_args() {
+ use_system_icu = false
++
++ # Use only target icu library, when system using is enabled
++ use_system_icu_target_only = false
+ }
+
+ if (is_android) {
+@@ -24,6 +28,12 @@ if (is_mac && !icu_is_in_fuchsia) {
+ assert(!icu_disable_thin_archive || !is_component_build,
+ "icu_disable_thin_archive only works in static library builds")
+
++if (use_system_icu) {
++ # Use system library only for target, otherwise use bundled
++ if ((current_toolchain != host_toolchain) && (current_toolchain != v8_snapshot_toolchain)) {
++ use_system_icu_target_only = true
++ }
++}
+ # Meta target that includes both icuuc and icui18n. Most targets want both.
+ # You can depend on the individually if you need to.
+ group("icu") {
+@@ -413,7 +423,7 @@ config("system_icu_config") {
+ }
+ }
+
+-if (use_system_icu) {
++if (use_system_icu_target_only) {
+ pkg_config("system_icui18n") {
+ packages = [ "icu-i18n" ]
+ }
+@@ -626,7 +636,7 @@ shim_headers("icuuc_shim") {
+ }
+
+ config("icu_config") {
+- if (use_system_icu) {
++ if (use_system_icu_target_only) {
+ configs = [ ":system_icu_config"]
+ } else {
+ configs = [ ":bundled_icu_config"]
+@@ -634,7 +644,7 @@ config("icu_config") {
+ }
+
+ group("icuuc") {
+- if (use_system_icu) {
++ if (use_system_icu_target_only) {
+ deps = [ ":icuuc_shim" ]
+ public_configs = [
+ ":system_icu_config",
+@@ -646,7 +656,7 @@ group("icuuc") {
+ }
+
+ group("icui18n") {
+- if (use_system_icu) {
++ if (use_system_icu_target_only) {
+ deps = [ ":icui18n_shim" ]
+ public_configs = [
+ ":system_icu_config",
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch
new file mode 100644
index 00000000..81159aa9
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch
@@ -0,0 +1,22 @@
+From 339af001155fd49f4f967dcf08664e247d258877 Mon Sep 17 00:00:00 2001
+From: Jani Suonpera <jani.suonpera@qt.io>
+Date: Thu, 4 Feb 2021 14:30:44 +0200
+Subject: [PATCH] chromium: Add missing include for C strncpy
+
+Task-number:QTBUG-90623
+---
+ .../mojo/public/cpp/platform/named_platform_channel_posix.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc b/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc
+index 9082ac4da59..24b21771d89 100644
+--- a/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc
++++ b/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc
+@@ -8,6 +8,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <unistd.h>
++#include <cstring> // strncpy
+
+ #include "base/files/file_util.h"
+ #include "base/files/scoped_file.h"
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch
new file mode 100644
index 00000000..0cd9a85f
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch
@@ -0,0 +1,63 @@
+From ce0d0a3961dafb0e682a47b3cc3963a23bdcea37 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 16 May 2022 20:01:49 +0000
+Subject: [PATCH] chromium: skia: Fix build with gcc-12
+
+* fixes:
+/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 --sysroot=/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot -MMD -MF obj/skia/skia/SkParseColor.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_USE_LIBGIFCODEC -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSKIA_IMPLEMENTATION=1 -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -DWEBP_EXTERN=extern -DUSE_SYSTEM_LIBJPEG -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/skia -I../../../../git/src/3rdparty/chromium/third_party/libgifcodec -I../../../../git/src/3rdparty/chromium/third_party/vulkan/include -I../../../../git/src/3rdparty/chromium/third_party/vulkan_headers/include -I../../../../git/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -Igen -I../../../../git/src/3rdparty/chromium/third_party/libwebp/src -Igen -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../git/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../git/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../git/src/3rdparty/chromium/third_party/icu/source/common -I../../../../git/src/3rdparty/chromium/third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -I/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot/usr/include/libpng16 -I/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot/usr/include/freetype2 -I/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot/usr/include/libpng16 -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -std=c++17 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp -o obj/skia/skia/SkParseColor.o
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp: In static member function 'static const char* SkParse::FindNamedColor(const char*, size_t, SkColor*)':
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: error: no matching function for call to 'begin(const char* const [140])'
+ 300 | const auto rec = std::lower_bound(std::begin(gColorNames),
+ | ~~~~~~~~~~^~~~~~~~~~~~~
+In file included from ../../../../recipe-sysroot/usr/include/c++/12.1.0/utility:73,
+ from ../../../../git/src/3rdparty/chromium/third_party/skia/include/core/SkImageInfo.h:11,
+ from ../../../../git/src/3rdparty/chromium/third_party/skia/include/core/SkColor.h:11,
+ from ../../../../git/src/3rdparty/chromium/third_party/skia/include/utils/SkParse.h:13,
+ from ../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:9:
+../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:90:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::begin(initializer_list<_Tp>)'
+ 90 | begin(initializer_list<_Tp> __ils) noexcept
+ | ^~~~~
+../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:90:5: note: template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: note: mismatched types 'std::initializer_list<_Tp>' and 'const char* const*'
+ 300 | const auto rec = std::lower_bound(std::begin(gColorNames),
+ | ~~~~~~~~~~^~~~~~~~~~~~~
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:301:49: error: no matching function for call to 'end(const char* const [140])'
+ 301 | std::end (gColorNames),
+ | ~~~~~~~~~~^~~~~~~~~~~~~
+../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)'
+ 101 | end(initializer_list<_Tp> __ils) noexcept
+ | ^~~
+../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:301:49: note: mismatched types 'std::initializer_list<_Tp>' and 'const char* const*'
+ 301 | std::end (gColorNames),
+ | ~~~~~~~~~~^~~~~~~~~~~~~
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:307:24: error: no matching function for call to 'end(const char* const [140])'
+ 307 | if (rec == std::end(gColorNames) || 0 != strcmp(name, *rec)) {
+ | ~~~~~~~~^~~~~~~~~~~~~
+../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)'
+ 101 | end(initializer_list<_Tp> __ils) noexcept
+ | ^~~
+../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: template argument deduction/substitution failed:
+../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:307:24: note: mismatched types 'std::initializer_list<_Tp>' and 'const char* const*'
+ 307 | if (rec == std::end(gColorNames) || 0 != strcmp(name, *rec)) {
+ | ~~~~~~~~^~~~~~~~~~~~~
+[67/9144] CXX obj/skia/skia/GrClipStack.o
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ chromium/third_party/skia/src/utils/SkParseColor.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/third_party/skia/src/utils/SkParseColor.cpp b/chromium/third_party/skia/src/utils/SkParseColor.cpp
+index 0dc3497062f..f63f1800501 100644
+--- a/chromium/third_party/skia/src/utils/SkParseColor.cpp
++++ b/chromium/third_party/skia/src/utils/SkParseColor.cpp
+@@ -7,6 +7,7 @@
+
+
+ #include "include/utils/SkParse.h"
++#include <vector>
+
+ #include <algorithm> // std::lower_bound
+ #include <iterator>
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch
new file mode 100644
index 00000000..64a3d06b
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch
@@ -0,0 +1,34 @@
+From 3332ea15dfd4024eb7b95ebd1b26bf76f592b23f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Jan 2023 14:10:23 -0800
+Subject: [PATCH] Remove unsetting _FILE_OFFSET_BITS
+
+This does not work when enabling 64bit time_t with glibc which is enabled with -D_TIME_BITS=64, since it also needs
+_FILE_OFFSET_BITS=64 and this does not work when its undefined explicitly
+
+Upstream-Status: Submitted [https://github.com/madler/zlib/pull/764]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/third_party/zlib/gzguts.h | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/chromium/third_party/zlib/gzguts.h b/chromium/third_party/zlib/gzguts.h
+index 57faf37165a..3747f3c449d 100644
+--- a/chromium/third_party/zlib/gzguts.h
++++ b/chromium/third_party/zlib/gzguts.h
+@@ -3,15 +3,6 @@
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+-#ifdef _LARGEFILE64_SOURCE
+-# ifndef _LARGEFILE_SOURCE
+-# define _LARGEFILE_SOURCE 1
+-# endif
+-# ifdef _FILE_OFFSET_BITS
+-# undef _FILE_OFFSET_BITS
+-# endif
+-#endif
+-
+ #ifdef HAVE_HIDDEN
+ # define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
+ #else
diff --git a/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
index 52d5143e..ef788ff2 100644
--- a/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
@@ -1,21 +1,22 @@
-From 6d7823f7bd60aa63aa11b4c6ac9d8814122e8396 Mon Sep 17 00:00:00 2001
+From 4951642cc3b22379211c492759849c79a59938f5 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
+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>
+Upstream-Status: Pending
---
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 b655d1c..3de34e3 100644
+index 5fdb4817af8..e5b9431daa0 100644
--- a/chromium/sandbox/linux/suid/sandbox.c
+++ b/chromium/sandbox/linux/suid/sandbox.c
-@@ -44,6 +44,15 @@ static bool DropRoot();
+@@ -46,6 +46,15 @@ static bool DropRoot();
#define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x)
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
new file mode 100644
index 00000000..0b14f09d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
@@ -0,0 +1,54 @@
+From 49c7efab2123eff453df1bd0bdbdc718a8292c58 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>
+Upstream-Status: Pending
+---
+ chromium/base/process/process_metrics_posix.cc | 4 ++--
+ chromium/base/trace_event/malloc_dump_provider.cc | 2 ++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc
+index 9d12c427bb3..900ab13519f 100644
+--- a/chromium/base/process/process_metrics_posix.cc
++++ b/chromium/base/process/process_metrics_posix.cc
+@@ -119,14 +119,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_CHROMEOS) || defined(OS_ANDROID)
++#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+ struct mallinfo minfo = mallinfo();
+ #if BUILDFLAG(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 c327f486596..90129e851e8 100644
+--- a/chromium/base/trace_event/malloc_dump_provider.cc
++++ b/chromium/base/trace_event/malloc_dump_provider.cc
+@@ -77,6 +77,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_)
+@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
+ MemoryAllocatorDump::kUnitsBytes,
+ resident_size - allocated_objects_size);
+ }
++#endif // __GLIBC__
+ return true;
+ }
+
diff --git a/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch
index 6f582993..72cf812a 100644
--- a/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch
@@ -1,18 +1,19 @@
-From d36b3a2fdc5aa94b4dd03bcb509f64e8722fae9d Mon Sep 17 00:00:00 2001
+From 1150bddce8d8cb4a691b3197569d304434fa6219 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>
+Upstream-Status: Pending
---
- chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 1 +
+ .../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 b29ec2d..91f77dd 100644
+index ca5936d6e63..5484dbadfbd 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" {
+@@ -154,6 +154,7 @@ extern "C" {
#include <stddef.h>
#include <stdint.h>
#include <string.h>
diff --git a/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
index 3b96e066..45907779 100644
--- a/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
@@ -1,21 +1,23 @@
-From 536f4a41ea30faabac84ff5bd62b51238ba1cdc7 Mon Sep 17 00:00:00 2001
+From ceb6a8ca7548ef255150e1b8d1e65b40c4949dee 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
+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>
+Upstream-Status: Pending
---
- .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++-----
+ .../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 715c045..edc8cf2 100644
+index 17415aaf538..59c1b6fb5f6 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;
+@@ -60,7 +60,7 @@
static inline void* do_mmap64(void *start, size_t length,
int prot, int flags,
@@ -23,8 +25,8 @@ index 715c045..edc8cf2 100644
+ 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,
+ return (void*)syscall(SYS_mmap, start, length, prot, flags, fd, offset);
+@@ -73,7 +73,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,
@@ -33,7 +35,7 @@ index 715c045..edc8cf2 100644
void *result;
// Try mmap2() unless it's not supported
-@@ -161,7 +161,7 @@ static inline void* do_mmap64(void *start, size_t length,
+@@ -144,7 +144,7 @@ static inline void* do_mmap64(void *start, size_t length,
extern "C" {
void* mmap64(void *start, size_t length, int prot, int flags,
@@ -42,7 +44,7 @@ index 715c045..edc8cf2 100644
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" {
+@@ -159,7 +159,7 @@ extern "C" {
}
extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
@@ -51,7 +53,7 @@ index 715c045..edc8cf2 100644
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,
+@@ -170,7 +170,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
return result;
}
diff --git a/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch
index 77e896d5..2bba01b4 100644
--- a/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch
@@ -1,23 +1,24 @@
-From 7336279ff0cca9216a095dcabf8872418372ee42 Mon Sep 17 00:00:00 2001
+From b59ba5a52e29867f9ebbc4423514d50f4b36b0ae 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>
+Upstream-Status: Pending
---
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 5a0564d..8c2dc64 100644
+index a5ca0b7191e..7017d48b5a0 100644
--- a/chromium/base/allocator/allocator_check.cc
+++ b/chromium/base/allocator/allocator_check.cc
-@@ -21,7 +21,7 @@ bool IsAllocatorInitialized() {
- #if defined(OS_WIN) && defined(ALLOCATOR_SHIM)
- // Set by allocator_shim_win.cc when the shimmed _set_new_mode() is called.
+@@ -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)
+-#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
++#elif (defined(__GLIBC__) || defined(OS_CHROMEOS)) && \
+ BUILDFLAG(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/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
index 2258a505..fd62102a 100644
--- a/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
@@ -1,34 +1,35 @@
-From 2268eab4b28c1817a2ecd69c27730f9a46807e93 Mon Sep 17 00:00:00 2001
+From f82c828b2c8ffd7c5f0e884132e0f1d721295c36 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
+Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for
+ non-glibc platforms
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
---
- chromium/net/dns/dns_config_service_posix.cc | 4 ++++
- chromium/net/dns/dns_reloader.cc | 4 ++++
- chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++++++++++
+ 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 ba8a369..e9b40d0 100644
+index 5a4aead0acf..3427923836b 100644
--- a/chromium/net/dns/dns_config_service_posix.cc
+++ b/chromium/net/dns/dns_config_service_posix.cc
-@@ -25,6 +25,10 @@
- #include "net/dns/notify_watcher_mac.h"
+@@ -30,6 +30,10 @@
+ #include "net/dns/public/dns_protocol.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)
+ #if defined(OS_MAC)
#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 74534e6..2780a77 100644
+index 0672e711afb..300f77e3b38 100644
--- a/chromium/net/dns/dns_reloader.cc
+++ b/chromium/net/dns/dns_reloader.cc
@@ -9,6 +9,10 @@
@@ -40,11 +41,11 @@ index 74534e6..2780a77 100644
+#endif
+
#include "base/lazy_instance.h"
- #include "base/logging.h"
#include "base/macros.h"
+ #include "base/notreached.h"
diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h
new file mode 100644
-index 0000000..4f0e852
+index 00000000000..4f0e852a19d
--- /dev/null
+++ b/chromium/net/dns/resolv_compat.h
@@ -0,0 +1,29 @@
diff --git a/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch
index e4df9f67..ef05aa23 100644
--- a/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch
@@ -1,4 +1,4 @@
-From 8d4ab971e015059b3509dff4e7b7ff0382c2c6fa Mon Sep 17 00:00:00 2001
+From f4b417ae2878f5ebf8d5a171669f516e1c6d4d9c 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
@@ -7,20 +7,21 @@ 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>
+Upstream-Status: Pending
---
- chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +-
+ .../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 edc8cf2..a868b50 100644
+index 59c1b6fb5f6..10f0786d829 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,
+@@ -213,7 +213,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size,
+ return result;
}
- // Don't hook sbrk() in Android, since it doesn't expose __sbrk.
--#if !defined(__ANDROID__)
-+#if !defined(__ANDROID__) && defined(__GLIBC__)
+-#ifndef __UCLIBC__
++#if !defined(__UCLIBC__) && defined(__GLIBC__)
// libc's version:
- extern "C" void* __sbrk(ptrdiff_t increment);
+ extern "C" void* __sbrk(intptr_t increment);
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch
new file mode 100644
index 00000000..86757bbd
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch
@@ -0,0 +1,48 @@
+From d41fdb34286e134d4ff871943ea54b03b2ab02d6 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>
+Upstream-Status: Pending
+---
+ chromium/base/threading/platform_thread_linux.cc | 3 ++-
+ .../third_party/blink/renderer/platform/wtf/stack_util.cc | 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 c1a705e2b89..f322fdb8352 100644
+--- a/chromium/base/threading/platform_thread_linux.cc
++++ b/chromium/base/threading/platform_thread_linux.cc
+@@ -377,7 +377,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/blink/renderer/platform/wtf/stack_util.cc b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc
+index 71b901f4044..f33aba04bc3 100644
+--- a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc
++++ b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc
+@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() {
+ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
+ // correctly for the main thread.
+
+-#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
++#elif 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 blink_unittests).
+@@ -97,7 +97,7 @@ return Threading::ThreadStackSize();
+ }
+
+ 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/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
new file mode 100644
index 00000000..59a5e66f
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
@@ -0,0 +1,62 @@
+From 9808a4034b0a6354ecbc2081a2b022614acb392f 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>
+Upstream-Status: Pending
+---
+ chromium/third_party/breakpad/breakpad/configure.ac | 2 +-
+ .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 4 ++++
+ .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 +
+ 3 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac
+index 08513687f34..13745540a5e 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 getcontext getrandom])
+ AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
+
+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 bbfdba68093..a98bb7e6fd7 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
+@@ -30,13 +30,17 @@
+ #define _GNU_SOURCE // needed for pread()
+ #endif
+
++#include <config.h>
++#include <sys/reg.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <string.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <config.h>
+ #include <unistd.h>
++#include <sys/reg.h>
+
+ #include <algorithm>
+ #include <map>
+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 6e153745dba..5cd2c6fcb23 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 <limits.h>
+ #include <link.h>
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch
new file mode 100644
index 00000000..a925c0d6
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch
@@ -0,0 +1,32 @@
+From e0413ce85e22a1a0a83015f22cd850add6250c9c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Dec 2018 16:58:04 -0800
+Subject: [PATCH] chromium: musl: pread pwrite
+
+Redefine pread/pwrite in terms of 64bit variants on musl
+since 32bit variants don't exist and aliases are not defined in
+libc either
+
+Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/third_party/lss/linux_syscall_support.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h
+index e4ac22644c0..f56203ccce4 100644
+--- a/chromium/third_party/lss/linux_syscall_support.h
++++ b/chromium/third_party/lss/linux_syscall_support.h
+@@ -1258,6 +1258,12 @@ struct kernel_statfs {
+ #ifndef __NR_getrandom
+ #define __NR_getrandom 318
+ #endif
++
++#undef __NR_pread
++#define __NR_pread __NR_pread64
++#undef __NR_pwrite
++#define __NR_pwrite __NR_pwrite64
++
+ /* End of x86-64 definitions */
+ #elif defined(__mips__)
+ #if _MIPS_SIM == _MIPS_SIM_ABI32
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch
new file mode 100644
index 00000000..eb157045
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch
@@ -0,0 +1,46 @@
+From 78eae00a5c53cd44a4b73e6ba357088a82dd4b84 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 10 May 2020 08:16:01 -0700
+Subject: [PATCH] chromium: musl: initialize msghdr in a compatible
+ manner
+
+initialize msghdr in a compatible manner
+
+msghdr stuct from socket.h is not same between musl and glibc
+where musl claims to be more posix compliant where as glibc seems
+to fill whats needed for linux sizewise and chooses long enough types
+which maybe questionable, therefore constructing a structure with explicit
+constructor is not going to work correctly for musl and glibc at same time
+
+see
+https://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64
+
+This fix initialized the struct to 0 first and then sets the struct elements
+by name, so we dont have to hard code the positions of elements when initializing
+structure
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ chromium/net/socket/udp_socket_posix.cc | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/net/socket/udp_socket_posix.cc b/chromium/net/socket/udp_socket_posix.cc
+index 71265568be5..42e0d298045 100644
+--- a/chromium/net/socket/udp_socket_posix.cc
++++ b/chromium/net/socket/udp_socket_posix.cc
+@@ -1151,8 +1151,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers(
+ for (auto& buffer : buffers)
+ msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
+ msgvec->reserve(buffers.size());
+- for (size_t j = 0; j < buffers.size(); j++)
+- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
++ for (size_t j = 0; j < buffers.size(); j++) {
++ struct msghdr m = {0};
++ m.msg_iov = &msg_iov[j];
++ m.msg_iovlen = 1;
++ msgvec->push_back({m, 0});
++ }
+ int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
+ SendResult send_result(0, 0, std::move(buffers));
+ if (result < 0) {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch
new file mode 100644
index 00000000..2ca2e313
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch
@@ -0,0 +1,28 @@
+From a4783ee130e638f51438340b9f8f4de415f9ad76 Mon Sep 17 00:00:00 2001
+From: Michal Klocek <michal.klocek@qt.io>
+Date: Wed, 8 May 2024 09:07:49 +0200
+Subject: [PATCH] Fix dependecy when compiling content/browser
+
+Deals with:
+
+"fatal error: components/spellcheck/spellcheck_buildflags.h:
+No such file or directory"
+
+Change-Id: If633fdf9d3d793158ab0dd994c011c17e66c13b5
+Upstream-Status: Pending
+---
+ chromium/content/browser/BUILD.gn | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/chromium/content/browser/BUILD.gn b/chromium/content/browser/BUILD.gn
+index 1466f33d462..ae459c24d4f 100644
+--- a/chromium/content/browser/BUILD.gn
++++ b/chromium/content/browser/BUILD.gn
+@@ -334,6 +334,7 @@ jumbo_static_library("browser") {
+
+ public_deps = [
+ ":accessibility_buildflags",
++ "//components/spellcheck:buildflags",
+ "//base/util/memory_pressure",
+ "//base/util/type_safety",
+ "//ipc",
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index d2686726..efdd57b9 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -1,9 +1,8 @@
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 )"
+LICENSE = "BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0-only | 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 \
@@ -13,26 +12,33 @@ LIC_FILES_CHKSUM = " \
"
DEPENDS += " \
+ dbus \
+ libpng-native \
+ nss-native \
+ nspr-native \
ninja-native \
- yasm-native \
+ nasm-native \
+ nodejs-native \
bison-native \
qtwebchannel \
qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \
qtlocation \
- libdrm fontconfig pixman openssl pango cairo icu pciutils \
+ libdrm libxkbcommon fontconfig pixman openssl pango cairo pciutils nss \
libcap \
+ jpeg-native \
+ freetype-native \
gperf-native \
+ nodejs-native \
${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbfile libxcomposite libxcursor libxi libxrandr libxtst', '', d)} \
"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
-EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm \
- GYP_CONFIG+=generate_character_data=0 \
- GYP_CONFIG+=use_allocator=none \
- GYP_CONFIG+=use_experimental_allocator_shim=false \
-"
-EXTRA_QMAKEVARS_CONFIGURE += "-feature-system-ninja -no-feature-system-gn"
+inherit pkgconfig
+
+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
@@ -42,35 +48,55 @@ EXTRA_QMAKEVARS_CONFIGURE += "-feature-system-ninja -no-feature-system-gn"
# http://errors.yoctoproject.org/Errors/Details/150333/
SECURITY_STRINGFORMAT = ""
-# To use system ffmpeg you need to enable also libwebp, opus, vpx
+# To use system ffmpeg you need to enable also libwebp, opus, libvpx
# Only depenedencies available in oe-core are enabled by default
-PACKAGECONFIG ??= "libwebp flac libevent libxslt speex nss"
-PACKAGECONFIG[opus] = "WEBENGINE_CONFIG+=use_system_opus,,libopus"
-PACKAGECONFIG[icu] = "WEBENGINE_CONFIG+=use_system_icu,,icu"
-PACKAGECONFIG[ffmpeg] = "WEBENGINE_CONFIG+=use_system_ffmpeg,,libav"
-PACKAGECONFIG[libwebp] = "WEBENGINE_CONFIG+=use_system_libwebp,,libwebp"
-PACKAGECONFIG[flac] = "WEBENGINE_CONFIG+=use_system_flac,,flac"
-PACKAGECONFIG[libevent] = "WEBENGINE_CONFIG+=use_system_libevent,,libevent"
-PACKAGECONFIG[libxslt] = "WEBENGINE_CONFIG+=use_system_libxslt,,libxslt"
-PACKAGECONFIG[speex] = "WEBENGINE_CONFIG+=use_system_speex,,speex"
-PACKAGECONFIG[vpx] = "WEBENGINE_CONFIG+=use_system_vpx,,libvpx"
-PACKAGECONFIG[webrtc] = "WEBENGINE_CONFIG+=use_webrtc,,libvpx"
-PACKAGECONFIG[nss] = "WEBENGINE_CONFIG+=use_nss,,nss"
-
-EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
+PACKAGECONFIG ??= "libevent libpng \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+
+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[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"
+PACKAGECONFIG[pulseaudio] = "-feature-webengine-pulseaudio,-no-feature-webengine-pulseaudio,pulseaudio"
+
+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 = "(.*)"
+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 features_check
+
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)}
+
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
+
+
+# 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):
@@ -79,18 +105,11 @@ def gettext_oeconf(d):
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() {
- # Disable autodetection from sysroot:
- sed -e 's/packagesExist([^)]*vpx[^)]*):/false:/g'\
- -e 's/config_libvpx:/false:/g' \
- -e 's/config_srtp:/false:/g' \
- -e 's/config_snappy:/false:/g' \
- -e 's/packagesExist(nss):/false:/g' \
- -e 's/packagesExist(minizip, zlib):/false:/g' \
- -e 's/packagesExist(libwebp,libwebpdemux):/false:/g' \
- -e 's/packagesExist(libxml-2.0,libxslt):/false:/g'\
- -e 's/^ *packagesExist($$package):/false:/g' \
- -i ${S}/mkspecs/features/configure.prf
# qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as
# arguments here
@@ -104,70 +123,87 @@ do_configure() {
${EXTRA_QMAKEVARS_CONFIGURE}
}
-do_configure_prepend_libc-musl() {
+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() {
+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}"
+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 += " \
+RDEPENDS:${PN}-examples += " \
${PN}-qmlplugins \
qtquickcontrols-qmlplugins \
qtdeclarative-qmlplugins \
"
-QT_MODULE_BRANCH_CHROMIUM = "56-based"
+QT_MODULE_BRANCH_CHROMIUM = "87-based"
-# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.9
-# 5.9.meta-qt5.5
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc
+# 5.15-glibc.meta-qt5.17
SRC_URI += " \
${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \
- file://0001-functions.prf-allow-build-for-linux-oe-g-platform.patch \
- file://0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch \
- file://0003-Include-dependency-to-QCoreApplication-translate.patch \
- file://0004-Force-host-toolchain-configuration.patch \
+ file://0001-Force-host-toolchain-configuration.patch \
+"
+
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15
+# 5.15.meta-qt5.17
+SRC_URI:append:libc-musl = "\
+ file://0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \
+ file://0003-musl-link-against-libexecinfo.patch \
+ file://0004-mkspecs-Allow-builds-with-libc-glibc.patch \
"
-# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/56-based
-# 56-based.meta-qt5.5
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc
+# 87-based-glibc.meta-qt5.11
SRC_URI += " \
- file://0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch;patchdir=src/3rdparty \
- file://0002-chromium-Force-host-toolchain-configuration.patch;patchdir=src/3rdparty \
- file://0003-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \
+ file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \
+ file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \
+ file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \
+ file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \
+ file://chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \
+ file://chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \
+ file://chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \
+ file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \
+ file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \
+ file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \
+ file://chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch;patchdir=src/3rdparty \
+ file://chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch;patchdir=src/3rdparty \
+ file://chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch;patchdir=src/3rdparty \
+ file://chromium/0024-Fix-dependecy-when-compiling-content-browser.patch;patchdir=src/3rdparty \
"
-SRC_URI_append_libc-musl = "\
- file://0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \
- file://0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \
- file://0006-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \
- file://0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \
- file://0008-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \
- file://0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \
- file://0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch;patchdir=src/3rdparty \
- file://0011-chromium-musl-Match-syscalls-to-match-musl.patch;patchdir=src/3rdparty \
- file://0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
- file://0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
- file://0014-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
- file://0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch;patchdir=src/3rdparty \
- file://0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch;patchdir=src/3rdparty \
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based
+# 87-based.meta-qt5.11
+SRC_URI:append:libc-musl = "\
+ file://chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \
+ file://chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \
+ file://chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \
+ file://chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \
+ file://chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \
+ file://chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
+ file://chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
+ file://chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
+ file://chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \
+ file://chromium/0022-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \
+ file://chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \
"
-SRCREV_qtwebengine = "ec04f1b1fff16d744a680b641b94c9e990db2090"
-SRCREV_chromium = "45ed09101724148401a193e20e3545c8f3de4df2"
+SRCREV_qtwebengine = "17fd3176988586168bee8654008a097a5f23ec1d"
+SRCREV_chromium = "fdfef5b37af3bed8402d7c7e20a5487f2602b0a6"
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"
+INSANE_SKIP:${PN} += "textrel"
diff --git a/recipes-qt/qt5/qtwebglplugin_git.bb b/recipes-qt/qt5/qtwebglplugin_git.bb
new file mode 100644
index 00000000..64dc464f
--- /dev/null
+++ b/recipes-qt/qt5/qtwebglplugin_git.bb
@@ -0,0 +1,21 @@
+require qt5.inc
+require qt5-lts.inc
+
+LICENSE = "GPL-3.0-only | 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 = "4f75644c2b9517b7d2621df1309d499956ea5e86"
diff --git a/recipes-qt/qt5/qtwebkit-examples_git.bb b/recipes-qt/qt5/qtwebkit-examples_git.bb
deleted file mode 100644
index 3e3e4a0b..00000000
--- a/recipes-qt/qt5/qtwebkit-examples_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-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 \
-"
-
-PACKAGECONFIG ?= "examples"
-
-DEPENDS += "qtwebkit qtxmlpatterns"
-RDEPENDS_${PN}-examples += "qtwebkit-qmlplugins"
-RDEPENDS_${PN}-examples += "${@bb.utils.contains('PACKAGECONFIG_OPENSSL', 'openssl', 'ca-certificates', '', d)}"
-
-SRCREV = "a24c780b60d7d8bc00c4a48042cf7f32db777d55"
diff --git a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch
new file mode 100644
index 00000000..91bf19de
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch
@@ -0,0 +1,28 @@
+From 34100abf0a24b3d2dadebe90926eea98d50a43b8 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/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch
deleted file mode 100644
index b26c891a..00000000
--- a/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 4de28e3b349dd5d5fbecea7ee9b7af46aac60d76 Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <trevor.woerner@linaro.org>
-Date: Fri, 7 Feb 2014 04:07:17 +0100
-Subject: [PATCH] qtwebkit: fix QA issue (bad RPATH)
-
-Building qtwebkit causes a QA issue such that QtWebPluginProcess and
-QtWebProcess contain bad RPATHs which point into the build location. This fix
-adds a patch to not include the rpath.prf which causes this problem.
-
-Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Tools/qmake/mkspecs/features/unix/default_post.prf | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf
-index fd66af6..ef754c3 100644
---- a/Tools/qmake/mkspecs/features/unix/default_post.prf
-+++ b/Tools/qmake/mkspecs/features/unix/default_post.prf
-@@ -61,7 +61,6 @@ linux-*g++* {
- }
- }
-
--contains(TEMPLATE, app): CONFIG += rpath
-
- CONFIG(debug, debug|release)|force_debug_info {
- # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
diff --git a/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch b/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch
deleted file mode 100644
index dabfbb55..00000000
--- a/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0c2be869a8fde2a0d2e8cbe9bf093077166f0942 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 5 Jun 2015 19:55:05 -0700
-Subject: [PATCH] Exclude backtrace() API for non-glibc libraries
-
-It was excluding musl with current checks, so lets make it such that it
-considers only glibc when using backtrace API
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Source/WTF/wtf/Assertions.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp
-index 1b2091f..ba03a28 100644
---- a/Source/WTF/wtf/Assertions.cpp
-+++ b/Source/WTF/wtf/Assertions.cpp
-@@ -61,7 +61,7 @@
- #include <windows.h>
- #endif
-
--#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
-+#if (OS(DARWIN) || (OS(LINUX) && defined (__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID)
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
-@@ -245,7 +245,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f
-
- void WTFGetBacktrace(void** stack, int* size)
- {
--#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID)
-+#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID)
- *size = backtrace(stack, *size);
- #elif OS(WINDOWS) && !OS(WINCE)
- // The CaptureStackBackTrace function is available in XP, but it is not defined
diff --git a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch
new file mode 100644
index 00000000..8486a84d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch
@@ -0,0 +1,69 @@
+From a454e27d7993de8a3aa7e5cc37d7e16803da4271 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/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch
new file mode 100644
index 00000000..8ebb5894
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch
@@ -0,0 +1,25 @@
+From fb5f7d19a390c399c35f9fbaa1185e309394666d 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/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
new file mode 100644
index 00000000..bde4300b
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
@@ -0,0 +1,38 @@
+From 597d54c6553cd9ffbf08e40a7a706096b8990399 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>
+Upstream-Status: Pending
+---
+ 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 65c1ff1c1..b7ef82f4e 100644
+--- a/Source/WebKit/PlatformQt.cmake
++++ b/Source/WebKit/PlatformQt.cmake
+@@ -511,7 +511,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"
+@@ -741,7 +741,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"
diff --git a/recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch b/recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch
new file mode 100644
index 00000000..b3671a2b
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch
@@ -0,0 +1,53 @@
+From b579ee43a3f832e9b3785ed4cb03284cbc142ef1 Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57@gmail.com>
+Date: Tue, 4 Aug 2020 21:04:06 +0300
+Subject: [PATCH] Let Bison generate the header directly, to fix build with
+ Bison 3.7
+
+Starting with Bison 3.7, the generated C++ file #include's the header
+by default, instead of duplicating it. So we should not delete it.
+
+Remove the code to add #ifdef guards to the header, since Bison adds
+them itself since version 2.6.3.
+
+Found at [1]
+
+[1] https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/WebCore/css/makegrammar.pl | 21 +--------------------
+ 1 file changed, 1 insertion(+), 20 deletions(-)
+
+diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl
+index 5d63b0810..9435701c7 100644
+--- a/Source/WebCore/css/makegrammar.pl
++++ b/Source/WebCore/css/makegrammar.pl
+@@ -73,25 +73,6 @@ if ($suffix eq ".y.in") {
+ }
+
+ my $fileBase = File::Spec->join($outputDir, $filename);
+-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
++my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+ push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
+ system(@bisonCommand) == 0 or die;
+-
+-open HEADER, ">$fileBase.h" or die;
+-print HEADER << "EOF";
+-#ifndef CSSGRAMMAR_H
+-#define CSSGRAMMAR_H
+-EOF
+-
+-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die;
+-while (<HPP>) {
+- print HEADER;
+-}
+-close HPP;
+-
+-print HEADER "#endif\n";
+-close HEADER;
+-
+-unlink("$fileBase.cpp.h");
+-unlink("$fileBase.hpp");
+-
diff --git a/recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch
new file mode 100644
index 00000000..2bfb72fe
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch
@@ -0,0 +1,83 @@
+From b5a58d2c001689b07591fdce8820773d57a74002 Mon Sep 17 00:00:00 2001
+From: Chenxi Mao <chenxi.mao2013@gmail.com>
+Date: Fri, 3 Apr 2020 08:33:10 +0800
+Subject: [PATCH 1/1] Riscv: Add support for riscv
+
+---
+ CMakeLists.txt | 2 ++
+ Source/JavaScriptCore/CMakeLists.txt | 1 +
+ Source/WTF/wtf/Platform.h | 12 ++++++++++--
+ Source/WTF/wtf/dtoa/utils.h | 2 +-
+ 4 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 31a2ea1fd..516476729 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390")
+ set(WTF_CPU_S390 1)
+ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
+ set(WTF_CPU_S390X 1)
++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
++ set(WTF_CPU_RISCV64 1)
+ else ()
+ message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")
+ endif ()
+diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
+index 937b3ed00..2fff29f9d 100644
+--- a/Source/JavaScriptCore/CMakeLists.txt
++++ b/Source/JavaScriptCore/CMakeLists.txt
+@@ -1286,6 +1286,7 @@ elseif (WTF_CPU_S390)
+ elseif (WTF_CPU_S390X)
+ elseif (WTF_CPU_MIPS)
+ elseif (WTF_CPU_SH4)
++elseif (WTF_CPU_RISCV64)
+ elseif (WTF_CPU_X86)
+ elseif (WTF_CPU_X86_64)
+ if (MSVC AND ENABLE_JIT)
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+index 5717f3ea1..8fac85f72 100644
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -349,7 +349,14 @@
+
+ #endif /* ARM */
+
+-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA)
++#if defined(__riscv)
++#define WTF_CPU_RISCV 1
++#if __riscv_xlen == 64
++#define WTF_CPU_RISCV64 1
++#endif
++#endif
++
++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV)
+ #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
+ #endif
+
+@@ -707,7 +714,8 @@
+ || CPU(S390X) \
+ || CPU(MIPS64) \
+ || CPU(PPC64) \
+- || CPU(PPC64LE)
++ || CPU(PPC64LE) \
++ || CPU(RISCV64)
+ #define USE_JSVALUE64 1
+ #else
+ #define USE_JSVALUE32_64 1
+diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
+index 05302e6e6..25dd352ee 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) || CPU(ARM)
++#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) || CPU(RISCV)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #if defined(_WIN32)
+--
+2.17.1
+
diff --git a/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch b/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch
new file mode 100644
index 00000000..d5ddfeb7
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch
@@ -0,0 +1,32 @@
+From d012406bcde49de9cba89f42a79ecba40b70a0ff Mon Sep 17 00:00:00 2001
+From: Konstantin Tokarev <annulen@yandex.ru>
+Date: Sun, 3 May 2020 18:50:24 +0300
+Subject: [PATCH] Disable code related to HTTP/2 when Qt is configured without
+ SSL support
+
+For enabling HTTP/2 by default we check if Qt uses OpenSSL and its version
+is 1.0.2 or higher via QSslSocket API. While it would be sufficient to
+add guards just there, we are not going to enable HTTP/2 for QT_NO_SSL
+case by default anyway (note that it still can be done in application code).
+
+Change-Id: I77b4a423ff1028725ac2c0953c757dce2db23e05
+---
+Upstream-Status: Backport [https://github.com/qtwebkit/qtwebkit/commit/e7ec14144ce58418d94568c41ac94d4d87969363]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ Source/WebCore/platform/network/qt/ResourceRequest.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/network/qt/ResourceRequest.h b/Source/WebCore/platform/network/qt/ResourceRequest.h
+index 1154d56a0..87e21ec3f 100644
+--- a/Source/WebCore/platform/network/qt/ResourceRequest.h
++++ b/Source/WebCore/platform/network/qt/ResourceRequest.h
+@@ -32,7 +32,7 @@
+ // HTTP/2 is implemented since Qt 5.8, but various QtNetwork bugs make it unusable in browser with Qt < 5.10.1
+ // We also don't enable HTTP/2 for unencrypted connections because of possible compatibility issues; it can be
+ // enabled manually by user application via custom QNAM subclass
+-#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 1)
++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 1) && !defined(QT_NO_SSL)
+ #define USE_HTTP2 1
+ #endif
+
diff --git a/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch b/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch
new file mode 100644
index 00000000..676ea85c
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch
@@ -0,0 +1,29 @@
+From d478fb2ffb158e84e8705fdff3b7b2994a5d46c7 Mon Sep 17 00:00:00 2001
+From: Konstantin Tokarev <annulen@yandex.ru>
+Date: Wed, 3 Jun 2020 15:01:42 +0300
+Subject: [PATCH] Fix compilation with Python 3.9: avoid passing encoding to
+ json.load()
+
+In Python 2.7 UTF-8 is assumed by default, while in Python 3 this argument
+is not supported.
+
+Upstream-Status: Backport [https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd]
+Change-Id: Ic459d60a6b20bc1838d8771bc36ac41614fe61a9
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/JavaScriptCore/generate-bytecode-files | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/JavaScriptCore/generate-bytecode-files b/Source/JavaScriptCore/generate-bytecode-files
+index c5dab429c..af3431275 100644
+--- a/Source/JavaScriptCore/generate-bytecode-files
++++ b/Source/JavaScriptCore/generate-bytecode-files
+@@ -163,7 +163,7 @@ if __name__ == "__main__":
+ initBytecodesFile = openOrExit(initASMFileName, "w")
+
+ try:
+- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8")
++ bytecodeSections = json.load(bytecodeFile)
+ except:
+ print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info()))
+
diff --git a/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch b/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch
new file mode 100644
index 00000000..18ae4aac
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch
@@ -0,0 +1,122 @@
+From 934ff3e2768a4ef2f1b21ee883acb56cb8ae898b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 2 Dec 2020 22:34:54 +0100
+Subject: [PATCH] Fix build with icu >= 68
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Source/WebCore/platform/text/TextCodecICU.cpp | 15 +++++++++++++++
+ Source/WebCore/platform/text/icu/UTextProvider.h | 15 +++++++++++++++
+ .../platform/text/icu/UTextProviderLatin1.cpp | 15 +++++++++++++++
+ .../platform/text/icu/UTextProviderUTF16.cpp | 15 +++++++++++++++
+ 4 files changed, 60 insertions(+)
+
+diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp
+index dd6ff0675..7ce8a70ef 100644
+--- a/Source/WebCore/platform/text/TextCodecICU.cpp
++++ b/Source/WebCore/platform/text/TextCodecICU.cpp
+@@ -39,6 +39,21 @@
+ #include <wtf/text/StringBuilder.h>
+ #include <wtf/unicode/CharacterNames.h>
+
++// Since icu 68.1 icu we have to:
++#ifndef TRUE
++// Taken from umachibe.h:
++/**
++ * The TRUE value of a UBool.
++ *
++ * @deprecated ICU 68 Use standard "true" instead.
++ */
++# define TRUE true
++#endif
++
++#ifndef FALSE
++# define FALSE false
++#endif
++
+ namespace WebCore {
+
+ const size_t ConversionBufferSize = 16384;
+diff --git a/Source/WebCore/platform/text/icu/UTextProvider.h b/Source/WebCore/platform/text/icu/UTextProvider.h
+index c254fc4c7..9d2ad8b8c 100644
+--- a/Source/WebCore/platform/text/icu/UTextProvider.h
++++ b/Source/WebCore/platform/text/icu/UTextProvider.h
+@@ -28,6 +28,21 @@
+
+ #include <unicode/utext.h>
+
++// Since icu 68.1 icu we have to:
++#ifndef TRUE
++// Taken from umachibe.h:
++/**
++ * The TRUE value of a UBool.
++ *
++ * @deprecated ICU 68 Use standard "true" instead.
++ */
++# define TRUE true
++#endif
++
++#ifndef FALSE
++# define FALSE false
++#endif
++
+ namespace WebCore {
+
+ enum class UTextProviderContext {
+diff --git a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
+index cd6852c71..0c95ea529 100644
+--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
+@@ -29,6 +29,21 @@
+ #include "UTextProvider.h"
+ #include <wtf/text/StringImpl.h>
+
++// Since icu 68.1 icu we have to:
++#ifndef TRUE
++// Taken from umachibe.h:
++/**
++ * The TRUE value of a UBool.
++ *
++ * @deprecated ICU 68 Use standard "true" instead.
++ */
++# define TRUE true
++#endif
++
++#ifndef FALSE
++# define FALSE false
++#endif
++
+ namespace WebCore {
+
+ // Latin1 provider
+diff --git a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
+index 7aaac48c8..6ac693602 100644
+--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
+@@ -28,6 +28,21 @@
+
+ #include "UTextProvider.h"
+
++// Since icu 68.1 icu we have to:
++#ifndef TRUE
++// Taken from umachibe.h:
++/**
++ * The TRUE value of a UBool.
++ *
++ * @deprecated ICU 68 Use standard "true" instead.
++ */
++# define TRUE true
++#endif
++
++#ifndef FALSE
++# define FALSE false
++#endif
++
+ namespace WebCore {
+
+ // UTF16ContextAware provider
diff --git a/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch
new file mode 100644
index 00000000..2e667a78
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch
@@ -0,0 +1,82 @@
+From 2d43706b5b607ba2fdc777ef69532a75447cccd8 Mon Sep 17 00:00:00 2001
+From: Chenxi Mao <chenxi.mao2013@gmail.com>
+Date: Fri, 3 Apr 2020 08:33:10 +0800
+Subject: [PATCH] Riscv: Add support for riscv
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ CMakeLists.txt | 2 ++
+ Source/JavaScriptCore/CMakeLists.txt | 1 +
+ Source/WTF/wtf/Platform.h | 12 ++++++++++--
+ Source/WTF/wtf/dtoa/utils.h | 2 +-
+ 4 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 432ae6fce..eaf3a35df 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390")
+ set(WTF_CPU_S390 1)
+ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
+ set(WTF_CPU_S390X 1)
++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
++ set(WTF_CPU_RISCV64 1)
+ else ()
+ message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")
+ endif ()
+diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
+index afd76ca1a..3d184090d 100644
+--- a/Source/JavaScriptCore/CMakeLists.txt
++++ b/Source/JavaScriptCore/CMakeLists.txt
+@@ -1287,6 +1287,7 @@ elseif (WTF_CPU_S390)
+ elseif (WTF_CPU_S390X)
+ elseif (WTF_CPU_MIPS)
+ elseif (WTF_CPU_SH4)
++elseif (WTF_CPU_RISCV64)
+ elseif (WTF_CPU_X86)
+ elseif (WTF_CPU_X86_64)
+ if (MSVC AND ENABLE_JIT)
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+index 5717f3ea1..8fac85f72 100644
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -349,7 +349,14 @@
+
+ #endif /* ARM */
+
+-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA)
++#if defined(__riscv)
++#define WTF_CPU_RISCV 1
++#if __riscv_xlen == 64
++#define WTF_CPU_RISCV64 1
++#endif
++#endif
++
++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV)
+ #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
+ #endif
+
+@@ -707,7 +714,8 @@
+ || CPU(S390X) \
+ || CPU(MIPS64) \
+ || CPU(PPC64) \
+- || CPU(PPC64LE)
++ || CPU(PPC64LE) \
++ || CPU(RISCV64)
+ #define USE_JSVALUE64 1
+ #else
+ #define USE_JSVALUE32_64 1
+diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h
+index 05302e6e6..25dd352ee 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) || CPU(ARM)
++#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) || CPU(RISCV)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #if defined(_WIN32)
diff --git a/recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch b/recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch
new file mode 100644
index 00000000..fe09dded
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch
@@ -0,0 +1,31 @@
+From 7e3e0ca548cc9c92705308dd2e0f88ada544e794 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 26 Oct 2021 11:03:25 -0700
+Subject: [PATCH] Fix build on mips
+
+Fixes
+Source/WTF/wtf/Atomics.cpp:63:9: error: definition of builtin function '__sync_add_and_fetch_8'
+int64_t __sync_add_and_fetch_8(int64_t volatile* addend, int64_t value)
+Source/WTF/wtf/Atomics.cpp:68:9: error: definition of builtin function '__sync_sub_and_fetch_8'
+int64_t __sync_sub_and_fetch_8(int64_t volatile* addend, int64_t value)
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/WTF/wtf/Platform.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
+index 8fac85f72..5b8bbcb18 100644
+--- a/Source/WTF/wtf/Platform.h
++++ b/Source/WTF/wtf/Platform.h
+@@ -88,6 +88,7 @@
+ #else
+ #define WTF_CPU_MIPS 1
+ #define WTF_MIPS_ARCH __mips
++#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
+ #endif
+ #if defined(__MIPSEB__)
+ #define WTF_CPU_BIG_ENDIAN 1
diff --git a/recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch b/recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch
new file mode 100644
index 00000000..1c810be5
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch
@@ -0,0 +1,47 @@
+From 3d3a5974ff31e55651bb0c47278bd15734d60be4 Mon Sep 17 00:00:00 2001
+From: Adrian Perez de Castro <aperez@igalia.com>
+Date: Wed, 15 Jan 2020 22:15:38 +0000
+Subject: [PATCH] Offlineasm warnings with newer Ruby versions
+
+https://bugs.webkit.org/show_bug.cgi?id=206233
+
+Reviewed by Yusuke Suzuki.
+
+Avoid a warning about using Object#=~ on Annotation instances, which
+has been deprecated in Ruby 2.7.
+
+* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator
+to Annotation instances, which do not define it.
+
+Canonical link: https://commits.webkit.org/219400@main
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+Upstream-Status: Backport
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/JavaScriptCore/offlineasm/parser.rb | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb
+index b44511245..cd1cffaec 100644
+--- a/Source/JavaScriptCore/offlineasm/parser.rb
++++ b/Source/JavaScriptCore/offlineasm/parser.rb
+@@ -584,9 +584,7 @@ class Parser
+ firstCodeOrigin = @tokens[@idx].codeOrigin
+ list = []
+ loop {
+- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
+- break
+- elsif @tokens[@idx].is_a? Annotation
++ if @tokens[@idx].is_a? Annotation
+ # This is the only place where we can encounter a global
+ # annotation, and hence need to be able to distinguish between
+ # them.
+@@ -600,6 +598,8 @@ class Parser
+ list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string)
+ @annotation = nil
+ @idx += 2 # Consume the newline as well.
++ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final)
++ break
+ elsif @tokens[@idx] == "\n"
+ # ignore
+ @idx += 1
diff --git a/recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch b/recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch
new file mode 100644
index 00000000..bc489250
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch
@@ -0,0 +1,34 @@
+From 8a82826054f55d17d9b765bc383418b750ed836b Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 12 Apr 2023 16:07:40 +0200
+Subject: [PATCH] Fix build with gcc-13
+
+* fixes:
+ http://errors.yoctoproject.org/Errors/Details/699653/
+
+ TOPDIR/tmp-glibc/work/core2-64-oe-linux/qtwebkit/5.15.9+gitAUTOINC+10cd6a106e-r0/git/Source/ThirdParty/ANGLE/src/common/mathutil.h:575:8: error: 'uint32_t' does not name a type
+ 575 | inline uint32_t RotL(uint32_t x, int8_t r)
+ | ^~~~~~~~
+ TOPDIR/tmp-glibc/work/core2-64-oe-linux/qtwebkit/5.15.9+gitAUTOINC+10cd6a106e-r0/git/Source/ThirdParty/ANGLE/src/common/mathutil.h:19:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
+ 18 | #include <stdlib.h>
+ +++ |+#include <cstdint>
+ 19 |
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Pending
+---
+ Source/ThirdParty/ANGLE/src/common/mathutil.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/ThirdParty/ANGLE/src/common/mathutil.h b/Source/ThirdParty/ANGLE/src/common/mathutil.h
+index 7959da8bd..6a8e77b4d 100644
+--- a/Source/ThirdParty/ANGLE/src/common/mathutil.h
++++ b/Source/ThirdParty/ANGLE/src/common/mathutil.h
+@@ -12,6 +12,7 @@
+ #include "common/debug.h"
+ #include "common/platform.h"
+
++#include <cstdint>
+ #include <limits>
+ #include <algorithm>
+ #include <string.h>
diff --git a/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch b/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch
new file mode 100644
index 00000000..42ce33dc
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch
@@ -0,0 +1,33 @@
+From 999affc771f761894b6fd6e491c6adac7861fcf2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 Mar 2021 18:15:47 -0800
+Subject: [PATCH] link with libatomic
+
+This fixes build with C11
+
+lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/Assertions.cpp.o:/usr/include/c++/11.0.1/bits/atomic_base.h:520: more undefined references to `__atomic_compare_exchange_1' follow
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/WTF/wtf/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt
+index 297589b90..5b8d8c71b 100644
+--- a/Source/WTF/wtf/CMakeLists.txt
++++ b/Source/WTF/wtf/CMakeLists.txt
+@@ -245,6 +245,10 @@ if (NOT USE_SYSTEM_MALLOC)
+ list(APPEND WTF_LIBRARIES bmalloc)
+ endif ()
+
++list(APPEND WTF_LIBRARIES
++ -Wl,--as-needed -Wl,-latomic -Wl,--no-as-needed
++)
++
+ list(APPEND WTF_SOURCES
+ unicode/icu/CollatorICU.cpp
+ )
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb
index 3cce5674..ffa349d5 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -1,90 +1,106 @@
require qt5.inc
require qt5-git.inc
-LICENSE = "BSD & LGPLv2+ | GPL-2.0"
+inherit pkgconfig
+
+LICENSE = "BSD-3-Clause & LGPL-2.0-or-later | GPL-2.0-only"
LIC_FILES_CHKSUM = " \
- file://LICENSE.GPLv2;md5=05832301944453ec79e40ba3c3cfceec \
- file://Source/WebCore/rendering/RenderApplet.h;endline=22;md5=fb9694013ad71b78f8913af7a5959680 \
- file://Source/WebKit/gtk/webkit/webkit.h;endline=21;md5=b4fbe9f4a944f1d071dba1d2c76b3351 \
+ 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"
+DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native flex-native"
+
+# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.212
+# 5.212.meta-qt5.1
+SRC_URI += "\
+ file://0001-Do-not-skip-build-for-cross-compile.patch \
+ file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \
+ file://0003-Fix-build-bug-for-armv32-BE.patch \
+ file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \
+ file://0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch \
+ file://0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch \
+ file://0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch \
+ file://0008-Fix-build-with-icu-68.patch \
+ file://0009-Riscv-Add-support-for-riscv.patch \
+ file://0010-Fix-build-on-mips.patch \
+ file://0011-Offlineasm-warnings-with-newer-Ruby-versions.patch \
+ file://0012-Fix-build-with-gcc-13.patch \
+"
+
+SRC_URI:append:riscv32 = " file://0013-link-with-libatomic.patch"
+SRC_URI:append:riscv64 = " file://0013-link-with-libatomic.patch"
+
+inherit cmake_qt5 perlnative
+
+inherit python3native
# 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"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
-# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.9
-# 5.9.meta-qt5.5
-SRC_URI += "\
- file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \
- file://0002-Exclude-backtrace-API-for-non-glibc-libraries.patch \
+# 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"
+CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
+EXTRA_OECMAKE += " \
+ -DPORT=Qt \
+ -DCROSS_COMPILE=ON \
+ -DCMAKE_BUILD_TYPE=release \
+ -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \
+ -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \
+ -DPYTHON_EXECUTABLE=`which python3` \
"
-PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors qtwebchannel \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxrender', '', d)} \
+EXTRA_OECMAKE:append:toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'"
+
+# JIT not supported on MIPS/PPC/RISCV
+EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON "
+EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON "
+EXTRA_OECMAKE:append:powerpc64le = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON "
+EXTRA_OECMAKE:append:riscv64 = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON "
+
+# Disable gold on mips64/clang
+# mips64-yoe-linux-musl-ld.gold: internal error in get_got_page_offset, at ../../gold/mips.cc:6260
+# mips-yoe-linux-musl-ld.gold: error: Can't find matching LO16 reloc
+EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF "
+
+PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
fontconfig \
"
-PACKAGECONFIG[gstreamer] = "OE_GSTREAMER_ENABLED,,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[gstreamer010] = "OE_GSTREAMER010_ENABLED,,gstreamer gst-plugins-base"
-PACKAGECONFIG[qtlocation] = "OE_QTLOCATION_ENABLED,,qtlocation"
-PACKAGECONFIG[qtmultimedia] = "OE_QTMULTIMEDIA_ENABLED,,qtmultimedia"
-PACKAGECONFIG[qtsensors] = "OE_QTSENSORS_ENABLED,,qtsensors"
-PACKAGECONFIG[qtwebchannel] = "OE_QTWEBCHANNEL_ENABLED,,qtwebchannel"
-PACKAGECONFIG[libwebp] = "OE_LIBWEBP_ENABLED,,libwebp"
-PACKAGECONFIG[libxcomposite] = "OE_LIBXCOMPOSITE_ENABLED,,libxcomposite"
-PACKAGECONFIG[libxrender] = "OE_LIBXRENDER_ENABLED,,libxrender"
-PACKAGECONFIG[fontconfig] = "OE_FONTCONFIG_ENABLED,,fontconfig"
-
-do_configure_prepend() {
- export QMAKE_CACHE_EVAL="CONFIG+=${PACKAGECONFIG_CONFARGS}"
- # disable gstreamer-1.0 test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(packagesExist(".*\<gstreamer-1.0\>.*")\)/ OE_GSTREAMER_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable gstreamer-0.10 test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(packagesExist(".*\<gstreamer-0.10\>.*")\)/ OE_GSTREAMER010_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable qtlocation test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(qtHaveModule(positioning)\)/ OE_QTLOCATION_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable qtmultimedia test if it isn't enabled by PACKAGECONFIG
- sed -e 's/(video):\(qtHaveModule(multimediawidgets)\)/(video):OE_QTMULTIMEDIA_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable qtsensors test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(qtHaveModule(sensors)\)/ OE_QTSENSORS_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable qtwebchannel test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(qtHaveModule(webchannel)\)/ OE_QTWEBCHANNEL_ENABLED:\1/' -i ${S}/Source/WebKit2/Target.pri
- sed -e 's/\s\(qtHaveModule(webchannel)\)/ OE_QTWEBCHANNEL_ENABLED:\1/' -i ${S}/Source/WebKit2/WebKit2.pri
- # disable libwebp test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(config_libwebp: \)/ OE_LIBWEBP_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable libxcomposite test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(config_libXcomposite: \)/ OE_LIBXCOMPOSITE_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable libxrender test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(config_libXrender: \)/ OE_LIBXRENDER_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
- # disable fontconfig test if it isn't enabled by PACKAGECONFIG
- sed -e 's/\s\(config_fontconfig: \)/ OE_FONTCONFIG_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
-}
-
-# Forcibly enable ICU, so qtbase doesn't need it.
-EXTRA_QMAKEVARS_PRE += "QT_CONFIG+=icu"
-
-# qtwebkit gets terribly big when linking with all debug info, disable by default
-QTWEBKIT_DEBUG = "QMAKE_CFLAGS+=-g0 QMAKE_CXXFLAGS+=-g0"
-EXTRA_QMAKEVARS_PRE += "${QTWEBKIT_DEBUG}"
-
-do_install_append() {
- # Remove paths to workdir, qtwebkit is dead now, so I won't spend extra time trying to prevent this
- # from some .prl or .prf file like for other modules
- sed -i 's@-Wl,-no-whole-archive -L${B}[^ ]* @ @g' ${D}${libdir}/pkgconfig/Qt5WebKit.pc
-}
+
+# 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"
+PACKAGECONFIG[tools] = "-DENABLE_TOOLS=ON,-DENABLE_TOOLS=OFF,"
# remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe
-PACKAGES_remove = "${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-dbg ${PN}-examples"
+PACKAGES:remove = "${PN}-examples"
-# make sure rb files are used from sysroot, not from host
-# ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/`
-# we need to replace it too (a bit longer version without importing re)
-RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }"
-export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}"
+QT_MODULE_BRANCH = "5.212"
-SRCREV = "bd0657f98aff85b9f06d85a8cf4da6a27f61a56e"
+SRCREV = "10cd6a106e1c461c774ca166a67b8c835c755ef7"
diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb
index 9faea9c6..e7d3a6bd 100644
--- a/recipes-qt/qt5/qtwebsockets_git.bb
+++ b/recipes-qt/qt5/qtwebsockets_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GFDL-1.3 & (GPL-3 | LGPL-3.0) | The-Qt-Company-Commercial"
+LICENSE = "GFDL-1.3 & (GPL-3.0-only | LGPL-3.0-only) | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
@@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase qtdeclarative"
-SRCREV = "2a7b08576a97d580b3dd034f710e062220eb0792"
+SRCREV = "7e0979bd69493914dc63897a8e61f48bf55d71cc"
diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb
index 2053fbf9..bac1b565 100644
--- a/recipes-qt/qt5/qtwebview_git.bb
+++ b/recipes-qt/qt5/qtwebview_git.bb
@@ -1,4 +1,4 @@
-LICENSE = "GFDL-1.3 & BSD & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
@@ -7,16 +7,20 @@ LIC_FILES_CHKSUM = " \
"
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 = "(.*)"
+COMPATIBLE_MACHINE:x86 = "(.*)"
+COMPATIBLE_MACHINE:x86-64 = "(.*)"
+COMPATIBLE_MACHINE:armv6 = "(.*)"
+COMPATIBLE_MACHINE:armv7a = "(.*)"
+COMPATIBLE_MACHINE:armv7ve = "(.*)"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
-SRCREV = "331af33f243c5192ee1af2f9dfc0d692f418e65d"
+python() {
+ if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
+SRCREV = "b4713043a1cc9378226fc32002141cbd748cb9a4"
diff --git a/recipes-qt/qt5/qtx11extras_git.bb b/recipes-qt/qt5/qtx11extras_git.bb
index aea7ddd5..bb8e5927 100644
--- a/recipes-qt/qt5/qtx11extras_git.bb
+++ b/recipes-qt/qt5/qtx11extras_git.bb
@@ -1,16 +1,15 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0-or-later | LGPL-3.0-only ) | 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 \
- file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
+ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
+ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
DEPENDS += "qtbase"
-SRCREV = "8b98f968cd05837ce5594e4beb4cc408e966e459"
+SRCREV = "ce7b2fd52df5b474dfea2bd7dd4e7956b10bf7ba"
diff --git a/recipes-qt/qt5/qtxmlpatterns/run-ptest b/recipes-qt/qt5/qtxmlpatterns/run-ptest
deleted file mode 100644
index 044f834d..00000000
--- a/recipes-qt/qt5/qtxmlpatterns/run-ptest
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-for x in ` awk '{print $1}' tst_list `;do
- ./${x};
-done
-
diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb
index f5fc79bf..5867704a 100644
--- a/recipes-qt/qt5/qtxmlpatterns_git.bb
+++ b/recipes-qt/qt5/qtxmlpatterns_git.bb
@@ -1,20 +1,30 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.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 )"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | 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://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
DEPENDS += "qtbase"
-SRCREV = "c9396275ea420562582db8f2e9c72d82055407d5"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG:class-target ?= "qtdeclarative"
+PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
+
+do_configure:prepend() {
+ # disable qtdeclarative test if it isn't enabled by PACKAGECONFIG
+ sed -e 's/qtHaveModule(qml)/OE_QTDECLARATIVE_ENABLED/' -i ${S}/src/src.pro
+}
+
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}"
+
+SRCREV = "cfc30b0df5e6d0c4d08b1ccc9c97a7ffa4ad0911"
BBCLASSEXTEND =+ "native nativesdk"
diff --git a/recipes-qt/qtchooser/qtchooser/0001-Makefile-install-the-man-dir.patch b/recipes-qt/qtchooser/qtchooser/0001-Makefile-install-the-man-dir.patch
deleted file mode 100644
index 8e8e1c69..00000000
--- a/recipes-qt/qtchooser/qtchooser/0001-Makefile-install-the-man-dir.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3f142e100cc3dd69b816ce79152760c823cb86e9 Mon Sep 17 00:00:00 2001
-From: Li Xin <lixin.fnst@cn.fujitsu.com>
-Date: Fri, 29 Apr 2016 12:41:34 +0900
-Subject: [PATCH] Makefile: install the man dir
-
-upstream-status: backported
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- Makefile | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 20b9100..1fd8cd3 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,5 +1,6 @@
- prefix = /usr
- bindir = $(prefix)/bin
-+MKDIR = mkdir -p
- TOOLS = assistant \
- designer \
- lconvert \
-@@ -56,6 +57,8 @@ install:
- case `uname -s` in Darwin) \
- for tool in $(MACTOOLS); do ln -sf qtchooser "$(INSTALL_ROOT)$(bindir)/$$tool"; done \
- ;; esac
-+ $(MKDIR) $(INSTALL_ROOT)$(prefix)/share/man/man1
-+ install -m 644 -p doc/qtchooser.1 $(INSTALL_ROOT)$(prefix)/share/man/man1
-
- uninstall:
- cd src/qtchooser && $(MAKE) uninstall
---
-1.8.4.2
-
diff --git a/recipes-qt/qtchooser/qtchooser_git.bb b/recipes-qt/qtchooser/qtchooser_git.bb
index e745e8ad..5bafe96d 100644
--- a/recipes-qt/qtchooser/qtchooser_git.bb
+++ b/recipes-qt/qtchooser/qtchooser_git.bb
@@ -1,8 +1,7 @@
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/cgit/qtsdk/qtchooser.git;branch=master \
- file://0001-Makefile-install-the-man-dir.patch"
+LICENSE = "LGPL-2.1-only & Digia-Qt-LGPL-Exception-1.1 | GPL-3.0-only"
+SRC_URI = "git://code.qt.io/qtsdk/qtchooser.git;branch=master"
LIC_FILES_CHKSUM = " \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
@@ -10,8 +9,8 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
"
S = "${WORKDIR}/git"
-SRCREV = "a1b6736e4f2daf86cd1626004d40ef57db85fbb5"
-#PV = "39+git${SRCREV}"
+SRCREV = "71750df4f0c6bbadcd422cdf7fe360ad033bbd14"
+PV = "39+git${SRCPV}"
inherit pkgconfig
diff --git a/recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch b/recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch
new file mode 100644
index 00000000..ca281b75
--- /dev/null
+++ b/recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch
@@ -0,0 +1,31 @@
+From 7bcf47c1d9ca5eb27da088f93387e42b55d6999c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Dec 2019 13:22:38 -0800
+Subject: [PATCH] Append LIB_ARCH to lib
+
+Creating subdir under lib is not expected in OE, instead it should be
+appending to lib so it becomes lib64 when needed and LIB_ARCH can be set
+in evnironment
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ quazip/quazip.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/quazip/quazip.pro b/quazip/quazip.pro
+index 3e10f36..1ea073e 100644
+--- a/quazip/quazip.pro
++++ b/quazip/quazip.pro
+@@ -42,7 +42,7 @@ CONFIG(debug, debug|release) {
+ unix:!symbian {
+ headers.path=$$PREFIX/include/quazip
+ headers.files=$$HEADERS
+- target.path=$$PREFIX/lib/$${LIB_ARCH}
++ target.path=$$PREFIX/lib$${LIB_ARCH}
+ INSTALLS += headers target
+
+ OBJECTS_DIR=.obj
+--
+2.24.1
+
diff --git a/recipes-qt/quazip/quazip_0.7.3.bb b/recipes-qt/quazip/quazip_0.7.3.bb
index 970204e5..850cf1ce 100644
--- a/recipes-qt/quazip/quazip_0.7.3.bb
+++ b/recipes-qt/quazip/quazip_0.7.3.bb
@@ -1,15 +1,17 @@
SUMMARY = "Qt/C++ wrapper for ZIP/UNZIP package"
HOMEPAGE = "http://quazip.sourceforge.net/"
BUGTRACKER = "https://sourceforge.net/p/quazip/bugs/"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=910d778aab53617cbaf13c4e1810e289"
DEPENDS = "qtbase"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-Append-LIB_ARCH-to-lib.patch \
+ "
SRC_URI[md5sum] = "2ba7dd8b1d6dd588374c9fab5c46e76e"
SRC_URI[sha256sum] = "2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5"
inherit qmake5
-EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}"
+EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix} LIB_ARCH=${@d.getVar('baselib').replace('lib', '')}"
EXTRA_QMAKEVARS_POST += "SUBDIRS=${BPN}"
diff --git a/recipes-qt/qwt/qwt-qt5_6.1.3.bb b/recipes-qt/qwt/qwt-qt5_6.1.3.bb
deleted file mode 100644
index 1c6e10b7..00000000
--- a/recipes-qt/qwt/qwt-qt5_6.1.3.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-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}-dbg += "${prefix}/plugins/designer/.debug"
-FILES_${PN}-doc += "${prefix}/doc"
-
-INSANE_SKIP_${PN}-plugins += "libdir"
-INSANE_SKIP_${PN}-dbg += "libdir"
-
-RPROVIDES_${PN}-dev = "libqwt-qt5-dev"
diff --git a/recipes-qt/qwt/qwt-qt5_6.1.5.bb b/recipes-qt/qwt/qwt-qt5_6.1.5.bb
new file mode 100644
index 00000000..31663d1b
--- /dev/null
+++ b/recipes-qt/qwt/qwt-qt5_6.1.5.bb
@@ -0,0 +1,54 @@
+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"
+
+COMPATIBLE_HOST:toolchain-clang:riscv32 = "null"
+COMPATIBLE_HOST:toolchain-clang:riscv64 = "null"
+
+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.sha256sum] = "4076de63ec2b5e84379ddfebf27c7b29b8dc9074f3db7e2ca61d11a1d8adc041"
+
+S = "${WORKDIR}/qwt-${PV}"
+
+EXTRA_QMAKEVARS_PRE += " \
+ QWT_CONFIG+=QwtPkgConfig \
+ QWT_CONFIG+=QwtExamples \
+"
+
+do_configure:prepend() {
+ sed -i \
+ -e 's:/usr/local/qwt-$$QWT_VERSION:${prefix}:' \
+ -e 's:^QWT_INSTALL_LIBS.*:QWT_INSTALL_LIBS = ${libdir}:' \
+ ${S}/*.pri
+ export QWT_INSTALL_LIBS=${libdir}
+}
+
+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/recipes-qt/tufao/tufao/0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch b/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/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/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch b/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch
index d405c168..57bc1b7e 100644
--- a/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch
+++ b/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] build: Fix mkspecs and CMake module install directories
Organization: O.S. Systems Software LTDA.
-Upstream-Status: Inapropriate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
diff --git a/recipes-qt/tufao/tufao_1.3.10.bb b/recipes-qt/tufao/tufao_1.3.10.bb
index d4b62e2b..e534a688 100644
--- a/recipes-qt/tufao/tufao_1.3.10.bb
+++ b/recipes-qt/tufao/tufao_1.3.10.bb
@@ -1,14 +1,16 @@
SUMMARY = "An asynchronous web framework for C++ built on top of Qt"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
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"
+SRC_URI = "git://github.com/vinipsmaker/tufao.git;protocol=http;branch=1.x;protocol=https \
+ 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}"
+PV:append = "+${SRCPV}"
S = "${WORKDIR}/git"
@@ -16,11 +18,11 @@ inherit cmake_qt5
PACKAGES += "${PN}-mkspecs"
-FILES_${PN}-mkspecs = "\
+FILES:${PN}-mkspecs = "\
${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \
"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \
${OE_QMAKE_PATH_LIBS}/pkgconfig \
${OE_QMAKE_PATH_LIBS}/cmake/* \