aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitattributes1
-rw-r--r--README-COMMERCIAL.md17
-rw-r--r--README.md7
-rw-r--r--classes/cmake_qt5.bbclass7
-rw-r--r--classes/populate_sdk_qt5.bbclass4
-rw-r--r--classes/populate_sdk_qt5_base.bbclass2
-rw-r--r--classes/qmake5.bbclass10
-rw-r--r--classes/qmake5_base.bbclass9
-rw-r--r--classes/qmake5_paths.bbclass6
-rw-r--r--coin/dependencies.yaml2
-rw-r--r--coin/module_config.yaml256
-rw-r--r--coin/test-ci.inc4
-rw-r--r--coin/test-configs.inc74
-rw-r--r--conf/layer.conf15
-rw-r--r--lib/recipetool/create_qt5.py1
-rw-r--r--licenses/SIP49
-rw-r--r--licenses/The-Qt-Company-Commercial2308
-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/0001-Fix-library-path-for-multilib-setups.patch25
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb21
-rw-r--r--recipes-connectivity/libqofono/libqofono/0001-also-emit-modemRemoved-and-modemAdded.patch53
-rw-r--r--recipes-connectivity/libqofono/libqofono_git.bb21
-rw-r--r--recipes-connectivity/libqofono/libqofonoext_git.bb28
-rw-r--r--recipes-connectivity/libvcard/libvcard_git.bb2
-rw-r--r--recipes-devtools/gdb/gdb_%.bbappend2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend7
-rw-r--r--recipes-python/pyqt5/python-pyqt5.inc63
-rw-r--r--recipes-python/pyqt5/python-pyqt5_5.12.1.bb8
-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.12.1.bb7
-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.bb16
-rw-r--r--recipes-qt/examples/qt5-opengles2-test_git.bb4
-rw-r--r--recipes-qt/examples/qt5everywheredemo_1.0.bb9
-rw-r--r--recipes-qt/examples/qt5ledscreen_1.0.bb4
-rw-r--r--recipes-qt/examples/qt5nmapcarousedemo_1.0.bb4
-rw-r--r--recipes-qt/examples/qt5nmapper/change-property-string.patch1
-rw-r--r--recipes-qt/examples/qt5nmapper_1.0.bb4
-rw-r--r--recipes-qt/examples/qtsmarthome_1.0.bb8
-rw-r--r--recipes-qt/examples/quitbattery_1.0.0.bb4
-rw-r--r--recipes-qt/examples/quitindicators_1.0.1.bb4
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch1
-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_git.bb36
-rw-r--r--recipes-qt/maliit/maliit-plugins-qt5_git.bb14
-rw-r--r--recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb6
-rw-r--r--recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb2
-rwxr-xr-xrecipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb20
-rw-r--r--recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch39
-rw-r--r--recipes-qt/qmllive/qmllive_git.bb9
-rw-r--r--recipes-qt/qsiv/qsiv_1.1.bb10
-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.bb49
-rw-r--r--recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch1
-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/0002-Adapt-distance-field-cache-to-5.14.patch50
-rw-r--r--recipes-qt/qt5/ogl-runtime_git.bb11
-rw-r--r--recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch17
-rw-r--r--recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch29
-rw-r--r--recipes-qt/qt5/qt3d_git.bb29
-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-clangformat-Fix-build-with-LLVM-13.patch47
-rw-r--r--recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch30
-rw-r--r--recipes-qt/qt5/qt5-creator/qtcreator.desktop.in10
-rw-r--r--recipes-qt/qt5/qt5-creator_git.bb81
-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.inc2
-rw-r--r--recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch1
-rw-r--r--recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb8
-rw-r--r--recipes-qt/qt5/qt5-ptest.inc8
-rw-r--r--recipes-qt/qt5/qt5.inc42
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb45
-rw-r--r--recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch36
-rw-r--r--recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch14
-rw-r--r--recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch6
-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.patch6
-rw-r--r--recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch3
-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.patch14
-rw-r--r--recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch3
-rw-r--r--recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch5
-rw-r--r--recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch (renamed from recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch)11
-rw-r--r--recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch49
-rw-r--r--recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch (renamed from recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch)2
-rw-r--r--recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch (renamed from recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch)4
-rw-r--r--recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch (renamed from recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch)4
-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/0018-Always-build-uic-and-qvkgen.patch)7
-rw-r--r--recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch (renamed from recipes-qt/qt5/qtbase/0019-Avoid-renameeat2-for-native-sdk-builds.patch)17
-rw-r--r--recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch (renamed from recipes-qt/qt5/qtbase/0020-Bootstrap-without-linkat-feature.patch)7
-rw-r--r--recipes-qt/qt5/qtbase_git.bb107
-rw-r--r--recipes-qt/qt5/qtcharts_git.bb8
-rw-r--r--recipes-qt/qt5/qtcoap_git.bb6
-rw-r--r--recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch2
-rw-r--r--recipes-qt/qt5/qtconnectivity_git.bb6
-rw-r--r--recipes-qt/qt5/qtdatavis3d_git.bb6
-rw-r--r--recipes-qt/qt5/qtdeclarative/0001-Revert-Yield-error-if-qtquickcompiler-is-used-in-non.patch36
-rw-r--r--recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch7
-rw-r--r--recipes-qt/qt5/qtdeclarative/0002-scenegraph-fix-error-QOffscreenSurface-does-not-name.patch23
-rw-r--r--recipes-qt/qt5/qtdeclarative_git.bb41
-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.bb10
-rw-r--r--recipes-qt/qt5/qtimageformats_git.bb6
-rw-r--r--recipes-qt/qt5/qtknx_git.bb6
-rw-r--r--recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch52
-rw-r--r--recipes-qt/qt5/qtlocation_git.bb14
-rw-r--r--recipes-qt/qt5/qtlottie_git.bb6
-rw-r--r--recipes-qt/qt5/qtmqtt_git.bb6
-rw-r--r--recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch5
-rw-r--r--recipes-qt/qt5/qtmultimedia_git.bb23
-rw-r--r--recipes-qt/qt5/qtnetworkauth_git.bb6
-rw-r--r--recipes-qt/qt5/qtopcua_git.bb6
-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.bb220
-rw-r--r--recipes-qt/qt5/qtpurchasing_git.bb6
-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.bb8
-rw-r--r--recipes-qt/qt5/qtquickcontrols_git.bb8
-rw-r--r--recipes-qt/qt5/qtquicktimeline_git.bb13
-rw-r--r--recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch4
-rw-r--r--recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch (renamed from recipes-qt/qt5/qtremoteobjects/0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch)6
-rw-r--r--recipes-qt/qt5/qtremoteobjects_git.bb16
-rw-r--r--recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch2
-rw-r--r--recipes-qt/qt5/qtscript_git.bb14
-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.bb14
-rw-r--r--recipes-qt/qt5/qtserialport_git.bb6
-rw-r--r--recipes-qt/qt5/qtsvg_git.bb6
-rw-r--r--recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch71
-rw-r--r--recipes-qt/qt5/qtsystems_git.bb10
-rw-r--r--recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch8
-rw-r--r--recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch6
-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-ptest3
-rw-r--r--recipes-qt/qt5/qttools_git.bb46
-rw-r--r--recipes-qt/qt5/qttranslations_git.bb42
-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.bb14
-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.bb64
-rw-r--r--recipes-qt/qt5/qtwebchannel_git.bb6
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch59
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch5
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch11
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch49
-rw-r--r--recipes-qt/qt5/qtwebengine/0004-musl-allow-build-without-glibc.patch23
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch8
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch91
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch67
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch)14
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch)15
-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/0006-chromium-aarch64-skia-build-fix.patch62
-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/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch24
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch24
-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/chromium/0007-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch)9
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch)20
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-include-fcntl.h-for-loff_t.patch)5
-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/chromium/0010-chromium-musl-use-off64_t-instead-of-the-internal-__.patch)6
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch63
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-linux-glibc-make-the-distinction.patch)11
-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/chromium/0014-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch)17
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Do-not-define-__sbrk-on-musl.patch)3
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch)13
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch)46
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-pread-pwrite.patch)15
-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_git.bb124
-rw-r--r--recipes-qt/qt5/qtwebglplugin_git.bb8
-rw-r--r--recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch2
-rw-r--r--recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch2
-rw-r--r--recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch (renamed from recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch)2
-rw-r--r--recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch (renamed from recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch)12
-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.bb66
-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.bb6
-rw-r--r--recipes-qt/qt5/qtxmlpatterns_git.bb11
-rw-r--r--recipes-qt/qtchooser/qtchooser_git.bb4
-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.5.bb (renamed from recipes-qt/qwt/qwt-qt5_6.1.4.bb)26
-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.bb10
228 files changed, 6586 insertions, 2200 deletions
diff --git a/.gitattributes b/.gitattributes
index f6a86105..cb2381c0 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,2 @@
-/coin export-ignore
# linguist overrides
recipes-*/**/*.inc linguist-language=BitBake
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
index 705f2f27..fa497153 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,13 @@ 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
------------
diff --git a/classes/cmake_qt5.bbclass b/classes/cmake_qt5.bbclass
index 5ba960ec..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} \
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 c26fee44..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
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 3f1bba23..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}"
@@ -27,6 +27,7 @@ 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}' \
"
@@ -39,12 +40,13 @@ 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"
@@ -244,7 +246,8 @@ qmake5_base_do_install() {
# 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 '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 \
diff --git a/classes/qmake5_paths.bbclass b/classes/qmake5_paths.bbclass
index ca7e4fc2..abed93b7 100644
--- a/classes/qmake5_paths.bbclass
+++ b/classes/qmake5_paths.bbclass
@@ -9,8 +9,8 @@ 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}"
@@ -27,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
index 1da8e1ba..8ae9c795 100644
--- a/coin/module_config.yaml
+++ b/coin/module_config.yaml
@@ -1,180 +1,156 @@
-version: 1
+version: 2
accept_configuration:
condition: and
conditions:
- condition: property
- property: host.osVersion
- equals_value: Ubuntu_18_04
- - condition: property
- property: target.osVersion
- equals_value: QEMU
+ property: host.compiler
+ equals_value: Yocto
- condition: property
property: target.arch
- in_values: [ARMv7, ARM64]
+ in_values: [TARGET1, TARGET2, TARGET3, TARGET4]
+
+machine_type:
+ Build:
+ cores: 16
-environment: &environment
+# 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: POKY_SHA1
- variableValue: 835f7eac0610325e906591cd81890bebe8627580
- - type: EnvironmentVariable
- variableName: OE_SHA1
- variableValue: 4e0538516b1e0ef42dc79bd08f7895f0052063ac
- - type: EnvironmentVariable
variableName: MACHINE
variableValue: qemuarm64
- enable_if:
- condition: property
- property: target.arch
- equals_value: ARM64
+ - 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
- enable_if:
- condition: property
- property: target.arch
- equals_value: ARMv7
+ - 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
-build_instructions:
- - *environment
+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: ExecuteCommand
- command: ["sudo", "mkdir", "-p", "/mnt/yocto-cache"]
- userMessageOnFailure: "Could not create '/mnt/yocto-cache' directory"
- - type: ExecuteCommand
- command: ["sudo", "mount", "yocto-cache.intra.qt.io:/srv/yocto-cache", "/mnt/yocto-cache"]
- userMessageOnFailure: "Could not mount yocto cache."
- - type: WriteFile
- fileContents: |
- # https://github.com/shr-project/jenkins-jobs/blob/master/jenkins-job.sh
- INHERIT += "reproducible_build_simple"
- # We want musl and glibc to share the same tmpfs, so instead of appending default "-${TCLIBC}" we append "fs"
- TCLIBCAPPEND = "fs"
- PREFERRED_PROVIDER_udev = "systemd"
- PREFERRED_PROVIDER_virtual/fftw = "fftw"
- # use gold
- DISTRO_FEATURES_append = " ld-is-gold"
- # use ptest
- DISTRO_FEATURES_append = " ptest"
- # use systemd
- DISTRO_FEATURES_append = " systemd"
- DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
- VIRTUAL-RUNTIME_init_manager = "systemd"
- VIRTUAL-RUNTIME_initscripts = ""
- # 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"
- inherit blacklist
- # PNBLACKLIST[samsung-rfs-mgr] = "needs newer libsamsung-ipc with negative D_P: Requested 'samsung-ipc-1.0 >= 0.2' but version of libsamsung-ipc is 0.1.0"
- PNBLACKLIST[android-system] = "depends on lxc from meta-virtualiazation which isn't included in my world builds"
- PNBLACKLIST[bigbuckbunny-1080p] = "big and doesn't really need to be tested so much"
- PNBLACKLIST[bigbuckbunny-480p] = "big and doesn't really need to be tested so much"
- PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much"
- PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much"
- PNBLACKLIST[tearsofsteel-1080p] = "big and doesn't really need to be tested so much"
- PNBLACKLIST[build-appliance-image] = "tries to include whole downloads directory in /home/builder/poky :/"
- # 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"
- # 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"
- filename: "{{.BuildDir}}/world_fixes.inc"
- fileMode: 420
- type: WriteFile
fileContents: |
#!/bin/bash -xe
- git clone git://git.yoctoproject.org/poky --reference /mnt/yocto-cache/mirror/poky.git
- (cd poky; git checkout ${POKY_SHA1})
- git clone git://github.com/openembedded/meta-openembedded --reference /mnt/yocto-cache/mirror/meta-openembedded.git
- (cd meta-openembedded; git checkout ${OE_SHA1})
+
+ # 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
- export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SSTATE_DIR DL_DIR"
- export DL_DIR=/mnt/yocto-cache/downloads
- export BB_GENERATE_MIRROR_TARBALLS=1
- export SSTATE_DIR=/mnt/yocto-cache/sstate-caches/$(sed -n -e "s/DISTRO_CODENAME.*\"\(.*\)\"/\1/p" ../poky/meta-*/conf/distro/poky.conf)
+
+ # 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}
- echo 'require ../world_fixes.inc' >> conf/local.conf
+ for conf in ${TEST_CONFIGS}; do
+ echo "require ${SOURCE_DIR}/coin/test-${conf}.inc" >> conf/local.conf
+ done
- # EXCLUDE_FROM_WORLD
- rm -f ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb
+ # EXCLUDE FROM WORLD
+ rm -fv ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb
- bitbake $(find ${SOURCE_DIR} -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/')
+ # 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: ["chmod", "+x", "{{.BuildDir}}/start-build"]
- userMessageOnFailure: "Could not add execution right to the start-build."
- - type: EnvironmentVariable
- variableName: DL_DIR
- variableValue: "/mnt/yocto-cache/downloads"
- - type: EnvironmentVariable
- variableName: SOURCE_DIR
- variableValue: "{{.SourceDir}}"
- - type: ExecuteCommand
- command: ["{{.BuildDir}}/start-build"]
- maxTimeInSeconds: 28800
- maxTimeBetweenOutput: 28800
+ 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_instructions: []
+ 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 b466ebf7..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 = "sumo thud warrior"
+LAYERSERIES_COMPAT_qt5-layer = "dunfell gatesgarth hardknott honister kirkstone langdale mickledore nanbield scarthgap"
LICENSE_PATH += "${LAYERDIR}/licenses"
@@ -38,4 +38,13 @@ IMAGE_FEATURES[validitems] += "qtcreator-debug"
QT_GIT_PROJECT ?= "qt"
QT_GIT ?= "git://code.qt.io/${QT_GIT_PROJECT}"
QT_GIT_PROTOCOL ?= "git"
-QT_EDITION ?= "opensource"
+
+# 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 3ac991fb..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',
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 74bd6bb4..ff775f95 100644
--- a/licenses/The-Qt-Company-Commercial
+++ b/licenses/The-Qt-Company-Commercial
@@ -1,76 +1,127 @@
QT LICENSE AGREEMENT
-Agreement version 4.0
+Agreement version 4.4.1
-This License Agreement ("Agreement") is a legal agreement between The Qt
-Company (as defined below) and the Licensee (as defined below) for the license
-of Licensed Software (as defined below). Capitalized terms used herein are
-defined in Section 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.
-WHEREAS:
-
-(A). Licensee wishes to use the Licensed Software for the purpose of developing
-and distributing Applications and/or Devices; and
+Capitalized terms used herein are defined in Section 1.
-(B). The Qt Company is willing to grant the Licensee a right to use Licensed
-Software for such purpose pursuant to term and conditions of this Agreement.
+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.
+"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 the Redistributables, or part
-thereof.
+"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 a Party under applicable contractual
+contractors performing services to the Licensee under applicable contractual
arrangement.
-"Customer(s)" shall mean Licensee's end users to whom Licensee, directly or
-indirectly, distributes copies of the Redistributables.
+"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 operating systems specified in the License
-Certificate, in which the Redistributables can be distributed pursuant to the
-terms and conditions of this Agreement.
+"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 for Licensee and on
-behalf of Licensee. Designated Users shall be named in the License Certificate.
+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 Platforms" shall mean those operating systems specified in the
-License Certificate, in which the Licensed Software can be used under the
-Development License, but not distributed in any form or used for any other
-purpose.
-
-"Devices" shall mean hardware devices or products that 1) are manufactured
-and/or distributed by the Licensee or its Affiliates or Contractors, and
-(2)(i) incorporate or integrate the Redistributables or parts thereof; or (ii)
-do not incorporate or integrate the Redistributables at the time of
-distribution, but where, when used by a Customer, the main user interface or
-substantial functionality of such device is provided by Application(s) or
-otherwise depends on the Licensed Software.
-
-"Distribution License(s)" shall mean the license required for distribution of
-Redistributables in connection with Devices pursuant to license grant described
-in Section 3.3 of this Agreement.
+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 hereto,
-as the case may be.
+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
@@ -80,48 +131,38 @@ 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.
-License Certificate will be available under respective Designated User's Qt
-Account at account.qt.io and it will specify the Designated User, the
-Development Platforms, Deployment Platforms and the License Term. The terms of
-the License Certificate are considered part of this Agreement and shall be
-updated from time to time to reflect any agreed changes to the foregoing terms
-relating to Designated User's rights to the Licensed Software.
+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.
-"License Term" shall mean the agreed validity period of the Development
-License of the respective Designated User, during which time the
-Designated User is entitled to use the Licensed Software, as set forth in the
-respective License Certificate.
-
-"Licensed Software" shall mean all versions of the
-
-(i) Qt Toolkit (including Qt Essentials, Qt Add-Ons and Value-Add modules) as
-described in http://doc.qt.io/qt-5/qtmodules.html,
-
-(ii) Qt Creator (including Creator IDE tool) as described in
-http://doc.qt.io/qtcreator/index.html,
-
-(iii) Qt 3D Studio as described in http://doc.qt.io/qt3dstudio/index.html, and
-
-as well as corresponding online or electronic documentation, associated media
-and printed materials, including the source code, example programs and the
-documentation, licensed to the Licensee under this Agreement. Licensed Software
-does not include Third Party Software (as defined in Section 4), Open Source
-Qt, or other software products of The Qt Company (for example Qt Safe Renderer
-and Qt for Automation), unless such other software products of The Qt Company
-are separately agreed in writing to be included in scope of the Licensed
-Software.
+"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, as identified on the signature page hereof.
+Agreement.
-"Licensee's Records" shall mean books and records that are likely to contain
-information bearing on Licensee's compliance with this Agreement or the
-payments due to The Qt Company under this Agreement, including, but not limited
-to: assembly logs, sales records and distribution records.
+"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.
@@ -131,49 +172,70 @@ 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 the non-commercial Qt computer software products,
-licensed 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 nor governed under
-this Agreement.
+"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.
-"Redistributables" shall mean the portions of the Licensed Software set forth
-in Appendix 1, Section 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.
+"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.
-"Renewal Term" shall mean an extension of previous License Term as agreed
-between the Parties.
+"Pre-Release Code" shall have the meaning as set forth in Section 4.
-"Submitted Modified Software" shall have the meaning as set forth in
-Section 2.3.
+"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.
-"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 The Qt Company's standard support terms and as further
-defined in Section 8 hereunder.
+"Purchase Order" shall have the meaning as set forth in Section 10.2.
-"Taxes" shall have the meaning set forth in Section 10.5.
+"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.
-"Term" shall have the meaning set forth in Section 12.
+"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.
-"The Qt Company" shall mean:
+"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.
-(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 2350 Mission College Blvd., Suite 1020, Santa Clara, CA 95054, USA.; or
+"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.
-(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 Bertel Jungin aukio D3A, 02600
-Espoo, Finland.
+"Support Terms" shall mean The Qt Company's standard support terms specified in
+Appendix 9 hereto.
-"Third Party Software " shall have the meaning set forth in Section 4.
+"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
@@ -186,21 +248,24 @@ 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.
+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
+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 The Qt Company's Intellectual Property Rights are and shall remain the
-exclusive property of The Qt Company or its licensors respectively.
+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
+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.
@@ -210,24 +275,24 @@ 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
+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.
+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,
+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
@@ -237,149 +302,164 @@ discretion.
3. LICENSES GRANTED
-3.1 Development with Licensed Software
+3.1. Development with Licensed Software
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable license, valid for the
-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 end-user Customers.
-
-Licensee may install copies of the Licensed Software on an unlimited number of
-computers provided that (i) only the Designated Users may use the Licensed
-Software, and (ii) all Designated Users must have a valid Development License
-to use 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, provided that
-any Designated User may be replaced only once during any six-month period.
-
-Upon expiry of the initially agreed License Term, the respective License Terms
-shall be automatically extended to one or more Renewal Term(s), unless and
-until either Party notifies the other Party in writing that it does not wish to
-continue the License Term, such notification to be provided to the other Party
-no less than ninety (90) days before expiry of the respective License Term.
-Unless otherwise agreed between the Parties, Renewal Term shall be of equal
-length with the initial Term.
+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 pricing applicable at the commencement date of any such Renewal Term.
+standard list pricing applicable at the commencement date of any such
+Renewal Term.
-3.2 Distribution of Applications
+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.
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable, revocable (for cause
-pursuant to this Agreement) right and license, valid for the Term, to
+3.2. Distribution of Applications
-(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 sublicenses to Redistributables, as distributed hereunder, for
-Customers solely for Customer's internal use and to the extent necessary in
-order for the Customers to use the Applications for their respective intended
-purposes.
+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 Licensee having paid
-the agreed Development Licenses from The Qt Company before distributing any
-Redistributables to Customers.
+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
+3.3. Distribution of Devices
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable, revocable (for cause
-pursuant to this Agreement) right and license, valid for the 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 sublicenses to Redistributables, as distributed hereunder, for
-Customers solely for Customer's internal use and to the extent necessary in
-order for the Customers to use the Devices for their respective intended
-purposes.
-
-Right to distribute the Redistributables with Devices as provided herein is
-conditional upon the Licensee having purchased and paid the appropriate amount
-of Development and Distribution Licenses from The Qt Company before
-distributing any Redistributables to Customers.
-
-3.4 Further Requirements
+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 shall not remove or alter any copyright, trademark or other
-proprietary rights notice contained in any portion of the Licensed Software;
-
-(ii) Applications must add primary and substantial functionality to the
-Licensed Software;
-
-(iii) 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);
-
-(iv) Applications must not compete with the Licensed Software;
-
-(v) 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) was developed using the
-Licensed Software;
-
-(vi) 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 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;
-
-(vii) Licensee shall not grant the Customers a right to (i) make copies of the
-Redistributables except when and to the extent required to use the Applications
-and/or Devices for their intended purpose, (ii) modify the Redistributables or
-create derivative works thereof, (iii) decompile, disassemble or otherwise
-reverse engineer Redistributables, or (iv) redistribute any copy or portion of
-the Redistributables to any third party, except as part of the onward sale of
-the Device on which the Redistributables are installed;
-
-(viii) Licensee shall not and shall cause that its Affiliates or Contractors
-shall not a) 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, or b) incorporate or integrate Applications
-into a hardware device or product other than a Device, 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
-Term of a hardware device or product a) which incorporate or integrate any
-part of Licensed Software or Open Source Qt; or b) where the main user
-interface or substantial functionality is provided by software build with
-Licensed Software or Open Source Qt or otherwise depends on the Licensed
-Software or Open Source Qt, shall be considered as a Device distribution under
-this Agreement and dependent on compliance thereof (including but not limited
-to obligation to pay applicable License Fees for such distribution);
-
-(ix) Licensee shall cause all of its Affiliates and Contractors 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);
-
-(x) 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
-
-(xi) Licensee shall not attempt or enlist a third party to conduct or attempt
-to conduct any of the above.
+ (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.
@@ -387,132 +467,175 @@ 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.
-4. THIRD PARTY SOFTWARE
+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.
-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 in the Licensed Software. Such
-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.
+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 marked or
-otherwise stated as "Technology Preview", "Alpha", "Beta" or similar
-designation. Such pre-release code may be present in order to provide
-experimental support for new platforms or preliminary versions of one or more
-new functionalities. The pre-release code may not be at the level of
-performance and compatibility of a final, generally available, product
-offering of the Licensed Software. The pre-release parts of the Licensed
-Software 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.
+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 it has the power and
+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.
-
-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.
+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
+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. ALL USE OF AND RELIANCE ON THE LICENSED SOFTWARE IS AT THE SOLE
-RISK OF AND RESPONSIBILITY OF LICENSEE.
-
-7. INDEMNIFICATION AND LIMITATION OF LIABILITY
+UNINTERRUPTED.
-7.1 Limitation of Liability
+7. LIMITATION OF LIABILITY
-EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
+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. PARTIES
-SPECIFICALLY AGREE THAT LICENSEE'S OBLIGATION TO PAY LICENSE AND OTHER FEES
-CORRESPONDING TO ACTUAL USAGE OF LICENSED SOFTWARE HEREUNDER SHALL BE
-CONSIDERED AS A DIRECT DAMAGE.
-
-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 FROM
-LICENSEE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE
-EVENT RESULTING IN SUCH LIABILITY.
+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.
-
-7.2 Licensee's Indemnification
+LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS
+AGREEMENT.
-Licensee shall indemnify and hold harmless The Qt Company from and against any
-claim, injury, judgment, settlement, loss or expense, including attorneys' fees
-related to: (a) Licensee's misrepresentation in connection with The Qt Company
-or the Licensed Software or breach of this Agreement, (b) the Application or
-Device (except where such cause of liability is solely attributable to the
-Licensed Software).
+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 License
-Term, provided, however, that in the event the License Term is longer than 36
-months, Support is provided only for the first 12 months, unless the Parties
-specifically otherwise agree.
+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 Company at its free and absolute discretion,
+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 License Term the level of Support provided by The
-Qt Company may not be reduced without the consent of the Licensee.
+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 Term of this Agreement 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.
+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
@@ -537,19 +660,26 @@ secret laws.
10. FEES, DELIVERY AND PAYMENT
-10.1 License Fees
+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 hereto, as the case may be.
+Purchase Order confirmation or in an Appendix 2 hereto, as the case may be.
-The License Fees shall not be refunded or claimed as a credit in any event or
-for any reason whatsoever.
+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
+10.2. Ordering Licenses
-Licensee may purchase Development Licenses and Distribution 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.
+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
@@ -557,127 +687,123 @@ 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.
-10.3 Distribution License Packs
+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 installing, bundling or
-integrating (all jointly "installing") the Redistributables with the Devices or
-for otherwise distributing the Redistributables in accordance with this
-Agreement.
+have an account of Distribution Licenses available for distributing the
+Redistributables in accordance with this Agreement.
-Each time Licensee "installs" or distributes a copy of Redistributables, then
-one Distribution License is used, and Licensee's account of available
-Distribution Licenses is decreased accordingly.
+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 "install" copies of the Redistributables so long as Licensee has
+Licensee may distribute copies of the Redistributables so long as Licensee has
Distribution Licenses remaining on its account.
-Redistributables will be deemed to have been "installed" into a Device when one
-of the following circumstances shall have occurred: a) the Redistributables
-have been loaded onto the Device and used outside of the Licensee's premises or
-b) the Device has been fully tested and placed into Licensee's inventory
-(or sold) for the first time (i.e., Licensee will not be required to use
-(or pay for) more than one Distribution License for each individual Device,
-e.g. in a situation where a Device is returned to Licensee's inventory after
-delivery to a distributor or sale to a Customer). In addition, if Licensee
-includes a back-up copy of the Redistributables on a CD-ROM or other storage
-medium along with the product, that backup copy of the Redistributables will
-not be deemed to have been "installed" and will not require an additional
-Distribution License.
-
-10.4 Payment Terms
+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.
+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.
-
-The Qt Company shall have the right to suspend, terminate or withhold grants
-of all rights to the Licensed Software hereunder, including but not limited to
-the Developer License, Distribution License, and Support, should Licensee fail
-to make payment in timely fashion.
+balances that remain past due and which have not been disputed by the Licensee
+in good faith.
-10.5 Taxes
+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 and other taxes, duties or
-tariffs ("Taxes"). Such applicable Taxes shall be paid by Licensee, or, where
-applicable, in lieu of payment of such Taxes, Licensee shall provide an
-exemption certificate to The Qt Company and any applicable authority.
+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. RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
-11.1 Licensee's Record-keeping
+11.1. Licensee's Record-keeping
-Licensee shall at all times maintain accurate and up-to-date written records of
-Licensee's activities related to the use of Licensed Software and distribution
-of Redistributables. The records shall be adequate to determine Licensee's
-compliance with the provisions of this Agreement and to demonstrate the number
-of Designated Users and Redistributables distributed by Licensee. The records
-shall conform to good accounting practices reasonably acceptable to The Qt
-Company.
+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 on Licensee's usage of
-Licensed Software, such report to copies of Redistributables distributed by
-Licensee during that calendar quarter, and also detailing the number of
-undistributed copies of Redistributables made by Licensee and remaining in its
-account contain information, in sufficient detail, on (i) amount of users
-working with Licensed Software, (ii) copies of Redistributables distributed by
-Licensee during that calendar quarter, (iii) number of undistributed copies of
-Redistributables and corresponding number of unused Distribution Licenses
-remaining on Licensee's account, and (iv) any other information as The Qt
-Company may reasonably require from time to time.
+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 five (5) business days' prior written notice and at its
-expense, audit Licensee with respect to the use of the Redistributables, but
+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 such in-person audit shall be conducted during regular
-business hours at Licensee's facilities and shall not unreasonably interfere
-with Licensee's business activities. The Qt Company or the independent auditor
-acting on behalf of The Qt Company shall be entitled to inspect Licensee's
-Records. All such Licensee's Records and use thereof shall be subject to an
-obligation of confidentiality under this Agreement.
+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 agrees to immediately pay The
-Qt Company any amounts owed for such unauthorized use.
+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 (underpayment of more than 5% of License Fees shall always 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.
+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. TERM AND TERMINATION
-12.1 Term
+12.1. Agreement Term
This Agreement shall enter into force upon due acceptance by both Parties and
-remain in force for as long as there is any Development License(s) in force
-("Term"), unless and until terminated pursuant to the terms of this Section 12.
+remain in force until terminated pursuant to the terms of this Section 12
+("Agreement Term").
-12.2 Termination by The Qt Company
-
-The Qt Company shall have the right to terminate this Agreement upon thirty
-(30) days prior written notice if the Licensee is in material breach of any
+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.
-12.3 Mutual Right to Terminate
+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
@@ -687,96 +813,111 @@ 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
+12.4. Parties' Rights and Duties upon Termination
-Upon expiry or termination of the Agreement Licensee shall cease and shall
+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 and distribution of the
-Redistributables under this Agreement.
-
-Notwithstanding the above, in the event the Agreement expires or is terminated:
-
-(i) as a result of The Qt Company choosing not to renew the Development
-License(s) as set forth in Section 3.1, then all valid 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; or
-
-(ii) for reason other than by The Qt Company pursuant to item (i) above or
-pursuant to Section 12.2, then the Licensee is entitled, for a period of six
-(6) months after the effective date of termination, to continue distribution of
-Devices under the Distribution Licenses paid but unused at such effective date
-of termination.
-
-Upon any 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 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.
+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
-shall immediately pay to The Qt Company all such fees upon the effective date
-of termination. Termination of this Agreement shall not affect any rights of
-Customers to continue use of Applications and Devices (and therein incorporated
+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 in case of bankruptcy
+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) pursuant to Section 3.1, assigned to
-party, who has assumed The Qt Company's position as a legitimate licensor of
-Licensed Software under this Agreement, then all valid 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.
+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.
+ (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 shall be
-finally settled by arbitration in accordance with the Arbitration Rules of
-Finland 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.
+ (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
+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
@@ -785,25 +926,26 @@ 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
+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.
+makes or purports to make on The Qt Company's behalf shall be void as to
+The Qt Company.
-14.3 Surviving Sections
+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.
+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
+14.4. Entire Agreement
-This Agreement, the exhibits hereto, the License Certificate and any applicable
-Purchase Order 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.
+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
@@ -814,14 +956,19 @@ 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
+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 shall apply unless expressly
-accepted by The Qt Company in writing.
+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
+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
@@ -829,13 +976,13 @@ 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
+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
+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
@@ -845,69 +992,1100 @@ 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
+14.8. Export Control
-Licensee acknowledges that the Redistributables 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.
+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
+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.
+other software or hardware not delivered by The Qt Company under this
+Agreement.
-14.10 Attorney Fees
+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.
-
-14.11 Severability
+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.
-IN WITNESS WHEREOF, the Parties hereto, intending to be legally bound hereby,
-have caused this Agreement to be executed by Licensee's authorized
-representative installing the Licensed Software and accepting the terms
-hereof in connection therewith.
-
-
-Appendix 1
-
-1. Parts of the Licensed Software that are permitted for distribution in
-object code form only ("Redistributables") under this Agreement:
-
-- The Licensed Software's Qt Essentials and Qt Add-on libraries
-- The Licensed Software's configuration tool ("qtconfig")
-- The Licensed Software's help tool ("Qt Assistant")
-- The Licensed Software's internationalization tools ("Qt Linguist", "lupdate",
- "lrelease")
-- The Licensed Software's QML ("Qt Quick") launcher tool ("qmlscene" or
- "qmlviewer")
-- The Licensed Software's installer framework
-
-2. Parts of the Licensed Software that are not permitted for distribution
-include, but are not limited to:
-
-- The Licensed Software's source code and header files
-- The Licensed Software's documentation
-- The Licensed Software's documentation generation tool ("qdoc")
-- The Licensed Software's tool for writing makefiles ("qmake")
-- The Licensed Software's Meta Object Compiler ("moc")
-- The Licensed Software's User Interface Compiler ("uic")
-- The Licensed Software's Resource Compiler ("rcc")
-- The Licensed Software's parts of the IDE tool ("Qt Creator")
-- The Licensed Software's parts of the Design tools ("Qt 3D Studio" or
- "Qt Quick Designer")
-- The Licensed Software's Emulator
+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/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/0001-Fix-library-path-for-multilib-setups.patch b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Fix-library-path-for-multilib-setups.patch
deleted file mode 100644
index 1e37bf55..00000000
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Fix-library-path-for-multilib-setups.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9692239a31f0e47ea75b60388d5491d5155a888d Mon Sep 17 00:00:00 2001
-From: Andreas Oberritter <obi@saftware.de>
-Date: Mon, 17 Dec 2018 14:00:44 +0100
-Subject: [PATCH] Fix library path for multilib setups.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Oberritter <obi@saftware.de>
----
- libconnman-qt/libconnman-qt.pro | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libconnman-qt/libconnman-qt.pro b/libconnman-qt/libconnman-qt.pro
-index 8cd58e8..bad8a5e 100644
---- a/libconnman-qt/libconnman-qt.pro
-+++ b/libconnman-qt/libconnman-qt.pro
-@@ -71,7 +71,7 @@ SOURCES += \
- networksession.cpp \
- counter.cpp
-
--target.path = $$INSTALL_ROOT$$PREFIX/lib
-+target.path = $$[QT_INSTALL_LIBS]
-
- headers.files = $$PUBLIC_HEADERS
-
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
index f9fa27cd..a3d7f279 100644
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
+++ b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
@@ -1,25 +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.7+git${SRCPV}"
-SRCREV = "ad7fef1c35a3e897913965f73b879a14d65043dd"
-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 \
- file://0001-Fix-library-path-for-multilib-setups.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 8b57e171..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 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,15 +24,17 @@ do_install_append() {
PACKAGES += "${PN}-tests"
-FILES_${PN}-tests = " \
+FILES:${PN}-tests = " \
${libdir}/libqofono-qt5/tests/tst_* \
+ /opt/examples/libqofono-qt5/ \
/opt/tests/libqofono-qt5 \
"
-FILES_${PN} += " \
+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 += " \
+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
index 58189ede..776d7d0a 100644
--- a/recipes-connectivity/libvcard/libvcard_git.bb
+++ b/recipes-connectivity/libvcard/libvcard_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f94eaed54ffa1718d593504bae740faf"
DEPENDS += "qtbase"
SRCREV = "4250e2468552ea01954244a2d9cd5d2b44b00042"
-SRC_URI = "git://github.com/pol51/libvcard.git;protocol=https"
+SRC_URI = "git://github.com/pol51/libvcard.git;protocol=https;branch=master"
PV = "1.0+gitr${SRCPV}"
diff --git a/recipes-devtools/gdb/gdb_%.bbappend b/recipes-devtools/gdb/gdb_%.bbappend
deleted file mode 100644
index fa2b06ab..00000000
--- a/recipes-devtools/gdb/gdb_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-# Just a comment line to avoid PAK archive (application/x-pak)
-PACKAGECONFIG ??= "readline python"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend
deleted file mode 100644
index 89026193..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_%.bbappend
+++ /dev/null
@@ -1,7 +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,gstreamer1.0-plugins-base qtbase qtdeclarative qtbase-native'
diff --git a/recipes-python/pyqt5/python-pyqt5.inc b/recipes-python/pyqt5/python-pyqt5.inc
deleted file mode 100644
index 11d246d7..00000000
--- a/recipes-python/pyqt5/python-pyqt5.inc
+++ /dev/null
@@ -1,63 +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 \
-"
-SRC_URI = "\
- https://www.riverbankcomputing.com/static/Downloads/PyQt5/${PV}/PyQt5_gpl-${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "67508b652098d2e05c4c2b5baeb170cc"
-SRC_URI[sha256sum] = "3718ce847d824090fd5f95ff3f13847ee75c2507368d4cbaeb48338f506e59bf"
-S = "${WORKDIR}/PyQt5_gpl-${PV}"
-
-inherit qmake5
-DEPENDS = "qtbase"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-PARALLEL_MAKEINST = ""
-
-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)${PYTHON_ABI}" >> pyqt.cfg
- echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg
- echo "py_pylib_lib = python$%(py_major).%(py_minor)" >> 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}/${QT_DIR_NAME}/qmake --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST}
-}
-
-do_compile() {
- cd ${S}
- oe_runmake
-}
-
-do_install() {
- cd ${S}
- oe_runmake MAKEFLAGS='-j 1' install
-}
-
-FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/PyQt5/"
-
-RDEPENDS_${PN} = "qtbase"
diff --git a/recipes-python/pyqt5/python-pyqt5_5.12.1.bb b/recipes-python/pyqt5/python-pyqt5_5.12.1.bb
deleted file mode 100644
index 6b1b5701..00000000
--- a/recipes-python/pyqt5/python-pyqt5_5.12.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require python-pyqt5.inc
-
-inherit pythonnative python-dir
-
-DEPENDS += "sip sip-native python"
-
-RDEPENDS_${PN} += "python-core python-sip"
-
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.12.1.bb b/recipes-python/pyqt5/python3-pyqt5_5.12.1.bb
deleted file mode 100644
index 200a8154..00000000
--- a/recipes-python/pyqt5/python3-pyqt5_5.12.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require python-pyqt5.inc
-
-inherit python3native python3-dir
-
-DEPENDS += "sip3 sip3-native python3"
-
-RDEPENDS_${PN} += "python3-core python3-sip3"
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 9a90f1d4..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} = "liberation-fonts 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,4 +39,4 @@ do_install() {
chmod +x ${D}${bindir}/Qt5_CinematicExperience
}
-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 44e5a84f..c9c726a3 100644
--- a/recipes-qt/examples/qt5everywheredemo_1.0.bb
+++ b/recipes-qt/examples/qt5everywheredemo_1.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Qt5 everywhere demo"
DESCRIPTION = "Quick tour of Qt 5.0, primarily focusing on its graphical capabilities."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
HOMEPAGE = "https://code.qt.io/cgit/qt-labs"
LIC_FILES_CHKSUM = "file://qml/QtDemo/main.qml;endline=39;md5=7d80863906a4bc8ffca77fd869e335a9"
@@ -8,7 +8,8 @@ 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,6 +21,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
}
-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 e221941f..395d3d1b 100644
--- a/recipes-qt/examples/qt5ledscreen_1.0.bb
+++ b/recipes-qt/examples/qt5ledscreen_1.0.bb
@@ -18,6 +18,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${datadir}/${P}
}
-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 54875f97..fad6c4bc 100644
--- a/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
+++ b/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb
@@ -21,6 +21,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
}
-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 3c2bc1a9..10324cee 100644
--- a/recipes-qt/examples/qt5nmapper_1.0.bb
+++ b/recipes-qt/examples/qt5nmapper_1.0.bb
@@ -22,7 +22,7 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P}
}
-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 03f3c994..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,6 +22,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/components ${D}${datadir}/${P}
}
-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 7593ab29..c8dddb17 100644
--- a/recipes-qt/examples/quitbattery_1.0.0.bb
+++ b/recipes-qt/examples/quitbattery_1.0.0.bb
@@ -20,6 +20,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
}
-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 bc370f44..48b72041 100644
--- a/recipes-qt/examples/quitindicators_1.0.1.bb
+++ b/recipes-qt/examples/quitindicators_1.0.1.bb
@@ -19,6 +19,6 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P}
}
-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-Fix-test-installations.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch
index d86be1e1..f8f2981f 100644
--- a/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch
+++ b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch
@@ -5,6 +5,7 @@ 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 ++++---
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_git.bb b/recipes-qt/maliit/maliit-framework-qt5_git.bb
index 1f0dc8d6..1df83e7c 100644
--- a/recipes-qt/maliit/maliit-framework-qt5_git.bb
+++ b/recipes-qt/maliit/maliit-framework-qt5_git.bb
@@ -1,12 +1,12 @@
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 \
@@ -24,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 \
@@ -34,11 +34,11 @@ FILES_${PN} += "\
${OE_QMAKE_PATH_PLUGINS}/platforminputcontexts \
"
-FILES_${PN}-dbg += "\
+FILES:${PN}-dbg += "\
${libdir}/maliit-framework-tests \
"
-FILES_${PN}-dev += "\
+FILES:${PN}-dev += "\
${includedir}/maliit \
${libdir}/pkgconfig \
${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \
@@ -61,12 +61,12 @@ EXTRA_QMAKEVARS_PRE = "\
CONFIG+=qt5-inputcontext \
"
-# tests fail to build with clang
-EXTRA_QMAKEVARS_PRE_append_toolchain-clang = " CONFIG+=notests"
+# 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
@@ -75,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_git.bb b/recipes-qt/maliit/maliit-plugins-qt5_git.bb
index 8464e1f0..d0576415 100644
--- a/recipes-qt/maliit/maliit-plugins-qt5_git.bb
+++ b/recipes-qt/maliit/maliit-plugins-qt5_git.bb
@@ -1,16 +1,18 @@
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 \
"
@@ -25,10 +27,10 @@ EXTRA_QMAKEVARS_PRE = "\
CONFIG+=nodoc \
"
-# tests fail to build with clang
-EXTRA_QMAKEVARS_PRE_append_toolchain-clang = " CONFIG+=notests"
+# tests fail to build with gcc12/clang
+EXTRA_QMAKEVARS_PRE:append = " CONFIG+=notests"
-FILES_${PN} += "\
+FILES:${PN} += "\
${libdir}/maliit \
${datadir} \
"
diff --git a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
index e92cb9d4..36d56fd5 100644
--- a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
+++ b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb
@@ -3,13 +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 \
+ 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 5894955c..67c4ef21 100644
--- a/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
+++ b/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb
@@ -8,7 +8,7 @@ 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 \
diff --git a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
index b912d891..98f7be2c 100755
--- a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
+++ b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb
@@ -3,15 +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 = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebkit-dev', '', d)} \
-"
-
# Requires Wayland to work
USE_WAYLAND = " \
qtwayland-dev \
@@ -26,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)} \
@@ -52,9 +48,6 @@ RDEPENDS_${PN} += " \
qtdeclarative-tools \
qtdeclarative-staticdev \
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 \
@@ -92,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 \
@@ -108,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
index bc9a3784..70b0eb0d 100644
--- a/recipes-qt/qmllive/qmllive_git.bb
+++ b/recipes-qt/qmllive/qmllive_git.bb
@@ -1,18 +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"
+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"
+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}"
+FILES:${PN}-dev += "${datadir}"
diff --git a/recipes-qt/qsiv/qsiv_1.1.bb b/recipes-qt/qsiv/qsiv_1.1.bb
index 5773c3e7..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,5 +22,5 @@ do_install_append() {
chmod +x ${D}${bindir}/qsiv
}
-FILES_${PN} += "${libdir}/${P}"
-RDEPENDS_${PN} += "qtdeclarative-qmlplugins"
+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 321b3067..71833770 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -3,27 +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.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
- file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \
+ 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.12-shared
-# 5.12.meta-qt5-shared.8
+# 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 \
@@ -32,23 +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-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
- file://0013-Disable-ltcg-for-host_build.patch \
- file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
- file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
- file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.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.12-native
-# 5.12.meta-qt5-native.8
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native
+# 5.15.meta-qt5-native.4
SRC_URI += " \
- file://0018-Always-build-uic-and-qvkgen.patch \
- file://0019-Avoid-renameeat2-for-native-sdk-builds.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
@@ -58,25 +64,27 @@ SRC_URI += " \
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
${OE_QMAKE_PATH_LIBS}/*.prl \
"
-FILES_${PN} += " \
+FILES:${PN} += " \
${SDKPATHNATIVE}/environment-setup.d \
${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} = "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 \
@@ -111,7 +119,6 @@ do_configure() {
-no-sql-mysql \
-no-sql-sqlite \
-no-opengl \
- -no-openssl \
-no-xcb \
-no-feature-bearermanagement \
-no-icu \
@@ -138,6 +145,7 @@ do_configure() {
-silent \
-nomake examples \
-nomake tests \
+ -make tools \
-no-compile-examples \
-platform ${OE_QMAKE_PLATFORM_NATIVE} \
-xplatform ${OE_QMAKE_PLATFORM} \
@@ -173,6 +181,7 @@ fakeroot do_generate_qt_environment_file() {
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
@@ -193,4 +202,4 @@ fakeroot do_generate_qt_environment_file() {
do_generate_qt_environment_file[umask] = "022"
addtask generate_qt_environment_file after do_install before do_package
-SRCREV = "76be819345228d589cbc4f5129617151ea604750"
+SRCREV = "abc097a32e13fe8b0a5b2f08430cc580a24f3b06"
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
index 0d2f165f..2e15543a 100644
--- a/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch
+++ b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch
@@ -6,6 +6,7 @@ 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 +
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/0002-Adapt-distance-field-cache-to-5.14.patch b/recipes-qt/qt5/ogl-runtime/0002-Adapt-distance-field-cache-to-5.14.patch
deleted file mode 100644
index 619a49e0..00000000
--- a/recipes-qt/qt5/ogl-runtime/0002-Adapt-distance-field-cache-to-5.14.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From e177fb4a0fcf4068cef6a0e018cd98e00f248a13 Mon Sep 17 00:00:00 2001
-From: Laszlo Agocs <laszlo.agocs@qt.io>
-Date: Tue, 13 Aug 2019 10:13:47 +0200
-Subject: [PATCH] Adapt distance field cache to 5.14
-
-There is a new pure virtual in the base class in 5.14. It is not very
-relevant here since this glyph cache is not used in combination with
-the df text materials of Qt Quick. We can nonetheless implement the
-virtual and return the correct value.
-
-Task-number: QT3DS-3856
-Change-Id: I97b807ec73a664488b63c8888bc8cd90a9c53589
----
- src/runtimerender/Qt3DSDistanceFieldGlyphCache.cpp | 7 +++++++
- src/runtimerender/Qt3DSDistanceFieldGlyphCache_p.h | 4 ++++
- 2 files changed, 11 insertions(+)
-
-diff --git a/src/runtimerender/Qt3DSDistanceFieldGlyphCache.cpp b/src/runtimerender/Qt3DSDistanceFieldGlyphCache.cpp
-index e945335..52f01ea 100644
---- a/src/runtimerender/Qt3DSDistanceFieldGlyphCache.cpp
-+++ b/src/runtimerender/Qt3DSDistanceFieldGlyphCache.cpp
-@@ -513,6 +513,13 @@ bool Q3DSDistanceFieldGlyphCache::loadPregeneratedCache(const QRawFont &font)
- return true;
- }
-
-+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
-+bool Q3DSDistanceFieldGlyphCache::eightBitFormatIsAlphaSwizzled() const
-+{
-+ return m_context.GetRenderContext().GetRenderContextType() == qt3ds::render::NVRenderContextValues::GLES2;
-+}
-+#endif // QT_VERSION >= QT_VERSION_CHECK(5,14,0)
-+
- QT_END_NAMESPACE
-
- #endif // QT_VERSION >= QT_VERSION_CHECK(5,12,2)
-diff --git a/src/runtimerender/Qt3DSDistanceFieldGlyphCache_p.h b/src/runtimerender/Qt3DSDistanceFieldGlyphCache_p.h
-index 679d3ad..fb4826e 100644
---- a/src/runtimerender/Qt3DSDistanceFieldGlyphCache_p.h
-+++ b/src/runtimerender/Qt3DSDistanceFieldGlyphCache_p.h
-@@ -76,6 +76,10 @@ public:
-
- qreal fontSize() const;
-
-+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
-+ bool eightBitFormatIsAlphaSwizzled() const override;
-+#endif
-+
- private:
- bool loadPregeneratedCache(const QRawFont &font);
- TextureInfo *textureInfo(int index) const;
diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb
index 58d31e98..1aee97b5 100644
--- a/recipes-qt/qt5/ogl-runtime_git.bb
+++ b/recipes-qt/qt5/ogl-runtime_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
require qt5-git.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;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
@@ -12,15 +12,18 @@ DEPENDS += "qtbase qtdeclarative qtquickcontrols2"
QT_MODULE_BRANCH = "master"
QT_MODULE_BRANCH_EASTL = "master"
QT_GIT_PROJECT = "qt3dstudio"
-PV = "2.5+git${SRCPV}"
+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://0002-Adapt-distance-field-cache-to-5.14.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 = "bd488ea03ec4a969e86c55909c60deecdc9f9af2"
+SRCREV_ogl-runtime = "b53aeb784f950d7b2a5ebe38ea37c5bb6f456c9c"
SRCREV_EASTL = "31697c758f2ed19bd7c6bbe61f1b91f9e12035b5"
SRCREV = "${SRCREV_ogl-runtime}"
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 05a86a70..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,8 +1,10 @@
-From 1e64f9b509e6794c6f01e62443e93f771ac2a65c Mon Sep 17 00:00:00 2001
+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
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qt3d.pro | 7 ++++++-
src/3rdparty/assimp/assimp_dependency.pri | 2 +-
@@ -10,7 +12,7 @@ Subject: [PATCH] Allow a tools-only build
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/qt3d.pro b/qt3d.pro
-index d5dbda4..6809470 100644
+index c5232e116..cf5345352 100644
--- a/qt3d.pro
+++ b/qt3d.pro
@@ -1,4 +1,4 @@
@@ -19,17 +21,18 @@ index d5dbda4..6809470 100644
requires(qtConfig(opengl):!wasm)
CONFIG += examples_need_tools
-@@ -15,3 +15,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 @@
@@ -40,7 +43,7 @@ index 8ba2d9a..e973d93 100644
} else {
include(assimp.pri)
diff --git a/tools/tools.pro b/tools/tools.pro
-index 3b457ed..9f5376a 100644
+index 3b457ed50..9f5376a0a 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -1,9 +1,9 @@
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_git.bb b/recipes-qt/qt5/qt3d_git.bb
index d23a2d36..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,17 +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.12
-# 5.12.meta-qt5.2
+# 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 \
"
+# 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"
@@ -29,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 = "d2c52680884095238ec3859fabaad03157af3985"
+SRCREV_qt3d = "dac2afc9c6cffd42e49030dcafffc1e0a05873b9"
+SRCREV_assimp = "8f0c6b04b2257a520aaab38421b2e090204b69df"
+
+SRCREV_FORMAT = "qt3d_assimp"
BBCLASSEXTEND += "native nativesdk"
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
index d17f60b4..c1fd2340 100644
--- 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
@@ -1,34 +1,36 @@
-From ec7aec2f6c56889c96dc12af46059a7f3d4c3a37 Mon Sep 17 00:00:00 2001
+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/designercore/designercore-lib.pri | 2 ++
- 2 files changed, 3 insertions(+)
+ 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 f5a34aa0d5..4a1359dd5c 100644
+index 6c38efaca8..ba86639d72 100644
--- a/src/plugins/debugger/debugger.pro
+++ b/src/plugins/debugger/debugger.pro
-@@ -141,3 +141,4 @@ include(console/console.pri)
+@@ -137,3 +137,4 @@ include(console/console.pri)
include(analyzer/analyzer.pri)
include(shared/shared.pri)
+LIBS *= -lexecinfo
-diff --git a/src/plugins/qmldesigner/designercore/designercore-lib.pri b/src/plugins/qmldesigner/designercore/designercore-lib.pri
-index 935b29728e..31527267fd 100644
---- a/src/plugins/qmldesigner/designercore/designercore-lib.pri
-+++ b/src/plugins/qmldesigner/designercore/designercore-lib.pri
-@@ -2,6 +2,8 @@ include($$PWD/filemanager/filemanager.pri)
+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
- QT += network
+ include(../../qtcreatorplugin.pri)
-+LIBS *= -lexecinfo
-+
- DEFINES += TEST_EXPORTS
- DEFINES += DESIGNER_CORE_LIBRARY
- INCLUDEPATH += $$PWD \
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-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-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/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_git.bb b/recipes-qt/qt5/qt5-creator_git.bb
index 107fee53..85bfcc35 100644
--- a/recipes-qt/qt5/qt5-creator_git.bb
+++ b/recipes-qt/qt5/qt5-creator_git.bb
@@ -7,76 +7,103 @@ SUMMARY = "Qt Creator is a new cross-platform Qt IDE"
# 'System GDB at /usr/bin/gdb.
HOMEPAGE = "https://qt-project.org/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
"
-inherit qmake5
+inherit qmake5 pkgconfig mime-xdg
-DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native"
-DEPENDS_append_toolchain-clang = " clang llvm-common"
-DEPENDS_append_libc-musl = " libexecinfo"
-
-SRCREV = "8181363fa90eb651591bf71e1a840e1c998429f4"
-PV = "4.9.2+git${SRCPV}"
+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.9 \
+ 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"
+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}"
+EXTRA_QMAKEVARS_PRE += " \
+ IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME} \
+ CONFIG+=disable_external_rpath \
+"
EXTRANATIVEPATH += "chrpath-native"
-do_configure_append() {
+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
+ sed -i 's:${STAGING_BINDIR}/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile
+ sed -i 's:${STAGING_BINDIR}/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile
fi
}
do_install() {
oe_runmake install INSTALL_ROOT=${D}${prefix}
-}
-do_install_append_toolchain-clang () {
- # Remove RPATHs embedded in bins
- chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang*
- chrpath --delete ${D}${libexecdir}/qtcreator/clang*
+ 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} += " \
+FILES:${PN} += " \
${datadir}/qtcreator \
${datadir}/metainfo \
${datadir}/icons \
${libdir}${QT_DIR_NAME}/qtcreator \
"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \
"
-RDEPENDS_${PN} += "perl python"
-RCONFLICTS_${PN} = "qt-creator"
+RDEPENDS:${PN} += "perl python3"
+RCONFLICTS:${PN} = "qt-creator"
# To give best user experience out of the box..
-RRECOMMENDS_${PN} += " \
+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"
+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 918e117b..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-2019 Martin Jansa <martin.jansa@gmail.com>
+# Copyright (C) 2013-2022 Martin Jansa <martin.jansa@gmail.com>
QT_MODULE ?= "${BPN}"
-QT_MODULE_BRANCH ?= "dev"
+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.14.0+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 76816027..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}"
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
index 283601af..d4fb132c 100644
--- 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
@@ -52,6 +52,7 @@ Thread 1 "luna-next" received signal SIGSEGV, Segmentation fault.
#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/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb
index 4e83c267..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,7 +16,7 @@ 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=.. \
"
@@ -25,6 +25,6 @@ S = "${WORKDIR}/git/vboxtouch"
inherit qmake5
-FILES_${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so"
-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 56efe106..75d71ba9 100644
--- a/recipes-qt/qt5/qt5-ptest.inc
+++ b/recipes-qt/qt5/qt5-ptest.inc
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/ptest"
+FILESEXTRAPATHS:append := ":${THISDIR}/ptest"
SRC_URI += "file://run-ptest"
inherit ptest
@@ -10,13 +10,17 @@ do_compile_ptest() {
oe_runmake
}
+DEBUG_PREFIX_MAP += "\
+ -fmacro-prefix-map=${D}= \
+"
+
fakeroot do_install_ptest() {
mkdir -p ${D}${PTEST_PATH}
t=${D}${PTEST_PATH}
for var in ` find ${B}/tests/auto/ -name tst_*`; do
if [ -z ` echo ${var##*/} | grep '\.'` ]; then
echo ${var##*/} >> ${t}/tst_list
- install -m 0644 ${var} ${t}
+ install -m 0744 ${var} ${t}
fi
done
}
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index e0cd8949..2f8de7e0 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -8,8 +8,8 @@ PACKAGECONFIG_OPENSSL ?= "openssl"
PACKAGECONFIG[examples] = ""
PACKAGECONFIG[tests] = ""
PACKAGECONFIG[qtquickcompiler] = ",,qtdeclarative-native"
-EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', '', d)}"
-EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', '', d)}"
+EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', '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
@@ -47,36 +47,37 @@ python __anonymous() {
# Many examples come with libraries installed outside of standard libdir,
# suppress QA check complaining
-INSANE_SKIP_${PN}-dbg += "libdir"
-INSANE_SKIP_${PN}-examples += "libdir staticdev dev-so"
+INSANE_SKIP:${PN}-dbg += "libdir"
+INSANE_SKIP:${PN}-examples += "libdir staticdev dev-so"
PACKAGES =. "${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples "
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-plugins = "1"
-ALLOW_EMPTY_${PN}-qmlplugins = "1"
+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 \
"
# 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 \
@@ -114,24 +115,25 @@ FILES_${PN}-qmlplugins = " \
${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \
"
-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/* \
@@ -139,7 +141,7 @@ FILES_${PN}-dev += " \
${OE_QMAKE_PATH_LIBS}/*.la \
${OE_QMAKE_PATH_HEADERS}/* \
"
-FILES_${PN}-staticdev += " \
+FILES:${PN}-staticdev += " \
${OE_QMAKE_PATH_LIBS}/*.a \
${OE_QMAKE_PATH_PLUGINS}/*/*.a \
${OE_QMAKE_PATH_PLUGINS}/*/*.prl \
@@ -154,8 +156,8 @@ FILES_${PN}-staticdev += " \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.a \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.prl \
"
-FILES_${PN}-examples = " \
+FILES:${PN}-examples = " \
${OE_QMAKE_PATH_EXAMPLES} \
"
-PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:"
+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 6849c683..3b02d2a1 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -3,22 +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.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
- file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \
+ 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.12-shared
-# 5.12.meta-qt5-shared.8
+# 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 \
@@ -27,38 +27,43 @@ 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-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
- file://0013-Disable-ltcg-for-host_build.patch \
- file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
- file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
- file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.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.12-native
-# 5.12.meta-qt5-native.8
+# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native
+# 5.15.meta-qt5-native.4
SRC_URI += " \
- file://0018-Always-build-uic-and-qvkgen.patch \
- file://0019-Avoid-renameeat2-for-native-sdk-builds.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://0020-Bootstrap-without-linkat-feature.patch \
+ 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 ?= ""
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} \
@@ -73,7 +78,7 @@ QT_CONFIG_FLAGS = " \
-no-sql-sqlite \
-no-sql-psql \
-no-opengl \
- -no-openssl \
+ -no-vulkan \
-no-xcb \
-no-icu \
-verbose \
@@ -105,7 +110,7 @@ QT_CONFIG_FLAGS = " \
# 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
@@ -140,4 +145,4 @@ do_install() {
echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
}
-SRCREV = "76be819345228d589cbc4f5129617151ea604750"
+SRCREV = "abc097a32e13fe8b0a5b2f08430cc580a24f3b06"
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 155dd63c..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 0edb35edfc5ef383e705b50422796dbd5ba8ef1a 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,22 +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/qt.prf | 6 +++---
+ mkspecs/features/configure.prf | 4 +--
+ mkspecs/features/qt.prf | 6 ++---
mkspecs/features/qt_functions.prf | 2 +-
- mkspecs/linux-oe-g++/qmake.conf | 39 ++++++++++++++++++++++++++++++++++++
+ mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++++++++++++++++
mkspecs/linux-oe-g++/qplatformdefs.h | 1 +
- 6 files changed, 47 insertions(+), 7 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 ef7bad1..dcca0f9 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()
{
@@ -44,7 +45,7 @@ index ef7bad1..dcca0f9 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) {
@@ -65,10 +66,10 @@ index 934a18a..0f5b1b6 100644
msg = "test $$1 succeeded"
write_file($$QMAKE_CONFIG_LOG, msg, append)
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
-index 3a71376..dd6020f 100644
+index 69d1954306..37f7c9c4a2 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
-@@ -148,7 +148,7 @@ import_plugins:qtConfig(static) {
+@@ -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): \
@@ -77,7 +78,7 @@ index 3a71376..dd6020f 100644
LIBS += $$plug_path/$$plug_type/$$plug_name
} else {
LIBS += -l$${plug}$$qtPlatformTargetSuffix()
-@@ -271,8 +271,8 @@ for(ever) {
+@@ -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 {
@@ -89,10 +90,10 @@ index 3a71376..dd6020f 100644
# 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) {
@@ -103,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..c202c47
+index 0000000000..087e13bb91
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qmake.conf
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,40 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
@@ -117,8 +118,9 @@ index 0000000..c202c47
+
+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)
@@ -148,7 +150,7 @@ index 0000000..c202c47
+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 c46d2961..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 643818dd46f6c0bfabdf09608dd12844c65a06c7 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,10 +19,10 @@ 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 e0652fdcf9..7b8fed8931 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
@@ -31,7 +31,7 @@ index e0652fdcf9..7b8fed8931 100644
!!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
@@ -40,7 +40,7 @@ index e0652fdcf9..7b8fed8931 100644
!!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
@@ -50,7 +50,7 @@ index e0652fdcf9..7b8fed8931 100644
_qt5_Core_check_file_exists(${imported_location})
diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
-index 1d947159e2..582c52169e 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)
@@ -72,7 +72,7 @@ index 1d947159e2..582c52169e 100644
_qt5_DBus_check_file_exists(${imported_location})
diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-index 99d87e2e46..8fe9b3c0b5 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)
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 d7db54d3..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 df4410ccc0977b089efddd7d0d405e4abee2aab8 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
@@ -20,10 +20,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
-index 4119012d85..6395d10561 100644
+index 8ceb763491..ea102f788d 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
-@@ -174,7 +174,10 @@ void QLibrarySettings::load()
+@@ -183,7 +183,10 @@ void QLibrarySettings::load()
QSettings *QLibraryInfoPrivate::findConfiguration()
{
#ifdef QT_BUILD_QMAKE
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 420a1e3c..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 7f912753d733d218eb87fd3b3d1d3d39e336f566 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 131aa868c2..294dfd6fd2 100644
+index 49755f7abf..f84862d1ca 100644
--- a/configure.pri
+++ b/configure.pri
-@@ -843,10 +843,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 b54bcf64..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 5556bc54942214e84dc5f81b2dcdc05f7713ff6e 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 62ad972796..04690068bc 100644
+index 6537d98c5d..06d23e3847 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
-@@ -1576,7 +1576,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 849ee0ca..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 265c509a62cc52d9b3a6c9e9995ac26ca278bc1b 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,10 +30,10 @@ 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 3ed6dd5889..52b69b26f6 100644
+index db18dbece6..13908c8fe5 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
+@@ -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()
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 8719d1e3..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,9 +1,10 @@
-From a7b47f38399ef145160e201052e5d0871fa6750c 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/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 84e59e7c..00000000
--- a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From aebff1455c764e9ecc73e6b52a4bac8233c93966 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 e6fac74ccc..28c7e9cfb3 100644
---- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
-+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
-@@ -35,7 +35,7 @@
- #include "tst_qvariant_common.h"
-
- #ifdef Q_OS_LINUX
--# include <pthread.h>
-+# include <sched.h>
- #endif
-
- #include <algorithm>
-@@ -366,7 +366,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 c473230246..1db8d6f225 100644
---- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
-+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
-@@ -78,6 +78,7 @@
- #include <stdlib.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <sched.h>
- #endif
-
- #include "private/qhostinfo_p.h"
-@@ -2132,8 +2133,8 @@ public slots:
-
- #if defined(Q_OS_MAC)
- pthread_yield_np();
--#elif defined Q_OS_LINUX && !defined Q_OS_ANDROID
-- pthread_yield();
-+#elif defined Q_OS_LINUX
-+ sched_yield();
- #endif
- if (!sock->waitForConnected()) {
- networkTimeout = true;
diff --git a/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 8498fd6a..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 d1198f3f6f3293c46db913d63518f625162b3ce5 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 | 39 ++++++++++++++++++++++++++
+ mkspecs/linux-oe-clang/qmake.conf | 40 ++++++++++++++++++++++++++
mkspecs/linux-oe-clang/qplatformdefs.h | 1 +
- 2 files changed, 40 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 0000000000..db02ab5215
+index 0000000000..c09b132ac8
--- /dev/null
+++ b/mkspecs/linux-oe-clang/qmake.conf
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,40 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
@@ -27,8 +28,9 @@ index 0000000000..db02ab5215
+
+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)
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 e13858f1..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 e6ce6eaa98985b706151c63ca7b705110927d71b 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,6 +8,7 @@ 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/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 c5815c0f..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 723d7ab6150f7ef7b33892b54ddc0931a5e71341 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,12 +6,13 @@ 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/text/qlocale/tst_qlocale.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
-index 676c66d..ba05aad 100644
+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 @@
diff --git a/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch b/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch
index e0591d2a..66945d21 100644
--- a/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch
+++ b/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch
@@ -1,4 +1,4 @@
-From a080cb3ac2ad24aeb73407c772ed560dc4cb7ef5 Mon Sep 17 00:00:00 2001
+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
@@ -10,12 +10,13 @@ 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 a94f6d0eeb..3cb01c334d 100644
+index d81f340edd..dc1d196710 100644
--- a/mkspecs/features/ltcg.prf
+++ b/mkspecs/features/ltcg.prf
@@ -1,6 +1,6 @@
@@ -23,6 +24,6 @@ index a94f6d0eeb..3cb01c334d 100644
# Static library but no-static-ltcg enabled: skip LTCG
-} else: CONFIG(release, debug|release) {
+} else: CONFIG(release, debug|release):!host_build {
- # We need fat object files when creating static libraries on some platforms
- # so the linker will know to load a particular object from the library
- # in the first place. On others, we have special ar and nm to create the symbol
+ 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/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch b/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch
deleted file mode 100644
index 192385a5..00000000
--- a/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 6a97088ee9d0d8b2a4fbd5b13ea44501d9e58995 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 14 Feb 2018 17:08:43 -0800
-Subject: [PATCH] mkspecs/common/gcc-base.conf: Use -I instead of -isystem
-
--isystem fails to build when code uses include_next on certain files e.g.
-
-qtbase/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
- #include_next <stdlib.h>
- ^~~~~~~~~~
-compilation terminated.
-make[2]: *** [Makefile:11592: .obj/qgenericpluginfactory.o] Error 1
-
-Upstream-Status: Pending
-
-Change-Id: Ia47832a6339a6ee59c0a6301fc5e552cd28b1029
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- mkspecs/common/clang.conf | 2 +-
- mkspecs/common/gcc-base.conf | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
-index aead581478..8e06a069b4 100644
---- a/mkspecs/common/clang.conf
-+++ b/mkspecs/common/clang.conf
-@@ -18,7 +18,7 @@ QMAKE_PCH_OUTPUT_EXT = .pch
-
- QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
-
--QMAKE_CFLAGS_ISYSTEM = -isystem
-+QMAKE_CFLAGS_ISYSTEM =
- QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
- QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
- QMAKE_CFLAGS_LTCG = -flto=thin
-diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
-index 44b4267207..9756a02014 100644
---- a/mkspecs/common/gcc-base.conf
-+++ b/mkspecs/common/gcc-base.conf
-@@ -46,7 +46,7 @@ QMAKE_CFLAGS_DEBUG += -g
- QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC
- QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC
- QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC
--QMAKE_CFLAGS_ISYSTEM = -isystem
-+QMAKE_CFLAGS_ISYSTEM =
- QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
- QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
- QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions
diff --git a/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
index 0a641bb2..e8c7201b 100644
--- a/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
+++ b/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
@@ -1,4 +1,4 @@
-From f5c88622ac10601e48a14f31d9299692a9ac62e2 Mon Sep 17 00:00:00 2001
+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
diff --git a/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch b/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch
index 749594bd..15631feb 100644
--- a/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch
+++ b/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch
@@ -1,4 +1,4 @@
-From a7755c994aa8031e7f4eaa2df1a442a812d7f5bf Mon Sep 17 00:00:00 2001
+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
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/src/corelib/global/qnumeric_p.h b/src/corelib/global/qnumeric_p.h
-index 4a225b2599..4414865c71 100644
+index 7418579fe0..aba29de499 100644
--- a/src/corelib/global/qnumeric_p.h
+++ b/src/corelib/global/qnumeric_p.h
@@ -55,6 +55,7 @@
diff --git a/recipes-qt/qt5/qtbase/0016-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
index e3a92168..a3605718 100644
--- a/recipes-qt/qt5/qtbase/0016-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
@@ -1,4 +1,4 @@
-From 59c5c149ad1fa3015f1fee34e87e9f8ab89f5de1 Mon Sep 17 00:00:00 2001
+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
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 9 insertions(+)
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
-index 9c3a64aa8b..d0758ab778 100644
+index 11ecd6b2a5..a9a65c6800 100644
--- a/mkspecs/features/toolchain.prf
+++ b/mkspecs/features/toolchain.prf
@@ -41,6 +41,13 @@ defineReplace(qtVariablesFromGCC) {
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/0018-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch
index 7ae15d0a..7a100a69 100644
--- a/recipes-qt/qt5/qtbase/0018-Always-build-uic-and-qvkgen.patch
+++ b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch
@@ -1,4 +1,4 @@
-From 0db28cf06f557a714f8cffafbfcdbe68378c8f8a 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 and qvkgen
@@ -9,15 +9,16 @@ 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 1c76a2e46f..fbd4014fb3 100644
+index 8990109743..105feee924 100644
--- a/src/src.pro
+++ b/src/src.pro
-@@ -232,7 +232,7 @@ qtConfig(gui) {
+@@ -244,7 +244,7 @@ qtConfig(gui) {
}
}
}
diff --git a/recipes-qt/qt5/qtbase/0019-Avoid-renameeat2-for-native-sdk-builds.patch b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch
index b3c2c767..97e4ff6c 100644
--- a/recipes-qt/qt5/qtbase/0019-Avoid-renameeat2-for-native-sdk-builds.patch
+++ b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch
@@ -1,4 +1,4 @@
-From 0c79a6761e75441f433fd397bc3b79e78b6c5ef8 Mon Sep 17 00:00:00 2001
+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
@@ -24,10 +24,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2 files changed, 2 insertions(+), 12 deletions(-)
diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
-index dfcc3c9c7f..30166fe41c 100644
+index b3daf43c04..e1df2ac580 100644
--- a/src/corelib/global/qconfig-bootstrapped.h
+++ b/src/corelib/global/qconfig-bootstrapped.h
-@@ -100,14 +100,14 @@
+@@ -107,7 +107,7 @@
#define QT_FEATURE_process -1
#define QT_FEATURE_regularexpression -1
#ifdef __GLIBC_PREREQ
@@ -36,7 +36,8 @@ index dfcc3c9c7f..30166fe41c 100644
#else
# define QT_FEATURE_renameat2 -1
#endif
- #define QT_FEATURE_sharedmemory -1
+@@ -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)
@@ -45,12 +46,12 @@ index dfcc3c9c7f..30166fe41c 100644
# define QT_FEATURE_statx -1
#endif
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
-index b2d81066db..d1783ebdf3 100644
+index 231e5cb0ea..8da5872c5e 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
-@@ -1248,16 +1248,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
- if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty()))
- return emptyFileEntryWarning(), false;
+@@ -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)
diff --git a/recipes-qt/qt5/qtbase/0020-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch
index e681bfbb..b759214b 100644
--- a/recipes-qt/qt5/qtbase/0020-Bootstrap-without-linkat-feature.patch
+++ b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch
@@ -1,4 +1,4 @@
-From d52010c7d58f1a25f51a909b3179df656ed9d9c4 Mon Sep 17 00:00:00 2001
+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
@@ -7,16 +7,17 @@ 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 30166fe41c..e06f75541b 100644
+index e1df2ac580..151cc1d2c2 100644
--- a/src/corelib/global/qconfig-bootstrapped.h
+++ b/src/corelib/global/qconfig-bootstrapped.h
-@@ -91,7 +91,7 @@
+@@ -98,7 +98,7 @@
#define QT_FEATURE_itemmodel -1
#define QT_FEATURE_library -1
#ifdef __linux__
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index cad653f3..5450ce44 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -1,20 +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.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
- file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \
+ 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.12-shared
-# 5.12.meta-qt5-shared.8
+# 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 \
@@ -23,24 +23,34 @@ 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-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
- file://0013-Disable-ltcg-for-host_build.patch \
- file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
- file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
- file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.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 \
"
+# 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"
+
+inherit pkgconfig
# separate some parts of PACKAGECONFIG which are often changed
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 xcb-xinput glib xkb xkbcommon', '', 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"
@@ -49,9 +59,11 @@ 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 ?= "accessibility 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 ?= " \
@@ -103,22 +115,21 @@ 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 libxext"
+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[xcb-xinput] = "-xcb-xinput,-no-xcb-xinput,libxcb"
PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv"
-PACKAGECONFIG[xkb] = "-xkb,-no-xkb -no-xkbcommon,libxkbcommon"
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"
@@ -135,6 +146,7 @@ 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:
@@ -156,8 +168,8 @@ QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-
# 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)}"
+# 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
@@ -167,11 +179,12 @@ QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-
# 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 = "${@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 \
@@ -179,9 +192,9 @@ 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: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++"
@@ -190,13 +203,13 @@ export LD_host ?= "g++"
# 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"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
do_configure() {
# Regenerate header files when they are included in source tarball
@@ -234,7 +247,7 @@ do_configure() {
${QT_CONFIG_FLAGS}
}
-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
@@ -248,16 +261,18 @@ do_install_append() {
echo "" >> $conf
echo "# default compiler options which can be overwritten from the environment" >> $conf
- echo "isEmpty(QMAKE_AR): QMAKE_AR = ${OE_QMAKE_AR} cqs" >> $conf
+ echo "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_CFLAGS): QMAKE_CFLAGS = ${OE_QMAKE_CFLAGS}" >> $conf
echo "isEmpty(QMAKE_CXX): QMAKE_CXX = $OE_QMAKE_CXX_NO_SYSROOT" >> $conf
- echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${OE_QMAKE_CXXFLAGS}" >> $conf
+ # 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
@@ -265,14 +280,32 @@ do_install_append() {
generate_target_qt_config_file ${D}${OE_QMAKE_PATH_BINS}/qt.conf
- # Fix up absolute paths in scripts
- sed -i -e '1s,#!/usr/bin/python,#! ${USRBINPATH}/env python,' \
+ # 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)}"
-RRECOMMENDS_${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}"
+TARGET_MKSPEC ?= "linux-g++"
+
+# use clean mkspecs on target
+pkg_postinst:${PN}-tools () {
+sed -i \
+ -e 's:HostSpec =.*:HostSpec = ${TARGET_MKSPEC}:g' \
+ -e 's:TargetSpec =.*:TargetSpec = ${TARGET_MKSPEC}:g' \
+ $D${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 = "76be819345228d589cbc4f5129617151ea604750"
+SRCREV = "abc097a32e13fe8b0a5b2f08430cc580a24f3b06"
diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb
index 9fd00fbb..05160cb2 100644
--- a/recipes-qt/qt5/qtcharts_git.bb
+++ b/recipes-qt/qt5/qtcharts_git.bb
@@ -1,17 +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 = "9a052d7a7e56d312fa52eaef7ff7844ec7019783"
+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
index 9a848367..df48de45 100644
--- a/recipes-qt/qt5/qtcoap_git.bb
+++ b/recipes-qt/qt5/qtcoap_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-Commercial"
+LICENSE = "GFDL-1.3 & BSD-3-Clause & GPL-3.0-only | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
"
@@ -11,4 +11,4 @@ PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
DEPENDS += "qtbase"
-SRCREV = "5b6a1c27ee73be2068705037e09f095d6dc210fa"
+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
index 09c92ccb..72afac30 100644
--- a/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch
+++ b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch
@@ -1,4 +1,4 @@
-From 8f79162cdbf6e9df3aea6762124ba1a6b25f5c0a Mon Sep 17 00:00:00 2001
+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
diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb
index 403d86c7..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 \
@@ -19,4 +19,4 @@ PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5"
EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "f2f9da656fd77330cce44dfe0721b3f68f1d809d"
+SRCREV = "4c39684c31a2bfae5ac7d15b4c959ceb50101451"
diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb
index c06e2f63..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 = "422856bb470e1380309c66a8ba4b40e06d1df830"
+SRCREV = "4482ce78012a754f0a95bcbf0ab7f29b6326eb86"
diff --git a/recipes-qt/qt5/qtdeclarative/0001-Revert-Yield-error-if-qtquickcompiler-is-used-in-non.patch b/recipes-qt/qt5/qtdeclarative/0001-Revert-Yield-error-if-qtquickcompiler-is-used-in-non.patch
deleted file mode 100644
index d2bac1f7..00000000
--- a/recipes-qt/qt5/qtdeclarative/0001-Revert-Yield-error-if-qtquickcompiler-is-used-in-non.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 5ae643e2ab69892e0dbe296cf14e020c7938ebee Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Bornemann?= <joerg.bornemann@qt.io>
-Date: Fri, 2 Aug 2019 11:03:06 +0000
-Subject: [PATCH] Revert "Yield error if qtquickcompiler is used in non-QML
- projects"
-
-This reverts commit c5578b16d6454e708c8ce12661a85d41eeaaa758, because
-it prevents enabling the qtquickcompiler feature globally.
-
-Fixes: QTBUG-77277
-Change-Id: Ic80835c462570a67ae3105bb3d1b6452800d2c94
-Reviewed-by: Kai Koehne <kai.koehne@qt.io>
----
- tools/qmlcachegen/qtquickcompiler.prf | 10 ----------
- 1 file changed, 10 deletions(-)
-
-diff --git a/tools/qmlcachegen/qtquickcompiler.prf b/tools/qmlcachegen/qtquickcompiler.prf
-index 967d55a5b..b98d8a019 100644
---- a/tools/qmlcachegen/qtquickcompiler.prf
-+++ b/tools/qmlcachegen/qtquickcompiler.prf
-@@ -1,15 +1,5 @@
- if(qtc_run|lupdate_run): return()
-
--!contains(QT, qml) {
-- qt_modules = \
-- $$replace(QT, -private$, _private) \
-- $$replace(QT_PRIVATE, -private$, _private)
-- qt_modules = $$resolve_depends(qt_modules, "QT.", ".depends" ".run_depends")
-- !contains(qt_modules, qml): \
-- error("The qtquickcompiler feature cannot be used without the QML module.")
-- unset(qt_modules)
--}
--
- qtPrepareTool(QML_CACHEGEN, qmlcachegen, _FILTER)
- qtPrepareTool(QMAKE_RCC, rcc, _DEP)
-
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
index 0152574a..f5dd675a 100644
--- 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
@@ -1,4 +1,4 @@
-From 793ddd0d9fc0d86425a0aa43709445c5ff12a464 Mon Sep 17 00:00:00 2001
+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
@@ -14,7 +14,7 @@ Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in
-index 75fbb0fcf3..1e949cd40c 100644
+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)
@@ -30,6 +30,3 @@ index 75fbb0fcf3..1e949cd40c 100644
if(NOT EXISTS \"${compiler_path}\" )
message(FATAL_ERROR \"The package \\\"Qt5QuickCompilerConfig\\\" references the file
\\\"${compiler_path}\\\"
---
-2.21.0
-
diff --git a/recipes-qt/qt5/qtdeclarative/0002-scenegraph-fix-error-QOffscreenSurface-does-not-name.patch b/recipes-qt/qt5/qtdeclarative/0002-scenegraph-fix-error-QOffscreenSurface-does-not-name.patch
deleted file mode 100644
index 3de99517..00000000
--- a/recipes-qt/qt5/qtdeclarative/0002-scenegraph-fix-error-QOffscreenSurface-does-not-name.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 258a0c6a231f2f853858229e9e069aae71290bba Mon Sep 17 00:00:00 2001
-From: Mikko Gronoff <mikko.gronoff@qt.io>
-Date: Mon, 12 Aug 2019 08:27:19 +0300
-Subject: [PATCH] scenegraph: fix error: 'QOffscreenSurface' does not name a
- type
-
-Change-Id: I41a8b30b316b038ed1e3910adb0254931f385a2a
----
- src/quick/scenegraph/qsgrhisupport_p.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/quick/scenegraph/qsgrhisupport_p.h b/src/quick/scenegraph/qsgrhisupport_p.h
-index 48ad2f0..0e1881a 100644
---- a/src/quick/scenegraph/qsgrhisupport_p.h
-+++ b/src/quick/scenegraph/qsgrhisupport_p.h
-@@ -86,6 +86,7 @@ QT_BEGIN_NAMESPACE
-
- class QSGDefaultRenderContext;
- class QVulkanInstance;
-+class QOffscreenSurface;
-
- // Opting in/out of QRhi and choosing the default/requested backend is managed
- // by this singleton. This is because this information may be needed before
diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb
index 4906272d..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"
-
-SRC_URI += "\
+# 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 \
- file://0001-Revert-Yield-error-if-qtquickcompiler-is-used-in-non.patch \
- file://0002-scenegraph-fix-error-QOffscreenSurface-does-not-name.patch \
"
+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"
-do_install_append_class-nativesdk() {
+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() {
# qml files not needed in nativesdk
rm -rf ${D}${OE_QMAKE_PATH_QML}
}
-SRCREV = "d1b72c98b4e617530bfb23c3a5b7ebc68c15c089"
+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 efa139eb..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 = "ea0457b8058191b4bb22477c7b51975a70af0b0e"
+SRCREV = "01a74df25b14981cf054d58ac238083f5715c80c"
diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb
index 09569195..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 \
@@ -12,10 +12,10 @@ LIC_FILES_CHKSUM = " \
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 = "c76eb211ff12fc3a1588c3092dd76a41eb5551c7"
+SRCREV = "161bf75024a8d04bf843c058717feef93de73624"
diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb
index 9e890c65..dbee6c06 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 \
@@ -25,4 +25,4 @@ PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp"
EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
-SRCREV = "e7940d951e211837ed45b759fb97282e8d65e4c5"
+SRCREV = "5374766d3520fdebe3c9b10ba6cc4de58fc3dacf"
diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb
index cd525271..3ce3a0ef 100644
--- a/recipes-qt/qt5/qtknx_git.bb
+++ b/recipes-qt/qt5/qtknx_git.bb
@@ -1,7 +1,7 @@
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;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
@@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase"
-SRCREV = "99dd0e8203d789caf2edfd2105c398654f5b5748"
+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 47c5d463..0aaaf9d2 100644
--- a/recipes-qt/qt5/qtlocation_git.bb
+++ b/recipes-qt/qt5/qtlocation_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "Apache-2.0 & MIT & openssl & BSL-1.0 & GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
+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.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -14,8 +14,7 @@ LIC_FILES_CHKSUM = " \
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"
@@ -28,15 +27,16 @@ 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=${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 = "f8694e1f3430b7851fc90e26c6d778a86219379a"
-SRCREV_qtlocation-mapboxgl = "4b85252fbe811a786c6ee9eabedb7639b031dc53"
+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
index a2310b21..c6a6e0cb 100644
--- a/recipes-qt/qt5/qtlottie_git.bb
+++ b/recipes-qt/qt5/qtlottie_git.bb
@@ -1,7 +1,7 @@
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;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
@@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase qtdeclarative"
-SRCREV = "03b666a967fb7501248e9f40a5b187ec3a16c453"
+SRCREV = "a56808f219f9a660dd48ee7e330d0bf86d2cee9b"
diff --git a/recipes-qt/qt5/qtmqtt_git.bb b/recipes-qt/qt5/qtmqtt_git.bb
index e986dc91..f2caefb2 100644
--- a/recipes-qt/qt5/qtmqtt_git.bb
+++ b/recipes-qt/qt5/qtmqtt_git.bb
@@ -1,7 +1,7 @@
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;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
@@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase"
-SRCREV = "9e7eba636ebb5ca42822f682be2b442be50cde6e"
+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 838044a1..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 dd3b3190fd65ac636afd55c1d2e746c9fe7b6df0 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,6 +7,7 @@ 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 +++++++++++++++++++
.../imx6/qsgvivantevideomaterial.cpp | 5 +-
@@ -67,7 +68,7 @@ index 00000000..24236976
+
+#endif
diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
-index 4b68f47a..dade1382 100644
+index e1468fe3..a77a9d6a 100644
--- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
@@ -37,8 +37,9 @@
diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb
index 4370d9d8..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"
@@ -27,14 +30,20 @@ EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstream
CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DMESA_EGL_NO_X11_HEADERS=1', d)}"
-# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.12
-# 5.12.meta-qt5.3
+# 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 = "435557691c3c28e9c63aa4bb5f4b9ec8fe3f8923"
+# 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 b56b3706..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 = "272ea7f508d8ee30311c08c07c6e0501f17338c2"
+SRCREV = "100c1e57b571ef00d9f715f24e945dd1cfb07044"
diff --git a/recipes-qt/qt5/qtopcua_git.bb b/recipes-qt/qt5/qtopcua_git.bb
index e1bc4c87..46fc7c9a 100644
--- a/recipes-qt/qt5/qtopcua_git.bb
+++ b/recipes-qt/qt5/qtopcua_git.bb
@@ -1,7 +1,7 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
-LICENSE = "( GFDL-1.3 & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial ) & MPL-2.0 & CC0-1.0"
+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 \
@@ -18,4 +18,4 @@ SECURITY_STRINGFORMAT = ""
DEPENDS += "qtbase"
-SRCREV = "42980b31c57cf7a93c7015df5cd1820db0f4d08b"
+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..e12d8fc1
--- /dev/null
+++ b/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch
@@ -0,0 +1,23 @@
+From b87860c14637458c5a7f5c1ca6f66f21bb87652e 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 9eb5e8e33..ebe31c216 100644
+--- a/src/buildtools/configure.json
++++ b/src/buildtools/configure.json
+@@ -399,7 +399,6 @@
+ && features.webengine-gperf
+ && features.webengine-bison
+ && features.webengine-flex
+- && features.webengine-python2
+ && (!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..fc232b98
--- /dev/null
+++ b/recipes-qt/qt5/qtpdf_git.bb
@@ -0,0 +1,220 @@
+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 \
+"
+
+# 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 = "3a11b38575e6aa929d1e7d5d11d0acf61eae6420"
+SRCREV_chromium = "ce00f9b5aa761866b24d6460e10aacb671c92cf0"
+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-python2,-no-feature-webengine-python2,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
index 735df4fc..1d93d2a5 100644
--- a/recipes-qt/qt5/qtpurchasing_git.bb
+++ b/recipes-qt/qt5/qtpurchasing_git.bb
@@ -1,8 +1,8 @@
require qt5.inc
-require qt5-git.inc
+require qt5-lts.inc
HOMEPAGE = "http://www.qt.io"
-LICENSE = "Apache-2.0 & BSD & ( LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial )"
+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 \
@@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase qtdeclarative"
-SRCREV = "f58adac04ad8e36a840a66d14e02e5993b8099e7"
+SRCREV = "e879db20f84340a9eaef66cd34137eafa5388b00"
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 16e134e9..7ad39bef 100644
--- a/recipes-qt/qt5/qtquickcontrols2_git.bb
+++ b/recipes-qt/qt5/qtquickcontrols2_git.bb
@@ -1,7 +1,7 @@
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 \
@@ -10,4 +10,6 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtdeclarative qtdeclarative-native"
-SRCREV = "2ee78aafc81cd35073e9d90c9186e81676dea2ac"
+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 12563e8c..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 \
@@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = " \
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 = "b74071e607e824d3adbe6bfbe0c9a720f91f3662"
+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 c587e2e8..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,9 +1,11 @@
-From fcb448d2e366ca30a18e4cb45181b8832b8884d5 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 +++++
diff --git a/recipes-qt/qt5/qtremoteobjects/0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
index caf08de4..b0bfd34e 100644
--- a/recipes-qt/qt5/qtremoteobjects/0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
+++ b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch
@@ -1,14 +1,16 @@
-From 30d1467553f75ba94baa4569c0222c5d407f275c Mon Sep 17 00:00:00 2001
+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 4907ded..34729da 100644
+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)
diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb
index 8d22d0b5..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,24 +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.12
-# 5.12.meta-qt5.2
+# 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://0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.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 = "35516bfec49c5da9b0e6bcd0731bb5d5b7983944"
+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
index e789ff58..35af2d9f 100644
--- 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
@@ -1,4 +1,4 @@
-From 9f06841c9ff8e50c604fbd0f100e2e3ea4242309 Mon Sep 17 00:00:00 2001
+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
diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb
index e2c035bb..ded1b5a7 100644
--- a/recipes-qt/qt5/qtscript_git.bb
+++ b/recipes-qt/qt5/qtscript_git.bb
@@ -2,7 +2,7 @@ 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 \
@@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
-# Patches from https://github.com/meta-qt5/qtscript/commits/b5.12
-# 5.12.meta-qt5.3
+# 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 \
"
@@ -27,13 +27,13 @@ SRC_URI += " \
#{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 = "40b5d325b6105d4e520c76a079f530168b58efec"
+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 b6745fa3..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 490c1ce97d93e9eed6fe5789e526a8b8c22ed230 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 8842b9d6..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 = "279d63c4f6632237e6a0d9c4be91b466876c260a"
+SRCREV = "9c12ec9ad94d84f3c2319cc461b6342bdfd3b593"
-# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.12
-# 5.12.meta-qt5.2
+# 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 d01efbee..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 = "4dfa95538ff15f59880c93675676ce609b365d89"
+SRCREV = "83ee0a26e791e0a9ea01df2109e26053d3ec2ab5"
diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb
index e3670cf1..c5e20fc9 100644
--- a/recipes-qt/qt5/qtserialbus_git.bb
+++ b/recipes-qt/qt5/qtserialbus_git.bb
@@ -1,7 +1,7 @@
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.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \
@@ -9,6 +9,12 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
"
-DEPENDS += "qtbase qtserialport"
+DEPENDS += "qtbase"
-SRCREV = "b8dbe5524bd15ea0acc03dc5c5c4bf9f0d912f42"
+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 = "58372774dcadfbfeb1f375103d1cd58b9ef1225a"
diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb
index a8f88c50..1c5bce54 100644
--- a/recipes-qt/qt5/qtserialport_git.bb
+++ b/recipes-qt/qt5/qtserialport_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"
-SRCREV = "ad2628329e1685dbccd0ac3c5011336cd2c4f786"
+SRCREV = "f4663160f1c5d0b1806f43ef2d1d25a5103995ec"
diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb
index 8a05ea2d..5378985f 100644
--- a/recipes-qt/qt5/qtsvg_git.bb
+++ b/recipes-qt/qt5/qtsvg_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.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
@@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase"
-SRCREV = "b80a1676c9f5cc0b428f15ac09f6648a80aacb26"
+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 5f5e1ad8..4c7956aa 100644
--- a/recipes-qt/qt5/qtsystems_git.bb
+++ b/recipes-qt/qt5/qtsystems_git.bb
@@ -1,7 +1,7 @@
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.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -17,12 +17,12 @@ 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
}
@@ -30,3 +30,7 @@ do_install_append() {
QT_MODULE_BRANCH = "dev"
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 2f55a4b7..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 49be7a63b155004c612c7e9e0c671502ecba2c70 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 080aba03..100370a4 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 080aba03..100370a4 100644
BROWSER = qtwebkit
} else {
BROWSER = qtextbrowser
-@@ -75,7 +75,7 @@ SOURCES += aboutdialog.cpp \
+@@ -77,7 +77,7 @@ SOURCES += aboutdialog.cpp \
openpagesmanager.cpp \
openpagesswitcher.cpp
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 24fb9b7b..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,15 +1,17 @@
-From 8bcf6e4204f77ec656310e5ada92c27990107477 Mon Sep 17 00:00:00 2001
+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 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..f957a384 100644
+index 2e99bc76..e6f4f7ed 100644
--- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
@@ -47,7 +47,7 @@ if (NOT TARGET Qt5::lrelease)
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 ae671a72..00000000
--- a/recipes-qt/qt5/qttools/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-./tst_qtdiag
diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb
index b44f874b..83434189 100644
--- a/recipes-qt/qt5/qttools_git.bb
+++ b/recipes-qt/qt5/qttools_git.bb
@@ -1,9 +1,8 @@
require qt5.inc
-require qt5-git.inc
-require qt5-ptest.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 \
@@ -12,42 +11,39 @@ LIC_FILES_CHKSUM = " \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
-DEPENDS += "qtbase qtdeclarative qtxmlpatterns chrpath-replacement-native"
-EXTRANATIVEPATH += "chrpath-native"
-# Patches from https://github.com/meta-qt5/qttools/commits/b5.12
-# 5.12.meta-qt5.2
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns"
+# Patches from https://github.com/meta-qt5/qttools/commits/b5.15
+# 5.15.meta-qt5.1
SRC_URI += " \
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:append:toolchain-clang = " clang"
PACKAGECONFIG[qtwebkit] = ",,qtwebkit"
PACKAGECONFIG[clang] = ",,clang"
+COMPATIBLE_HOST:toolchain-clang:riscv32 = "null"
+COMPATIBLE_HOST:toolchain-clang:riscv64 = "null"
+
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_BINDIR}/llvm-config"
+
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)} \
"
-EXTRA_QMAKEVARS_PRE_append_class-native = " CONFIG-=config_clang"
-EXTRA_QMAKEVARS_PRE_append_class-nativesdk = " CONFIG-=config_clang"
-EXTRA_QMAKEVARS_PRE_append_class-target = "\
- ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=config_clang', 'CONFIG-=config_clang', d)} \
-"
-
-SRCREV = "61c0d8017044263dde21f1db57383f6d19f9eb03"
+SRCREV = "bc3cbd02fe57d01c6d8378c82cd60974ec0886c7"
BBCLASSEXTEND = "native nativesdk"
-do_install_ptest() {
- mkdir -p ${D}${PTEST_PATH}
- t=${D}${PTEST_PATH}
- cp ${B}/tests/auto/qtdiag/tst_tdiag $t
-}
-do_install_append_toolchain-clang() {
- chrpath --delete ${D}${bindir}/qdoc
-}
diff --git a/recipes-qt/qt5/qttranslations_git.bb b/recipes-qt/qt5/qttranslations_git.bb
index de74f4fb..0a103c14 100644
--- a/recipes-qt/qt5/qttranslations_git.bb
+++ b/recipes-qt/qt5/qttranslations_git.bb
@@ -1,16 +1,16 @@
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() {
+do_install:append() {
# remove qtquick1 translations - qtquick1 is gone
- for transfile in `find ${D}/${OE_QMAKE_PATH_TRANSLATIONS} -name qmlviewer_*.qm -o -name qtquick1_*.qm -o -name qt_*.qm ! -name qt_help_*.qm`; do
+ for transfile in `find ${D}/${OE_QMAKE_PATH_TRANSLATIONS} -name qt_*.qm ! -name qt_help_*.qm`; do
rm $transfile
done
}
@@ -34,68 +34,68 @@ PACKAGES =. " \
${PN}-qthelp \
"
-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}-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}-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 \
"
-SRCREV = "66952c79bc648e1074936dddb7fa2cffc17b1777"
+SRCREV = "8a0280788ec15f496c78a3c06e641e4fae087409"
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 a0d5e252..32cb27fd 100644
--- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb
+++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb
@@ -1,11 +1,13 @@
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 \
"
+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.
# for example:
@@ -65,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 qtdeclarative-native"
-SRCREV = "68375389bf09427103ab3ff2b7fb1517e9b55615"
+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 ac929622..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"
@@ -34,42 +44,14 @@ PACKAGECONFIG[wayland-egl] = "-feature-wayland-egl,-no-feature-wayland-egl,virtu
PACKAGECONFIG[wayland-brcm] = "-feature-wayland-brcm,-no-feature-wayland-brcm,virtual/egl"
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 = "ae43ed466e62cc198b7ab85c7f40faaada39c968"
+SRCREV = "4f363a988155c86757ecd36c81393a7ba9fc8c95"
BBCLASSEXTEND =+ "native nativesdk"
# The same issue as in qtbase:
# http://errors.yoctoproject.org/Errors/Details/152641/
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-# Since version 5.11.2 some private headers are not installed. Work around
-# until fixed upstream. See https://bugreports.qt.io/browse/QTBUG-71340 for
-# further details
-QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY ?= "1"
-# First 6 characters before first + (e.g. 5.11.3-+git) or - (e.g. 5.11.3-2)
-SHRT_VER ?= "${@d.getVar('PV').split('+')[0].split('-')[0]}"
-do_install_append() {
- if [ -d "${B}/src/client" -a "${QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY}" = "1" -a -d "${D}${includedir}/QtWaylandClient/${SHRT_VER}/QtWaylandClient/private/" ]; then
- for header in `find ${B}/src/client -name '*wayland-*.h'`; do
- header_base=`basename $header`
- dest="${D}${includedir}/QtWaylandClient/${SHRT_VER}/QtWaylandClient/private/$header_base"
- if [ ! -e "$dest" ]; then
- echo "Manual install: $header_base to $dest"
- install -m 644 "$header" "$dest"
- fi
- done
- fi
- if [ -d "${B}/src/compositor" -a "${QTWAYLAND_INSTALL_PRIVATE_HEADERS_MANUALLY}" = "1" -a -d "${D}${includedir}/QtCompositor/${SHRT_VER}/QtCompositor/private/" ]; then
- for header in `find ${B}/src/compositor -name '*wayland-*.h'`; do
- header_base=`basename $header`
- dest="${D}${includedir}/QtCompositor/${SHRT_VER}/QtCompositor/private/$header_base"
- if [ ! -e "$dest" ]; then
- echo "Manual install: $header_base to $dest"
- install -m 644 "$header" "$dest"
- fi
- done
- fi
-}
+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 fd66bfed..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 = "29496e3f08e20398e253e6d32bb95879a1a68978"
+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
index 610b703f..7daa801a 100644
--- a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
+++ b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch
@@ -1,4 +1,4 @@
-From 468ed461a955cc1ab3d890178546b79b9d001de9 Mon Sep 17 00:00:00 2001
+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
@@ -13,13 +13,26 @@ 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/buildtools/gn.pro | 4 ++--
- src/core/config/linux.pri | 2 +-
- 3 files changed, 10 insertions(+), 10 deletions(-)
+ 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 dd0d3e32..6312c867 100644
+index dd0d3e327..3d39198f3 100644
--- a/src/buildtools/configure_host.pro
+++ b/src/buildtools/configure_host.pro
@@ -4,7 +4,7 @@ TEMPLATE = aux
@@ -31,7 +44,15 @@ index dd0d3e32..6312c867 100644
!isEmpty(QT_TARGET_ARCH): GN_TARGET_CPU = $$gnArch($$QT_TARGET_ARCH)
else: GN_TARGET_CPU = $$GN_HOST_CPU
GN_OS = $$gnOS()
-@@ -31,9 +31,9 @@ GN_CONTENTS = \
+@@ -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\") {" \
@@ -44,7 +65,11 @@ index dd0d3e32..6312c867 100644
" ar = \"$$which(ar)\" " \
" nm = \"$$which(nm)\" " \
" extra_cppflags = \"$$GN_HOST_EXTRA_CPPFLAGS\" " \
-@@ -45,9 +45,9 @@ GN_CONTENTS = \
++" 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\") {" \
@@ -58,30 +83,18 @@ index dd0d3e32..6312c867 100644
" nm = \"$$which(nm)\" " \
" toolchain_args = { " \
diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro
-index b6bf9cfc..ae419b1a 100644
+index f94694da0..a8ca6567b 100644
--- a/src/buildtools/gn.pro
+++ b/src/buildtools/gn.pro
-@@ -19,8 +19,8 @@ build_pass|!debug_and_release {
+@@ -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/src/core/config/linux.pri b/src/core/config/linux.pri
-index fcce4c31..e3384e58 100644
---- a/src/core/config/linux.pri
-+++ b/src/core/config/linux.pri
-@@ -117,7 +117,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/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
index 96c9d101..d8044c9f 100644
--- 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
@@ -1,16 +1,17 @@
-From cdebd3f7775cfae7ac797774c63478d55d5b60ea Mon Sep 17 00:00:00 2001
+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 002a1af2..8fd2da36 100644
+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);
diff --git a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch
index e3d3c9bb..f8f4229d 100644
--- a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch
+++ b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch
@@ -1,22 +1,23 @@
-From 7b2e6cae9afa28571ccdc2a9224fb86caa88cd29 Mon Sep 17 00:00:00 2001
+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 2bfbc65b..7134a5d7 100644
+index 9e087c815..7f518e020 100644
--- a/src/core/core_module.pro
+++ b/src/core/core_module.pro
-@@ -52,7 +52,7 @@ linux {
- POST_TARGETDEPS += $$NINJA_TARGETDEPS
-
+@@ -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
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/0004-musl-allow-build-without-glibc.patch b/recipes-qt/qt5/qtwebengine/0004-musl-allow-build-without-glibc.patch
deleted file mode 100644
index 3047230c..00000000
--- a/recipes-qt/qt5/qtwebengine/0004-musl-allow-build-without-glibc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a1c248259f3d8561d6e2c75a56edf4a72c393843 Mon Sep 17 00:00:00 2001
-From: Samuli Piippo <samuli.piippo@qt.io>
-Date: Thu, 15 Aug 2019 07:52:53 +0300
-Subject: [PATCH] musl: allow build without glibc
-
-Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
----
- mkspecs/features/configure.prf | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
-index cc84182b..f1310f75 100644
---- a/mkspecs/features/configure.prf
-+++ b/mkspecs/features/configure.prf
-@@ -75,7 +75,7 @@ defineTest(runConfigure) {
- return(false)
- }
-
-- !qtConfig(webengine-system-glibc) {
-+ false:!qtConfig(webengine-system-glibc) {
- skipBuild("A suitable version >= 2.27 of libc could not be found.")
- return(false)
- }
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0001-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 97b09e70..6712cef6 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0001-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 f3345ad713ae81e4f914084b089ca7983bb76581 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>
---
gn/tools/gn/ninja_action_target_writer.cc | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/gn/tools/gn/ninja_action_target_writer.cc b/gn/tools/gn/ninja_action_target_writer.cc
-index 7e945c0de0e..3deb587668c 100644
+index 5f4fbaad882..1c074a2193b 100644
--- a/gn/tools/gn/ninja_action_target_writer.cc
+++ b/gn/tools/gn/ninja_action_target_writer.cc
-@@ -118,9 +118,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() {
+@@ -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;
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/0002-chromium-stack-pointer-clobber.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch
deleted file mode 100644
index 295b18e0..00000000
--- a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 079403c8f4e9fc5e1ea81dcd7fa126b351c91094 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: stack pointer clobber
-
-Do not add stack pointer to clobber list
-
-it was being ignored until gcc 9.0 became capable
-of flagging this silent ignoring via [1]
-
-[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813<Paste>
-
-Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- chromium/third_party/lss/linux_syscall_support.h | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h
-index 5d9c2e8582f..e19e51dd304 100644
---- a/chromium/third_party/lss/linux_syscall_support.h
-+++ b/chromium/third_party/lss/linux_syscall_support.h
-@@ -1964,7 +1964,7 @@ struct kernel_statfs {
- __asm__ volatile(LSS_ENTRYPOINT \
- : "=a" (__res) \
- : "0" (__NR_##name) \
-- : "esp", "memory"); \
-+ : "memory"); \
- LSS_RETURN(type,__res); \
- }
- #undef _syscall1
-@@ -2012,7 +2012,7 @@ struct kernel_statfs {
- : "i" (__NR_##name), "ri" ((long)(arg1)), \
- "c" ((long)(arg2)), "d" ((long)(arg3)), \
- "S" ((long)(arg4)), "D" ((long)(arg5)) \
-- : "esp", "memory"); \
-+ : "memory"); \
- LSS_RETURN(type,__res); \
- }
- #undef _syscall6
-@@ -2034,7 +2034,7 @@ struct kernel_statfs {
- : "i" (__NR_##name), "0" ((long)(&__s)), \
- "c" ((long)(arg2)), "d" ((long)(arg3)), \
- "S" ((long)(arg4)), "D" ((long)(arg5)) \
-- : "esp", "memory"); \
-+ : "memory"); \
- LSS_RETURN(type,__res); \
- }
- LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
-@@ -2120,7 +2120,7 @@ struct kernel_statfs {
- : "0"(-EINVAL), "i"(__NR_clone),
- "m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
- "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
-- : "esp", "memory", "ecx", "edx", "esi", "edi");
-+ : "memory", "ecx", "edx", "esi", "edi");
- LSS_RETURN(int, __res);
- }
-
-@@ -2405,7 +2405,7 @@ struct kernel_statfs {
- "d"(LSS_SYSCALL_ARG(parent_tidptr)),
- "r"(LSS_SYSCALL_ARG(newtls)),
- "r"(LSS_SYSCALL_ARG(child_tidptr))
-- : "rsp", "memory", "r8", "r10", "r11", "rcx");
-+ : "memory", "r8", "r10", "r11", "rcx");
- }
- LSS_RETURN(int, __res);
- }
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch
index 4eba389f..3dfcb1af 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch
@@ -1,4 +1,4 @@
-From 07161d6cffe2f38f8de1d176047548ea448c0b8f Mon Sep 17 00:00:00 2001
+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
@@ -11,20 +11,20 @@ src/3rdparty/chromium/third_party/zlib/crc32_simd.c:184: undefined reference to
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- chromium/third_party/zlib/BUILD.gn | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
+ 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 b9f1bba6062..354bd444482 100644
+index 44b827155b2..16892b8d284 100644
--- a/chromium/third_party/zlib/BUILD.gn
+++ b/chromium/third_party/zlib/BUILD.gn
-@@ -77,8 +77,11 @@ if (use_arm_neon_optimizations) {
+@@ -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_clang && !is_ios) {
-- defines = [ "CRC32_ARMV8_CRC32" ]
+ if (!is_ios && !use_qt) {
+ defines = [ "CRC32_ARMV8_CRC32" ]
+ if (current_cpu == "arm64") {
+ defines += [ "CRC32_ARMV8_CRC32" ]
+ }
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch
index 5f7901e8..4a82d69d 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch
@@ -1,7 +1,8 @@
-From f49c5d488951027f1577f79681d448c3f30f6ae3 Mon Sep 17 00:00:00 2001
+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
@@ -12,17 +13,19 @@ 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 127d0c444bd..b653e933d6f 100644
+index b628042bc21..0b9476b33af 100644
--- a/chromium/build/config/compiler/BUILD.gn
+++ b/chromium/build/config/compiler/BUILD.gn
-@@ -749,15 +749,6 @@ config("compiler_cpu_abi") {
- cflags += [ "--target=arm-linux-gnueabihf" ]
- ldflags += [ "--target=arm-linux-gnueabihf" ]
+@@ -784,15 +784,6 @@ config("compiler_cpu_abi") {
+ } else if (current_cpu == "arm") {
+ if (is_clang && !is_android && !is_nacl) {
}
- if (!is_nacl) {
- cflags += [
@@ -35,4 +38,4 @@ index 127d0c444bd..b653e933d6f 100644
- }
} else if (current_cpu == "arm64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
- cflags += [ "--target=aarch64-linux-gnu" ]
+ }
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/0006-chromium-aarch64-skia-build-fix.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch
deleted file mode 100644
index b97b2dca..00000000
--- a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 564eb25c70160f6b3f20a6eb5727427efc78b695 Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
-Date: Thu, 8 Mar 2018 15:39:55 +0100
-Subject: [PATCH] chromium: aarch64 skia build fix
-
-Upstream-Status: Inappropriate
-
-GCC (tested rocko's 7.3.0) cannot find these intrinsics and the build fails:
-
-../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::F neon::from_half(neon::U16)':
-../../third_party/skia/src/opts/SkRasterPipeline_opts.h:657:26: error: cannot convert 'neon::U16 {aka short unsigned int}' to 'float16x4_ t {aka __vector(4) __ fp16}' for argument '1' to '
-float32x4_t vcvt_f32_f16(float16x4_t)'
- return vcvt_f32_f16(h);
- ^
-../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::U16 neon::to_half(neon::F)':
-../../third_party/skia/src/opts/SkRasterPipeline_opts.h:677:26: error: cannot convert 'neon::F {aka float}' to 'float32x4_t {aka __vector (4) float}' for argum ent '1' to 'float16x4_t vcvt
-_f16_f32(float32x4_t)'
- return vcvt_f16_f32(f);
- ^
-
-Upstream seems to have had similar issues according to
-https://skia-review.googlesource.com/c/skia/+/84222, but there is no fix at the
-moment.
-
-Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
----
- .../skia/src/opts/SkRasterPipeline_opts.h | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
-diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
-index de14e65b94e..b8be7852086 100644
---- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
-+++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
-@@ -729,12 +729,7 @@ SI F approx_powf(F x, F y) {
- }
-
- SI F from_half(U16 h) {
--#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-- __fp16 fp16;
-- memcpy(&fp16, &h, sizeof(U16));
-- return float(fp16);
--
--#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
-+#if defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
- return _mm256_cvtph_ps(h);
-
- #else
-@@ -751,13 +746,7 @@ SI F from_half(U16 h) {
- }
-
- SI U16 to_half(F f) {
--#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-- __fp16 fp16 = __fp16(f);
-- U16 u16;
-- memcpy(&u16, &fp16, sizeof(U16));
-- return u16;
--
--#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
-+#if defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
- return _mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION);
-
- #else
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/chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
deleted file mode 100644
index f995676a..00000000
--- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From a74e3dd8323dedb012bce6cf5995ae2a78efd5de 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 1233ae2a8aa..6f1b3e87224 100644
---- a/chromium/base/allocator/allocator_shim.cc
-+++ b/chromium/base/allocator/allocator_shim.cc
-@@ -351,7 +351,7 @@ ALWAYS_INLINE void ShimAlignedFree(void* address, void* context) {
- // In the case of tcmalloc we also want to plumb into the glibc hooks
- // to avoid that allocations made in glibc itself (e.g., strdup()) get
- // accidentally performed on the glibc heap instead of the tcmalloc one.
--#if defined(USE_TCMALLOC)
-+#if defined(USE_TCMALLOC) && defined(__GLIBC__)
- #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h"
- #endif
-
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
deleted file mode 100644
index c4e6ce02..00000000
--- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 1a11d644434ace1eaf72d2cc8bb3dec350655db5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Jul 2017 15:12:39 -0700
-Subject: [PATCH] chromium: musl: Use correct member name __si_fields from
- LinuxSigInfo
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- chromium/sandbox/linux/seccomp-bpf/trap.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/chromium/sandbox/linux/seccomp-bpf/trap.cc b/chromium/sandbox/linux/seccomp-bpf/trap.cc
-index 003708d2c89..0fef3148f9d 100644
---- a/chromium/sandbox/linux/seccomp-bpf/trap.cc
-+++ b/chromium/sandbox/linux/seccomp-bpf/trap.cc
-@@ -168,7 +168,7 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) {
- // most versions of glibc don't include this information in siginfo_t. So,
- // we need to explicitly copy it into a arch_sigsys structure.
- struct arch_sigsys sigsys;
-- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
-+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
-
- #if defined(__mips__)
- // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-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 c040504a..ef788ff2 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0007-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,18 +1,19 @@
-From 34ab4deee6cffc8e6876e991ceabe6baf7308b6f 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 854819bfbb4..a99d32741d0 100644
+index 5fdb4817af8..e5b9431daa0 100644
--- a/chromium/sandbox/linux/suid/sandbox.c
+++ b/chromium/sandbox/linux/suid/sandbox.c
@@ -46,6 +46,15 @@ static bool DropRoot();
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-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
index 14b469e1..0b14f09d 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0008-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
@@ -1,26 +1,28 @@
-From 6eec3f3105b0f6b37fdb52efbb4b3820e1d25846 Mon Sep 17 00:00:00 2001
+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
+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 a09bbf2c56e..b309f6b694e 100644
+index 9d12c427bb3..900ab13519f 100644
--- a/chromium/base/process/process_metrics_posix.cc
+++ b/chromium/base/process/process_metrics_posix.cc
-@@ -100,14 +100,14 @@ size_t ProcessMetrics::GetMallocUsage() {
+@@ -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_ANDROID)
-+#elif defined(__GLIBC__) || defined(OS_ANDROID)
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
struct mallinfo minfo = mallinfo();
- #if defined(USE_TCMALLOC)
+ #if BUILDFLAG(USE_TCMALLOC)
return minfo.uordblks;
#else
return minfo.hblkhd + minfo.arena;
@@ -31,7 +33,7 @@ index a09bbf2c56e..b309f6b694e 100644
return 0;
#endif
diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc
-index 0077d8b0aec..c69f893f4e9 100644
+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;
@@ -42,7 +44,7 @@ index 0077d8b0aec..c69f893f4e9 100644
{
base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_);
if (!emit_metrics_on_memory_dump_)
-@@ -172,6 +173,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
+@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
MemoryAllocatorDump::kUnitsBytes,
resident_size - allocated_objects_size);
}
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-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 f6c23b0e..72cf812a 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0009-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,15 +1,16 @@
-From 87a8cb561129701c8ba94dc927c45cbbb9f5c75b 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
---
.../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 13aa415e250..9d1309b836f 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
@@ -154,6 +154,7 @@ extern "C" {
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-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 ca31a456..45907779 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0010-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,12 +1,14 @@
-From bf780e32b4de82b55368967642bc8f975a93d619 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
---
.../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
deleted file mode 100644
index 16c958c9..00000000
--- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 295afaa918bafc70df23c2c6740e0ef3cc3a7ba5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 25 Sep 2018 12:35:07 -0700
-Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on
- linux
-
-glibc defines both. musl libc only the former.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++--
- .../src/client/linux/dump_writer_common/ucontext_reader.h | 2 +-
- .../src/client/linux/minidump_writer/minidump_writer.h | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-index 6ee6cc1e4cd..a8f9ccc72ac 100644
---- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- }
-
- void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-- const struct _libc_fpstate* fp) {
-+ const struct _fpstate* fp) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
- out->context_flags = MD_CONTEXT_X86_FULL |
-@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- }
-
- void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-- const struct _libc_fpstate* fpregs) {
-+ const struct _fpstate* fpregs) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
- out->context_flags = MD_CONTEXT_AMD64_FULL;
-diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-index f830618f240..f3dde1f4dff 100644
---- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -50,7 +50,7 @@ struct UContextReader {
- // info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
- static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-- const struct _libc_fpstate* fp);
-+ const struct _fpstate* fp);
- #elif defined(__aarch64__)
- static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs);
-diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-index d1dc331215a..d1cc5624cd4 100644
---- a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-@@ -48,7 +48,7 @@ class ExceptionHandler;
- #if defined(__aarch64__)
- typedef struct fpsimd_context fpstate_t;
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
--typedef struct _libc_fpstate fpstate_t;
-+typedef struct _fpstate fpstate_t;
- #endif
-
- // These entries store a list of memory regions that the client wants included
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch
index 8ca842eb..2bba01b4 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0011-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 0dbb65a8a1633a8fe1704ddc0f299799998cc9b0 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 5fb86467dde..9864858eb67 100644
+index a5ca0b7191e..7017d48b5a0 100644
--- a/chromium/base/allocator/allocator_check.cc
+++ b/chromium/base/allocator/allocator_check.cc
@@ -27,7 +27,7 @@ bool IsAllocatorInitialized() {
// Set by allocator_shim_override_ucrt_symbols_win.h when the
// shimmed _set_new_mode() is called.
return g_is_win_shim_layer_initialized;
--#elif defined(OS_LINUX) && defined(USE_TCMALLOC) && \
-+#elif defined(__GLIBC__) && defined(USE_TCMALLOC) && \
- !defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
+-#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/chromium/0014-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 9f1f2b10..fd62102a 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0014-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,10 +1,11 @@
-From 319b50c1cb9ab3beaf52d5119feb9ba2283aaa13 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 +++
@@ -13,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
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 31c564faeee..222ff65b6e1 100644
+index 5a4aead0acf..3427923836b 100644
--- a/chromium/net/dns/dns_config_service_posix.cc
+++ b/chromium/net/dns/dns_config_service_posix.cc
-@@ -29,6 +29,10 @@
+@@ -30,6 +30,10 @@
#include "net/dns/public/dns_protocol.h"
#include "net/dns/serial_worker.h"
@@ -24,11 +25,11 @@ index 31c564faeee..222ff65b6e1 100644
+#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 03e248c9878..9ccda82c7e9 100644
+index 0672e711afb..300f77e3b38 100644
--- a/chromium/net/dns/dns_reloader.cc
+++ b/chromium/net/dns/dns_reloader.cc
@@ -9,6 +9,10 @@
@@ -40,8 +41,8 @@ index 03e248c9878..9ccda82c7e9 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 00000000000..4f0e852a19d
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-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 2bb6d115..ef05aa23 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0015-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 da261d4402fac21694aeca82247974f4043934bc 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,6 +7,7 @@ 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
---
.../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch
index 96eedc5f..86757bbd 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch
@@ -1,19 +1,20 @@
-From 22793b4cab2ceaf7301136fa2df06947c9cb424c Mon Sep 17 00:00:00 2001
+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 095c49b8dc0..d1479b54d48 100644
+index c1a705e2b89..f322fdb8352 100644
--- a/chromium/base/threading/platform_thread_linux.cc
+++ b/chromium/base/threading/platform_thread_linux.cc
-@@ -186,7 +186,8 @@ void TerminateOnThread() {}
+@@ -377,7 +377,8 @@ void TerminateOnThread() {}
size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
#if !defined(THREAD_SANITIZER)
@@ -24,15 +25,15 @@ index 095c49b8dc0..d1479b54d48 100644
// 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 b2421649ff3..a31b96e90e6 100644
+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.
--#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
+-#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).
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-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
index 287ef7e6..59a5e66f 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0018-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
@@ -1,19 +1,20 @@
-From 73406a38f36c4d5a408b575efdf30f52bf38f75e Mon Sep 17 00:00:00 2001
+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
+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 | 3 ++-
- .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 +
- 3 files changed, 4 insertions(+), 2 deletions(-)
+ 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 9cca5aa069c..04139a728cc 100644
+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,
@@ -22,28 +23,33 @@ index 9cca5aa069c..04139a728cc 100644
AX_PTHREAD
-AC_CHECK_HEADERS([a.out.h sys/random.h])
+AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h])
- AC_CHECK_FUNCS([arc4random getrandom])
+ AC_CHECK_FUNCS([arc4random getcontext getrandom])
+ AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
diff --git a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc
-index 4135a51a980..be92b792d3c 100644
+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
-@@ -29,10 +29,11 @@
- #ifndef _GNU_SOURCE
+@@ -30,13 +30,17 @@
#define _GNU_SOURCE // needed for pread()
#endif
--
+
+#include <config.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/mman.h>
+#include <sys/reg.h>
- #include <unistd.h>
#include <fcntl.h>
+ #include <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 d03c7a88d38..28b55ab6300 100644
+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 @@
@@ -52,5 +58,5 @@ index d03c7a88d38..28b55ab6300 100644
+#include <sys/reg.h>
#include <elf.h>
+ #include <limits.h>
#include <link.h>
- #include <stddef.h>
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch
index 71d76413..a925c0d6 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-pread-pwrite.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch
@@ -1,4 +1,4 @@
-From 43c53d6afde5183bc2da3b5b698314d050b2ff5d Mon Sep 17 00:00:00 2001
+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
@@ -10,17 +10,18 @@ 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 | 5 +++++
- 1 file changed, 5 insertions(+)
+ 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 e19e51dd304..5c661949d1e 100644
+index e4ac22644c0..f56203ccce4 100644
--- a/chromium/third_party/lss/linux_syscall_support.h
+++ b/chromium/third_party/lss/linux_syscall_support.h
-@@ -1239,6 +1239,11 @@ struct kernel_statfs {
- #ifndef __NR_fallocate
- #define __NR_fallocate 285
+@@ -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
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_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index bad5d45e..acccc998 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -1,7 +1,7 @@
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/3rdparty/chromium/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \
file://LICENSE.LGPL3;md5=8211fde12cc8a4e2477602f5953f5b71 \
@@ -12,23 +12,30 @@ LIC_FILES_CHKSUM = " \
"
DEPENDS += " \
+ dbus \
libpng-native \
nss-native \
nspr-native \
ninja-native \
nasm-native \
+ nodejs-native \
bison-native \
qtwebchannel \
qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \
qtlocation \
- libdrm fontconfig pixman openssl pango cairo icu pciutils nss \
+ 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', 'libxcomposite libxcursor libxi libxrandr libxtst', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbfile libxcomposite libxcursor libxi libxrandr libxtst', '', d)} \
"
-DEPENDS_append_libc-musl = " libexecinfo"
+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"
@@ -41,9 +48,11 @@ EXTRA_QMAKEVARS_PRE += "CONFIG+=force_debug_info"
# 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 libevent libpng"
+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"
@@ -55,30 +64,36 @@ PACKAGECONFIG[libpng] = "-feature-webengine-system-png,-no-feature-webengine-sys
PACKAGECONFIG[harfbuzz] = "-feature-webengine-system-harfbuzz,-no-feature-webengine-system-harfbuzz,harfbuzz"
PACKAGECONFIG[glib] = "-feature-webengine-system-glib,-no-feature-webengine-system-glib,glib-2.0"
PACKAGECONFIG[zlib] = "-feature-webengine-system-zlib,-no-feature-webengine-system-zlib,zlib"
-PACKAGECONFIG[protobuf] = "-feature-webengine-system-protobuf,-no-feature-webengine-system-protobuf,protobuf"
-PACKAGECONFIG[jasoncpp] = "-feature-webengine-system-jsoncpp,-no-feature-webengine-system-jsoncpp,jasoncpp"
PACKAGECONFIG[libxml2] = "-feature-webengine-system-libxml2,-no-feature-webengine-system-libxml2,libxml2"
PACKAGECONFIG[minizip] = "-feature-webengine-system-minizip,-no-feature-webengine-system-minizip,minizip"
PACKAGECONFIG[proprietary-codecs] = "-feature-webengine-proprietary-codecs,-no-feature-webengine-proprietary-codecs"
PACKAGECONFIG[pepper-plugins] = "-feature-webengine-pepper-plugins,-no-feature-webengine-pepper-plugins"
PACKAGECONFIG[printing-and-pdf] = "-feature-webengine-printing-and-pdf,-no-feature-webengine-printing-and-pdf"
PACKAGECONFIG[spellchecker] = "-feature-webengine-spellchecker,-no-feature-webengine-spellchecker"
+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 distro_features_check
+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"
@@ -108,7 +123,7 @@ 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
@@ -116,67 +131,78 @@ do_configure_prepend_libc-musl() {
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
}
# 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}:append:x86 = " libpci"
-RDEPENDS_${PN}-examples += " \
+RDEPENDS:${PN}-examples += " \
${PN}-qmlplugins \
qtquickcontrols-qmlplugins \
qtdeclarative-qmlplugins \
"
-QT_MODULE_BRANCH_CHROMIUM = "75-based"
+QT_MODULE_BRANCH_CHROMIUM = "87-based"
-# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.13
-# 5.13.meta-qt5.1
+# 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 \
"
-SRC_URI_append_libc-musl = "\
+
+# 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-musl-allow-build-without-glibc.patch \
+ file://0004-mkspecs-Allow-builds-with-libc-glibc.patch \
"
-# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/73-based
-# 73-based.meta-qt5.2
+# 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-stack-pointer-clobber.patch;patchdir=src/3rdparty \
- file://chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \
- file://chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch;patchdir=src/3rdparty \
- file://chromium/0006-chromium-aarch64-skia-build-fix.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 \
"
-SRC_URI_append_libc-musl = "\
- file://chromium/0007-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \
- file://chromium/0008-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \
- file://chromium/0009-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \
- file://chromium/0010-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \
- file://chromium/0011-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \
- file://chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \
- file://chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch;patchdir=src/3rdparty \
- file://chromium/0014-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
- file://chromium/0015-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
- file://chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
- file://chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \
- file://chromium/0018-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \
- file://chromium/0019-chromium-musl-pread-pwrite.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 = "33a2c9aed3ee621c91853570087b500c830792e0"
-SRCREV_chromium = "f5613a4bc321972b8f72654d4c4bc9ba0c36ffbe"
+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
index 5fce7d7f..64dc464f 100644
--- a/recipes-qt/qt5/qtwebglplugin_git.bb
+++ b/recipes-qt/qt5/qtwebglplugin_git.bb
@@ -1,7 +1,7 @@
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 \
"
@@ -11,11 +11,11 @@ DEPENDS += "qtbase qtwebsockets"
PACKAGECONFIG ?= "qtdeclarative"
PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
-do_configure_prepend() {
+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 = "e51341cf20447c42a62281e633513837058f62e5"
+SRCREV = "4f75644c2b9517b7d2621df1309d499956ea5e86"
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
index 4b2b2759..91bf19de 100644
--- 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
@@ -1,4 +1,4 @@
-From 1a4e33ac630b0e4f285e238479900f0e10c6d15f Mon Sep 17 00:00:00 2001
+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
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
index dead46d1..8486a84d 100644
--- 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
@@ -1,4 +1,4 @@
-From 9db9a8850602c2446b1a7ee96608fd74cf56a342 Mon Sep 17 00:00:00 2001
+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
diff --git a/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch
index 23fed74f..8ebb5894 100644
--- a/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch
+++ b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch
@@ -1,4 +1,4 @@
-From 5aa039af074c20bea1398f7f18712dc494a5f138 Mon Sep 17 00:00:00 2001
+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.
diff --git a/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
index 8c718b47..bde4300b 100644
--- a/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
+++ b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch
@@ -1,4 +1,4 @@
-From c00c61a42f9076aecad195b7f72b7db9b3601181 Mon Sep 17 00:00:00 2001
+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
@@ -9,15 +9,16 @@ 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 3792def6f..b6cb36bb1 100644
+index 65c1ff1c1..b7ef82f4e 100644
--- a/Source/WebKit/PlatformQt.cmake
+++ b/Source/WebKit/PlatformQt.cmake
-@@ -510,7 +510,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS)
+@@ -511,7 +511,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS)
install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data)
endif ()
@@ -26,7 +27,7 @@ index 3792def6f..b6cb36bb1 100644
set(WebKit_PRI_ARGUMENTS
BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE"
LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE"
-@@ -734,7 +734,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS)
+@@ -741,7 +741,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS)
install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data)
endif ()
@@ -35,6 +36,3 @@ index 3792def6f..b6cb36bb1 100644
set(WebKitWidgets_PRI_ARGUMENTS
BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE"
LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE"
---
-2.19.0
-
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 c5473440..ffa349d5 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -1,57 +1,84 @@
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.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \
file://Source/JavaScriptCore/parser/Parser.h;endline=21;md5=bd69f72183a7af673863f057576e21ee \
"
-DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native"
+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.11
-# 5.11.meta-qt5.2
+# 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://0004-Fix-build-bug-for-armv32-BE.patch \
- file://0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.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 \
"
-inherit cmake_qt5 perlnative pythonnative
+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"
# 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"
+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` \
"
-EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'"
+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 "
-# JIT not supported on MIPS64
-EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_mips64el = " -DENABLE_JIT=OFF "
+# 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)} \
@@ -69,10 +96,11 @@ PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,libxcomposi
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"
+PACKAGES:remove = "${PN}-examples"
-QT_MODULE_BRANCH = "dev"
+QT_MODULE_BRANCH = "5.212"
-SRCREV = "beaeeb99881184fd368c121fcbb1a31c78b794a3"
+SRCREV = "10cd6a106e1c461c774ca166a67b8c835c755ef7"
diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb
index 3e71e542..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 = "e108b1f06d18003d7a758b07bc3bea9922b2e116"
+SRCREV = "7e0979bd69493914dc63897a8e61f48bf55d71cc"
diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb
index eabce2d4..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 = "fb2a2003fbb41ac91b319afb56f290b415befb64"
+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 b8da0d29..bb8e5927 100644
--- a/recipes-qt/qt5/qtx11extras_git.bb
+++ b/recipes-qt/qt5/qtx11extras_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 ) & ( 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 ) & ( 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"
-SRCREV = "15ffa33a162325d2d16437a057e79cd3b0e3d61c"
+SRCREV = "ce7b2fd52df5b474dfea2bd7dd4e7956b10bf7ba"
diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb
index dc8fca6b..5867704a 100644
--- a/recipes-qt/qt5/qtxmlpatterns_git.bb
+++ b/recipes-qt/qt5/qtxmlpatterns_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 \
@@ -15,17 +15,16 @@ LIC_FILES_CHKSUM = " \
DEPENDS += "qtbase"
PACKAGECONFIG ?= ""
-PACKAGECONFIG_class-target ?= "qtdeclarative"
+PACKAGECONFIG:class-target ?= "qtdeclarative"
PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative"
-do_configure_prepend() {
+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 = "9da08816e1072fc1391377a38d6afd9e73d756e0"
+SRCREV = "cfc30b0df5e6d0c4d08b1ccc9c97a7ffa4ad0911"
BBCLASSEXTEND =+ "native nativesdk"
-
diff --git a/recipes-qt/qtchooser/qtchooser_git.bb b/recipes-qt/qtchooser/qtchooser_git.bb
index 3dcb35d0..5bafe96d 100644
--- a/recipes-qt/qtchooser/qtchooser_git.bb
+++ b/recipes-qt/qtchooser/qtchooser_git.bb
@@ -1,7 +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/qtsdk/qtchooser.git"
+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 \
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.4.bb b/recipes-qt/qwt/qwt-qt5_6.1.5.bb
index d8e1dcd2..31663d1b 100644
--- a/recipes-qt/qwt/qwt-qt5_6.1.4.bb
+++ b/recipes-qt/qwt/qwt-qt5_6.1.5.bb
@@ -8,14 +8,16 @@ 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.md5sum] = "4fb1852f694420e3ab9c583526edecc5"
-SRC_URI[qwt.sha256sum] = "1529215329e51fc562e0009505a838f427919a18b362afff441f035b2d9b5bd9"
+SRC_URI[qwt.sha256sum] = "4076de63ec2b5e84379ddfebf27c7b29b8dc9074f3db7e2ca61d11a1d8adc041"
S = "${WORKDIR}/qwt-${PV}"
@@ -24,7 +26,7 @@ EXTRA_QMAKEVARS_PRE += " \
QWT_CONFIG+=QwtExamples \
"
-do_configure_prepend() {
+do_configure:prepend() {
sed -i \
-e 's:/usr/local/qwt-$$QWT_VERSION:${prefix}:' \
-e 's:^QWT_INSTALL_LIBS.*:QWT_INSTALL_LIBS = ${libdir}:' \
@@ -32,7 +34,7 @@ do_configure_prepend() {
export QWT_INSTALL_LIBS=${libdir}
}
-do_install_append() {
+do_install:append() {
# seems out of tree build confuses installation of examples
# so install them manually
install -d ${D}${bindir}/
@@ -40,13 +42,13 @@ do_install_append() {
}
-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"
+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"
+INSANE_SKIP:${PN}-plugins += "libdir"
+INSANE_SKIP:${PN}-dbg += "libdir"
-RPROVIDES_${PN}-dev = "libqwt-qt5-dev"
+RPROVIDES:${PN}-dev = "libqwt-qt5-dev"
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 719269f1..e534a688 100644
--- a/recipes-qt/tufao/tufao_1.3.10.bb
+++ b/recipes-qt/tufao/tufao_1.3.10.bb
@@ -1,16 +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 \
+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"
@@ -18,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/* \