diff options
Diffstat (limited to 'recipes-qt/qt5')
171 files changed, 4295 insertions, 1290 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 594173aa..c7619db2 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -3,18 +3,20 @@ 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;md5=c8b6dd132d52c6e5a545df07a4e3e283 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=38de3b110ade3b6ee2f0b6a95ab16f1a \ " QT_MODULE = "qtbase" +inherit pkgconfig + require nativesdk-qt5.inc require qt5-git.inc @@ -23,7 +25,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" # common for qtbase-native, qtbase-nativesdk and qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared -# 5.15.meta-qt5-shared.2 +# 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,26 +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://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://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ - file://0019-Define-__NR_futex-if-it-does-not-exist.patch \ - file://0020-Revert-Fix-workaround-in-pthread-destructor.patch \ - file://0021-qfloat16-Include-limits-header.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.15-native -# 5.15.meta-qt5-native.2 +# 5.15.meta-qt5-native.4 SRC_URI += " \ - file://0019-Always-build-uic-and-qvkgen.patch \ - file://0020-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 @@ -61,12 +64,12 @@ 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 \ @@ -76,7 +79,7 @@ FILES_${PN} += " \ # 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," @@ -158,7 +161,7 @@ do_install() { # Install CMake's toolchain configuration mkdir -p ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ - install -m 644 ${WORKDIR}/OEQt5Toolchain.cmake ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ + install -m 644 ${UNPACKDIR}/OEQt5Toolchain.cmake ${D}${datadir}/cmake/OEToolchainConfig.cmake.d/ # Fix up absolute paths in scripts sed -i -e '1s,#!/usr/bin/python,#! ${USRBINPATH}/env python,' \ @@ -198,4 +201,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 = "40143c189b7c1bf3c2058b77d00ea5c4e3be8b28" +SRCREV = "4e158f6bfa7d0747d8da70b3b15a44b52e35bb8a" 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 index 494d598a..9f61a1e7 100644 --- 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 @@ -10,24 +10,26 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> src/foundation/Qt3DSSystem.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) -diff --git a/src/foundation/Qt3DSPreprocessor.h b/src/foundation/Qt3DSPreprocessor.h -index 066a38e..98ff573 100644 --- a/src/foundation/Qt3DSPreprocessor.h +++ b/src/foundation/Qt3DSPreprocessor.h -@@ -114,7 +114,7 @@ Platform define +@@ -112,11 +112,11 @@ Platform define + #define QT3DS_VMX + #elif defined(__x86_64__) #define QT3DS_X64 - #elif defined(__ppc__) - #define QT3DS_PPC +-#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__) -diff --git a/src/foundation/Qt3DSSystem.cpp b/src/foundation/Qt3DSSystem.cpp -index e87a25e..81f563f 100644 + //# 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_FloatingPointModel = ""; +@@ -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 = ""; @@ -38,15 +40,27 @@ index e87a25e..81f563f 100644 #elif defined(QT3DS_ARM) #if defined(__aarch64__) || defined(__ARM64__) const char *qt3ds::foundation::System::g_Processor = "arm"; -@@ -97,6 +101,8 @@ const char *qt3ds::foundation::System::g_GPUType = "gles3"; +@@ -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)" ++//#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()); } @@ -54,6 +68,3 @@ index e87a25e..81f563f 100644 -} \ No newline at end of file +} --- -2.30.2 - diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb index fd362864..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 \ diff --git a/recipes-qt/qt5/ptest/run-ptest b/recipes-qt/qt5/ptest/run-ptest index 044f834d..46fb4464 100644 --- a/recipes-qt/qt5/ptest/run-ptest +++ b/recipes-qt/qt5/ptest/run-ptest @@ -1,6 +1,6 @@ #!/bin/sh for x in ` awk '{print $1}' tst_list `;do - ./${x}; + ./$x; done 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 310cf0ac..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 @@ -3,6 +3,8 @@ 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 +- 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 index 9f6e1f54..82feaf2e 100644 --- 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 @@ -8,6 +8,7 @@ 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 ++ diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index 53f4e484..aeb2c3d5 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 -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,19 +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.15 # 5.15.meta-qt5.2 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ " -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" + +# 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" @@ -31,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 = "34171b1d99f55fde1627df3c57eed50480ab2ae7" +SRCREV = "67bee4599a28e1cadc14ed9ea4adc7061e250b90" +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 25d1ae90..170ecb91 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 @@ -3,6 +3,7 @@ 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> --- 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..a77e8fb5 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch @@ -0,0 +1,50 @@ +From 14eb5b382cabf90352634393c19bf87a4c15766a 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: Backport [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; +-- +2.31.1 + 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..fe377b9d --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch @@ -0,0 +1,33 @@ +From 55b91a76172a3235b4879daf0b675519d5b02db7 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: Backport [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 2f9a306b99..3905ae5f6a 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; +-- +2.31.1 + diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb index 5b337ca3..85bfcc35 100644 --- a/recipes-qt/qt5/qt5-creator_git.bb +++ b/recipes-qt/qt5/qt5-creator_git.bb @@ -7,25 +7,27 @@ 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 mime-xdg +inherit qmake5 pkgconfig mime-xdg DEPENDS += "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib" -DEPENDS_append_libc-musl = " libexecinfo" +DEPENDS:append:libc-musl = " libexecinfo" -SRCREV = "909f74dc56201de9fc06fbe4e4ea368245bc0dd8" -PV = "4.14.0+git${SRCPV}" +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.14 \ + 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" @@ -37,16 +39,16 @@ EXTRA_QMAKEVARS_PRE += " \ EXTRANATIVEPATH += "chrpath-native" PACKAGECONFIG ??= "" -PACKAGECONFIG_append_toolchain-clang = " clang" +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" +COMPATIBLE_HOST:toolchain-clang:riscv32 = "null" +COMPATIBLE_HOST:toolchain-clang:riscv64 = "null" -do_configure_append() { +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 @@ -66,22 +68,22 @@ do_install() { 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 python3" -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 \ @@ -96,7 +98,7 @@ RRECOMMENDS_${PN} += " \ " # 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" diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc index f1d724dd..b4179007 100644 --- a/recipes-qt/qt5/qt5-git.inc +++ b/recipes-qt/qt5/qt5-git.inc @@ -1,8 +1,8 @@ # Copyright (C) 2012-2016 O.S. Systems Software LTDA. -# Copyright (C) 2013-2020 Martin Jansa <martin.jansa@gmail.com> +# Copyright (C) 2013-2022 Martin Jansa <martin.jansa@gmail.com> QT_MODULE ?= "${BPN}" -QT_MODULE_BRANCH ?= "5.15.2" +QT_MODULE_BRANCH ?= "5.15" QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH}" # each module needs to define valid SRCREV @@ -10,8 +10,8 @@ SRC_URI = " \ ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \ " -CVE_PRODUCT = "qt" +CVE_PRODUCT:append = " qt" S = "${WORKDIR}/git" -PV = "5.15.2+git${SRCPV}" +PV = "5.15.13+git${SRCPV}" 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 f41e971a..40d2dce8 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 0744 ${var} ${t} + echo ${var##*/} >> $t/tst_list + install -m 0744 $var $t fi done } diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc index 94bbca39..2f8de7e0 100644 --- a/recipes-qt/qt5/qt5.inc +++ b/recipes-qt/qt5/qt5.inc @@ -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,25 +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/* \ @@ -140,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 \ @@ -155,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 d210e222..52bd9c86 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -3,14 +3,14 @@ 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;md5=c8b6dd132d52c6e5a545df07a4e3e283 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=38de3b110ade3b6ee2f0b6a95ab16f1a \ " require qt5-native.inc @@ -18,7 +18,7 @@ require qt5-git.inc # common for qtbase-native, qtbase-nativesdk and qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared -# 5.15.meta-qt5-shared.2 +# 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,36 +27,38 @@ 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://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://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ - file://0019-Define-__NR_futex-if-it-does-not-exist.patch \ - file://0020-Revert-Fix-workaround-in-pthread-destructor.patch \ - file://0021-qfloat16-Include-limits-header.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 \ + file://0027-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch \ " # common for qtbase-native and nativesdk-qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native -# 5.15.meta-qt5-native.2 +# 5.15.meta-qt5-native.4 SRC_URI += " \ - file://0019-Always-build-uic-and-qvkgen.patch \ - file://0020-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://0021-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 ?= "" @@ -109,7 +111,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 @@ -144,4 +146,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 = "40143c189b7c1bf3c2058b77d00ea5c4e3be8b28" +SRCREV = "4e158f6bfa7d0747d8da70b3b15a44b52e35bb8a" 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 ccc29043..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 f7b84519234ff0cecb6495d31f377910dce34b62 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,6 +19,7 @@ Upstream-Status: Inappropriate [embedded specific] Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + --- configure | 2 +- mkspecs/features/configure.prf | 4 +-- @@ -31,10 +32,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h diff --git a/configure b/configure -index f9407ef587..467f57f960 100755 +index b6c9b462f2..4e3fcd41d1 100755 --- a/configure +++ b/configure -@@ -709,7 +709,7 @@ fi +@@ -708,7 +708,7 @@ fi # is where the resulting variable is written to setBootstrapVariable() { @@ -65,10 +66,10 @@ index 934a18a924..0f5b1b6333 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 89f4946c50..97c1b43ccb 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 89f4946c50..97c1b43ccb 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 89f4946c50..97c1b43ccb 100644 # run qmlimportscanner qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 1903e509c8..c093dd4592 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,7 +104,7 @@ index 1903e509c8..c093dd4592 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 0000000000..9275fc7d74 +index 0000000000..087e13bb91 --- /dev/null +++ b/mkspecs/linux-oe-g++/qmake.conf @@ -0,0 +1,40 @@ @@ -117,7 +118,7 @@ index 0000000000..9275fc7d74 + +include(../common/linux.conf) + -+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar, objcopy, 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) diff --git a/recipes-qt/qt5/qtbase/0001-CVE-2023-51714-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/0001-CVE-2023-51714-qtbase-5.15.diff new file mode 100644 index 00000000..c4bafb24 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0001-CVE-2023-51714-qtbase-5.15.diff @@ -0,0 +1,39 @@ +From ea63c28efc1d2ecb467b83a34923d12462efa96f Mon Sep 17 00:00:00 2001 +From: Marc Mutz <marc.mutz@qt.io> +Date: Tue, 12 Dec 2023 20:51:56 +0100 +Subject: [PATCH] HPack: fix a Yoda Condition + +Putting the variable on the LHS of a relational operation makes the +expression easier to read. In this case, we find that the whole +expression is nonsensical as an overflow protection, because if +name.size() + value.size() overflows, the result will exactly _not_ +be > max() - 32, because UB will have happened. + +To be fixed in a follow-up commit. + +As a drive-by, add parentheses around the RHS. + +Change-Id: I35ce598884c37c51b74756b3bd2734b9aad63c09 +Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> +(cherry picked from commit 658607a34ead214fbacbc2cca44915655c318ea9) +Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> +(cherry picked from commit 4f7efd41740107f90960116700e3134f5e433867) +(cherry picked from commit 13c16b756900fe524f6d9534e8a07aa003c05e0c) +(cherry picked from commit 1d4788a39668fb2dc5912a8d9c4272dc40e99f92) +(cherry picked from commit 87de75b5cc946d196decaa6aef4792a6cac0b6db) +--- +Upstream-Status: Backport [658607a34ead214fbacbc2cca44915655c318ea9] + +diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp +index 834214f..ab166a6 100644 +--- a/src/network/access/http2/hpacktable.cpp ++++ b/src/network/access/http2/hpacktable.cpp +@@ -63,7 +63,7 @@ + // 32 octets of overhead." + + const unsigned sum = unsigned(name.size() + value.size()); +- if (std::numeric_limits<unsigned>::max() - 32 < sum) ++ if (sum > (std::numeric_limits<unsigned>::max() - 32)) + return HeaderSize(); + return HeaderSize(true, quint32(sum + 32)); + } diff --git a/recipes-qt/qt5/qtbase/0002-CVE-2023-51714-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/0002-CVE-2023-51714-qtbase-5.15.diff new file mode 100644 index 00000000..78c72536 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0002-CVE-2023-51714-qtbase-5.15.diff @@ -0,0 +1,60 @@ +From 23c3fc483e8b6e21012a61f0bea884446f727776 Mon Sep 17 00:00:00 2001 +From: Marc Mutz <marc.mutz@qt.io> +Date: Tue, 12 Dec 2023 22:08:07 +0100 +Subject: [PATCH] HPack: fix incorrect integer overflow check + +This code never worked: + +For the comparison with max() - 32 to trigger, on 32-bit platforms (or +Qt 5) signed interger overflow would have had to happen in the +addition of the two sizes. The compiler can therefore remove the +overflow check as dead code. + +On Qt 6 and 64-bit platforms, the signed integer addition would be +very unlikely to overflow, but the following truncation to uint32 +would yield the correct result only in a narrow 32-value window just +below UINT_MAX, if even that. + +Fix by using the proper tool, qAddOverflow. + +Manual conflict resolutions: + - qAddOverflow doesn't exist in Qt 5, use private add_overflow + predecessor API instead + +Change-Id: I7599f2e75ff7f488077b0c60b81022591005661c +Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> +(cherry picked from commit ee5da1f2eaf8932aeca02ffea6e4c618585e29e3) +Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> +(cherry picked from commit debeb8878da2dc706ead04b6072ecbe7e5313860) +Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> +Reviewed-by: Marc Mutz <marc.mutz@qt.io> +(cherry picked from commit 811b9eef6d08d929af8708adbf2a5effb0eb62d7) +(cherry picked from commit f931facd077ce945f1e42eaa3bead208822d3e00) +(cherry picked from commit 9ef4ca5ecfed771dab890856130e93ef5ceabef5) +Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> +--- +Upstream-Status: Backport [ee5da1f2eaf8932aeca02ffea6e4c618585e29e3] + +diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp +index ab166a6..de91fc0 100644 +--- a/src/network/access/http2/hpacktable.cpp ++++ b/src/network/access/http2/hpacktable.cpp +@@ -40,6 +40,7 @@ + #include "hpacktable_p.h" + + #include <QtCore/qdebug.h> ++#include <QtCore/private/qnumeric_p.h> + + #include <algorithm> + #include <cstddef> +@@ -62,7 +63,9 @@ + // for counting the number of references to the name and value would have + // 32 octets of overhead." + +- const unsigned sum = unsigned(name.size() + value.size()); ++ size_t sum; ++ if (add_overflow(size_t(name.size()), size_t(value.size()), &sum)) ++ return HeaderSize(); + if (sum > (std::numeric_limits<unsigned>::max() - 32)) + return HeaderSize(); + return HeaderSize(true, quint32(sum + 32)); 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 dbd527ac..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 826dbd9eac2b99c25e3e97f210eec3eef90941da 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,7 +19,7 @@ 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 4c1c3a612b..8b0f6b16ee 100644 +index 0d02edb41c..ec934c3931 100644 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in @@ -8,7 +8,7 @@ if (NOT TARGET Qt5::qmake) 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 78784935..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 64518ca83c405b8666739909f0c9daba4928f070 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,7 +20,7 @@ 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 f1d7832e46..312fd2b0c8 100644 +index 8ceb763491..ea102f788d 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -183,7 +183,10 @@ void QLibrarySettings::load() 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 751e59d7..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 44e37eab48ff04bd20815fd4ae0b5d79d493aabc 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,6 +10,7 @@ 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/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 703a3d9c..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,10 +1,12 @@ -From 018b5507d9f01db2d408aaecffb837d283e9e36a 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/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 bfaca2b1..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 9ccf2216dae8288a31824dad570cf63443d0e66d 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,7 +30,7 @@ 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 309798a767..d9a83cf6db 100644 +index db18dbece6..13908c8fe5 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -2,6 +2,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) 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 55c9ad78..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 43394997b285f11450dc2c2b7184d730c2fba30b 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 08a79898..00000000 --- a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 18904a169397f343e75bee5f29fa9ae1444a295f 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 19b3289390..4d0cdf8b5f 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> -@@ -369,7 +369,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 e397e80fe0..cdb7893e56 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 <memory> -@@ -2200,8 +2201,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 632c1cc8..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 7fb3964a19710834d4eb700c538015b8234af347 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 5372ec3e..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 df227467c195289a779f45a33be9dd32d1786ffe 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 dfac71f7..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 5cdbde95e65bf641dda1a74711fd67b3237fb410 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 11ba032d82..027aef00fd 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 4f4ed837..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 be570ecd63da95a11428552723519393cc0cb53e 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,6 +10,7 @@ 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/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 86148aee..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 261a2abc536391dadd9e799c3ee32d31ab140d15 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 76e75ac8..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 c09fe6a87c444dc20b93334a9530d5bfd9ab03ff 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 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 2333b4a1..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 a83f643bfea108dda725a7b0c7eb8c957004466f 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 03612e5689..f227e0772e 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/0018-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 index 69063457..aa11a4be 100644 --- a/recipes-qt/qt5/qtbase/0018-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 @@ -1,4 +1,4 @@ -From 6c9e68cffb15cc1e848ca57ea12d4e5905d46507 Mon Sep 17 00:00:00 2001 +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 @@ -7,7 +7,7 @@ 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] +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/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch b/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch index 2accb08e..8198b4f5 100644 --- a/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch +++ b/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch @@ -1,4 +1,4 @@ -From bf314645e665d82c65771fb0d5f58558bbe1ba87 Mon Sep 17 00:00:00 2001 +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 @@ -31,6 +31,3 @@ index f287b752d7..fa5307a604 100644 # define QT_ALWAYS_USE_FUTEX // if not defined in linux/futex.h --- -2.29.1 - diff --git a/recipes-qt/qt5/qtbase/0020-Revert-Fix-workaround-in-pthread-destructor.patch b/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch index c397ddb3..93a4a6ba 100644 --- a/recipes-qt/qt5/qtbase/0020-Revert-Fix-workaround-in-pthread-destructor.patch +++ b/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch @@ -1,4 +1,4 @@ -From aeaea761f21e5430d3199d2ca4414d18ed7b0fd5 Mon Sep 17 00:00:00 2001 +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" @@ -17,6 +17,8 @@ causing build failures in configurations which use this | 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/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-qfloat16-Include-limits-header.patch b/recipes-qt/qt5/qtbase/0021-qfloat16-Include-limits-header.patch deleted file mode 100644 index e781392d..00000000 --- a/recipes-qt/qt5/qtbase/0021-qfloat16-Include-limits-header.patch +++ /dev/null @@ -1,48 +0,0 @@ -From f680222892b44b3c1de129dc086613c6fe025c2d Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 2 Mar 2021 13:18:47 -0800 -Subject: [PATCH] qfloat16: Include <limits> header - -gcc11 complains - error: 'numeric_limits' is not a class template - | 344 | template<> class numeric_limits<const QT_PREPEND_NAMESPACE(qfloat16)> - -This is because its missing right header which perhaps is included -implicitly in older compilers - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/corelib/global/qfloat16.h | 1 + - 1 file changed, 1 insertion(+) - ---- a/src/corelib/global/qfloat16.h -+++ b/src/corelib/global/qfloat16.h -@@ -44,6 +44,7 @@ - #include <QtCore/qglobal.h> - #include <QtCore/qmetatype.h> - #include <string.h> -+#include <limits> - - #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__) - // All processors that support AVX2 do support F16C too. That doesn't mean ---- a/src/corelib/text/qbytearraymatcher.h -+++ b/src/corelib/text/qbytearraymatcher.h -@@ -40,6 +40,7 @@ - #ifndef QBYTEARRAYMATCHER_H - #define QBYTEARRAYMATCHER_H - -+#include <limits> - #include <QtCore/qbytearray.h> - - QT_BEGIN_NAMESPACE ---- a/src/corelib/tools/qoffsetstringarray_p.h -+++ b/src/corelib/tools/qoffsetstringarray_p.h -@@ -55,6 +55,7 @@ - - #include <tuple> - #include <array> -+#include <limits> - - QT_BEGIN_NAMESPACE - 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/0019-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch index 8a112ced..7a100a69 100644 --- a/recipes-qt/qt5/qtbase/0019-Always-build-uic-and-qvkgen.patch +++ b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch @@ -1,4 +1,4 @@ -From 6a7c34194c6bbb53c2b13375db3cb2d6a9aabe31 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 6658cbc9e0..d4a0e68e8d 100644 +index 8990109743..105feee924 100644 --- a/src/src.pro +++ b/src/src.pro -@@ -242,7 +242,7 @@ qtConfig(gui) { +@@ -244,7 +244,7 @@ qtConfig(gui) { } } } diff --git a/recipes-qt/qt5/qtbase/0023-Remove-unsetting-_FILE_OFFSET_BITS.patch b/recipes-qt/qt5/qtbase/0023-Remove-unsetting-_FILE_OFFSET_BITS.patch new file mode 100644 index 00000000..423db6e4 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0023-Remove-unsetting-_FILE_OFFSET_BITS.patch @@ -0,0 +1,26 @@ +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> +--- a/src/3rdparty/zlib/src/gzguts.h ++++ b/src/3rdparty/zlib/src/gzguts.h +@@ -22,15 +22,6 @@ + #define HAVE_HIDDEN + #endif + +-#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/qtbase/0020-Avoid-renameeat2-for-native-sdk-builds.patch b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch index f8699cfd..97e4ff6c 100644 --- a/recipes-qt/qt5/qtbase/0020-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 db1700a72d62f7b8686f94cf262d96171c298f5f 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 @@ -46,10 +46,10 @@ index b3daf43c04..e1df2ac580 100644 # define QT_FEATURE_statx -1 #endif diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp -index 67cff7c68c..86e45320d5 100644 +index 231e5cb0ea..8da5872c5e 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp -@@ -1435,16 +1435,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy +@@ -1443,16 +1443,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy Q_CHECK_FILE_NAME(srcPath, false); Q_CHECK_FILE_NAME(tgtPath, false); diff --git a/recipes-qt/qt5/qtbase/0021-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch index a8169a69..b759214b 100644 --- a/recipes-qt/qt5/qtbase/0021-Bootstrap-without-linkat-feature.patch +++ b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch @@ -1,4 +1,4 @@ -From 0422ea8555c7d42e2e3091e1f5ee9fe172b6a89f 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,6 +7,7 @@ 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 +- diff --git a/recipes-qt/qt5/qtbase/0027-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch b/recipes-qt/qt5/qtbase/0027-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch new file mode 100644 index 00000000..e6a96530 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0027-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch @@ -0,0 +1,55 @@ +From 8946e4874d0e071b182ba5ac438fb4d52d2a44d0 Mon Sep 17 00:00:00 2001 +From: Mark Hatle <mark.hatle@amd.com> +Date: Fri, 1 Dec 2023 08:17:51 -0700 +Subject: [PATCH] xkb: fix build with libxkbcommon 1.6.0 and later +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Disable the 4 XKB_KEY_dead functions to support libxkbcommon 1.6.0. See: + +https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/70 + +The above URL points to a commit in qt which was used as a basis for the fix. + +Upstream-Status: Backport +[https://github.com/qt/qtbase/commit/8af35d27e8f02bbb99aef4ac495ed406e50e3cca] + + xkb: fix build with libxkbcommon 1.6.0 and later + + A few XKB_KEY_dead_* defines got removed from 1.6.0. See also + https://github.com/xkbcommon/libxkbcommon/blob/6073565903488cb5b9a8d37fdc4a7c2f9d7ad04d/NEWS#L9-L14 + https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/70/diffs?commit_id=cb44799b72f611eb4c9d7cc185bc3b09e070be08 + + Pick-to: 6.6 6.5 6.2 5.15 + Fixes: QTBUG-117950 + Change-Id: I55861868f2bb29c553d68365fa9b9b6ed01c9aea + Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> + +Signed-off-by: Mark Hatle <mark.hatle@amd.com> +--- + src/platformsupport/input/xkbcommon/qxkbcommon.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/platformsupport/input/xkbcommon/qxkbcommon.cpp b/src/platformsupport/input/xkbcommon/qxkbcommon.cpp +index b713c19447..ecf02de6db 100644 +--- a/src/platformsupport/input/xkbcommon/qxkbcommon.cpp ++++ b/src/platformsupport/input/xkbcommon/qxkbcommon.cpp +@@ -273,10 +273,14 @@ static constexpr const auto KeyTbl = qMakeArray( + Xkb2Qt<XKB_KEY_dead_small_schwa, Qt::Key_Dead_Small_Schwa>, + Xkb2Qt<XKB_KEY_dead_capital_schwa, Qt::Key_Dead_Capital_Schwa>, + Xkb2Qt<XKB_KEY_dead_greek, Qt::Key_Dead_Greek>, ++/* The following four XKB_KEY_dead keys got removed in libxkbcommon 1.6.0 ++ The define check is kind of version check here. */ ++#ifdef XKB_KEY_dead_lowline + Xkb2Qt<XKB_KEY_dead_lowline, Qt::Key_Dead_Lowline>, + Xkb2Qt<XKB_KEY_dead_aboveverticalline, Qt::Key_Dead_Aboveverticalline>, + Xkb2Qt<XKB_KEY_dead_belowverticalline, Qt::Key_Dead_Belowverticalline>, + Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>, ++#endif + + // Special keys from X.org - This include multimedia keys, + // wireless/bluetooth/uwb keys, special launcher keys, etc. +-- +2.34.1 + diff --git a/recipes-qt/qt5/qtbase/0028-Remove-host-paths-from-qmake.patch b/recipes-qt/qt5/qtbase/0028-Remove-host-paths-from-qmake.patch new file mode 100644 index 00000000..bb20a0ef --- /dev/null +++ b/recipes-qt/qt5/qtbase/0028-Remove-host-paths-from-qmake.patch @@ -0,0 +1,43 @@ +Remove host paths from qmake +The host paths are not useful on the target and may cause security concerns. + +Instead set them to extprefix or just plain "/" to at least remove host paths. + +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: James Minor <james.minor@ni.com> +--- a/configure.pri ++++ b/configure.pri +@@ -854,7 +854,7 @@ defineTest(qtConfOutput_preparePaths) { + export(config.qtbase.features.shared.available) + + hostbindir_absolute_path = $$absolute_path($$config.rel_input.hostbindir, $$config.input.hostprefix) +- config.input.hostbindir_to_hostprefix = $$relative_path($$config.input.hostprefix, $$hostbindir_absolute_path) ++ config.input.hostbindir_to_hostprefix = $$relative_path($$config.input.extprefix, $$hostbindir_absolute_path) + config.input.hostbindir_to_extprefix = $$relative_path($$config.input.extprefix, $$hostbindir_absolute_path) + + !isEmpty(PREFIX_COMPLAINTS) { +@@ -889,11 +889,11 @@ defineTest(qtConfOutput_preparePaths) { + QT_CONFIGURE_STR_OFFSETS = + QT_CONFIGURE_STRS = + +- addConfStr($$config.input.sysroot) ++ addConfStr("/") + addConfStr($$qmake_sysrootify) +- addConfStr($$config.rel_input.hostbindir) +- addConfStr($$config.rel_input.hostlibdir) +- addConfStr($$config.rel_input.hostdatadir) ++ addConfStr($$config.rel_input.bindir) ++ addConfStr($$config.rel_input.libdir) ++ addConfStr($$config.rel_input.datadir) + addConfStr($$XSPEC) + addConfStr($$[QMAKE_SPEC]) + +@@ -902,7 +902,7 @@ defineTest(qtConfOutput_preparePaths) { + "static const char qt_configure_prefix_path_str [12+512] = \"qt_prfxpath=$$config.input.prefix\";" \ + "$${LITERAL_HASH}ifdef QT_BUILD_QMAKE" \ + "static const char qt_configure_ext_prefix_path_str [12+512] = \"qt_epfxpath=$$config.input.extprefix\";" \ +- "static const char qt_configure_host_prefix_path_str [12+512] = \"qt_hpfxpath=$$config.input.hostprefix\";" \ ++ "static const char qt_configure_host_prefix_path_str [12+512] = \"qt_hpfxpath=$$config.input.extprefix\";" \ + "$${LITERAL_HASH}endif" \ + "" \ + "static const short qt_configure_str_offsets[] = {" \ diff --git a/recipes-qt/qt5/qtbase/0029-Remove-ptests-with-SRCDIR.patch b/recipes-qt/qt5/qtbase/0029-Remove-ptests-with-SRCDIR.patch new file mode 100644 index 00000000..690d491c --- /dev/null +++ b/recipes-qt/qt5/qtbase/0029-Remove-ptests-with-SRCDIR.patch @@ -0,0 +1,57 @@ +Remove ptests that leak host paths via SRCDIR +The host paths are not useful on the target and may cause security concerns. +Some auto tests run as ptests include references to external resources via +SRCDIR and fail today. + +Remove the problematic tests since they won't pass completely anyway. + +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: James Minor <james.minor@ni.com> +Index: git/tests/auto/corelib/tools/tools.pro +=================================================================== +--- git.orig/tests/auto/corelib/tools/tools.pro ++++ git/tests/auto/corelib/tools/tools.pro +@@ -36,7 +36,6 @@ SUBDIRS=\ + qscopedvaluerollback \ + qscopeguard \ + qset \ +- qsharedpointer \ + qsize \ + qsizef \ + qstl \ +Index: git/tests/auto/other/other.pro +=================================================================== +--- git.orig/tests/auto/other/other.pro ++++ git/tests/auto/other/other.pro +@@ -4,7 +4,6 @@ QT_FOR_CONFIG += gui-private + SUBDIRS=\ + compiler \ + gestures \ +- lancelot \ + languagechange \ + macgui \ + #macnativeevents \ +Index: git/tests/auto/widgets/dialogs/dialogs.pro +=================================================================== +--- git.orig/tests/auto/widgets/dialogs/dialogs.pro ++++ git/tests/auto/widgets/dialogs/dialogs.pro +@@ -3,7 +3,6 @@ SUBDIRS=\ + qcolordialog \ + qdialog \ + qerrormessage \ +- qfiledialog \ + qfiledialog2 \ + qfilesystemmodel \ + qfontdialog \ +Index: git/tests/auto/widgets/itemviews/itemviews.pro +=================================================================== +--- git.orig/tests/auto/widgets/itemviews/itemviews.pro ++++ git/tests/auto/widgets/itemviews/itemviews.pro +@@ -3,7 +3,6 @@ SUBDIRS=\ + qabstractitemview \ + qcolumnview \ + qdatawidgetmapper \ +- qdirmodel \ + qfileiconprovider \ + qheaderview \ + qitemdelegate \ diff --git a/recipes-qt/qt5/qtbase/CVE-2023-32762.patch b/recipes-qt/qt5/qtbase/CVE-2023-32762.patch new file mode 100644 index 00000000..866187f7 --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-32762.patch @@ -0,0 +1,56 @@ +From 1b736a815be0222f4b24289cf17575fc15707305 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io> +Date: Fri, 5 May 2023 11:07:26 +0200 +Subject: [PATCH] Hsts: match header names case insensitively + +Header field names are always considered to be case-insensitive. + +Pick-to: 6.5 6.5.1 6.2 5.15 +Fixes: QTBUG-113392 +Change-Id: Ifb4def4bb7f2ac070416cdc76581a769f1e52b43 +Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> +Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> +Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> + +Upstream-Status: Backport [https://github.com/qt/qtbase/commit/1b736a815be0222f4b24289cf17575fc15707305] +CVE: CVE-2023-32762 +Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com> +--- + src/network/access/qhsts.cpp | 4 ++-- + tests/auto/network/access/hsts/tst_qhsts.cpp | 6 ++++++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/network/access/qhsts.cpp b/src/network/access/qhsts.cpp +index 0cef0ad3dc..be7ef7ff58 100644 +--- a/src/network/access/qhsts.cpp ++++ b/src/network/access/qhsts.cpp +@@ -364,8 +364,8 @@ quoted-pair = "\" CHAR + bool QHstsHeaderParser::parse(const QList<QPair<QByteArray, QByteArray>> &headers) + { + for (const auto &h : headers) { +- // We use '==' since header name was already 'trimmed' for us: +- if (h.first == "Strict-Transport-Security") { ++ // We compare directly because header name was already 'trimmed' for us: ++ if (h.first.compare("Strict-Transport-Security", Qt::CaseInsensitive) == 0) { + header = h.second; + // RFC6797, 8.1: + // +diff --git a/tests/auto/network/access/hsts/tst_qhsts.cpp b/tests/auto/network/access/hsts/tst_qhsts.cpp +index d72991a2eb..c3c5f58c22 100644 +--- a/tests/auto/network/access/hsts/tst_qhsts.cpp ++++ b/tests/auto/network/access/hsts/tst_qhsts.cpp +@@ -241,6 +241,12 @@ void tst_QHsts::testSTSHeaderParser() + QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc()); + QVERIFY(parser.includeSubDomains()); + ++ list.pop_back(); ++ list << Header("strict-transport-security", "includeSubDomains;max-age=1000"); ++ QVERIFY(parser.parse(list)); ++ QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc()); ++ QVERIFY(parser.includeSubDomains()); ++ + list.pop_back(); + // Invalid (includeSubDomains twice): + list << Header("Strict-Transport-Security", "max-age = 1000 ; includeSubDomains;includeSubDomains"); +-- +2.35.7 diff --git a/recipes-qt/qt5/qtbase/CVE-2023-32763-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/CVE-2023-32763-qtbase-5.15.diff new file mode 100644 index 00000000..52056325 --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-32763-qtbase-5.15.diff @@ -0,0 +1,61 @@ +From 4964af998a1788eba15e0b4ab3382e1ebb709daf Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 16:06:27 +0200 +Subject: [PATCH] qtbase: Pick CVE-2023-32763 fix + +CVE: CVE-2023-32763 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-32763-qtbase-5.15.diff] +--- + src/gui/painting/qfixed_p.h | 9 +++++++++ + src/gui/text/qtextlayout.cpp | 9 ++++++--- + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/src/gui/painting/qfixed_p.h b/src/gui/painting/qfixed_p.h +index 846592881c..57d750a4b3 100644 +--- a/src/gui/painting/qfixed_p.h ++++ b/src/gui/painting/qfixed_p.h +@@ -54,6 +54,7 @@ + #include <QtGui/private/qtguiglobal_p.h> + #include "QtCore/qdebug.h" + #include "QtCore/qpoint.h" ++#include <QtCore/private/qnumeric_p.h> + #include "QtCore/qsize.h" + + QT_BEGIN_NAMESPACE +@@ -182,6 +183,14 @@ Q_DECL_CONSTEXPR inline bool operator<(int i, const QFixed &f) { return i * 64 < + Q_DECL_CONSTEXPR inline bool operator>(const QFixed &f, int i) { return f.value() > i * 64; } + Q_DECL_CONSTEXPR inline bool operator>(int i, const QFixed &f) { return i * 64 > f.value(); } + ++inline bool qAddOverflow(QFixed v1, QFixed v2, QFixed *r) ++{ ++ int val; ++ bool result = add_overflow(v1.value(), v2.value(), &val); ++ r->setValue(val); ++ return result; ++} ++ + #ifndef QT_NO_DEBUG_STREAM + inline QDebug &operator<<(QDebug &dbg, const QFixed &f) + { return dbg << f.toReal(); } +diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp +index 26ac37b016..f6c69ff4a2 100644 +--- a/src/gui/text/qtextlayout.cpp ++++ b/src/gui/text/qtextlayout.cpp +@@ -2150,11 +2150,14 @@ found: + eng->maxWidth = qMax(eng->maxWidth, line.textWidth); + } else { + eng->minWidth = qMax(eng->minWidth, lbh.minw); +- eng->maxWidth += line.textWidth; ++ if (qAddOverflow(eng->maxWidth, line.textWidth, &eng->maxWidth)) ++ eng->maxWidth = QFIXED_MAX; + } + +- if (line.textWidth > 0 && item < eng->layoutData->items.size()) +- eng->maxWidth += lbh.spaceData.textWidth; ++ if (line.textWidth > 0 && item < eng->layoutData->items.size()) { ++ if (qAddOverflow(eng->maxWidth, lbh.spaceData.textWidth, &eng->maxWidth)) ++ eng->maxWidth = QFIXED_MAX; ++ } + + line.textWidth += trailingSpace; + if (lbh.spaceData.length) { diff --git a/recipes-qt/qt5/qtbase/CVE-2023-33285-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/CVE-2023-33285-qtbase-5.15.diff new file mode 100644 index 00000000..0e545296 --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-33285-qtbase-5.15.diff @@ -0,0 +1,81 @@ +From 70be54588f7227e0100d511530170b5cdb46ee5a Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 16:08:05 +0200 +Subject: [PATCH] qtbase: Pick CVE-2023-33285 fix + +CVE: CVE-2023-33285 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-33285-qtbase-5.15.diff] +--- + src/network/kernel/qdnslookup_unix.cpp | 31 +++++++++++++++++++++----- + 1 file changed, 25 insertions(+), 6 deletions(-) + +diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp +index 12b40fc35d..99e999d436 100644 +--- a/src/network/kernel/qdnslookup_unix.cpp ++++ b/src/network/kernel/qdnslookup_unix.cpp +@@ -227,7 +227,6 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + // responseLength in case of error, we still can extract the + // exact error code from the response. + HEADER *header = (HEADER*)response; +- const int answerCount = ntohs(header->ancount); + switch (header->rcode) { + case NOERROR: + break; +@@ -260,18 +259,31 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + return; + } + +- // Skip the query host, type (2 bytes) and class (2 bytes). + char host[PACKETSZ], answer[PACKETSZ]; + unsigned char *p = response + sizeof(HEADER); +- int status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); +- if (status < 0) { ++ int status; ++ ++ if (ntohs(header->qdcount) == 1) { ++ // Skip the query host, type (2 bytes) and class (2 bytes). ++ status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); ++ if (status < 0) { ++ reply->error = QDnsLookup::InvalidReplyError; ++ reply->errorString = tr("Could not expand domain name"); ++ return; ++ } ++ if ((p - response) + status + 4 >= responseLength) ++ header->qdcount = 0xffff; // invalid reply below ++ else ++ p += status + 4; ++ } ++ if (ntohs(header->qdcount) > 1) { + reply->error = QDnsLookup::InvalidReplyError; +- reply->errorString = tr("Could not expand domain name"); ++ reply->errorString = tr("Invalid reply received"); + return; + } +- p += status + 4; + + // Extract results. ++ const int answerCount = ntohs(header->ancount); + int answerIndex = 0; + while ((p < response + responseLength) && (answerIndex < answerCount)) { + status = local_dn_expand(response, response + responseLength, p, host, sizeof(host)); +@@ -283,6 +295,11 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + const QString name = QUrl::fromAce(host); + + p += status; ++ ++ if ((p - response) + 10 > responseLength) { ++ // probably just a truncated reply, return what we have ++ return; ++ } + const quint16 type = (p[0] << 8) | p[1]; + p += 2; // RR type + p += 2; // RR class +@@ -290,6 +307,8 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN + p += 4; + const quint16 size = (p[0] << 8) | p[1]; + p += 2; ++ if ((p - response) + size > responseLength) ++ return; // truncated + + if (type == QDnsLookup::A) { + if (size != 4) { diff --git a/recipes-qt/qt5/qtbase/CVE-2023-34410-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/CVE-2023-34410-qtbase-5.15.diff new file mode 100644 index 00000000..0f3e288b --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-34410-qtbase-5.15.diff @@ -0,0 +1,68 @@ +From ec348cf21e3cecfda0e1d7db6f2ecf423509f55a Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 16:09:29 +0200 +Subject: [PATCH] qtbase: Pick CVE-2023-34410 fix + +CVE: CVE-2023-34410 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-34410-qtbase-5.15.diff] +--- + src/network/ssl/qsslsocket.cpp | 5 +++++ + src/network/ssl/qsslsocket_schannel.cpp | 22 ++++++++++++++++++++++ + 2 files changed, 27 insertions(+) + +diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp +index 5bb6e7ee4a..2a0b3a4f1d 100644 +--- a/src/network/ssl/qsslsocket.cpp ++++ b/src/network/ssl/qsslsocket.cpp +@@ -2221,6 +2221,10 @@ QSslSocketPrivate::QSslSocketPrivate() + , flushTriggered(false) + { + QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration); ++ // If the global configuration doesn't allow root certificates to be loaded ++ // on demand then we have to disable it for this socket as well. ++ if (!configuration.allowRootCertOnDemandLoading) ++ allowRootCertOnDemandLoading = false; + } + + /*! +@@ -2470,6 +2474,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri + ptr->sessionProtocol = global->sessionProtocol; + ptr->ciphers = global->ciphers; + ptr->caCertificates = global->caCertificates; ++ ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading; + ptr->protocol = global->protocol; + ptr->peerVerifyMode = global->peerVerifyMode; + ptr->peerVerifyDepth = global->peerVerifyDepth; +diff --git a/src/network/ssl/qsslsocket_schannel.cpp b/src/network/ssl/qsslsocket_schannel.cpp +index c956ce3c2b..d1b23af29b 100644 +--- a/src/network/ssl/qsslsocket_schannel.cpp ++++ b/src/network/ssl/qsslsocket_schannel.cpp +@@ -1880,6 +1880,28 @@ bool QSslSocketBackendPrivate::verifyCertContext(CERT_CONTEXT *certContext) + if (configuration.peerVerifyDepth > 0 && DWORD(configuration.peerVerifyDepth) < verifyDepth) + verifyDepth = DWORD(configuration.peerVerifyDepth); + ++ const auto &caCertificates = q->sslConfiguration().caCertificates(); ++ ++ if (!rootCertOnDemandLoadingAllowed() ++ && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN) ++ && (q->peerVerifyMode() == QSslSocket::VerifyPeer ++ || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) { ++ // When verifying a peer Windows "helpfully" builds a chain that ++ // may include roots from the system store. But we don't want that if ++ // the user has set their own CA certificates. ++ // Since Windows claims this is not a partial chain the root is included ++ // and we have to check that it is one of our configured CAs. ++ CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1]; ++ QSslCertificate certificate = getCertificateFromChainElement(element); ++ if (!caCertificates.contains(certificate)) { ++ auto error = QSslError(QSslError::CertificateUntrusted, certificate); ++ sslErrors += error; ++ emit q->peerVerifyError(error); ++ if (q->state() != QAbstractSocket::ConnectedState) ++ return false; ++ } ++ } ++ + for (DWORD i = 0; i < verifyDepth; i++) { + CERT_CHAIN_ELEMENT *element = chain->rgpElement[i]; + QSslCertificate certificate = getCertificateFromChainElement(element); diff --git a/recipes-qt/qt5/qtbase/CVE-2023-37369-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/CVE-2023-37369-qtbase-5.15.diff new file mode 100644 index 00000000..4fde5493 --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-37369-qtbase-5.15.diff @@ -0,0 +1,216 @@ +From 8b7ecba1bab3a02af1c5d5b2278b88e931e612e6 Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 16:10:40 +0200 +Subject: [PATCH] qtbase: Pick CVE-2023-37369 fix + +CVE: CVE-2023-37369 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-37369-qtbase-5.15.diff] +--- + src/corelib/serialization/qxmlstream.cpp | 39 +++++++++++++++--------- + src/corelib/serialization/qxmlstream.g | 25 +++++++++++++-- + src/corelib/serialization/qxmlstream_p.h | 25 +++++++++++++-- + 3 files changed, 69 insertions(+), 20 deletions(-) + +diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp +index b2f846544d..6c98e7c013 100644 +--- a/src/corelib/serialization/qxmlstream.cpp ++++ b/src/corelib/serialization/qxmlstream.cpp +@@ -1302,15 +1302,18 @@ inline int QXmlStreamReaderPrivate::fastScanContentCharList() + return n; + } + +-inline int QXmlStreamReaderPrivate::fastScanName(int *prefix) ++// Fast scan an XML attribute name (e.g. "xml:lang"). ++inline QXmlStreamReaderPrivate::FastScanNameResult ++QXmlStreamReaderPrivate::fastScanName(Value *val) + { + int n = 0; + uint c; + while ((c = getChar()) != StreamEOF) { + if (n >= 4096) { + // This is too long to be a sensible name, and +- // can exhaust memory +- return 0; ++ // can exhaust memory, or the range of decltype(*prefix) ++ raiseNamePrefixTooLongError(); ++ return {}; + } + switch (c) { + case '\n': +@@ -1339,23 +1342,23 @@ inline int QXmlStreamReaderPrivate::fastScanName(int *prefix) + case '+': + case '*': + putChar(c); +- if (prefix && *prefix == n+1) { +- *prefix = 0; ++ if (val && val->prefix == n + 1) { ++ val->prefix = 0; + putChar(':'); + --n; + } +- return n; ++ return FastScanNameResult(n); + case ':': +- if (prefix) { +- if (*prefix == 0) { +- *prefix = n+2; ++ if (val) { ++ if (val->prefix == 0) { ++ val->prefix = n + 2; + } else { // only one colon allowed according to the namespace spec. + putChar(c); +- return n; ++ return FastScanNameResult(n); + } + } else { + putChar(c); +- return n; ++ return FastScanNameResult(n); + } + Q_FALLTHROUGH(); + default: +@@ -1364,12 +1367,12 @@ inline int QXmlStreamReaderPrivate::fastScanName(int *prefix) + } + } + +- if (prefix) +- *prefix = 0; ++ if (val) ++ val->prefix = 0; + int pos = textBuffer.size() - n; + putString(textBuffer, pos); + textBuffer.resize(pos); +- return 0; ++ return FastScanNameResult(0); + } + + enum NameChar { NameBeginning, NameNotBeginning, NotName }; +@@ -1878,6 +1881,14 @@ void QXmlStreamReaderPrivate::raiseWellFormedError(const QString &message) + raiseError(QXmlStreamReader::NotWellFormedError, message); + } + ++void QXmlStreamReaderPrivate::raiseNamePrefixTooLongError() ++{ ++ // TODO: add a ImplementationLimitsExceededError and use it instead ++ raiseError(QXmlStreamReader::NotWellFormedError, ++ QXmlStream::tr("Length of XML attribute name exceeds implemnetation limits (4KiB " ++ "characters).")); ++} ++ + void QXmlStreamReaderPrivate::parseError() + { + +diff --git a/src/corelib/serialization/qxmlstream.g b/src/corelib/serialization/qxmlstream.g +index b623de9505..e431028506 100644 +--- a/src/corelib/serialization/qxmlstream.g ++++ b/src/corelib/serialization/qxmlstream.g +@@ -516,7 +516,16 @@ public: + int fastScanLiteralContent(); + int fastScanSpace(); + int fastScanContentCharList(); +- int fastScanName(int *prefix = nullptr); ++ ++ struct FastScanNameResult { ++ FastScanNameResult() : ok(false) {} ++ explicit FastScanNameResult(int len) : addToLen(len), ok(true) { } ++ operator bool() { return ok; } ++ int operator*() { Q_ASSERT(ok); return addToLen; } ++ int addToLen; ++ bool ok; ++ }; ++ FastScanNameResult fastScanName(Value *val = nullptr); + inline int fastScanNMTOKEN(); + + +@@ -525,6 +534,7 @@ public: + + void raiseError(QXmlStreamReader::Error error, const QString& message = QString()); + void raiseWellFormedError(const QString &message); ++ void raiseNamePrefixTooLongError(); + + QXmlStreamEntityResolver *entityResolver; + +@@ -1809,7 +1819,12 @@ space_opt ::= space; + qname ::= LETTER; + /. + case $rule_number: { +- sym(1).len += fastScanName(&sym(1).prefix); ++ Value &val = sym(1); ++ if (auto res = fastScanName(&val)) ++ val.len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume($rule_number); + return false; +@@ -1820,7 +1835,11 @@ qname ::= LETTER; + name ::= LETTER; + /. + case $rule_number: +- sym(1).len += fastScanName(); ++ if (auto res = fastScanName()) ++ sym(1).len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume($rule_number); + return false; +diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h +index 103b123b10..80e7f74080 100644 +--- a/src/corelib/serialization/qxmlstream_p.h ++++ b/src/corelib/serialization/qxmlstream_p.h +@@ -1005,7 +1005,16 @@ public: + int fastScanLiteralContent(); + int fastScanSpace(); + int fastScanContentCharList(); +- int fastScanName(int *prefix = nullptr); ++ ++ struct FastScanNameResult { ++ FastScanNameResult() : ok(false) {} ++ explicit FastScanNameResult(int len) : addToLen(len), ok(true) { } ++ operator bool() { return ok; } ++ int operator*() { Q_ASSERT(ok); return addToLen; } ++ int addToLen; ++ bool ok; ++ }; ++ FastScanNameResult fastScanName(Value *val = nullptr); + inline int fastScanNMTOKEN(); + + +@@ -1014,6 +1023,7 @@ public: + + void raiseError(QXmlStreamReader::Error error, const QString& message = QString()); + void raiseWellFormedError(const QString &message); ++ void raiseNamePrefixTooLongError(); + + QXmlStreamEntityResolver *entityResolver; + +@@ -1937,7 +1947,12 @@ bool QXmlStreamReaderPrivate::parse() + break; + + case 262: { +- sym(1).len += fastScanName(&sym(1).prefix); ++ Value &val = sym(1); ++ if (auto res = fastScanName(&val)) ++ val.len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume(262); + return false; +@@ -1945,7 +1960,11 @@ bool QXmlStreamReaderPrivate::parse() + } break; + + case 263: +- sym(1).len += fastScanName(); ++ if (auto res = fastScanName()) ++ sym(1).len += *res; ++ else ++ return false; ++ + if (atEnd) { + resume(263); + return false; diff --git a/recipes-qt/qt5/qtbase/CVE-2023-38197-qtbase-5.15.diff b/recipes-qt/qt5/qtbase/CVE-2023-38197-qtbase-5.15.diff new file mode 100644 index 00000000..cb631519 --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-38197-qtbase-5.15.diff @@ -0,0 +1,231 @@ +From ae3946f38904b626a73a64f2829f60c911e2943b Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 16:11:57 +0200 +Subject: [PATCH] qtbase: Pick CVE-2023-38197 fix + +CVE: CVE-2023-38197 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-38197-qtbase-5.15.diff] +--- + src/corelib/serialization/qxmlstream.cpp | 144 +++++++++++++++++++++-- + src/corelib/serialization/qxmlstream_p.h | 11 ++ + 2 files changed, 147 insertions(+), 8 deletions(-) + +diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp +index 6c98e7c013..2553d3e09a 100644 +--- a/src/corelib/serialization/qxmlstream.cpp ++++ b/src/corelib/serialization/qxmlstream.cpp +@@ -160,7 +160,7 @@ enum { StreamEOF = ~0U }; + addData() or by waiting for it to arrive on the device(). + + \value UnexpectedElementError The parser encountered an element +- that was different to those it expected. ++ or token that was different to those it expected. + + */ + +@@ -295,13 +295,34 @@ QXmlStreamEntityResolver *QXmlStreamReader::entityResolver() const + + QXmlStreamReader is a well-formed XML 1.0 parser that does \e not + include external parsed entities. As long as no error occurs, the +- application code can thus be assured that the data provided by the +- stream reader satisfies the W3C's criteria for well-formed XML. For +- example, you can be certain that all tags are indeed nested and +- closed properly, that references to internal entities have been +- replaced with the correct replacement text, and that attributes have +- been normalized or added according to the internal subset of the +- DTD. ++ application code can thus be assured, that ++ \list ++ \li the data provided by the stream reader satisfies the W3C's ++ criteria for well-formed XML, ++ \li tokens are provided in a valid order. ++ \endlist ++ ++ Unless QXmlStreamReader raises an error, it guarantees the following: ++ \list ++ \li All tags are nested and closed properly. ++ \li References to internal entities have been replaced with the ++ correct replacement text. ++ \li Attributes have been normalized or added according to the ++ internal subset of the \l DTD. ++ \li Tokens of type \l StartDocument happen before all others, ++ aside from comments and processing instructions. ++ \li At most one DOCTYPE element (a token of type \l DTD) is present. ++ \li If present, the DOCTYPE appears before all other elements, ++ aside from StartDocument, comments and processing instructions. ++ \endlist ++ ++ In particular, once any token of type \l StartElement, \l EndElement, ++ \l Characters, \l EntityReference or \l EndDocument is seen, no ++ tokens of type StartDocument or DTD will be seen. If one is present in ++ the input stream, out of order, an error is raised. ++ ++ \note The token types \l Comment and \l ProcessingInstruction may appear ++ anywhere in the stream. + + If an error occurs while parsing, atEnd() and hasError() return + true, and error() returns the error that occurred. The functions +@@ -620,6 +641,7 @@ QXmlStreamReader::TokenType QXmlStreamReader::readNext() + d->token = -1; + return readNext(); + } ++ d->checkToken(); + return d->type; + } + +@@ -740,6 +762,14 @@ static const short QXmlStreamReader_tokenTypeString_indices[] = { + }; + + ++static const char QXmlStreamReader_XmlContextString[] = ++ "Prolog\0" ++ "Body\0"; ++ ++static const short QXmlStreamReader_XmlContextString_indices[] = { ++ 0, 7 ++}; ++ + /*! + \property QXmlStreamReader::namespaceProcessing + The namespace-processing flag of the stream reader +@@ -775,6 +805,16 @@ QString QXmlStreamReader::tokenString() const + QXmlStreamReader_tokenTypeString_indices[d->type]); + } + ++/*! ++ \internal ++ \return \param ctxt (Prolog/Body) as a string. ++ */ ++QString contextString(QXmlStreamReaderPrivate::XmlContext ctxt) ++{ ++ return QLatin1String(QXmlStreamReader_XmlContextString + ++ QXmlStreamReader_XmlContextString_indices[static_cast<int>(ctxt)]); ++} ++ + #endif // QT_NO_XMLSTREAMREADER + + QXmlStreamPrivateTagStack::QXmlStreamPrivateTagStack() +@@ -866,6 +906,8 @@ void QXmlStreamReaderPrivate::init() + + type = QXmlStreamReader::NoToken; + error = QXmlStreamReader::NoError; ++ currentContext = XmlContext::Prolog; ++ foundDTD = false; + } + + /* +@@ -4061,6 +4103,92 @@ void QXmlStreamWriter::writeCurrentToken(const QXmlStreamReader &reader) + } + } + ++static bool isTokenAllowedInContext(QXmlStreamReader::TokenType type, ++ QXmlStreamReaderPrivate::XmlContext loc) ++{ ++ switch (type) { ++ case QXmlStreamReader::StartDocument: ++ case QXmlStreamReader::DTD: ++ return loc == QXmlStreamReaderPrivate::XmlContext::Prolog; ++ ++ case QXmlStreamReader::StartElement: ++ case QXmlStreamReader::EndElement: ++ case QXmlStreamReader::Characters: ++ case QXmlStreamReader::EntityReference: ++ case QXmlStreamReader::EndDocument: ++ return loc == QXmlStreamReaderPrivate::XmlContext::Body; ++ ++ case QXmlStreamReader::Comment: ++ case QXmlStreamReader::ProcessingInstruction: ++ return true; ++ ++ case QXmlStreamReader::NoToken: ++ case QXmlStreamReader::Invalid: ++ return false; ++ default: ++ return false; ++ } ++} ++ ++/*! ++ \internal ++ \brief QXmlStreamReader::isValidToken ++ \return \c true if \param type is a valid token type. ++ \return \c false if \param type is an unexpected token, ++ which indicates a non-well-formed or invalid XML stream. ++ */ ++bool QXmlStreamReaderPrivate::isValidToken(QXmlStreamReader::TokenType type) ++{ ++ // Don't change currentContext, if Invalid or NoToken occur in the prolog ++ if (type == QXmlStreamReader::Invalid || type == QXmlStreamReader::NoToken) ++ return false; ++ ++ // If a token type gets rejected in the body, there is no recovery ++ const bool result = isTokenAllowedInContext(type, currentContext); ++ if (result || currentContext == XmlContext::Body) ++ return result; ++ ++ // First non-Prolog token observed => switch context to body and check again. ++ currentContext = XmlContext::Body; ++ return isTokenAllowedInContext(type, currentContext); ++} ++ ++/*! ++ \internal ++ Checks token type and raises an error, if it is invalid ++ in the current context (prolog/body). ++ */ ++void QXmlStreamReaderPrivate::checkToken() ++{ ++ Q_Q(QXmlStreamReader); ++ ++ // The token type must be consumed, to keep track if the body has been reached. ++ const XmlContext context = currentContext; ++ const bool ok = isValidToken(type); ++ ++ // Do nothing if an error has been raised already (going along with an unexpected token) ++ if (error != QXmlStreamReader::Error::NoError) ++ return; ++ ++ if (!ok) { ++ raiseError(QXmlStreamReader::UnexpectedElementError, ++ QLatin1String("Unexpected token type %1 in %2.") ++ .arg(q->tokenString(), contextString(context))); ++ return; ++ } ++ ++ if (type != QXmlStreamReader::DTD) ++ return; ++ ++ // Raise error on multiple DTD tokens ++ if (foundDTD) { ++ raiseError(QXmlStreamReader::UnexpectedElementError, ++ QLatin1String("Found second DTD token in %1.").arg(contextString(context))); ++ } else { ++ foundDTD = true; ++ } ++} ++ + /*! + \fn bool QXmlStreamAttributes::hasAttribute(const QString &qualifiedName) const + \since 4.5 +diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h +index 80e7f74080..6db58386db 100644 +--- a/src/corelib/serialization/qxmlstream_p.h ++++ b/src/corelib/serialization/qxmlstream_p.h +@@ -804,6 +804,17 @@ public: + #endif + bool atEnd; + ++ enum class XmlContext ++ { ++ Prolog, ++ Body, ++ }; ++ ++ XmlContext currentContext = XmlContext::Prolog; ++ bool foundDTD = false; ++ bool isValidToken(QXmlStreamReader::TokenType type); ++ void checkToken(); ++ + /*! + \sa setType() + */ diff --git a/recipes-qt/qt5/qtbase/CVE-2023-43114-5.15.patch b/recipes-qt/qt5/qtbase/CVE-2023-43114-5.15.patch new file mode 100644 index 00000000..4b75db3a --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2023-43114-5.15.patch @@ -0,0 +1,128 @@ +From 7ec5e6dff1d6f6b2f3abcb1a2802f174ac189d9e Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 16:13:57 +0200 +Subject: [PATCH] qtbase: Pick CVE-2023-43114 fix + +CVE: CVE-2023-43114 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-43114-5.15.patch] +--- + .../windows/qwindowsfontdatabase.cpp | 67 ++++++++++++++----- + 1 file changed, 51 insertions(+), 16 deletions(-) + +diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp +index 09d2d916fe..0e6fe5eb84 100644 +--- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp ++++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp +@@ -1471,36 +1471,70 @@ QT_WARNING_POP + return fontEngine; + } + +-static QList<quint32> getTrueTypeFontOffsets(const uchar *fontData) ++static QList<quint32> getTrueTypeFontOffsets(const uchar *fontData, const uchar *fileEndSentinel) + { + QList<quint32> offsets; +- const quint32 headerTag = *reinterpret_cast<const quint32 *>(fontData); ++ if (fileEndSentinel - fontData < 12) { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ return offsets; ++ } ++ ++ const quint32 headerTag = qFromUnaligned<quint32>(fontData); + if (headerTag != MAKE_TAG('t', 't', 'c', 'f')) { + if (headerTag != MAKE_TAG(0, 1, 0, 0) + && headerTag != MAKE_TAG('O', 'T', 'T', 'O') + && headerTag != MAKE_TAG('t', 'r', 'u', 'e') +- && headerTag != MAKE_TAG('t', 'y', 'p', '1')) ++ && headerTag != MAKE_TAG('t', 'y', 'p', '1')) { + return offsets; ++ } + offsets << 0; + return offsets; + } ++ ++ const quint32 maximumNumFonts = 0xffff; + const quint32 numFonts = qFromBigEndian<quint32>(fontData + 8); +- for (uint i = 0; i < numFonts; ++i) { +- offsets << qFromBigEndian<quint32>(fontData + 12 + i * 4); ++ if (numFonts > maximumNumFonts) { ++ qCWarning(lcQpaFonts) << "Font collection of" << numFonts << "fonts is too large. Aborting."; ++ return offsets; + } ++ ++ if (quintptr(fileEndSentinel - fontData) > 12 + (numFonts - 1) * 4) { ++ for (quint32 i = 0; i < numFonts; ++i) ++ offsets << qFromBigEndian<quint32>(fontData + 12 + i * 4); ++ } else { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ } ++ + return offsets; + } + +-static void getFontTable(const uchar *fileBegin, const uchar *data, quint32 tag, const uchar **table, quint32 *length) ++static void getFontTable(const uchar *fileBegin, const uchar *fileEndSentinel, const uchar *data, quint32 tag, const uchar **table, quint32 *length) + { +- const quint16 numTables = qFromBigEndian<quint16>(data + 4); +- for (uint i = 0; i < numTables; ++i) { +- const quint32 offset = 12 + 16 * i; +- if (*reinterpret_cast<const quint32 *>(data + offset) == tag) { +- *table = fileBegin + qFromBigEndian<quint32>(data + offset + 8); +- *length = qFromBigEndian<quint32>(data + offset + 12); +- return; ++ if (fileEndSentinel - data >= 6) { ++ const quint16 numTables = qFromBigEndian<quint16>(data + 4); ++ if (fileEndSentinel - data >= 28 + 16 * (numTables - 1)) { ++ for (quint32 i = 0; i < numTables; ++i) { ++ const quint32 offset = 12 + 16 * i; ++ if (qFromUnaligned<quint32>(data + offset) == tag) { ++ const quint32 tableOffset = qFromBigEndian<quint32>(data + offset + 8); ++ if (quintptr(fileEndSentinel - fileBegin) <= tableOffset) { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ break; ++ } ++ *table = fileBegin + tableOffset; ++ *length = qFromBigEndian<quint32>(data + offset + 12); ++ if (quintptr(fileEndSentinel - *table) < *length) { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ break; ++ } ++ return; ++ } ++ } ++ } else { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; + } ++ } else { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; + } + *table = 0; + *length = 0; +@@ -1513,8 +1547,9 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, + QVector<QFontValues> *values) + { + const uchar *data = reinterpret_cast<const uchar *>(fontData.constData()); ++ const uchar *dataEndSentinel = data + fontData.size(); + +- QList<quint32> offsets = getTrueTypeFontOffsets(data); ++ QList<quint32> offsets = getTrueTypeFontOffsets(data, dataEndSentinel); + if (offsets.isEmpty()) + return; + +@@ -1522,7 +1557,7 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, + const uchar *font = data + offsets.at(i); + const uchar *table; + quint32 length; +- getFontTable(data, font, MAKE_TAG('n', 'a', 'm', 'e'), &table, &length); ++ getFontTable(data, dataEndSentinel, font, MAKE_TAG('n', 'a', 'm', 'e'), &table, &length); + if (!table) + continue; + QFontNames names = qt_getCanonicalFontNames(table, length); +@@ -1532,7 +1567,7 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, + families->append(std::move(names)); + + if (values || signatures) +- getFontTable(data, font, MAKE_TAG('O', 'S', '/', '2'), &table, &length); ++ getFontTable(data, dataEndSentinel, font, MAKE_TAG('O', 'S', '/', '2'), &table, &length); + + if (values) { + QFontValues fontValues; diff --git a/recipes-qt/qt5/qtbase/CVE-2024-25580.patch b/recipes-qt/qt5/qtbase/CVE-2024-25580.patch new file mode 100644 index 00000000..0d9c1b7e --- /dev/null +++ b/recipes-qt/qt5/qtbase/CVE-2024-25580.patch @@ -0,0 +1,214 @@ +From 28ecb523ce8490bff38b251b3df703c72e057519 Mon Sep 17 00:00:00 2001 +From: Jonas Karlsson <jonas.karlsson@qt.io> +Date: Thu, 8 Feb 2024 17:01:05 +0100 +Subject: [PATCH] CVE-2024-25580: qtbase: Improve KTX file reading memory safety + +Upstream-Status: Backport from https://download.qt.io/official_releases/qt/5.15/CVE-2024-25580-qtbase-5.15.diff +CVE: CVE-2024-25580 + +Signed-off-by: Rohini Sangam <rsangam@mvista.com> +--- + src/gui/util/qktxhandler.cpp | 138 +++++++++++++++++++++++++++-------- + src/gui/util/qktxhandler_p.h | 2 +- + 2 files changed, 110 insertions(+), 30 deletions(-) + +diff --git a/src/gui/util/qktxhandler.cpp b/src/gui/util/qktxhandler.cpp +index 7eda4c46fb..2853e46c3d 100644 +--- a/src/gui/util/qktxhandler.cpp ++++ b/src/gui/util/qktxhandler.cpp +@@ -73,7 +73,7 @@ struct KTXHeader { + quint32 bytesOfKeyValueData; + }; + +-static const quint32 headerSize = sizeof(KTXHeader); ++static constexpr quint32 qktxh_headerSize = sizeof(KTXHeader); + + // Currently unused, declared for future reference + struct KTXKeyValuePairItem { +@@ -103,11 +103,36 @@ struct KTXMipmapLevel { + */ + }; + +-bool QKtxHandler::canRead(const QByteArray &suffix, const QByteArray &block) ++static bool qAddOverflow(quint32 v1, quint32 v2, quint32 *r) { ++ // unsigned additions are well-defined ++ *r = v1 + v2; ++ return v1 > quint32(v1 + v2); ++} ++ ++// Returns the nearest multiple of 4 greater than or equal to 'value' ++static bool nearestMultipleOf4(quint32 value, quint32 *result) ++{ ++ constexpr quint32 rounding = 4; ++ *result = 0; ++ if (qAddOverflow(value, rounding - 1, result)) ++ return true; ++ *result &= ~(rounding - 1); ++ return false; ++} ++ ++// Returns a slice with prechecked bounds ++static QByteArray safeSlice(const QByteArray& array, quint32 start, quint32 length) + { +- Q_UNUSED(suffix) ++ quint32 end = 0; ++ if (qAddOverflow(start, length, &end) || end > quint32(array.length())) ++ return {}; ++ return QByteArray(array.data() + start, length); ++} + +- return (qstrncmp(block.constData(), ktxIdentifier, KTX_IDENTIFIER_LENGTH) == 0); ++bool QKtxHandler::canRead(const QByteArray &suffix, const QByteArray &block) ++{ ++ Q_UNUSED(suffix); ++ return block.startsWith(QByteArray::fromRawData(ktxIdentifier, KTX_IDENTIFIER_LENGTH)); + } + + QTextureFileData QKtxHandler::read() +@@ -115,42 +140,97 @@ QTextureFileData QKtxHandler::read() + if (!device()) + return QTextureFileData(); + +- QByteArray buf = device()->readAll(); +- const quint32 dataSize = quint32(buf.size()); +- if (dataSize < headerSize || !canRead(QByteArray(), buf)) { +- qCDebug(lcQtGuiTextureIO, "Invalid KTX file %s", logName().constData()); ++ const QByteArray buf = device()->readAll(); ++ if (size_t(buf.size()) > std::numeric_limits<quint32>::max()) { ++ qWarning(lcQtGuiTextureIO, "Too big KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ if (!canRead(QByteArray(), buf)) { ++ qWarning(lcQtGuiTextureIO, "Invalid KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ if (buf.size() < qsizetype(qktxh_headerSize)) { ++ qWarning(lcQtGuiTextureIO, "Invalid KTX header size in %s", logName().constData()); + return QTextureFileData(); + } + +- const KTXHeader *header = reinterpret_cast<const KTXHeader *>(buf.constData()); +- if (!checkHeader(*header)) { +- qCDebug(lcQtGuiTextureIO, "Unsupported KTX file format in %s", logName().constData()); ++ KTXHeader header; ++ memcpy(&header, buf.data(), qktxh_headerSize); ++ if (!checkHeader(header)) { ++ qWarning(lcQtGuiTextureIO, "Unsupported KTX file format in %s", logName().constData()); + return QTextureFileData(); + } + + QTextureFileData texData; + texData.setData(buf); + +- texData.setSize(QSize(decode(header->pixelWidth), decode(header->pixelHeight))); +- texData.setGLFormat(decode(header->glFormat)); +- texData.setGLInternalFormat(decode(header->glInternalFormat)); +- texData.setGLBaseInternalFormat(decode(header->glBaseInternalFormat)); +- +- texData.setNumLevels(decode(header->numberOfMipmapLevels)); +- quint32 offset = headerSize + decode(header->bytesOfKeyValueData); +- const int maxLevels = qMin(texData.numLevels(), 32); // Cap iterations in case of corrupt file. +- for (int i = 0; i < maxLevels; i++) { +- if (offset + sizeof(KTXMipmapLevel) > dataSize) // Corrupt file; avoid oob read +- break; +- const KTXMipmapLevel *level = reinterpret_cast<const KTXMipmapLevel *>(buf.constData() + offset); +- quint32 levelLen = decode(level->imageSize); +- texData.setDataOffset(offset + sizeof(KTXMipmapLevel::imageSize), i); +- texData.setDataLength(levelLen, i); +- offset += sizeof(KTXMipmapLevel::imageSize) + levelLen + (3 - ((levelLen + 3) % 4)); ++ texData.setSize(QSize(decode(header.pixelWidth), decode(header.pixelHeight))); ++ texData.setGLFormat(decode(header.glFormat)); ++ texData.setGLInternalFormat(decode(header.glInternalFormat)); ++ texData.setGLBaseInternalFormat(decode(header.glBaseInternalFormat)); ++ ++ texData.setNumLevels(decode(header.numberOfMipmapLevels)); ++ ++ const quint32 bytesOfKeyValueData = decode(header.bytesOfKeyValueData); ++ quint32 headerKeyValueSize; ++ if (qAddOverflow(qktxh_headerSize, bytesOfKeyValueData, &headerKeyValueSize)) { ++ qWarning(lcQtGuiTextureIO, "Overflow in size of key value data in header of KTX file %s", ++ logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ if (headerKeyValueSize >= quint32(buf.size())) { ++ qWarning(lcQtGuiTextureIO, "OOB request in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ // Technically, any number of levels is allowed but if the value is bigger than ++ // what is possible in KTX V2 (and what makes sense) we return an error. ++ // maxLevels = log2(max(width, height, depth)) ++ const int maxLevels = (sizeof(quint32) * 8) ++ - qCountLeadingZeroBits(std::max( ++ { header.pixelWidth, header.pixelHeight, header.pixelDepth })); ++ ++ if (texData.numLevels() > maxLevels) { ++ qWarning(lcQtGuiTextureIO, "Too many levels in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ quint32 offset = headerKeyValueSize; ++ for (int level = 0; level < texData.numLevels(); level++) { ++ const auto imageSizeSlice = safeSlice(buf, offset, sizeof(quint32)); ++ if (imageSizeSlice.isEmpty()) { ++ qWarning(lcQtGuiTextureIO, "OOB request in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ const quint32 imageSize = decode(qFromUnaligned<quint32>(imageSizeSlice.data())); ++ offset += sizeof(quint32); // overflow checked indirectly above ++ ++ texData.setDataOffset(offset, level); ++ texData.setDataLength(imageSize, level); ++ ++ // Add image data and padding to offset ++ quint32 padded = 0; ++ if (nearestMultipleOf4(imageSize, &padded)) { ++ qWarning(lcQtGuiTextureIO, "Overflow in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ quint32 offsetNext; ++ if (qAddOverflow(offset, padded, &offsetNext)) { ++ qWarning(lcQtGuiTextureIO, "OOB request in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ offset = offsetNext; + } + + if (!texData.isValid()) { +- qCDebug(lcQtGuiTextureIO, "Invalid values in header of KTX file %s", logName().constData()); ++ qWarning(lcQtGuiTextureIO, "Invalid values in header of KTX file %s", ++ logName().constData()); + return QTextureFileData(); + } + +@@ -191,7 +271,7 @@ bool QKtxHandler::checkHeader(const KTXHeader &header) + (decode(header.numberOfFaces) == 1)); + } + +-quint32 QKtxHandler::decode(quint32 val) ++quint32 QKtxHandler::decode(quint32 val) const + { + return inverseEndian ? qbswap<quint32>(val) : val; + } +diff --git a/src/gui/util/qktxhandler_p.h b/src/gui/util/qktxhandler_p.h +index 19f7b0e79a..8da990aaac 100644 +--- a/src/gui/util/qktxhandler_p.h ++++ b/src/gui/util/qktxhandler_p.h +@@ -68,7 +68,7 @@ public: + + private: + bool checkHeader(const KTXHeader &header); +- quint32 decode(quint32 val); ++ quint32 decode(quint32 val) const; + + bool inverseEndian = false; + }; +-- +2.35.7 + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index e845dfe0..0d4114da 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -2,19 +2,19 @@ require qt5.inc require qt5-git.inc require qt5-ptest.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +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;md5=c8b6dd132d52c6e5a545df07a4e3e283 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=38de3b110ade3b6ee2f0b6a95ab16f1a \ " # common for qtbase-native, qtbase-nativesdk and qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared -# 5.15.meta-qt5-shared.2 +# 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,26 +23,47 @@ 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://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://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ - file://0019-Define-__NR_futex-if-it-does-not-exist.patch \ - file://0020-Revert-Fix-workaround-in-pthread-destructor.patch \ - file://0021-qfloat16-Include-limits-header.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 \ + file://0023-Remove-unsetting-_FILE_OFFSET_BITS.patch \ + file://CVE-2023-32762.patch \ + file://CVE-2023-32763-qtbase-5.15.diff \ + file://CVE-2023-33285-qtbase-5.15.diff \ + file://CVE-2023-34410-qtbase-5.15.diff \ + file://CVE-2023-37369-qtbase-5.15.diff \ + file://CVE-2023-38197-qtbase-5.15.diff \ + file://CVE-2023-43114-5.15.patch \ + file://0027-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch \ + file://0001-CVE-2023-51714-qtbase-5.15.diff \ + file://0002-CVE-2023-51714-qtbase-5.15.diff \ + file://0028-Remove-host-paths-from-qmake.patch \ + file://0029-Remove-ptests-with-SRCDIR.patch \ + file://CVE-2024-25580.patch \ " +# usually pulled by one of the optional dependencies in PACKAGECONFIG, but with very limited PACKAGECONFIG fails with: +# src/corelib/io/qresource.cpp:68:12: fatal error: zstd.h: No such file or directory +DEPENDS = "zstd" + # 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)}" @@ -112,11 +133,11 @@ 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 -no-bundled-xcb-xinput,-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" @@ -165,8 +186,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 @@ -176,9 +197,9 @@ 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" +LDFLAGS:append:riscv64 = " -pthread" QT_CONFIG_FLAGS += " \ ${QT_CONFIG_FLAGS_GOLD} \ @@ -189,9 +210,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++" @@ -200,13 +221,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 @@ -244,7 +265,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 @@ -268,7 +289,8 @@ do_install_append() { 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 + # OE_QMAKE_LFLAGS contains path of the build host, which is not useful for the target. + echo "isEmpty(QMAKE_LFLAGS): QMAKE_LFLAGS = ${OE_QMAKE_LDFLAGS}" | sed -e 's/-fdebug-prefix-map=[^ ]*//g' | sed -e 's/-fmacro-prefix-map=[^ ]*//g' >> $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 @@ -283,21 +305,21 @@ do_install_append() { } # 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 () { +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 () { +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' \ @@ -305,4 +327,4 @@ sed -i \ $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri } -SRCREV = "40143c189b7c1bf3c2058b77d00ea5c4e3be8b28" +SRCREV = "4e158f6bfa7d0747d8da70b3b15a44b52e35bb8a" diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb index 1a5238f1..b7d5616b 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 -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 = "a67f812548b008e3eedcd2bb9313828a195fd23b" +SRCREV = "3f3f14d69a509c3e8027bfb5d7ffca9b4f3ef003" # 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 83ee40b7..b1097435 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 -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,5 @@ PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" DEPENDS += "qtbase" +QT_MODULE_BRANCH = "5.15.2" SRCREV = "628d3b8abd47ffde45252cf6591ed10ec2fa28ac" diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb index 948f59a5..5c4bb963 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 -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 = "ca6cc606d9fc0947ea6c27738a1ca8f12f3258ea" +SRCREV = "f1fed9fb2a7e5b877d8408f92040651b0cf47dbb" diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb index 70e14f06..dacfe51a 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 -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 = "1168c788a117e4556e6cd0ba1e267a86ef62b0c4" +SRCREV = "6ac6d23a8f558f36f1162b419858cc44dccd4d2b" diff --git a/recipes-qt/qt5/qtdeclarative/0001-qmldebug-Include-limits-header.patch b/recipes-qt/qt5/qtdeclarative/0001-qmldebug-Include-limits-header.patch deleted file mode 100644 index d803a294..00000000 --- a/recipes-qt/qt5/qtdeclarative/0001-qmldebug-Include-limits-header.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ab263a3e79a36d3e6536adc900b296cdf27f09ae Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 4 Mar 2021 14:37:06 -0800 -Subject: [PATCH] qmldebug: Include limits header - -this is needed to solve -qmldebug/qqmlprofilerevent_p.h:314:65: error: 'numeric_limits' is not a member of 'std' - -Its exposed bu gcc11 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/qmldebug/qqmlprofilerevent_p.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/qmldebug/qqmlprofilerevent_p.h b/src/qmldebug/qqmlprofilerevent_p.h -index a7e37d1964..f778628f8c 100644 ---- a/src/qmldebug/qqmlprofilerevent_p.h -+++ b/src/qmldebug/qqmlprofilerevent_p.h -@@ -47,6 +47,7 @@ - #include <QtCore/qvarlengtharray.h> - #include <QtCore/qmetatype.h> - -+#include <limits> - #include <initializer_list> - #include <type_traits> - --- -2.30.1 - diff --git a/recipes-qt/qt5/qtdeclarative/0001-yarr-Include-limits-for-numeric_limits.patch b/recipes-qt/qt5/qtdeclarative/0001-yarr-Include-limits-for-numeric_limits.patch deleted file mode 100644 index 1a77c04b..00000000 --- a/recipes-qt/qt5/qtdeclarative/0001-yarr-Include-limits-for-numeric_limits.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d99fda38487eee9a660101ce73c488680c485668 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 3 Mar 2021 07:26:21 -0800 -Subject: [PATCH] yarr: Include <limits> for numeric_limits - -Fixes -src/3rdparty/masm/yarr/Yarr.h:46:44: error: 'numeric_limits' is not a member of 'std' - 46 | static const unsigned offsetNoMatch = std::numeric_limits<unsigned>::max(); - | ^~~~~~~~~~~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/3rdparty/masm/yarr/Yarr.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/3rdparty/masm/yarr/Yarr.h b/src/3rdparty/masm/yarr/Yarr.h -index ccf78f9880..cbb42c60d8 100644 ---- a/src/3rdparty/masm/yarr/Yarr.h -+++ b/src/3rdparty/masm/yarr/Yarr.h -@@ -27,7 +27,7 @@ - - #pragma once - --#include <limits.h> -+#include <limits> - #include "YarrErrorCode.h" - - namespace JSC { namespace Yarr { --- -2.30.1 - diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 1bbcb57c..72d48b5e 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -3,7 +3,7 @@ require qt5-git.inc require qt5-ptest.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +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 \ @@ -16,11 +16,9 @@ LIC_FILES_CHKSUM = " \ # 5.15.meta-qt5.1 SRC_URI += " \ file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \ - file://0001-yarr-Include-limits-for-numeric_limits.patch \ - file://0001-qmldebug-Include-limits-header.patch \ " -LDFLAGS_append_riscv64 = " -pthread" +LDFLAGS:append:riscv64 = " -pthread" DEPENDS += "qtbase qtdeclarative-native" @@ -34,27 +32,27 @@ 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} + 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 + ddir=${S}/${dname##${B}}/data + if [ -d $ddir ]; then + cp -r $ddir ${D}${PTEST_PATH}/$pdir fi fi done } -do_install_append_class-nativesdk() { +do_install:append:class-nativesdk() { # qml files not needed in nativesdk rm -rf ${D}${OE_QMAKE_PATH_QML} } -SRCREV = "104eae5b17b0ec700391e9539ee3a4f638588194" +SRCREV = "6ab9856ef379fc3fe44d5fac03a83f679f398511" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtgamepad_git.bb b/recipes-qt/qt5/qtgamepad_git.bb index 076f25a6..642f8f86 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 -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 = "ff933a4e72826a77c81c4153f1adcf765ead35f0" +SRCREV = "44255e2ae53a14e9a3fb671da0782ec5d396220a" diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb index 9657a5ef..ef72bf84 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 -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 = "66b7fbaca4b323dce337e87e3093c8836577c561" +SRCREV = "895f9753940156dda05aa83d3c7655571514407e" diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb index 43db80ff..9a8dabc7 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 -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 = "74a5bc4a45195b876454e596e76cb23aeb365410" +SRCREV = "3c2ad3eed6fc522ad809797747c8028b3dd4778a" diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb index 9891eefb..e9823ddb 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 -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,5 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" +QT_MODULE_BRANCH = "5.15.2" SRCREV = "0d2ce613010c0cc9c69f6821c06a34b6721482b4" 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/gcc14-const.patch b/recipes-qt/qt5/qtlocation/gcc14-const.patch new file mode 100644 index 00000000..2e2e82e5 --- /dev/null +++ b/recipes-qt/qt5/qtlocation/gcc14-const.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/914583 +https://github.com/Tencent/rapidjson/commit/3b2441b87f99ab65f37b141a7b548ebadb607b96 +https://github.com/Tencent/rapidjson/issues/718 + +Upstream-Status: Backport [https://github.com/Tencent/rapidjson/commit/3b2441b87f99ab65f37b141a7b548ebadb607b96] + +From 3b2441b87f99ab65f37b141a7b548ebadb607b96 Mon Sep 17 00:00:00 2001 +From: Janusz Chorko <janusz.chorko@apdu.pl> +Date: Fri, 26 Aug 2016 21:17:38 +0200 +Subject: [PATCH] Removed non-compiling assignment operator. Fixed #718 + +--- a/include/rapidjson/document.h ++++ b/include/rapidjson/document.h +@@ -316,8 +316,6 @@ struct GenericStringRef { + + GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {} + +- GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } +- + //! implicit conversion to plain CharType pointer + operator const Ch *() const { return s; } + diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index 89d42813..2863e484 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 -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 \ @@ -27,15 +27,17 @@ 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 \ + file://gcc14-const.patch;patchdir=src/3rdparty/mapbox-gl-native/deps/rapidjson/1.1.0 \ " -SRCREV_qtlocation = "02a21217a9706402802f38c646797be8eccb86e4" +SRCREV_qtlocation = "f6953a8d604b906b170fb4610e124e7c31260a18" 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 b4a93300..93a97f07 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 -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 = "b182dcd78a35b4667b2568857b7719d555c7fddb" +SRCREV = "62f17bbc0ae8649178ac484afc434dbad16d6351" diff --git a/recipes-qt/qt5/qtmqtt_git.bb b/recipes-qt/qt5/qtmqtt_git.bb index b3db343e..aeed4cce 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 -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,5 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" +QT_MODULE_BRANCH = "5.15.2" SRCREV = "cade213f562049400da81e60762400df68d7c56b" 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 4f9e78d6..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 @@ -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 +- diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index fdbebd6d..f6cdb833 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 -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,6 +12,8 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative" +inherit pkgconfig + PACKAGECONFIG ??= "gstreamer \ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" @@ -36,12 +38,12 @@ SRC_URI += "\ # 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 = "fd30913d4601d12437404e1d20113a1ed6364ccc" +SRCREV = "374d71e29a142bd177cd5b1b7e29a4628085ddcb" # Temporary work around for Qt5MultimediaConfig.cmake referencing non-existent videoeglvideonode directory -do_install_append() { +do_install:append() { install -d ${D}${OE_QMAKE_PATH_PLUGINS}/videoeglvideonode } -FILES_${PN} += "${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 79d00544..2d24ba75 100644 --- a/recipes-qt/qt5/qtnetworkauth_git.bb +++ b/recipes-qt/qt5/qtnetworkauth_git.bb @@ -1,4 +1,4 @@ -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 \ @@ -9,4 +9,4 @@ require qt5-git.inc DEPENDS += "qtbase" -SRCREV = "fb2d6d47a0c961278d63309789a1141c3734818b" +SRCREV = "ed2291d454fac207f6b1555d30b9227e51be611b" diff --git a/recipes-qt/qt5/qtopcua_git.bb b/recipes-qt/qt5/qtopcua_git.bb index 7b3ae682..78ae40b8 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 -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,5 @@ SECURITY_STRINGFORMAT = "" DEPENDS += "qtbase" +QT_MODULE_BRANCH = "5.15.2" SRCREV = "6d45793cae6f9e744c7bba82f905e431978ce3d0" 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..d49a5305 --- /dev/null +++ b/recipes-qt/qt5/qtpdf_git.bb @@ -0,0 +1,225 @@ +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" + +QT_MODULE_BRANCH = "5.15" +PV = "5.15.13+git${SRCPV}" + +# 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 \ + file://0002-qmake.conf-lower-MODULE_VERSION-to-5.15.X.patch \ +" +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15 +# 5.15.meta-qt5.17 +SRC_URI:append:libc-musl = "\ + file://0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \ + file://0004-musl-link-against-libexecinfo.patch \ + file://0005-mkspecs-Allow-builds-with-libc-glibc.patch \ +" + +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc +# 87-based-glibc.meta-qt5.11 +SRC_URI += " \ + file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ + file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ + file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ + file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \ + file://chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ + file://chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ + file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ + file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ + file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch;patchdir=src/3rdparty \ + file://chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch;patchdir=src/3rdparty \ + file://chromium/0013-Fix-build-with-gcc-13.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 = "d15a42baae7141952e91665bed22a7c7cfb54b95" +SRCREV_chromium = "fb66d7ca9641724670c96e999ad5b0fd6eb78d46" +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 554bb8f7..440a66d1 100644 --- a/recipes-qt/qt5/qtpurchasing_git.bb +++ b/recipes-qt/qt5/qtpurchasing_git.bb @@ -2,7 +2,7 @@ require qt5.inc require qt5-git.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "Apache-2.0 & BSD & ( LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial )" +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 = "ddfa4d16243128d2871a51c513e025d518151b17" +SRCREV = "7f4ead6f3e6431acee63987a0a1753ff140ac2d2" diff --git a/recipes-qt/qt5/qtquick3d_git.bb b/recipes-qt/qt5/qtquick3d_git.bb index a56e26db..1c99f14e 100644 --- a/recipes-qt/qt5/qtquick3d_git.bb +++ b/recipes-qt/qt5/qtquick3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "(GPL-3.0 & BSD) | The-Qt-Company-Commercial" +LICENSE = "(GPL-3.0-only & BSD-3-Clause) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtquickcontrols2" SRC_URI += " \ - git://github.com/assimp/assimp.git;name=assimp;branch=assimp_5.0_release;protocol=https;destsuffix=git/src/3rdparty/assimp/src \ + git://code.qt.io/qt/qtquick3d-assimp.git;name=assimp;branch=qt6_assimp;protocol=https;destsuffix=git/src/3rdparty/assimp/src \ " PACKAGECONFIG ??= "" @@ -17,11 +17,11 @@ PACKAGECONFIG[system-assimp] = "-system-quick3d-assimp,-qt-quick3d-assimp,assimp EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -FILES_${PN}-qmlplugins += " \ +FILES:${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick3D/Helpers/meshes/*.mesh \ " -SRCREV_qtquick3d = "2e05e6d6546635a8f25882c5140fb17697be0062" +SRCREV_qtquick3d = "fbb8186383e7e3389b952c43781755346d5ce371" 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 fed17dad..07ac0b6e 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 -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 = "16f27dfa3588c2bf377568ce00bf534af48c9558" +SRC_URI += "file://0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch" + +SRCREV = "480694ae720490b162747b07aa0e0bb7e7abc7da" diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb index c2960096..d61a1923 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 -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 = "7c29283041a50def3ceca7de4471f211c9b30d4e" +SRCREV = "77fbfa8d313bbdb8fb762f15dd6173a067be55e3" diff --git a/recipes-qt/qt5/qtquicktimeline_git.bb b/recipes-qt/qt5/qtquicktimeline_git.bb index 61920c04..234c760f 100644 --- a/recipes-qt/qt5/qtquicktimeline_git.bb +++ b/recipes-qt/qt5/qtquicktimeline_git.bb @@ -2,7 +2,7 @@ require qt5.inc require qt5-git.inc DESCRIPTION = "Qt Quick Timeline" -LICENSE = "GPL-2.0+ | The-Qt-Company-Commercial" +LICENSE = "GPL-2.0-or-later | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "qtbase qtdeclarative" -SRCREV = "147ad75c589fc4804429710fdb177cc48a80dbea" +SRCREV = "29394e35db43acb20e7b4d5e978a733f5b4232a6" 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 5ae00be7..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 @@ -4,6 +4,8 @@ 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/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch index 92a97b29..b0bfd34e 100644 --- a/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch +++ b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch @@ -3,6 +3,8 @@ 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/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb index c9519137..2933fc3c 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 \ @@ -19,12 +19,12 @@ SRC_URI += " \ " 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 = "8e889442508e284691c923470eb4552c96afdfe3" +SRCREV = "1d8e4d3645c437cb0a5e5cdb4862949190f89259" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index 773bc044..ee44969e 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 \ @@ -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 = "5da7de1800eee3d604eb7e787b114479b61ffc93" +SRCREV = "4f8c35a528586541ea55bb8b3361eaa6749e52b1" diff --git a/recipes-qt/qt5/qtscxml_git.bb b/recipes-qt/qt5/qtscxml_git.bb index 7a0975bf..018d8266 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 \ @@ -10,13 +10,13 @@ require qt5-git.inc DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native" -SRCREV = "95aa78be795a862b95371afa75e1417029ec0a16" +SRCREV = "6074956c2089dd0507d2930c638fa8c930f4e21c" # 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 c4b90f84..3dc6da4b 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 -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 = "5618198e6df5e0224f79f786a44af7527b431545" +SRCREV = "7f8b55744f87155a4979dd8ba405bd7feec03042" diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb index 94e0fbbd..363bba7a 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 -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 \ @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtserialport" -SRCREV = "1aa9b03756baead139943712839af5ecedeb2989" +SRCREV = "5efce7d821bad2f5db95ff3ada5eeddccbb58920" diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb index b59d921d..83437e46 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 -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 = "192e376b01e65e7277772bdc94106613c22cf531" +SRCREV = "fc0b6affe244e40366bd624d6e01c62712568eb8" diff --git a/recipes-qt/qt5/qtsvg/CVE-2023-32573-qtsvg-5.15.diff b/recipes-qt/qt5/qtsvg/CVE-2023-32573-qtsvg-5.15.diff new file mode 100644 index 00000000..c09e6437 --- /dev/null +++ b/recipes-qt/qt5/qtsvg/CVE-2023-32573-qtsvg-5.15.diff @@ -0,0 +1,48 @@ +From 9894206da35bde7025703f1e823f2df447ca200d Mon Sep 17 00:00:00 2001 +From: Marek Vasut <marex@denx.de> +Date: Tue, 10 Oct 2023 15:59:40 +0200 +Subject: [PATCH] qtsvg: Pick CVE-2023-32573 fix + +CVE: CVE-2023-32573 +Upstream-Status: Backport [https://download.qt.io/official_releases/qt/5.15/CVE-2023-32573-qtsvg-5.15.diff] +--- + src/svg/qsvgfont_p.h | 5 ++--- + src/svg/qsvghandler.cpp | 2 +- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/svg/qsvgfont_p.h b/src/svg/qsvgfont_p.h +index fd0a3fa..fcffbe8 100644 +--- a/src/svg/qsvgfont_p.h ++++ b/src/svg/qsvgfont_p.h +@@ -74,6 +74,7 @@ public: + class Q_SVG_PRIVATE_EXPORT QSvgFont : public QSvgRefCounted + { + public: ++ static constexpr qreal DEFAULT_UNITS_PER_EM = 1000; + QSvgFont(qreal horizAdvX); + + void setFamilyName(const QString &name); +@@ -86,9 +87,7 @@ public: + void draw(QPainter *p, const QPointF &point, const QString &str, qreal pixelSize, Qt::Alignment alignment) const; + public: + QString m_familyName; +- qreal m_unitsPerEm; +- qreal m_ascent; +- qreal m_descent; ++ qreal m_unitsPerEm = DEFAULT_UNITS_PER_EM; + qreal m_horizAdvX; + QHash<QChar, QSvgGlyph> m_glyphs; + }; +diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp +index b2227b6..f4a00e3 100644 +--- a/src/svg/qsvghandler.cpp ++++ b/src/svg/qsvghandler.cpp +@@ -2666,7 +2666,7 @@ static bool parseFontFaceNode(QSvgStyleProperty *parent, + + qreal unitsPerEm = toDouble(unitsPerEmStr); + if (!unitsPerEm) +- unitsPerEm = 1000; ++ unitsPerEm = QSvgFont::DEFAULT_UNITS_PER_EM; + + if (!name.isEmpty()) + font->setFamilyName(name); diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb index 52d82653..d7992075 100644 --- a/recipes-qt/qt5/qtsvg_git.bb +++ b/recipes-qt/qt5/qtsvg_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.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ @@ -12,4 +12,8 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "52d3788c7b0116ea3db232dccca5f1e3f1e229ac" +SRCREV = "d44607f07fa66f0f5294c227eba99aac7c8dbebd" + +SRC_URI += "\ + file://CVE-2023-32573-qtsvg-5.15.diff \ +" 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 8d3eca5e..4389d992 100644 --- a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch +++ b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch @@ -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> 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 6f570d62..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 @@ -4,6 +4,8 @@ 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/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 index 3ee3fda6..32de7de1 100644 --- 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 @@ -5,6 +5,7 @@ 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 +- 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 index 4bc53c79..bc833e0b 100644 --- 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 @@ -6,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Upstrem-Statu: Inappropriate [embedded specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 63566035..cd6f2b96 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_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.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -19,19 +19,23 @@ SRC_URI += " \ 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)}" +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" +COMPATIBLE_HOST:toolchain-clang:riscv32 = "null" +COMPATIBLE_HOST:toolchain-clang:riscv64 = "null" export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_BINDIR}/llvm-config" @@ -39,7 +43,7 @@ EXTRA_QMAKEVARS_PRE += " \ ${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=disable_external_rpath CONFIG+=assistant', 'CONFIG+=noqdoc', d)} \ " -SRCREV = "cc52debd905e0ed061290d6fd00a5f1ab67478a5" +SRCREV = "e8c3c391de17edce4542819c79de3d27a57ff408" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-qt/qt5/qttranslations_git.bb b/recipes-qt/qt5/qttranslations_git.bb index ecc9db2f..acb4f111 100644 --- a/recipes-qt/qt5/qttranslations_git.bb +++ b/recipes-qt/qt5/qttranslations_git.bb @@ -1,14 +1,14 @@ 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-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 qt_*.qm ! -name qt_help_*.qm`; do rm $transfile @@ -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 = "cb1857418b36780b0444333f3aa6250ca3780f19" +SRCREV = "40aabebd04a30ccef374bf20a7bfaa1d8d665b7f" 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 c3b8a90f..c1513a26 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 -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 = "7b90415c58dd02c682a9ba317f273d7b3398ff88" +SRCREV = "80565aa7fc37ecdb1c08e585d4ae3060618e3338" 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-qwaylandinputcontext-Include-missing-header-locale.h.patch b/recipes-qt/qt5/qtwayland/0001-qwaylandinputcontext-Include-missing-header-locale.h.patch new file mode 100644 index 00000000..9d11c423 --- /dev/null +++ b/recipes-qt/qt5/qtwayland/0001-qwaylandinputcontext-Include-missing-header-locale.h.patch @@ -0,0 +1,36 @@ +From 99f9a859b860b98880859bda847a341f460b9637 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 24 May 2022 13:54:17 -0700 +Subject: [PATCH] qwaylandinputcontext: Include missing header locale.h for + LC_CTYPE + +This issue is unraveled with musl, but is a general problem + +Fixes +/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/qtwayland/5.15.4+gitAUTOINC+f1e6c8764d-r0/git/src/client/qwaylandinputcontext.cpp:584:36: error: use of undeclared identifier 'LC_CTYPE' + const char *locale = setlocale(LC_CTYPE, ""); + ^ +/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/qtwayland/5.15.4+gitAUTOINC+f1e6c8764d-r0/git/src/client/qwaylandinputcontext.cpp:586:28: error: use of undeclared identifier 'LC_CTYPE' + locale = setlocale(LC_CTYPE, nullptr); + ^ +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/client/qwaylandinputcontext.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp +index ef5aa375..d8e55357 100644 +--- a/src/client/qwaylandinputcontext.cpp ++++ b/src/client/qwaylandinputcontext.cpp +@@ -37,6 +37,7 @@ + ** + ****************************************************************************/ + ++#include <locale.h> + + #include "qwaylandinputcontext_p.h" + +-- +2.36.1 + diff --git a/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch index ae205b89..854ca45c 100644 --- a/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch +++ b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch @@ -7,6 +7,7 @@ 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 +- diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index f3fea401..7dbe4f3f 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 +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 \ @@ -15,21 +17,25 @@ LIC_FILES_CHKSUM = " \ # 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" +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 \ + file://0001-qwaylandinputcontext-Include-missing-header-locale.h.patch \ + " PACKAGECONFIG ?= " \ wayland-client \ wayland-server \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'wayland-egl', '', d)} \ + ${@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" @@ -43,10 +49,10 @@ PACKAGECONFIG[wayland-vulkan-server-buffer] = "-feature-wayland-vulkan-server-bu EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "3cc17177b1b03053276eb6236fda137c588261a7" +SRCREV = "163ea1a04d1b00c95373d69e8c907e5789082d3e" 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)}" +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 052bfd80..f869f279 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 -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 = "90cffd49575b075b0dc28440c693753d860fee87" +SRCREV = "d5eb0142112b2b058e86489f7dae2e00c0aebe4c" 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 d1a73717..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 efcb303585f8ebae43767ab284d1e808d44d290f 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 @@ -14,12 +14,12 @@ Upstream-Status: Inappropriate [OE specific] Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> --- src/buildtools/config/linux.pri | 2 +- - src/buildtools/configure_host.pro | 14 +++++++------- - src/buildtools/gn.pro | 4 ++-- - 3 files changed, 10 insertions(+), 10 deletions(-) + 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 56c18bdb..ea6142a6 100644 +index 7507d51ef..1e078cbfe 100644 --- a/src/buildtools/config/linux.pri +++ b/src/buildtools/config/linux.pri @@ -118,7 +118,7 @@ contains(QT_ARCH, "mips") { @@ -32,7 +32,7 @@ index 56c18bdb..ea6142a6 100644 # 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 @@ -44,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\") {" \ @@ -57,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\") {" \ @@ -71,15 +83,16 @@ index dd0d3e32..6312c867 100644 " nm = \"$$which(nm)\" " \ " toolchain_args = { " \ diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro -index 033202e6..a8ca6567 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)\" diff --git a/recipes-qt/qt5/qtwebengine/0002-qmake.conf-lower-MODULE_VERSION-to-5.15.X.patch b/recipes-qt/qt5/qtwebengine/0002-qmake.conf-lower-MODULE_VERSION-to-5.15.X.patch new file mode 100644 index 00000000..3a9174ad --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0002-qmake.conf-lower-MODULE_VERSION-to-5.15.X.patch @@ -0,0 +1,35 @@ +From cf79bf0fbd89a7273420f6dfb7715c18cc56729b Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 12 Mar 2021 15:47:50 +0100 +Subject: [PATCH] qmake.conf: lower MODULE_VERSION to 5.15.X + +* to avoid incompatibility when searching for qtwebchannel: + +CMake Error at /OE/build/luneos-hardknott/webos-ports/tmp-glibc/work/core2-64-webos-linux/org.webosports.app.browser/0.5.0-14+gitAUTOINC+4b5398142b-r0/recipe-sysroot/usr/lib/cmake/Qt5WebEngineCore/Qt5WebEngineCoreConfig.cmake:116 (find_package): + Could not find a configuration file for package "Qt5WebChannel" that is + compatible with requested version "5.15.13". + + The following configuration files were considered but not accepted: + + /OE/build/luneos-hardknott/webos-ports/tmp-glibc/work/core2-64-webos-linux/org.webosports.app.browser/0.5.0-14+gitAUTOINC+4b5398142b-r0/recipe-sysroot/usr/lib/cmake/Qt5WebChannel/Qt5WebChannelConfig.cmake, version: 5.15.2 + +Call Stack (most recent call first): + /OE/build/luneos-hardknott/webos-ports/tmp-glibc/work/core2-64-webos-linux/org.webosports.app.browser/0.5.0-14+gitAUTOINC+4b5398142b-r0/recipe-sysroot/usr/lib/cmake/Qt5WebEngine/Qt5WebEngineConfig.cmake:116 (find_package) + CMakeLists.txt:19 (find_package) + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + .qmake.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.qmake.conf b/.qmake.conf +index 461e9c733..1d0279c42 100644 +--- a/.qmake.conf ++++ b/.qmake.conf +@@ -5,4 +5,4 @@ QTWEBENGINE_OUT_ROOT = $$shadowed($$PWD) + load(qt_build_config) + CONFIG += warning_clean + +-MODULE_VERSION = 5.15.14 ++MODULE_VERSION = 5.15.13 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/0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch index 2fbe73f7..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/0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch @@ -1,16 +1,17 @@ -From 4d816d872fbb635ac5a6d263218634b7027fa0f9 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/0004-musl-link-against-libexecinfo.patch index e2ed63cb..f8f4229d 100644 --- a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch +++ b/recipes-qt/qt5/qtwebengine/0004-musl-link-against-libexecinfo.patch @@ -1,19 +1,20 @@ -From 5ff62acfe5882c39dcd9154dbb9bd631b10c20ab 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 3b439e81..b1669e19 100644 +index 9e087c815..7f518e020 100644 --- a/src/core/core_module.pro +++ b/src/core/core_module.pro -@@ -5,7 +5,7 @@ include($${QTWEBENGINE_ROOT}/src/buildtools/config/linking.pri) +@@ -9,7 +9,7 @@ isUniversal() { api_library_name = qtwebenginecoreapi$$qtPlatformTargetSuffix() api_library_path = $$OUT_PWD/api/$$getConfigDir() diff --git a/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch b/recipes-qt/qt5/qtwebengine/0005-mkspecs-Allow-builds-with-libc-glibc.patch index 6569ced8..da4cea8d 100644 --- a/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch +++ b/recipes-qt/qt5/qtwebengine/0005-mkspecs-Allow-builds-with-libc-glibc.patch @@ -1,8 +1,9 @@ -From b52d58e204ffcb3dcd55ddee390d256cfbb1b54b Mon Sep 17 00:00:00 2001 +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 ---- @@ -10,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri -index e192f877..49ad4bf3 100644 +index e7f869a15..f9c9c24bf 100644 --- a/src/buildtools/config/support.pri +++ b/src/buildtools/config/support.pri -@@ -181,10 +181,6 @@ defineTest(qtwebengine_checkForHostPkgCfg) { +@@ -191,10 +191,6 @@ defineTest(qtwebengine_checkForHostPkgCfg) { defineTest(qtwebengine_checkForGlibc) { module = $$1 @@ -25,10 +26,10 @@ index e192f877..49ad4bf3 100644 } diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json -index 1ca6214a..b352e675 100644 +index 88d1790c1..9eb5e8e33 100644 --- a/src/buildtools/configure.json +++ b/src/buildtools/configure.json -@@ -376,7 +376,6 @@ +@@ -379,7 +379,6 @@ && (!config.sanitizer || features.webengine-sanitizer) && (!config.linux || features.pkg-config) && (!config.linux || features.webengine-host-pkg-config) @@ -36,7 +37,7 @@ index 1ca6214a..b352e675 100644 && (!config.linux || features.webengine-system-khr) && (!config.linux || features.webengine-system-nss) && (!config.linux || features.webengine-system-dbus) -@@ -743,8 +742,7 @@ +@@ -782,8 +781,7 @@ "webengine-system-fontconfig", "webengine-system-dbus", "webengine-system-nss", 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 a783a1e7..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 0e5ecca67b6a9fb71bb200af534f22cb820ac652 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,6 +13,8 @@ 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/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch index 659f938a..a7d8a1c5 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0003-chromium-fix-build-with-clang.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch @@ -1,4 +1,4 @@ -From 52bcf1b214cd39139fdd547fef514acaf19bd3f8 Mon Sep 17 00:00:00 2001 +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 @@ -10,10 +10,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn -index ca81bd8ce0f..d3c588b21e3 100644 +index b511a58c5a8..b628042bc21 100644 --- a/chromium/build/config/compiler/BUILD.gn +++ b/chromium/build/config/compiler/BUILD.gn -@@ -776,8 +776,6 @@ config("compiler_cpu_abi") { +@@ -783,8 +783,6 @@ config("compiler_cpu_abi") { } } else if (current_cpu == "arm") { if (is_clang && !is_android && !is_nacl) { @@ -22,7 +22,7 @@ index ca81bd8ce0f..d3c588b21e3 100644 } if (!is_nacl) { cflags += [ -@@ -790,8 +788,6 @@ config("compiler_cpu_abi") { +@@ -797,8 +795,6 @@ config("compiler_cpu_abi") { } } else if (current_cpu == "arm64") { if (is_clang && !is_android && !is_nacl && !is_fuchsia) { @@ -31,7 +31,7 @@ index ca81bd8ce0f..d3c588b21e3 100644 } } else if (current_cpu == "mipsel" && !is_nacl) { ldflags += [ "-Wl,--hash-style=sysv" ] -@@ -800,9 +796,6 @@ config("compiler_cpu_abi") { +@@ -807,9 +803,6 @@ config("compiler_cpu_abi") { if (is_android) { cflags += [ "--target=mipsel-linux-android" ] ldflags += [ "--target=mipsel-linux-android" ] @@ -41,7 +41,7 @@ index ca81bd8ce0f..d3c588b21e3 100644 } } else { cflags += [ "-EL" ] -@@ -881,10 +874,7 @@ config("compiler_cpu_abi") { +@@ -888,10 +881,7 @@ config("compiler_cpu_abi") { } else if (current_cpu == "mips" && !is_nacl) { ldflags += [ "-Wl,--hash-style=sysv" ] if (custom_toolchain == "") { @@ -53,7 +53,7 @@ index ca81bd8ce0f..d3c588b21e3 100644 cflags += [ "-EB" ] ldflags += [ "-EB" ] } -@@ -931,9 +921,6 @@ config("compiler_cpu_abi") { +@@ -938,9 +928,6 @@ config("compiler_cpu_abi") { if (is_android) { cflags += [ "--target=mips64el-linux-android" ] ldflags += [ "--target=mips64el-linux-android" ] @@ -63,7 +63,7 @@ index ca81bd8ce0f..d3c588b21e3 100644 } } else { cflags += [ -@@ -990,10 +977,7 @@ config("compiler_cpu_abi") { +@@ -997,10 +984,7 @@ config("compiler_cpu_abi") { } else if (current_cpu == "mips64") { ldflags += [ "-Wl,--hash-style=sysv" ] if (custom_toolchain == "") { @@ -75,7 +75,7 @@ index ca81bd8ce0f..d3c588b21e3 100644 cflags += [ "-EB", "-mabi=64", -@@ -1157,13 +1141,6 @@ config("compiler_deterministic") { +@@ -1167,13 +1151,6 @@ config("compiler_deterministic") { } } } 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 0b14cf81..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 1af3e18800c3be5c4fbe1aa96fc1a0c454d89817 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 | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index d2baee9d243..fd8efdffea6 100644 ---- a/chromium/third_party/lss/linux_syscall_support.h -+++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -2017,7 +2017,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 -@@ -2039,7 +2039,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, -@@ -2125,7 +2125,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); - } - 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 f79c07a5..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 1572f98f6be6ac77a45dfd5442b2f6ba1a03e360 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 fb2a35e87f2..6cca80181ed 100644 +index 44b827155b2..16892b8d284 100644 --- a/chromium/third_party/zlib/BUILD.gn +++ b/chromium/third_party/zlib/BUILD.gn -@@ -89,8 +89,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_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.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch index 37442d0a..4a82d69d 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch @@ -1,4 +1,4 @@ -From 4e0bc86764ac1e324c50e698b47c630efab07632 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 @@ -20,10 +20,10 @@ Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com> 1 file changed, 9 deletions(-) diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn -index d3c588b21e3..6d49fde33cc 100644 +index b628042bc21..0b9476b33af 100644 --- a/chromium/build/config/compiler/BUILD.gn +++ b/chromium/build/config/compiler/BUILD.gn -@@ -777,15 +777,6 @@ config("compiler_cpu_abi") { +@@ -784,15 +784,6 @@ config("compiler_cpu_abi") { } else if (current_cpu == "arm") { if (is_clang && !is_android && !is_nacl) { } diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-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 index 0dacc25f..8ce307c9 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0007-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 @@ -1,4 +1,4 @@ -From 3be4bd9030c774e5e06abd5e74f9f5465510b2db Mon Sep 17 00:00:00 2001 +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 @@ -15,10 +15,10 @@ Upstream-Status: Pending 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 0cbcb8130c6..bc3dd3bddda 100644 +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 -@@ -71,6 +71,7 @@ typedef void* SockOptArg; +@@ -70,6 +70,7 @@ typedef void* SockOptArg; #endif // WEBRTC_POSIX #if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-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 index b7c9f1b1..b05d9163 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0008-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 @@ -1,4 +1,4 @@ -From e61af5f5bc6a14a3e77373eee1055cd15c54797f Mon Sep 17 00:00:00 2001 +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 @@ -8,6 +8,7 @@ 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> --- @@ -16,7 +17,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 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 717410f2ebc..a4cd55ca20e 100644 +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 @@ @@ -32,10 +33,10 @@ index 717410f2ebc..a4cd55ca20e 100644 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 01e49b7bbfd..4fccfd62f84 100644 +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 -@@ -63,8 +63,7 @@ void TouchEventLogEvdev::DumpLog(const char* filename) { +@@ -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, 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 5da3c36f..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 2eab9281d34bf53fd5a4b58184f9e165e27f9eaf 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 | 17 ++--------------- - 1 file changed, 2 insertions(+), 15 deletions(-) - -diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -index 831f5b3bb03..bb9377c3641 100644 ---- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -@@ -986,13 +986,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(JUMPER_IS_NEON) && 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 -@@ -1009,14 +1003,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(JUMPER_IS_NEON) && 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/0009-chromium-Include-cstddef-for-size_t-definition.patch b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch index 78dbba17..87893de6 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch @@ -1,4 +1,4 @@ -From 533788149c8b24d7da2702866594cd7a44c8f571 Mon Sep 17 00:00:00 2001 +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 diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-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 index d018397e..44cb1063 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0010-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 @@ -1,4 +1,4 @@ -From ec96f37700a45c317027ad917a835e1eac2169fc Mon Sep 17 00:00:00 2001 +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 @@ -6,6 +6,7 @@ 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 --------------------- @@ -13,11 +14,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 3a4c0b6a2f9..89df57a7b8e 100644 +index 7b594b4a458..9dae1c360c4 100644 --- a/chromium/cc/base/list_container_helper.cc +++ b/chromium/cc/base/list_container_helper.cc -@@ -12,259 +12,8 @@ - #include "base/logging.h" +@@ -13,259 +13,8 @@ + #include "base/check_op.h" #include "base/memory/aligned_memory.h" -namespace { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch index 1ce09e34..f1385890 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch @@ -1,4 +1,4 @@ -From 15e16b5f8405a402b94bd1be48d1eabff474795f Mon Sep 17 00:00:00 2001 +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 @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn -index ab20142de9a..4ef4aa80cc0 100644 +index ba99c75140b..33cf943bcba 100644 --- a/chromium/v8/BUILD.gn +++ b/chromium/v8/BUILD.gn -@@ -3543,7 +3543,8 @@ v8_source_set("v8_base_without_compiler") { +@@ -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" || diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch index a8b52c39..7b648671 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-icu-use-system-library-only-targets.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch @@ -1,4 +1,4 @@ -From f0aebd4351e729d281fb597627ff87cbe8a67dd0 Mon Sep 17 00:00:00 2001 +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 @@ -13,6 +13,7 @@ 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> --- @@ -20,13 +21,13 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn -index 73673fa20ac..a656692c7bf 100644 +index 2430d3e48e5..5d00226667d 100644 --- a/chromium/third_party/icu/BUILD.gn +++ b/chromium/third_party/icu/BUILD.gn -@@ -7,9 +7,13 @@ import("//build/config/host_byteorder.gni") - import("//build/config/linux/pkg_config.gni") +@@ -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() { @@ -37,7 +38,7 @@ index 73673fa20ac..a656692c7bf 100644 } if (is_android) { -@@ -23,6 +27,12 @@ if (is_mac) { +@@ -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") @@ -50,7 +51,7 @@ index 73673fa20ac..a656692c7bf 100644 # Meta target that includes both icuuc and icui18n. Most targets want both. # You can depend on the individually if you need to. group("icu") { -@@ -1222,7 +1232,7 @@ config("system_icu_config") { +@@ -413,7 +423,7 @@ config("system_icu_config") { } } @@ -59,7 +60,7 @@ index 73673fa20ac..a656692c7bf 100644 pkg_config("system_icui18n") { packages = [ "icu-i18n" ] } -@@ -1435,7 +1445,7 @@ shim_headers("icuuc_shim") { +@@ -626,7 +636,7 @@ shim_headers("icuuc_shim") { } config("icu_config") { @@ -68,7 +69,7 @@ index 73673fa20ac..a656692c7bf 100644 configs = [ ":system_icu_config"] } else { configs = [ ":bundled_icu_config"] -@@ -1443,7 +1453,7 @@ config("icu_config") { +@@ -634,7 +644,7 @@ config("icu_config") { } group("icuuc") { @@ -77,7 +78,7 @@ index 73673fa20ac..a656692c7bf 100644 deps = [ ":icuuc_shim" ] public_configs = [ ":system_icu_config", -@@ -1455,7 +1465,7 @@ group("icuuc") { +@@ -646,7 +656,7 @@ group("icuuc") { } group("icui18n") { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch deleted file mode 100644 index a8f3feb9..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 93a8a2a4c33ffece095ab3438eb3c7a4f60ead34 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 15 Jan 2020 16:53:46 -0800 -Subject: [PATCH] chromium: Include <cstddef> and <cstdint> - -These headers are needed for uintXX_t and size_t definitions - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - chromium/third_party/webrtc/call/rtx_receive_stream.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chromium/third_party/webrtc/call/rtx_receive_stream.h b/chromium/third_party/webrtc/call/rtx_receive_stream.h -index 66cc46dc091..e8cadb2bb80 100644 ---- a/chromium/third_party/webrtc/call/rtx_receive_stream.h -+++ b/chromium/third_party/webrtc/call/rtx_receive_stream.h -@@ -11,6 +11,7 @@ - #ifndef CALL_RTX_RECEIVE_STREAM_H_ - #define CALL_RTX_RECEIVE_STREAM_H_ - -+#include <cstdint> - #include <map> - #include <stdint.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/0013-Fix-build-with-gcc-13.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-Fix-build-with-gcc-13.patch new file mode 100644 index 00000000..63eabfd9 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0013-Fix-build-with-gcc-13.patch @@ -0,0 +1,865 @@ +From 7b5789af04925751f0d498f70916ebd336240060 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 12 Apr 2023 17:53:00 +0200 +Subject: [PATCH] Fix build with gcc-13 + +* Fixes: + http://errors.yoctoproject.org/Errors/Details/699654/ + +In file included from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc:16: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:34:6: warning: elaborated-type-specifier for a scoped enum must not use the 'class' keyword + 34 | enum class FormatConversionChar : uint8_t; + | ~~~~ ^~~~~ + | ----- + + src/3rdparty/chromium/base/check.h:61:34: error: expected primary-expression before '(' token + src/3rdparty/chromium/base/debug/profiler.h:56:21: error: 'ReturnAddressLocationResolver' was not declared in this scope + src/3rdparty/chromium/base/debug/profiler.h:56:9: error: ISO C++ forbids declaration of 'uintptr_t' with no type [-fpermissive] + src/3rdparty/chromium/base/debug/profiler.h:56:9: error: typedef 'base::debug::uintptr_t' is initialized (use 'decltype' instead) + src/3rdparty/chromium/base/debug/profiler.h:69:13: error: 'ReturnAddressLocationResolver' does not name a type + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:33:36: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:35:73: error: expression list treated as compound expression in functional cast [-fpermissive] + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:35:74: error: template argument 1 is invalid + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:42:7: error: 'uint64_t' has not been declared + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:49:11: error: 'EmbedderOriginTypeMatcher' does not name a type + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:60:7: error: 'uint64_t' has not been declared + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:62:7: error: 'uint64_t' has not been declared + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:63:53: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/content/public/browser/browsing_data_remover_delegate.h:63:62: error: template argument 1 is invalid + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:14:34: error: 'uintptr_t' in namespace 'std' does not name a type + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:14:34: error: 'uintptr_t' is not a member of 'std' + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:15:34: error: 'uintptr_t' in namespace 'std' does not name a type + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:15:34: error: 'uintptr_t' is not a member of 'std' + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:26:34: error: 'uintptr_t' in namespace 'std' does not name a type + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:26:34: error: 'uintptr_t' is not a member of 'std' + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:27:34: error: 'uintptr_t' in namespace 'std' does not name a type + src/3rdparty/chromium/device/base/synchronization/one_writer_seqlock.cc:27:34: error: 'uintptr_t' is not a member of 'std' + src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h:88:15: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h:88:22: error: template argument 1 is invalid + src/3rdparty/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h:88:22: error: template argument 2 is invalid + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h:11:12: error: 'PowerPreference' has not been declared + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h:11:28: error: found ':' in nested-name-specifier, expected '::' + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h:11:39: error: expected unqualified-id before '{' token + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h:18:12: error: 'DawnReturnDataType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h:18:31: error: found ':' in nested-name-specifier, expected '::' + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h:18:42: error: expected unqualified-id before '{' token + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h:21:3: error: 'DawnReturnDataType' does not name a type; did you mean 'DawnReturnDataHeader'? + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h:29:46: error: 'DawnReturnDataType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h:46:7: error: 'DawnReturnDataType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/common/webgpu_cmd_format.h:64:7: error: 'DawnReturnDataType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:134:3: error: 'GrContextType' does not name a type; did you mean 'ContextType'? + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:302:3: error: 'GrContextType' does not name a type; did you mean 'ContextType'? + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:77:39: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:77:7: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:90:12: error: 'gr_context_type_' was not declared in this scope; did you mean 'gr_context_'? + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:90:32: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:93:12: error: 'gr_context_type_' was not declared in this scope; did you mean 'gr_context_'? + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:93:32: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:96:12: error: 'gr_context_type_' was not declared in this scope; did you mean 'gr_context_'? + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:96:32: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:99:12: error: 'gr_context_type_' was not declared in this scope; did you mean 'gr_context_'? + src/3rdparty/chromium/gpu/command_buffer/service/shared_context_state.h:99:32: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/command_buffer/service/skia_utils.cc:72:18: error: redefinition of 'GrContextOptions gpu::GetDefaultGrContextOptions' + src/3rdparty/chromium/gpu/command_buffer/service/skia_utils.cc:72:45: error: 'GrContextType' was not declared in this scope; did you mean 'ContextType'? + src/3rdparty/chromium/gpu/command_buffer/service/skia_utils.h:49:28: error: 'GrContextType' was not declared in this scope; did you mean 'GrContext'? + src/3rdparty/chromium/gpu/command_buffer/service/webgpu_cmd_validation_autogen.h:14:16: error: 'PowerPreference' was not declared in this scope + src/3rdparty/chromium/gpu/command_buffer/service/webgpu_cmd_validation_autogen.h:14:31: error: template argument 1 is invalid + src/3rdparty/chromium/gpu/command_buffer/service/webgpu_cmd_validation_implementation_autogen.h:14:14: error: 'PowerPreference' does not name a type + src/3rdparty/chromium/gpu/command_buffer/service/webgpu_cmd_validation_implementation_autogen.h:21:24: error: 'valid_power_preference_table' was not declared in this scope + src/3rdparty/chromium/gpu/command_buffer/service/webgpu_cmd_validation_implementation_autogen.h:21:7: error: expression list treated as compound expression in mem-initializer [-fpermissive] + src/3rdparty/chromium/gpu/config/device_perf_info.h:48:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/device_perf_info.h:49:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/device_perf_info.h:50:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/gpu_feature_info.h:62:15: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/gpu/config/gpu_feature_info.h:62:23: error: template argument 1 is invalid + src/3rdparty/chromium/gpu/config/gpu_feature_info.h:62:23: error: template argument 2 is invalid + src/3rdparty/chromium/gpu/config/gpu_feature_info.h:64:15: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/gpu/config/gpu_feature_info.h:64:23: error: template argument 1 is invalid + src/3rdparty/chromium/gpu/config/gpu_feature_info.h:64:23: error: template argument 2 is invalid + src/3rdparty/chromium/gpu/config/gpu_preferences.h:139:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/gpu_preferences.h:142:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/gpu_preferences.h:145:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/gpu_preferences.h:148:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/gpu/config/gpu_preferences.h:212:3: error: 'GrContextType' does not name a type + src/3rdparty/chromium/gpu/config/gpu_preferences.h:215:3: error: 'VulkanImplementationName' does not name a type + src/3rdparty/chromium/gpu/config/gpu_preferences.h:32:12: error: 'VulkanImplementationName' has not been declared + src/3rdparty/chromium/gpu/config/gpu_preferences.h:32:37: error: found ':' in nested-name-specifier, expected '::' + src/3rdparty/chromium/gpu/config/gpu_preferences.h:32:48: error: expected unqualified-id before '{' token + src/3rdparty/chromium/gpu/config/gpu_preferences.h:40:12: error: 'GrContextType' has not been declared + src/3rdparty/chromium/gpu/config/gpu_preferences.h:40:26: error: found ':' in nested-name-specifier, expected '::' + src/3rdparty/chromium/gpu/config/gpu_preferences.h:40:37: error: expected unqualified-id before '{' token + src/3rdparty/chromium/gpu/config/gpu_util.cc:590:76: error: cannot convert 'const std::vector<unsigned int>' to 'int' in assignment + src/3rdparty/chromium/gpu/config/gpu_util.cc:661:31: error: cannot convert 'const std::vector<unsigned int>' to 'int' in assignment + src/3rdparty/chromium/gpu/config/gpu_util.cc:716:53: error: no match for call to '(std::string {aka std::__cxx11::basic_string<char>}) (const gpu::GPUInfo&)' + src/3rdparty/chromium/gpu/config/gpu_util.cc:821:60: error: 'gpu::IntelGpuSeriesType gpu::GetIntelGpuSeriesType(uint32_t, uint32_t)' redeclared as different kind of entity + src/3rdparty/chromium/gpu/config/gpu_util.cc:904:73: error: 'std::string gpu::GetIntelGpuGeneration(uint32_t, uint32_t)' redeclared as different kind of entity + src/3rdparty/chromium/gpu/config/gpu_util.cc:906:58: error: 'gpu::GetIntelGpuSeriesType' cannot be used as a function + src/3rdparty/chromium/gpu/config/gpu_util.cc:945:65: error: 'gpu::IntelGpuGeneration gpu::GetIntelGpuGeneration(const GPUInfo&)' redeclared as different kind of entity + src/3rdparty/chromium/gpu/config/gpu_util.cc:959:53: error: no match for call to '(std::string {aka std::__cxx11::basic_string<char>}) (const uint32_t&, uint32_t&)' + src/3rdparty/chromium/gpu/config/gpu_util.h:79:53: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/gpu/config/gpu_util.h:80:53: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/gpu/config/gpu_util.h:80:71: error: expression list treated as compound expression in initializer [-fpermissive] + src/3rdparty/chromium/gpu/config/gpu_util.h:82:46: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/gpu/config/gpu_util.h:83:46: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/gpu/config/gpu_util.h:86:76: error: 'gpu::IntelGpuGeneration gpu::GetIntelGpuGeneration(const GPUInfo&)' redeclared as different kind of entity + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:128:10: error: 'struct gpu::GpuPreferences' has no member named 'force_gpu_mem_available_bytes' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:129:10: error: 'struct gpu::GpuPreferences' has no member named 'force_gpu_mem_discardable_limit_bytes' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:131:10: error: 'struct gpu::GpuPreferences' has no member named 'force_max_texture_size' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:132:10: error: 'struct gpu::GpuPreferences' has no member named 'gpu_program_cache_size' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:161:40: error: 'struct gpu::GpuPreferences' has no member named 'gr_context_type' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:163:36: error: 'struct gpu::GpuPreferences' has no member named 'use_vulkan' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:23:51: error: 'GrContextType' is not a member of 'gpu'; did you mean 'gpu::mojom::GrContextType'? + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:23:64: error: template argument 2 is invalid + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:265:18: error: 'const struct gpu::GpuPreferences' has no member named 'force_gpu_mem_available_bytes' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:269:18: error: 'const struct gpu::GpuPreferences' has no member named 'force_gpu_mem_discardable_limit_bytes' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:272:18: error: 'const struct gpu::GpuPreferences' has no member named 'force_max_texture_size' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:275:18: error: 'const struct gpu::GpuPreferences' has no member named 'gpu_program_cache_size' + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:325:15: error: 'GrContextType' in namespace 'gpu' does not name a type + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:328:15: error: 'VulkanImplementationName' in namespace 'gpu' does not name a type + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:60:24: error: 'VulkanImplementationName' is not a member of 'gpu'; did you mean 'gpu::mojom::VulkanImplementationName'? + src/3rdparty/chromium/gpu/ipc/common/gpu_preferences_mojom_traits.h:60:48: error: template argument 2 is invalid + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:106:11: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:110:10: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:114:10: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:144:3: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:148:3: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:25:31: error: class 'net::CookieInclusionStatus' does not have any field named 'warning_reasons_' + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:25:7: error: class 'net::CookieInclusionStatus' does not have any field named 'exclusion_reasons_' + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:265:28: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:266:26: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:272:19: error: 'class net::CookieInclusionStatus' has no member named 'exclusion_reasons_'; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:272:41: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:278:19: error: 'class net::CookieInclusionStatus' has no member named 'warning_reasons_'; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:278:39: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:28:7: error: class 'net::CookieInclusionStatus' does not have any field named 'exclusion_reasons_' + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:32:7: error: class 'net::CookieInclusionStatus' does not have any field named 'exclusion_reasons_' + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:33:7: error: class 'net::CookieInclusionStatus' does not have any field named 'warning_reasons_' + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:37:10: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:37:38: error: 'const class net::CookieInclusionStatus' has no member named 'exclusion_reasons_'; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:38:10: error: 'warning_reasons_' was not declared in this scope; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:38:36: error: 'const class net::CookieInclusionStatus' has no member named 'warning_reasons_'; did you mean 'WarningReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:47:10: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:51:10: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:56:10: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:60:3: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:67:3: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:74:7: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.cc:86:7: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'ExclusionReason'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:228:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:229:30: error: 'uint32_t' has not been declared + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:230:5: error: 'exclusion_reasons_' was not declared in this scope; did you mean 'exclusion_reasons'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:233:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:234:28: error: 'uint32_t' has not been declared + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:235:5: error: 'warning_reasons_' was not declared in this scope; did you mean 'warning_reasons'? + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:266:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/net/cookies/cookie_inclusion_status.h:269:3: error: 'uint32_t' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:111:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:115:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:123:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:132:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:135:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:138:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:144:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:151:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:155:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:159:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:164:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:169:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:173:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:177:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:182:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:187:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:192:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:196:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:200:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:204:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:208:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:216:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:220:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:224:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:228:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:237:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:247:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:251:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:259:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:263:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:268:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:271:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:275:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:278:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:283:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:290:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:293:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:298:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:301:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:304:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:308:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:313:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:316:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:320:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:325:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:330:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:334:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:337:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:340:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:343:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:636:14: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:82:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:83:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:84:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:85:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:86:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:87:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:88:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderLang.h:97:7: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h:125:70: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/angle/include/GLSLANG/ShaderVars.h:19:26: error: 'uint64_t' does not name a type + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:201:15: error: 'uint32_t' does not name a type + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:66: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:66: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:66: error: expected '(' before 'uint8_t' + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:66: error: expected '>' before 'uint8_t' + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:75: error: expected primary-expression before '>' token + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:78: error: 'kEndiannessTest' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:202:99: error: expected ')' before ';' token + src/3rdparty/chromium/third_party/angle/src/common/angleutils.h:54:14: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:124:22: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:129:27: error: 'SH_REMOVE_INVARIANT_AND_CENTROID_FOR_ESSL3' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1385:40: error: 'ShCompileOptions' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1385:6: error: 'bool sh::TCompiler::shouldCollectVariables' is not a static data member of 'class sh::TCompiler' + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1478:29: error: 'ShCompileOptions' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1478:6: error: variable or field 'writePragma' declared void + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1528:30: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1538:26: error: 'SH_INITIALIZE_BUILTINS_FOR_INSTANCED_MULTIVIEW' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:1543:49: error: 'SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:304:7: error: class 'sh::TCompiler' does not have any field named 'mCompileOptions' + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:309:52: error: 'ShCompileOptions' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:309:6: error: 'bool sh::TCompiler::shouldRunLoopAndIndexingValidation' is not a static data member of 'class sh::TCompiler' + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:336:48: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:343:48: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:346:5: error: 'mCompileOptions' was not declared in this scope; did you mean 'compileOptions'? + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:358:54: error: 'SH_EMULATE_GL_DRAW_ID' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:369:27: error: 'SH_EMULATE_GL_BASE_VERTEX_BASE_INSTANCE' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:381:26: error: 'SH_SOURCE_PATH' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:506:10: error: 'mCompileOptions' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:506:28: error: 'SH_VALIDATE_AST' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:521:37: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:524:27: error: 'SH_LIMIT_EXPRESSION_COMPLEXITY' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:563:27: error: 'SH_INITIALIZE_UNINITIALIZED_LOCALS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:564:55: error: 'SH_DONT_USE_LOOPS_TO_INITIALIZE_VARIABLES' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:582:27: error: 'SH_LIMIT_CALL_STACK_DEPTH' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:595:28: error: 'SH_DONT_PRUNE_UNUSED_FUNCTIONS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:627:26: error: 'SH_CLAMP_INDIRECT_ARRAY_BOUNDS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:632:27: error: 'SH_INITIALIZE_BUILTINS_FOR_INSTANCED_MULTIVIEW' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:645:26: error: 'SH_REWRITE_DO_WHILE_LOOPS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:653:26: error: 'SH_ADD_AND_TRUE_TO_LOOP_CONDITION' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:661:26: error: 'SH_UNFOLD_SHORT_CIRCUIT' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:669:26: error: 'SH_REMOVE_POW_WITH_CONSTANT_EXPONENT' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:677:26: error: 'SH_REGENERATE_STRUCT_NAMES' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:690:31: error: 'SH_EMULATE_GL_DRAW_ID' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:703:31: error: 'SH_EMULATE_GL_BASE_VERTEX_BASE_INSTANCE' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:707:67: error: 'SH_ADD_BASE_VERTEX_TO_VERTEX_ID' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:725:48: error: 'SH_SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:802:30: error: 'SH_USE_UNUSED_STANDARD_SHARED_BLOCKS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:809:30: error: 'SH_ENFORCE_PACKING_RESTRICTIONS' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:820:31: error: 'SH_INIT_OUTPUT_VARIABLES' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:843:28: error: 'SH_INIT_GL_POSITION' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:894:66: error: 'SH_CLAMP_POINT_SIZE' was not declared in this scope; did you mean 'GL_POINT_SIZE'? + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:902:68: error: 'SH_CLAMP_FRAG_DEPTH' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:910:26: error: 'SH_REWRITE_REPEATED_ASSIGN_TO_SWIZZLED' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:918:26: error: 'SH_REWRITE_VECTOR_SCALAR_ARITHMETIC' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:926:26: error: 'SH_REMOVE_DYNAMIC_INDEXING_OF_SWIZZLED_VECTOR' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:935:26: error: 'SH_EARLY_FRAGMENT_TESTS_OPTIMIZATION' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:949:25: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:959:5: error: 'ShCompileOptions' was not declared in this scope; did you mean 'compileOptionsIn'? + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:965:27: error: 'SH_FLATTEN_PRAGMA_STDGL_INVARIANT_ALL' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:965:9: error: 'compileOptions' was not declared in this scope; did you mean 'compileOptionsIn'? + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:969:69: error: 'compileOptions' was not declared in this scope; did you mean 'compileOptionsIn'? + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:973:30: error: 'SH_INTERMEDIATE_TREE' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:978:30: error: 'SH_OBJECT_CODE' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:991:36: error: 'SH_EMULATE_GL_DRAW_ID' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp:995:36: error: 'SH_EMULATE_GL_BASE_VERTEX_BASE_INSTANCE' was not declared in this scope + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:131:45: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:157:46: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:161:45: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:167:22: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:176:41: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:235:41: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:247:30: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:305:5: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:323:30: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:52:22: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:91:41: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.h:95:18: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/Initialize.h:26:35: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/ParseContext.h:40:19: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/ParseContext.h:620:5: error: 'ShCompileOptions' does not name a type + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorESSL.h:22:38: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorESSL.h:25:37: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorESSL.h:30:33: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.h:22:38: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.h:25:37: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.h:28:33: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorGLSL.h:32:52: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h:29:37: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/TranslatorVulkan.h:39:41: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/angle/src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.h:45:67: error: 'ShCompileOptions' has not been declared + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.cc:48:7: error: class 'google_breakpad::MinidumpDescriptor' does not have any field named 'address_within_principal_mapping_' + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.cc:49:22: error: 'const class google_breakpad::MinidumpDescriptor' has no member named 'address_within_principal_mapping_'; did you mean 'set_address_within_principal_mapping'? + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.cc:74:3: error: 'address_within_principal_mapping_' was not declared in this scope; did you mean 'set_address_within_principal_mapping'? + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.cc:75:18: error: 'const class google_breakpad::MinidumpDescriptor' has no member named 'address_within_principal_mapping_'; did you mean 'set_address_within_principal_mapping'? + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:115:3: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:119:7: error: 'uintptr_t' has not been declared + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:120:5: error: 'address_within_principal_mapping_' was not declared in this scope; did you mean 'address_within_principal_mapping'? + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:171:3: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:57:9: error: class 'google_breakpad::MinidumpDescriptor' does not have any field named 'address_within_principal_mapping_' + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:66:9: error: class 'google_breakpad::MinidumpDescriptor' does not have any field named 'address_within_principal_mapping_' + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:77:9: error: class 'google_breakpad::MinidumpDescriptor' does not have any field named 'address_within_principal_mapping_' + src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h:87:9: error: class 'google_breakpad::MinidumpDescriptor' does not have any field named 'address_within_principal_mapping_' + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:34:14: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:34:25: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:35:20: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:35:31: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:43:27: error: request for member 'data' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:49:27: error: request for member 'data' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:57:44: error: request for member 'data' in '((perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:58:44: error: request for member 'data' in '((perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:64:14: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h:64:25: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:38:9: error: invalid types 'int[size_t {aka long unsigned int}]' for array subscript + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:41:18: error: invalid types 'int[int]' for array subscript + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:41:7: error: invalid types 'int[int]' for array subscript + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:43:18: error: invalid types 'int[int]' for array subscript + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:43:7: error: invalid types 'int[int]' for array subscript + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:51:36: error: request for member 'size' in '((perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:52:16: error: request for member 'data' in '((perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:60:58: error: request for member 'data' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:60:73: error: request for member 'size' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:64:23: error: request for member 'size' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:67:32: error: request for member 'size' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:70:41: error: request for member 'size' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/perfetto/src/base/uuid.cc:71:45: error: request for member 'size' in '((const perfetto::base::Uuid*)this)->perfetto::base::Uuid::data_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:106:38: error: request for member 'empty' in 'criteria.webrtc::RtpDemuxerCriteria::payload_types', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:106:65: error: request for member 'empty' in 'criteria.webrtc::RtpDemuxerCriteria::ssrcs', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:134:33: error: 'begin' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:134:33: error: 'end' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:135:19: error: request for member 'emplace' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sink_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:138:40: error: 'begin' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:138:40: error: 'end' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:139:18: error: request for member 'emplace' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sinks_by_pt_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:188:33: error: 'begin' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:188:33: error: 'end' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:189:45: error: request for member 'find' in '((const webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sink_by_ssrc_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:190:39: error: request for member 'end' in '((const webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sink_by_ssrc_', which is of non-class type 'const int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:217:6: error: no declaration matches 'bool webrtc::RtpDemuxer::AddSink(uint32_t, webrtc::RtpPacketSinkInterface*)' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:26:28: error: request for member 'begin' in '* multimap', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:26:53: error: request for member 'end' in '* multimap', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:281:17: error: invalid types 'int[uint32_t {aka unsigned int}]' for array subscript + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:286:34: error: request for member 'find' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::mid_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:287:28: error: request for member 'end' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::mid_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:28:22: error: request for member 'erase' in '* multimap', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:294:18: error: invalid types 'int[uint32_t {aka unsigned int}]' for array subscript + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:299:35: error: request for member 'find' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::rsid_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:300:29: error: request for member 'end' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::rsid_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:344:43: error: request for member 'find' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sink_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:345:37: error: request for member 'end' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sink_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:353:25: error: no declaration matches 'webrtc::RtpPacketSinkInterface* webrtc::RtpDemuxer::ResolveSinkByMid(const std::string&, uint32_t)' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:364:25: error: no declaration matches 'webrtc::RtpPacketSinkInterface* webrtc::RtpDemuxer::ResolveSinkByMidRsid(const std::string&, const std::string&, uint32_t)' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:377:25: error: no declaration matches 'webrtc::RtpPacketSinkInterface* webrtc::RtpDemuxer::ResolveSinkByRsid(const std::string&, uint32_t)' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:388:25: error: no declaration matches 'webrtc::RtpPacketSinkInterface* webrtc::RtpDemuxer::ResolveSinkByPayloadType(uint8_t, uint32_t)' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:404:6: error: no declaration matches 'void webrtc::RtpDemuxer::AddSsrcSinkBinding(uint32_t, webrtc::RtpPacketSinkInterface*)' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:40:23: error: request for member 'begin' in '* map', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:40:43: error: request for member 'end' in '* map', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:42:17: error: request for member 'erase' in '* map', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:61:20: error: 'begin' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:61:20: error: 'end' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:67:18: error: 'begin' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:67:18: error: 'end' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:98:28: error: request for member 'empty' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sink_by_ssrc_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.cc:99:27: error: request for member 'empty' in '((webrtc::RtpDemuxer*)this)->webrtc::RtpDemuxer::sinks_by_pt_', which is of non-class type 'int' + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:121:16: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:152:44: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:155:48: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:157:45: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:158:52: error: 'uint8_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:159:52: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:173:12: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:173:45: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:173:45: error: template argument 3 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:173:45: error: template argument 4 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:174:17: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:174:49: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:174:49: error: template argument 3 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:174:49: error: template argument 4 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:188:12: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:188:33: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:188:33: error: template argument 3 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:188:33: error: template argument 4 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:189:12: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:189:33: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:189:33: error: template argument 3 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:189:33: error: template argument 4 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:192:27: error: 'uint32_t' has not been declared + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:42:12: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:42:20: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:42:20: error: template argument 2 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:42:20: error: template argument 3 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:45:12: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:45:19: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:45:19: error: template argument 2 is invalid + src/3rdparty/chromium/third_party/webrtc/call/rtp_demuxer.h:45:19: error: template argument 3 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:214:37: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:214:44: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:214:44: error: template argument 2 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:216:41: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:216:41: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:216:41: error: template argument 2 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:216:50: error: no matching function for call to 'rtc::Base64::DecodeFromArrayTemplate<<expression error> >(const char*&, size_t&, rtc::Base64::DecodeFlags&, int*&, size_t*&)' + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.cc:216:50: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h:77:43: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h:77:50: error: template argument 1 is invalid + src/3rdparty/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h:77:50: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/address-region.h:22:16: error: 'class v8::base::AddressRegion' has no member named 'begin' + src/3rdparty/chromium/v8/src/base/address-region.h:22:28: error: 'class v8::base::AddressRegion' has no member named 'begin' + src/3rdparty/chromium/v8/src/base/address-region.h:26:19: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/v8/src/base/address-region.h:30:34: error: expected ')' before 'address' + src/3rdparty/chromium/v8/src/base/address-region.h:33:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/address-region.h:34:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/address-region.h:41:17: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/address-region.h:42:36: error: 'Address' was not declared in this scope; did you mean 'address'? + src/3rdparty/chromium/v8/src/base/address-region.h:42:43: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/address-region.h:43:23: error: 'begin' was not declared in this scope; did you mean 'std::begin'? + src/3rdparty/chromium/v8/src/base/address-region.h:46:17: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/address-region.h:47:36: error: 'Address' was not declared in this scope; did you mean 'address'? + src/3rdparty/chromium/v8/src/base/address-region.h:47:43: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/address-region.h:48:13: error: expected ';' before 'offset' + src/3rdparty/chromium/v8/src/base/address-region.h:49:13: error: 'offset' was not declared in this scope; did you mean 'off_t'? + src/3rdparty/chromium/v8/src/base/address-region.h:53:28: error: 'class v8::base::AddressRegion' has no member named 'address_' + src/3rdparty/chromium/v8/src/base/address-region.h:57:5: error: 'Address' was not declared in this scope + src/3rdparty/chromium/v8/src/base/address-region.h:58:13: error: expected ';' before 'overlap_end' + src/3rdparty/chromium/v8/src/base/address-region.h:60:13: error: 'overlap_start' was not declared in this scope + src/3rdparty/chromium/v8/src/base/address-region.h:60:28: error: 'overlap_end' was not declared in this scope + src/3rdparty/chromium/v8/src/base/address-region.h:60:55: error: could not convert '{<expression error>, <expression error>}' from '<brace-enclosed initializer list>' to 'v8::base::AddressRegion' + src/3rdparty/chromium/v8/src/base/address-region.h:64:12: error: 'address_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/address-region.h:64:30: error: 'class v8::base::AddressRegion' has no member named 'address_' + src/3rdparty/chromium/v8/src/base/address-region.h:68:12: error: 'address_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/address-region.h:68:30: error: 'class v8::base::AddressRegion' has no member named 'address_' + src/3rdparty/chromium/v8/src/base/address-region.h:72:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/address-region.h:83:23: error: expected ';' before '{' token + src/3rdparty/chromium/v8/src/base/address-region.h:83:23: error: expected primary-expression before '{' token + src/3rdparty/chromium/v8/src/base/address-region.h:83:56: error: 'Address' in 'class v8::base::AddressRegion' does not name a type + src/3rdparty/chromium/v8/src/base/address-region.h:83:56: error: 'Address' is not a member of 'v8::base::AddressRegion' + src/3rdparty/chromium/v8/src/base/address-region.h:84:52: error: expected ';' before '}' token + src/3rdparty/chromium/v8/src/base/address-region.h:88:55: error: 'class v8::base::AddressRegion' has no member named 'begin' + src/3rdparty/chromium/v8/src/base/logging.h:176:34: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/logging.h:176:41: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/logging.h:176:51: error: 'uint16_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/logging.h:178:61: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/logging.h:178:61: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/logging.h:178:62: error: '<declaration error>' is not a template [-fpermissive] + src/3rdparty/chromium/v8/src/base/logging.h:179:40: error: 'int_t' does not name a type; did you mean 'wint_t'? + src/3rdparty/chromium/v8/src/base/macros.h:104:30: error: static assertion failed: source and dest must be same size + src/3rdparty/chromium/v8/src/base/macros.h:107:17: error: invalid conversion from 'long int (*)()' to 'const void*' [-fpermissive] + src/3rdparty/chromium/v8/src/base/macros.h:329:8: error: 'uint64_t' does not name a type + src/3rdparty/chromium/v8/src/base/macros.h:335:25: error: 'intptr_t' has not been declared + src/3rdparty/chromium/v8/src/base/macros.h:341:11: error: 'intptr_t' has not been declared + src/3rdparty/chromium/v8/src/base/macros.h:345:17: error: 'm' was not declared in this scope + src/3rdparty/chromium/v8/src/base/macros.h:351:23: error: 'intptr_t' has not been declared + src/3rdparty/chromium/v8/src/base/macros.h:355:11: error: 'intptr_t' has not been declared + src/3rdparty/chromium/v8/src/base/macros.h:358:20: error: 'm' was not declared in this scope + src/3rdparty/chromium/v8/src/base/macros.h:369:51: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/v8/src/base/macros.h:370:47: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.cc:124:18: error: 'Address' in 'class v8::base::RegionAllocator' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.cc:143:18: error: 'Address' in 'class v8::base::RegionAllocator' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.cc:162:40: error: 'Address' was not declared in this scope + src/3rdparty/chromium/v8/src/base/region-allocator.cc:162:6: error: 'bool v8::base::RegionAllocator::AllocateRegionAt' is not a static data member of 'class v8::base::RegionAllocator' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:162:74: error: expected primary-expression before 'size' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:163:52: error: expected primary-expression before 'region_state' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:163:64: error: expression list treated as compound expression in initializer [-fpermissive] + src/3rdparty/chromium/v8/src/base/region-allocator.cc:203:36: error: 'Address' was not declared in this scope + src/3rdparty/chromium/v8/src/base/region-allocator.cc:203:60: error: expected primary-expression before 'new_size' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:203:68: error: expression list treated as compound expression in initializer [-fpermissive] + src/3rdparty/chromium/v8/src/base/region-allocator.cc:203:8: error: 'size_t v8::base::RegionAllocator::TrimRegion' is not a static data member of 'class v8::base::RegionAllocator' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:21:33: error: expected constructor, destructor, or type conversion before '(' token + src/3rdparty/chromium/v8/src/base/region-allocator.cc:255:37: error: 'Address' was not declared in this scope + src/3rdparty/chromium/v8/src/base/region-allocator.cc:255:8: error: 'size_t v8::base::RegionAllocator::CheckRegion' is not a static data member of 'class v8::base::RegionAllocator' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:267:30: error: 'Address' was not declared in this scope + src/3rdparty/chromium/v8/src/base/region-allocator.cc:267:54: error: expected primary-expression before 'size' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:267:58: error: expression list treated as compound expression in initializer [-fpermissive] + src/3rdparty/chromium/v8/src/base/region-allocator.cc:267:6: error: 'bool v8::base::RegionAllocator::IsFree' is not a static data member of 'class v8::base::RegionAllocator' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:294:16: error: 'begin' was not declared in this scope; did you mean 'std::begin'? + src/3rdparty/chromium/v8/src/base/region-allocator.cc:294:35: error: 'end' was not declared in this scope; did you mean 'std::end'? + src/3rdparty/chromium/v8/src/base/region-allocator.cc:301:33: error: 'begin' was not declared in this scope; did you mean 'std::begin'? + src/3rdparty/chromium/v8/src/base/region-allocator.cc:301:52: error: 'end' was not declared in this scope; did you mean 'std::end'? + src/3rdparty/chromium/v8/src/base/region-allocator.cc:49:42: error: 'std::set<v8::base::RegionAllocator::Region*, v8::base::RegionAllocator::AddressEndOrder>::iterator v8::base::RegionAllocator::FindRegion' is not a static data member of 'class v8::base::RegionAllocator' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:50:22: error: expected ',' or ';' before '{' token + src/3rdparty/chromium/v8/src/base/region-allocator.cc:50:5: error: 'Address' was not declared in this scope + src/3rdparty/chromium/v8/src/base/region-allocator.cc:69:41: error: no matching function for call to 'v8::base::RegionAllocator::Region::Region(int, size_t&, v8::base::RegionAllocator::RegionState)' + src/3rdparty/chromium/v8/src/base/region-allocator.cc:94:26: error: 'class v8::base::RegionAllocator::Region' has no member named 'begin'; did you mean 'Region'? + src/3rdparty/chromium/v8/src/base/region-allocator.h:104:19: error: expected ')' before 'address' + src/3rdparty/chromium/v8/src/base/region-allocator.h:138:17: error: 'const class v8::base::RegionAllocator::Region' has no member named 'end' + src/3rdparty/chromium/v8/src/base/region-allocator.h:138:28: error: 'const class v8::base::RegionAllocator::Region' has no member named 'end' + src/3rdparty/chromium/v8/src/base/region-allocator.h:148:17: error: 'const class v8::base::RegionAllocator::Region' has no member named 'begin'; did you mean 'Region'? + src/3rdparty/chromium/v8/src/base/region-allocator.h:148:30: error: 'const class v8::base::RegionAllocator::Region' has no member named 'begin'; did you mean 'Region'? + src/3rdparty/chromium/v8/src/base/region-allocator.h:155:38: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:28:19: error: 'uintptr_t' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.h:30:20: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.h:41:26: error: expected ')' before 'address' + src/3rdparty/chromium/v8/src/base/region-allocator.h:46:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.h:48:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.h:59:25: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:65:21: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:71:21: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:75:22: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:78:15: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:80:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.h:81:3: error: 'Address' does not name a type + src/3rdparty/chromium/v8/src/base/region-allocator.h:84:17: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/region-allocator.h:88:17: error: 'Address' has not been declared + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:109:16: error: 'state0_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:109:26: error: 'state1_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:115:16: error: 'state0_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:115:26: error: 'state1_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:138:23: error: no declaration matches 'std::vector<long unsigned int> v8::base::RandomNumberGenerator::NextSample(uint64_t, size_t)' + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:171:23: error: no declaration matches 'std::vector<long unsigned int> v8::base::RandomNumberGenerator::NextSampleSlow(uint64_t, size_t, const std::unordered_set<long unsigned int>&)' + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:209:16: error: 'state0_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:209:26: error: 'state1_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:216:13: error: 'MurmurHash3' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:216:3: error: 'state0_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:217:3: error: 'state1_' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.cc:222:10: error: no declaration matches 'uint64_t v8::base::RandomNumberGenerator::MurmurHash3(uint64_t)' + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:100:15: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:100:23: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:100:23: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:101:7: error: 'uint64_t' has not been declared + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:102:32: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:102:40: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:102:40: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:102:40: error: template argument 3 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:102:40: error: template argument 4 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:103:30: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:103:38: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:103:38: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:103:38: error: template argument 3 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:103:38: error: template argument 4 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:111:33: error: 'uint64_t' has not been declared + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:113:18: error: 'uint64_t' does not name a type + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:114:5: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:119:34: error: 'uint64_t' has not been declared + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:119:52: error: 'uint64_t' has not been declared + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:120:5: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:121:14: error: expected ';' before 's0' + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:122:15: error: 's0' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:123:5: error: 's1' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:130:10: error: 'uint64_t' does not name a type + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:140:3: error: 'uint64_t' does not name a type + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:141:3: error: 'uint64_t' does not name a type + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:90:15: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:90:23: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:90:23: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/base/utils/random-number-generator.h:90:36: error: 'uint64_t' has not been declared + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:28:11: error: 'uint32_t' does not name a type + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:29:11: error: 'uint32_t' does not name a type + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:30:11: error: 'uint32_t' does not name a type + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:32:26: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:35:36: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:35:8: error: redefinition of 'int8_t v8::base::charToDigitDecodeForTesting' + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:38:3: error: 'uint32_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:39:3: error: 'uint64_t' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:46:47: error: 'v8::base::{anonymous}::charToDigitDecode' cannot be used as a function + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:47:26: error: 'shift' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:47:34: error: 'kContinueShift' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:51:21: error: 'kDataMask' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:51:5: error: 'res' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:54:20: error: 'kContinueMask' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.cc:55:11: error: 'res' was not declared in this scope + src/3rdparty/chromium/v8/src/base/vlq-base64.h:14:51: error: 'uint8_t' was not declared in this scope + src/3rdparty/chromium/v8/src/heap/cppgc/object-allocator.h:82:38: error: no matching function for call to 'RoundUp<cppgc::internal::kAllocationGranularity>(size_t)' + src/3rdparty/chromium/v8/src/heap/cppgc/object-allocator.h:93:38: error: no matching function for call to 'RoundUp<cppgc::internal::kAllocationGranularity>(size_t)' + src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.cc:390:26: error: ambiguating new declaration of 'std::__cxx11::basic_string<short unsigned int> v8_inspector::UTF8ToUTF16(const char*, size_t)' + src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h:13:19: error: 'uint16_t' was not declared in this scope + src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h:13:27: error: template argument 1 is invalid + src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h:13:27: error: template argument 2 is invalid + src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h:13:27: error: template argument 3 is invalid + src/3rdparty/chromium/v8/src/inspector/v8-string-conversions.h:14:31: error: 'uint16_t' does not name a type + src/3rdparty/chromium/base/debug/profiler.cc:91:1: error: 'ReturnAddressLocationResolver' does not name a type + src/core/browsing_data_remover_delegate_qt.cpp:61:39: error: 'EmbedderOriginTypeMatcher' in 'class content::BrowsingDataRemoverDelegate' does not name a type + src/core/browsing_data_remover_delegate_qt.cpp:71:6: error: no declaration matches 'void QtWebEngineCore::BrowsingDataRemoverDelegateQt::RemoveEmbedderData(const base::Time&, const base::Time&, uint64_t, content::BrowsingDataFilterBuilder*, uint64_t, base::OnceCallback<void(long unsigned int)>)' + src/core/browsing_data_remover_delegate_qt.cpp:89:26: error: no declaration matches 'std::vector<std::__cxx11::basic_string<char> > QtWebEngineCore::BrowsingDataRemoverDelegateQt::GetDomainsForDeferredCookieDeletion(uint64_t)' + src/core/browsing_data_remover_delegate_qt.h:53:43: error: 'EmbedderOriginTypeMatcher' in 'class content::BrowsingDataRemoverDelegate' does not name a type + src/core/browsing_data_remover_delegate_qt.h:58:9: error: 'uint64_t' has not been declared + src/core/browsing_data_remover_delegate_qt.h:60:9: error: 'uint64_t' has not been declared + src/core/browsing_data_remover_delegate_qt.h:61:55: error: 'uint64_t' was not declared in this scope + src/core/browsing_data_remover_delegate_qt.h:61:64: error: template argument 1 is invalid + src/core/browsing_data_remover_delegate_qt.h:62:66: error: 'uint64_t' has not been declared + gen/gpu/ipc/common/gpu_preferences.mojom-shared.h:453:32: error: 'gr_context_type' is not a member of 'mojo::internal::Serializer<gpu::mojom::GpuPreferencesDataView, gpu::GpuPreferences>::Traits' {aka 'mojo::StructTraits<gpu::mojom::GpuPreferencesDataView, gpu::GpuPreferences>'} + gen/gpu/ipc/common/gpu_preferences.mojom-shared.h:455:27: error: 'use_vulkan' is not a member of 'mojo::internal::Serializer<gpu::mojom::GpuPreferencesDataView, gpu::GpuPreferences>::Traits' {aka 'mojo::StructTraits<gpu::mojom::GpuPreferencesDataView, gpu::GpuPreferences>'} + gen/ui/gfx/x/present.h:223:16: error: declaration of 'x11::Future<void> x11::Present::Pixmap(const PixmapRequest&)' changes meaning of 'Pixmap' [-Wchanges-meaning] + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + chromium/base/debug/profiler.h | 1 + + .../content/public/browser/browsing_data_remover_delegate.h | 1 + + chromium/device/base/synchronization/one_writer_seqlock.cc | 1 + + chromium/device/bluetooth/public/cpp/bluetooth_uuid.h | 1 + + chromium/gpu/command_buffer/common/webgpu_cmd_enums.h | 2 ++ + chromium/gpu/config/device_perf_info.h | 1 + + chromium/gpu/config/gpu_feature_info.h | 1 + + chromium/gpu/config/gpu_preferences.h | 1 + + chromium/net/cookies/cookie_inclusion_status.h | 1 + + .../abseil-cpp/absl/strings/internal/str_format/extension.h | 1 + + chromium/third_party/angle/include/GLSLANG/ShaderVars.h | 1 + + chromium/third_party/angle/src/common/angleutils.h | 1 + + .../breakpad/src/client/linux/handler/minidump_descriptor.h | 1 + + chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h | 1 + + chromium/third_party/webrtc/call/rtp_demuxer.h | 1 + + .../third_party/webrtc/rtc_base/third_party/base64/base64.h | 1 + + chromium/third_party/xcbproto/src/src/present.xml | 2 +- + chromium/v8/src/base/logging.h | 1 + + chromium/v8/src/base/macros.h | 1 + + chromium/v8/src/inspector/v8-string-conversions.h | 1 + + 20 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/chromium/base/debug/profiler.h b/chromium/base/debug/profiler.h +index 1229e06234c..5f15e2aa1f0 100644 +--- a/chromium/base/debug/profiler.h ++++ b/chromium/base/debug/profiler.h +@@ -7,6 +7,7 @@ + + #include <stddef.h> + ++#include <cstdint> + #include <string> + + #include "base/base_export.h" +diff --git a/chromium/content/public/browser/browsing_data_remover_delegate.h b/chromium/content/public/browser/browsing_data_remover_delegate.h +index 3896bc6e786..b93843dc16b 100644 +--- a/chromium/content/public/browser/browsing_data_remover_delegate.h ++++ b/chromium/content/public/browser/browsing_data_remover_delegate.h +@@ -5,6 +5,7 @@ + #ifndef CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + #define CONTENT_PUBLIC_BROWSER_BROWSING_DATA_REMOVER_DELEGATE_H_ + ++#include <cstdint> + #include <string> + #include <vector> + #include "base/callback_forward.h" +diff --git a/chromium/device/base/synchronization/one_writer_seqlock.cc b/chromium/device/base/synchronization/one_writer_seqlock.cc +index 213b6301c05..9332e37e6f8 100644 +--- a/chromium/device/base/synchronization/one_writer_seqlock.cc ++++ b/chromium/device/base/synchronization/one_writer_seqlock.cc +@@ -3,6 +3,7 @@ + // found in the LICENSE file. + + #include "device/base/synchronization/one_writer_seqlock.h" ++#include <cstdint> + + namespace device { + +diff --git a/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h b/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +index 0c27ae71059..b64f82f7548 100644 +--- a/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h ++++ b/chromium/device/bluetooth/public/cpp/bluetooth_uuid.h +@@ -5,6 +5,7 @@ + #ifndef DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + #define DEVICE_BLUETOOTH_PUBLIC_CPP_BLUETOOTH_UUID_H_ + ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h b/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h +index 83615b30c8a..8fa9fb1f6d5 100644 +--- a/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h ++++ b/chromium/gpu/command_buffer/common/webgpu_cmd_enums.h +@@ -5,6 +5,8 @@ + #ifndef GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + #define GPU_COMMAND_BUFFER_COMMON_WEBGPU_CMD_ENUMS_H_ + ++#include <cstdint> ++ + namespace gpu { + namespace webgpu { + +diff --git a/chromium/gpu/config/device_perf_info.h b/chromium/gpu/config/device_perf_info.h +index e33874ba3bd..824a207a224 100644 +--- a/chromium/gpu/config/device_perf_info.h ++++ b/chromium/gpu/config/device_perf_info.h +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_DEVICE_PERF_INFO_H_ + #define GPU_CONFIG_DEVICE_PERF_INFO_H_ + ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/gpu/config/gpu_feature_info.h b/chromium/gpu/config/gpu_feature_info.h +index 027f1a5af3e..70759b2ae47 100644 +--- a/chromium/gpu/config/gpu_feature_info.h ++++ b/chromium/gpu/config/gpu_feature_info.h +@@ -5,6 +5,7 @@ + #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_ + #define GPU_CONFIG_GPU_FEATURE_INFO_H_ + ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/gpu/config/gpu_preferences.h b/chromium/gpu/config/gpu_preferences.h +index 6b8587151d6..57bda1f99d3 100644 +--- a/chromium/gpu/config/gpu_preferences.h ++++ b/chromium/gpu/config/gpu_preferences.h +@@ -6,6 +6,7 @@ + #define GPU_CONFIG_GPU_PREFERENCES_H_ + + #include <stddef.h> ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/net/cookies/cookie_inclusion_status.h b/chromium/net/cookies/cookie_inclusion_status.h +index 9e506b55501..cfb03bfe2b3 100644 +--- a/chromium/net/cookies/cookie_inclusion_status.h ++++ b/chromium/net/cookies/cookie_inclusion_status.h +@@ -5,6 +5,7 @@ + #ifndef NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + #define NET_COOKIES_COOKIE_INCLUSION_STATUS_H_ + ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h b/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +index a9b9e137deb..6f1122c42b1 100644 +--- a/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h ++++ b/chromium/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +@@ -19,6 +19,7 @@ + #include <limits.h> + + #include <cstddef> ++#include <cstdint> + #include <cstring> + #include <ostream> + +diff --git a/chromium/third_party/angle/include/GLSLANG/ShaderVars.h b/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +index 9911546b90d..48b660db36b 100644 +--- a/chromium/third_party/angle/include/GLSLANG/ShaderVars.h ++++ b/chromium/third_party/angle/include/GLSLANG/ShaderVars.h +@@ -12,6 +12,7 @@ + + #include <algorithm> + #include <array> ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/third_party/angle/src/common/angleutils.h b/chromium/third_party/angle/src/common/angleutils.h +index f669d7df308..fb9a44225c4 100644 +--- a/chromium/third_party/angle/src/common/angleutils.h ++++ b/chromium/third_party/angle/src/common/angleutils.h +@@ -18,6 +18,7 @@ + #include <climits> + #include <cstdarg> + #include <cstddef> ++#include <cstdint> + #include <set> + #include <sstream> + #include <string> +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h +index c7e4f2b3787..e491a1f6845 100644 +--- a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h ++++ b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/minidump_descriptor.h +@@ -33,6 +33,7 @@ + #include <assert.h> + #include <sys/types.h> + ++#include <cstdint> + #include <string> + + #include "client/linux/handler/microdump_extra_info.h" +diff --git a/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h b/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h +index 1b4c53815bc..472042fabc4 100644 +--- a/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h ++++ b/chromium/third_party/perfetto/include/perfetto/ext/base/uuid.h +@@ -18,6 +18,7 @@ + #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_ + + #include <array> ++#include <cstdint> + #include <string> + + #include "perfetto/ext/base/optional.h" +diff --git a/chromium/third_party/webrtc/call/rtp_demuxer.h b/chromium/third_party/webrtc/call/rtp_demuxer.h +index 3aa7e9df268..3cfc8d6a3e9 100644 +--- a/chromium/third_party/webrtc/call/rtp_demuxer.h ++++ b/chromium/third_party/webrtc/call/rtp_demuxer.h +@@ -11,6 +11,7 @@ + #ifndef CALL_RTP_DEMUXER_H_ + #define CALL_RTP_DEMUXER_H_ + ++#include <cstdint> + #include <map> + #include <set> + #include <string> +diff --git a/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h b/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h +index 7a936f23e78..21951a1d240 100644 +--- a/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h ++++ b/chromium/third_party/webrtc/rtc_base/third_party/base64/base64.h +@@ -12,6 +12,7 @@ + #ifndef RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + #define RTC_BASE_THIRD_PARTY_BASE64_BASE64_H_ + ++#include <cstdint> + #include <string> + #include <vector> + +diff --git a/chromium/third_party/xcbproto/src/src/present.xml b/chromium/third_party/xcbproto/src/src/present.xml +index fb06e73f02f..f20c11eb2c0 100644 +--- a/chromium/third_party/xcbproto/src/src/present.xml ++++ b/chromium/third_party/xcbproto/src/src/present.xml +@@ -89,7 +89,7 @@ OF THIS SOFTWARE. + </reply> + </request> + +- <request name="Pixmap" opcode="1"> ++ <request name="PresentPixmap" opcode="1"> + <required_start_align align="8" /> + <field type="WINDOW" name="window" /> + <field type="PIXMAP" name="pixmap" /> +diff --git a/chromium/v8/src/base/logging.h b/chromium/v8/src/base/logging.h +index fe39f988225..dbe130581cb 100644 +--- a/chromium/v8/src/base/logging.h ++++ b/chromium/v8/src/base/logging.h +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_LOGGING_H_ + #define V8_BASE_LOGGING_H_ + ++#include <cstdint> + #include <cstring> + #include <sstream> + #include <string> +diff --git a/chromium/v8/src/base/macros.h b/chromium/v8/src/base/macros.h +index 37cab78f08f..4220eacbbbf 100644 +--- a/chromium/v8/src/base/macros.h ++++ b/chromium/v8/src/base/macros.h +@@ -5,6 +5,7 @@ + #ifndef V8_BASE_MACROS_H_ + #define V8_BASE_MACROS_H_ + ++#include <cstdint> + #include <limits> + #include <type_traits> + +diff --git a/chromium/v8/src/inspector/v8-string-conversions.h b/chromium/v8/src/inspector/v8-string-conversions.h +index c1d69c18f0a..eb33c6816a5 100644 +--- a/chromium/v8/src/inspector/v8-string-conversions.h ++++ b/chromium/v8/src/inspector/v8-string-conversions.h +@@ -5,6 +5,7 @@ + #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + ++#include <cstdint> + #include <string> + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-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 e1624cb9..27b7d16a 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0015-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,4 +1,4 @@ -From d6a03a1de746c5fc460f3e63fe2ceec050663da4 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 @@ -7,6 +7,7 @@ Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not 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/recipes-qt/qt5/qtwebengine/chromium/0014-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch new file mode 100644 index 00000000..302c5130 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0014-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch @@ -0,0 +1,74 @@ +From c19489849ce57e54370dfad51ab0e1395d6dd62c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net> +Date: Sun, 16 Jul 2023 18:18:02 +0300 +Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift + instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/effadce6c756247ea8bae32dc13bb3e6f464f0eb] +Signed-off-by: James Almer <jamrial@gmail.com> +--- + .../ffmpeg/libavcodec/x86/mathops.h | 26 ++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h b/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h +index 6298f5ed198..ca7e2dffc10 100644 +--- a/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h ++++ b/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch deleted file mode 100644 index 7708a4c0..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch +++ /dev/null @@ -1,139 +0,0 @@ -From d073427b25915e1784c3d74296b68fef0076ceb0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Mon, 20 Apr 2020 23:56:48 +0200 -Subject: [PATCH] chromium: Fix sandbox 'Aw, snap' for syscalls 403 and 407 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Taken as is from meta-browser. Saw my application freeze for syscall 0407 -trouble: - -| ../../../../git/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407 - -Original commit message: - -* syscall 403: reported by ArchLinux users [1-2] -* syscall 407: reported by me [3] - -Looking at [4-5] it seems that glibc (>=2.31?) introduced extra syscalls for -32Bit systems to handle time64: - -* __NR_clock_gettime -> __NR_clock_gettime64 -* __NR_clock_nanosleep -> __NR_clock_nanosleep_time64 - -To fix -| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403 -| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407 - -we handle new systemcalls in the same way as 64bit systems do and 32bit systems -did before glibc 2.31. - -[1] https://bugs.archlinux32.org/index.php?do=details&task_id=105 -[2] https://bbs.archlinux32.org/viewtopic.php?id=2897 -[3] https://github.com/OSSystems/meta-browser/issues/357 -[4] https://sourceware.org/git/?p=glibc.git;a=commit;h=2e44b10b42d68d9887ccab17b76db5d7bbae4fb6 -[5] https://github.com/bminor/glibc/blob/019d828669df966dc4ef2684fce0b1c17bef9aae/sysdeps/unix/sysv/linux/clock_gettime.c#L30 - -Upstream Status: Pending [Have no idea where to send this] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - .../sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc | 9 ++++++++- - .../syscall_parameters_restrictions_unittests.cc | 6 ++++++ - .../sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc | 6 ++++++ - .../sandbox/linux/system_headers/arm_linux_syscalls.h | 8 ++++++++ - .../sandbox/linux/system_headers/mips_linux_syscalls.h | 8 ++++++++ - 5 files changed, 36 insertions(+), 1 deletion(-) - -diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -index 712f9699a94..2a80dd2d2b3 100644 ---- a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -148,7 +148,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, - return Allow(); - #endif - -- if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) { -+ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep -+#if defined(__NR_clock_gettime64) -+ || sysno == __NR_clock_gettime64 -+#endif -+#if defined(__NR_clock_nanosleep_time64) -+ || sysno == __NR_clock_nanosleep_time64 -+#endif -+ ) { - return RestrictClockID(); - } - -diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc -index b6c8c637746..81972a9d998 100644 ---- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc -+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc -@@ -60,6 +60,12 @@ class RestrictClockIdPolicy : public bpf_dsl::Policy { - case __NR_clock_gettime: - case __NR_clock_getres: - case __NR_clock_nanosleep: -+#if defined(__NR_clock_nanosleep_time64) -+ case __NR_clock_nanosleep_time64: -+#endif -+#if defined(__NR_clock_gettime64) -+ case __NR_clock_gettime64: -+#endif - return RestrictClockID(); - default: - return Allow(); -diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index d9d18822f67..0db8745cb57 100644 ---- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int sysno) { - // filtered by RestrictClokID(). - case __NR_clock_gettime: // Parameters filtered by RestrictClockID(). - case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID(). -+#if defined(__NR_clock_gettime64) -+ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID(). -+#endif -+#if defined(__NR_clock_nanosleep_time64) -+ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID(). -+#endif - case __NR_clock_settime: // Privileged. - #if defined(__i386__) || \ - (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -diff --git a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -index 1addd53843c..5de2162f981 100644 ---- a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -+++ b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h -@@ -1385,6 +1385,14 @@ - #define __NR_memfd_create (__NR_SYSCALL_BASE+385) - #endif - -+#if !defined(__NR_clock_gettime64) -+#define __NR_clock_gettime64 (__NR_SYSCALL_BASE+403) -+#endif -+ -+#if !defined(__NR_clock_nanosleep_time64) -+#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE+407) -+#endif -+ - // ARM private syscalls. - #if !defined(__ARM_NR_BASE) - #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) -diff --git a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -index ddbf97f3d8b..fa01b3bbc66 100644 ---- a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -+++ b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h -@@ -1433,4 +1433,12 @@ - #define __NR_memfd_create (__NR_Linux + 354) - #endif - -+#if !defined(__NR_clock_gettime64) -+#define __NR_clock_gettime64 (__NR_Linux + 403) -+#endif -+ -+#if !defined(__NR_clock_nanosleep_time64) -+#define __NR_clock_nanosleep_time64 (__NR_Linux + 407) -+#endif -+ - #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_ diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-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 ef45ed08..de9df2a6 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0016-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,24 +1,25 @@ -From 73d501e0503fc5a9a2229933f976c713b6e7f28a 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 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 044bd8d244f..cec43e1d59b 100644 +index 9d12c427bb3..900ab13519f 100644 --- a/chromium/base/process/process_metrics_posix.cc +++ b/chromium/base/process/process_metrics_posix.cc -@@ -110,14 +110,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 BUILDFLAG(USE_TCMALLOC) return minfo.uordblks; @@ -31,7 +32,7 @@ index 044bd8d244f..cec43e1d59b 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 1bf34c9d9ea..00e46d30b3a 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; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-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 7cc717e2..72cf812a 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0017-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,9 +1,10 @@ -From 181e65fb3a39ad4fb08c676b0ee67d887aeb68c7 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/recipes-qt/qt5/qtwebengine/chromium/0018-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 96d5f6c0..e10462aa 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0018-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,4 +1,4 @@ -From 486e9c6aa16c9f2ea69a454bacbb15a11c0f96f2 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 @@ -7,6 +7,7 @@ Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t 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/0019-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch index f01dbc80..2bba01b4 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0019-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 4d4ec444217441b360e0ed7d784558b8acbcd4ab 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 5ea77ef2d27..85343a13905 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) && BUILDFLAG(USE_TCMALLOC) && \ -+#elif defined(__GLIBC__) && BUILDFLAG(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/0021-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 c359002e..ff0a84ca 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0021-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 50a0f95d35c5180ee04fd66ec5135bf020acdad2 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 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 eaa5336c339..18b40d7d005 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 eaa5336c339..18b40d7d005 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 1c014a65019..2670a827aa5 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 1c014a65019..2670a827aa5 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/0022-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 2cdec0e0..ef05aa23 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0022-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 095231f601a93c46408364d9ffd1378a14cc8d83 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/0023-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch index 808cf67a..86757bbd 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0023-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 c24db93fd5fa5728da55448865ba6bb4d6355491 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,10 +25,10 @@ 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 1aaaa1c60d2..f49152fa6ac 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 -@@ -28,7 +28,7 @@ size_t GetUnderestimatedStackSize() { +@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { // FIXME: On Mac OSX and Linux, this method cannot estimate stack size // correctly for the main thread. @@ -36,7 +37,7 @@ index 1aaaa1c60d2..f49152fa6ac 100644 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). -@@ -96,7 +96,7 @@ return Threading::ThreadStackSize(); +@@ -97,7 +97,7 @@ return Threading::ThreadStackSize(); } void* GetStackStart() { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch deleted file mode 100644 index 96eac41d..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a07b5244ac103dd49c3deab81b6bed7589f5384e 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 ef42d5ad67f..626e4c996a5 100644 ---- a/chromium/base/allocator/allocator_shim.cc -+++ b/chromium/base/allocator/allocator_shim.cc -@@ -352,7 +352,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 BUILDFLAG(USE_TCMALLOC) -+#if BUILDFLAG(USE_TCMALLOC) && defined(__GLIBC__) - #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h" - #endif - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0025-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 e4ecf41e..536759d9 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0025-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,4 +1,4 @@ -From 426b9ef79898e82ee04cfbe7c19746bdfd1c92ac 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 @@ -6,14 +6,15 @@ Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to get 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 | 2 ++ + .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac -index 492d09038f9..a6403ed8c3c 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,24 @@ index 492d09038f9..a6403ed8c3c 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..d7d5dcf0e92 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,6 +30,8 @@ #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> 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 +49,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/0026-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch index 1e615637..a925c0d6 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-pread-pwrite.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch @@ -1,4 +1,4 @@ -From 1506681955d4f7a70372cb27bf47dddd1ca00954 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 fd8efdffea6..22a8863031c 100644 +index e4ac22644c0..f56203ccce4 100644 --- a/chromium/third_party/lss/linux_syscall_support.h +++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -1244,6 +1244,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/0027-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 index 97035dc5..f2b0ca0d 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0027-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 @@ -1,4 +1,4 @@ -From 2e220677883ce371119b9b07b2a90ff6bde1b6d3 Mon Sep 17 00:00:00 2001 +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 @@ -25,10 +25,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 7df6892d67e..030ff8896e4 100644 +index 71265568be5..42e0d298045 100644 --- a/chromium/net/socket/udp_socket_posix.cc +++ b/chromium/net/socket/udp_socket_posix.cc -@@ -1199,8 +1199,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( +@@ -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()); diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch deleted file mode 100644 index 786e65d8..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 01c128d575571f525a586fa769debf62826db888 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_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index a98bf787..694446d8 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,11 +12,13 @@ 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 \ @@ -27,10 +29,12 @@ DEPENDS += " \ freetype-native \ gperf-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" @@ -43,7 +47,7 @@ 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 ??= "libevent libpng \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" @@ -59,8 +63,6 @@ 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[jsoncpp] = "-feature-webengine-system-jsoncpp,-no-feature-webengine-system-jsoncpp,jsoncpp" 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" @@ -72,12 +74,12 @@ PACKAGECONFIG[pulseaudio] = "-feature-webengine-pulseaudio,-no-feature-webengine 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 @@ -120,7 +122,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 @@ -128,80 +130,82 @@ 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 = "83-based" +QT_MODULE_BRANCH_CHROMIUM = "87-based" + +QT_MODULE_BRANCH = "5.15" +PV = "5.15.13+git${SRCPV}" # Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc -# 5.15-glibc.meta-qt5.9 +# 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 \ + file://0002-qmake.conf-lower-MODULE_VERSION-to-5.15.X.patch \ " # Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15 -# 5.15.meta-qt5.9 -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 \ +# 5.15.meta-qt5.17 +SRC_URI:append:libc-musl = "\ + file://0003-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \ + file://0004-musl-link-against-libexecinfo.patch \ + file://0005-mkspecs-Allow-builds-with-libc-glibc.patch \ " -# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/83-based-glibc -# 83-based-glibc.meta-qt5.1 +# 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/0003-chromium-fix-build-with-clang.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.patch;patchdir=src/3rdparty \ - file://chromium/0006-chromium-aarch64-skia-build-fix.patch;patchdir=src/3rdparty \ - file://chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ - file://chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ - file://chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ - file://chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ - file://chromium/0011-chromium-Include-cstddef-and-cstdint.patch;patchdir=src/3rdparty \ - file://chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ - file://chromium/0013-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ - file://chromium/0014-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch;patchdir=src/3rdparty \ + file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ + file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ + file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \ + file://chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ + file://chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ + file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ + file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ + file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch;patchdir=src/3rdparty \ + file://chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch;patchdir=src/3rdparty \ + file://chromium/0013-Fix-build-with-gcc-13.patch;patchdir=src/3rdparty \ + file://chromium/0014-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch;patchdir=src/3rdparty \ " -# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/83-based -# 83-based.meta-qt5.1 -SRC_URI_append_libc-musl = "\ - file://chromium/0015-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ - file://chromium/0016-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ - file://chromium/0017-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ - file://chromium/0018-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ - file://chromium/0019-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ - file://chromium/0020-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \ - file://chromium/0021-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ - file://chromium/0022-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ - file://chromium/0023-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ - file://chromium/0024-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \ - file://chromium/0025-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ - file://chromium/0026-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ - file://chromium/0027-chromium-musl-initialize-msghdr-in-a-compatible-mann.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 = "5537ff4437ea7a5f9ea140071343f88bf48deddc" -SRCREV_chromium = "f5a93d251cca15cb24a3acacd2fc0f645513c56d" +SRCREV_qtwebengine = "d15a42baae7141952e91665bed22a7c7cfb54b95" +SRCREV_chromium = "fb66d7ca9641724670c96e999ad5b0fd6eb78d46" 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 fd14851a..70130716 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 -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 = "5e41e564aaf96b7e49403af5099995efbe4cac8e" +SRCREV = "80257933d3bf3a026455d71106e6b3e70dead765" 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 a237d03d..28b0d55e 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 34018c2a61045c58f88e09a12ecd62533aa2c2f1 Mon Sep 17 00:00:00 2001 +From f8390ffbc711e39be3412655ff9ab28f74075f4c 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 bf79b363..b9a66446 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 c4ceb318aa1064bfa677cdd800c52155eb1bed3a Mon Sep 17 00:00:00 2001 +From 02b6ec61436e87751e68936d9298677600d69291 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/0003-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch index ffd8da0f..ccbaed4b 100644 --- a/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch +++ b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch @@ -1,4 +1,4 @@ -From f6576377f8bf2c854d8079b7f309f570b3d2bde4 Mon Sep 17 00:00:00 2001 +From 78da672dc0770273581da8c249c5c294512eb73a 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. @@ -11,15 +11,15 @@ Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h -index 889642cee..05302e6e6 100644 +index 176d5909f..d3356968a 100644 --- a/Source/WTF/wtf/dtoa/utils.h +++ b/Source/WTF/wtf/dtoa/utils.h @@ -49,7 +49,7 @@ defined(__ARMEL__) || \ defined(_MIPS_ARCH_MIPS32R2) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 --#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) -+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) +-#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(RISCV64) ++#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(RISCV64) || CPU(ARM) #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 #elif defined(_M_IX86) || defined(__i386__) #if defined(_WIN32) diff --git a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch index 14cb8aa4..d495bc1d 100644 --- a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch +++ b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch @@ -1,4 +1,4 @@ -From 83aa5b3265d7c9f64e754cb890988cf8a5669ce7 Mon Sep 17 00:00:00 2001 +From fe11ff38c2fd4a88147f6bc9f618a8c538bef711 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 9aed9906e..48638aef4 100644 +index 10f595e77..daaabfc6e 100644 --- a/Source/WebKit/PlatformQt.cmake +++ b/Source/WebKit/PlatformQt.cmake -@@ -512,7 +512,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) +@@ -521,7 +521,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) endif () @@ -26,7 +27,7 @@ index 9aed9906e..48638aef4 100644 set(WebKit_PRI_ARGUMENTS BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" -@@ -737,7 +737,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) +@@ -751,7 +751,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) endif () diff --git a/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-bison37.patch b/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-bison37.patch deleted file mode 100644 index 9262f5fe..00000000 --- a/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-bison37.patch +++ /dev/null @@ -1,52 +0,0 @@ -From d92b11fea65364fefa700249bd3340e0cd4c5b31 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 ---- - 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 5d63b08102eb..9435701c7061 100644 ---- a/Source/WebCore/css/makegrammar.pl -+++ b/Source/WebCore/css/makegrammar.pl -@@ -73,25 +73,6 @@ - } - - 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/0008-Fix-build-with-icu-68.patch b/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-icu-68.patch index 1715c8f3..c2bb60c4 100644 --- a/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch +++ b/recipes-qt/qt5/qtwebkit/0005-Fix-build-with-icu-68.patch @@ -1,4 +1,4 @@ -From 0e94085f74b562bf8edf5418142323785a069454 Mon Sep 17 00:00:00 2001 +From 69f77144eeec90c01754698363e1259f43074b47 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 @@ -120,6 +120,3 @@ index 7aaac48c8..6ac693602 100644 namespace WebCore { // UTF16ContextAware provider --- -2.26.2 - 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 deleted file mode 100644 index 15607c0d..00000000 --- a/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 32eb0352d98fcf325b0a94a4f7e141d746938a4b 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 - --- -2.29.2 - diff --git a/recipes-qt/qt5/qtwebkit/0006-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0006-Riscv-Add-support-for-riscv.patch new file mode 100644 index 00000000..2fd31c74 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0006-Riscv-Add-support-for-riscv.patch @@ -0,0 +1,31 @@ +From 92a3b4d729ae2626ad77f00c2223e23b1f92e003 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> +--- + Source/WTF/wtf/Platform.h | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 7aefa1bab..89d988231 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -354,7 +354,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 + diff --git a/recipes-qt/qt5/qtwebkit/0007-Fix-build-on-mips.patch b/recipes-qt/qt5/qtwebkit/0007-Fix-build-on-mips.patch new file mode 100644 index 00000000..82c9ed5d --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0007-Fix-build-on-mips.patch @@ -0,0 +1,31 @@ +From 580cc23fd90c15259fbb999a8e8d82a93abdcc31 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 89d988231..3746c957a 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/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 deleted file mode 100644 index 4eef3451..00000000 --- a/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch +++ /dev/null @@ -1,32 +0,0 @@ -From df9f6a8c9d59996b52bfdc5ea6f780de517905e5 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())) - --- -2.29.2 - diff --git a/recipes-qt/qt5/qtwebkit/0008-Offlineasm-warnings-with-newer-Ruby-versions.patch b/recipes-qt/qt5/qtwebkit/0008-Offlineasm-warnings-with-newer-Ruby-versions.patch new file mode 100644 index 00000000..7815e96b --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0008-Offlineasm-warnings-with-newer-Ruby-versions.patch @@ -0,0 +1,47 @@ +From 2ff0ffddcc20fae227cb8546841b1b0de6cf3cdb 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/0009-Fix-build-with-gcc-13.patch b/recipes-qt/qt5/qtwebkit/0009-Fix-build-with-gcc-13.patch new file mode 100644 index 00000000..d01fb416 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0009-Fix-build-with-gcc-13.patch @@ -0,0 +1,34 @@ +From 17e3229bb9db2f23c2d7bdd56d09bdd653284146 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/0009-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch deleted file mode 100644 index 2bfb72fe..00000000 --- a/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch +++ /dev/null @@ -1,83 +0,0 @@ -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/0010-webdriver-libatomic.patch b/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch index 39ee847c..42ce33dc 100644 --- a/recipes-qt/qt5/qtwebkit/0010-webdriver-libatomic.patch +++ b/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch @@ -1,4 +1,7 @@ -link with libatomic +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 @@ -6,8 +9,15 @@ lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/Assertions.cpp.o:/usr/include/c++/11.0. | 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) diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index fc9ca922..3e5a7208 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -1,7 +1,9 @@ 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 \ @@ -9,22 +11,22 @@ LIC_FILES_CHKSUM = " \ 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.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.212 +# 5.212.meta-qt5.1 SRC_URI += "\ file://0001-Do-not-skip-build-for-cross-compile.patch \ file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \ file://0003-Fix-build-bug-for-armv32-BE.patch \ file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ - file://0005-Fix-build-with-bison37.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://0005-Fix-build-with-icu-68.patch \ + file://0006-Riscv-Add-support-for-riscv.patch \ + file://0007-Fix-build-on-mips.patch \ + file://0008-Offlineasm-warnings-with-newer-Ruby-versions.patch \ + file://0009-Fix-build-with-gcc-13.patch \ " -SRC_URI_append_riscv32 = " file://0010-webdriver-libatomic.patch " -SRC_URI_append_riscv64 = " file://0010-webdriver-libatomic.patch " +SRC_URI:append:riscv32 = " file://0013-link-with-libatomic.patch" +SRC_URI:append:riscv64 = " file://0013-link-with-libatomic.patch" inherit cmake_qt5 perlnative @@ -34,21 +36,22 @@ inherit python3native # | {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 \ @@ -59,20 +62,20 @@ EXTRA_OECMAKE += " \ -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 " +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE:append:powerpc64le = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE:append:riscv64 = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " # Disable gold on mips64/clang # mips64-yoe-linux-musl-ld.gold: internal error in get_got_page_offset, at ../../gold/mips.cc:6260 # mips-yoe-linux-musl-ld.gold: error: Can't find matching LO16 reloc -EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF " +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)} \ @@ -90,10 +93,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 = "5.212" -SRCREV = "10cd6a106e1c461c774ca166a67b8c835c755ef7" +SRCREV = "ac8ebc6c3a56064f88f5506e5e3783ab7bee2456" diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index c84f7828..b18c7943 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 -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 = "f73735911b2124ef16aa39228bf8f89ee900ba5d" +SRCREV = "6edf8323d14c531b12d5e818aa5923ca411fe6bf" diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb index fcabec7a..98ece14d 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 \ @@ -12,15 +12,15 @@ require qt5-git.inc DEPENDS += "qtbase qtwebengine" COMPATIBLE_MACHINE = "(-)" -COMPATIBLE_MACHINE_x86 = "(.*)" -COMPATIBLE_MACHINE_x86-64 = "(.*)" -COMPATIBLE_MACHINE_armv6 = "(.*)" -COMPATIBLE_MACHINE_armv7a = "(.*)" -COMPATIBLE_MACHINE_armv7ve = "(.*)" -COMPATIBLE_MACHINE_aarch64 = "(.*)" +COMPATIBLE_MACHINE:x86 = "(.*)" +COMPATIBLE_MACHINE:x86-64 = "(.*)" +COMPATIBLE_MACHINE:armv6 = "(.*)" +COMPATIBLE_MACHINE:armv7a = "(.*)" +COMPATIBLE_MACHINE:armv7ve = "(.*)" +COMPATIBLE_MACHINE:aarch64 = "(.*)" python() { if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') } -SRCREV = "800926cc4e0ecfdb37a3b34486403354b66a37a4" +SRCREV = "3d9289d73c5c03ed5b2fe246589d0d81cfdaa22e" diff --git a/recipes-qt/qt5/qtx11extras_git.bb b/recipes-qt/qt5/qtx11extras_git.bb index 8a24f2f7..6f04edd5 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 -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 = "9bb0adeac84da6723cf57a2bb0d0c3b405691a15" +SRCREV = "415ac0d58521be2bb00ef4cecdb16f0b9001e88c" diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb index f5db658d..bc1e6883 100644 --- a/recipes-qt/qt5/qtxmlpatterns_git.bb +++ b/recipes-qt/qt5/qtxmlpatterns_git.bb @@ -3,7 +3,7 @@ require qt5-git.inc require qt5-ptest.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +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,16 +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 = "50421402f05b3ee3c76c6cff455a69efaf576b6d" +SRCREV = "6e0917d518e07f737cc663b8d632c8021634fd3b" BBCLASSEXTEND =+ "native nativesdk" |