diff options
Diffstat (limited to 'recipes-qt')
192 files changed, 4202 insertions, 1153 deletions
diff --git a/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb b/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb index 0d65ba13..5986b21c 100644 --- a/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb +++ b/recipes-qt/demo-extrafiles/qt5-demo-extrafiles.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Extra files for qt5 demo" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" S="${WORKDIR}" LIC_FILES_CHKSUM = "file://LICENSE;md5=88355dc91a186cc816d9f64757793895" diff --git a/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch b/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch index fc132ecc..c9149c41 100644 --- a/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch +++ b/recipes-qt/examples/cinematicexperience/fix_qt5_3_compatibility.patch @@ -1,3 +1,7 @@ +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + Index: Qt5_CinematicExperience_rpi_1.0/content/SettingsView.qml =================================================================== --- Qt5_CinematicExperience_rpi_1.0.orig/content/SettingsView.qml diff --git a/recipes-qt/examples/cinematicexperience_1.0.bb b/recipes-qt/examples/cinematicexperience_1.0.bb index 9a90f1d4..b2e6072f 100644 --- a/recipes-qt/examples/cinematicexperience_1.0.bb +++ b/recipes-qt/examples/cinematicexperience_1.0.bb @@ -10,7 +10,7 @@ SRC_URI += "file://fix_qt5_3_compatibility.patch" SRC_URI[md5sum] = "935a5db0a6b2a72c67236e72f52be7d1" SRC_URI[sha256sum] = "0dd602983ced5f7c0cfd5ad0fbfe2b0b7e3c9ff715e4ef23eef818ccc2b6c60b" -S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}/" +S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}" # other version available for small screens #SRC_URI = "http://quitcoding.com/download/Qt5_CinematicExperience_1.0.tgz" @@ -19,15 +19,17 @@ S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}/" #S = "${WORKDIR}/Qt5_CinematicExperience_${PV}/" DEPENDS = "qtdeclarative qtgraphicaleffects" -RDEPENDS_${PN} = "liberation-fonts qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "liberation-fonts qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" require recipes-qt/qt5/qt5.inc do_install() { - install -d ${D}${datadir}/${P} - install -m 0755 ${B}/Qt5_CinematicExperience ${D}${datadir}/${P} - cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P} - install -m 0644 ${S}/Qt5_CinematicExperience.qml ${D}${datadir}/${P} + install -d ${D}${datadir}/${P}/content/ ${D}${datadir}/${P}/content/images/ + install -m 0755 ${B}/Qt5_CinematicExperience ${D}${datadir}/${P}/Qt5_CinematicExperience + install -m 0644 ${S}/content/*.qml ${D}${datadir}/${P}/content/ + install -m 0644 ${S}/content/images/*.png ${D}${datadir}/${P}/content/images/ + install -m 0644 ${S}/content/images/*.xcf ${D}${datadir}/${P}/content/images/ + install -m 0644 ${S}/Qt5_CinematicExperience.qml ${D}${datadir}/${P}/Qt5_CinematicExperience.qml install -d ${D}${bindir} echo "#!/bin/sh" > ${D}${bindir}/Qt5_CinematicExperience @@ -37,4 +39,4 @@ do_install() { chmod +x ${D}${bindir}/Qt5_CinematicExperience } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" diff --git a/recipes-qt/examples/qt5-opengles2-test_git.bb b/recipes-qt/examples/qt5-opengles2-test_git.bb index 5da25dc9..3634fbae 100644 --- a/recipes-qt/examples/qt5-opengles2-test_git.bb +++ b/recipes-qt/examples/qt5-opengles2-test_git.bb @@ -12,8 +12,8 @@ DEPENDS = "qtbase qtsensors" # Depends on gles2 enabled and that's not default configuration EXCLUDE_FROM_WORLD = "1" -SRC_URI = "git://github.com/smk-embedded/qt5-opengles2-test.git" -SRCREV = "938390507054ed1258345f70ed55770d2fe56176" +SRC_URI = "git://github.com/smk-embedded/qt5-opengles2-test.git;branch=master;protocol=https" +SRCREV = "293ae5cfedf48c97178057932d06db409117e4ad" S = "${WORKDIR}/git" inherit qmake5 diff --git a/recipes-qt/examples/qt5everywheredemo_1.0.bb b/recipes-qt/examples/qt5everywheredemo_1.0.bb index 44e5a84f..c9c726a3 100644 --- a/recipes-qt/examples/qt5everywheredemo_1.0.bb +++ b/recipes-qt/examples/qt5everywheredemo_1.0.bb @@ -1,6 +1,6 @@ SUMMARY = "Qt5 everywhere demo" DESCRIPTION = "Quick tour of Qt 5.0, primarily focusing on its graphical capabilities." -LICENSE = "BSD" +LICENSE = "BSD-3-Clause" HOMEPAGE = "https://code.qt.io/cgit/qt-labs" LIC_FILES_CHKSUM = "file://qml/QtDemo/main.qml;endline=39;md5=7d80863906a4bc8ffca77fd869e335a9" @@ -8,7 +8,8 @@ DEPENDS = "qtdeclarative qtgraphicaleffects qtsvg qtmultimedia qtxmlpatterns" SRCREV = "35d72a2eba7456a2efc5eb8b77afbc00f69ba0ac" QT_GIT_PROJECT = "qt-labs" -SRC_URI = "${QT_GIT}/qt5-everywhere-demo" +QT_MODULE_BRANCH = "master" +SRC_URI = "${QT_GIT}/qt5-everywhere-demo;branch=${QT_MODULE_BRANCH};protocol=${QT_GIT_PROTOCOL}" S = "${WORKDIR}/git/QtDemo" @@ -20,6 +21,6 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/examples/qt5ledscreen_1.0.bb b/recipes-qt/examples/qt5ledscreen_1.0.bb index e221941f..395d3d1b 100644 --- a/recipes-qt/examples/qt5ledscreen_1.0.bb +++ b/recipes-qt/examples/qt5ledscreen_1.0.bb @@ -18,6 +18,6 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb b/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb index 54875f97..fad6c4bc 100644 --- a/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb +++ b/recipes-qt/examples/qt5nmapcarousedemo_1.0.bb @@ -21,6 +21,6 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/examples/qt5nmapper/change-property-string.patch b/recipes-qt/examples/qt5nmapper/change-property-string.patch index dae2fdcc..46541244 100644 --- a/recipes-qt/examples/qt5nmapper/change-property-string.patch +++ b/recipes-qt/examples/qt5nmapper/change-property-string.patch @@ -1,6 +1,7 @@ qt5nmapper: Change property string to onTextString Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> diff --git a/content_org/Switch.qml b/content/Switch.qml index 08a2cba..a8b8b26 100644 diff --git a/recipes-qt/examples/qt5nmapper_1.0.bb b/recipes-qt/examples/qt5nmapper_1.0.bb index 3c2bc1a9..10324cee 100644 --- a/recipes-qt/examples/qt5nmapper_1.0.bb +++ b/recipes-qt/examples/qt5nmapper_1.0.bb @@ -22,7 +22,7 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/examples/qtsmarthome_1.0.bb b/recipes-qt/examples/qtsmarthome_1.0.bb index 03f3c994..2f95be4c 100644 --- a/recipes-qt/examples/qtsmarthome_1.0.bb +++ b/recipes-qt/examples/qtsmarthome_1.0.bb @@ -1,13 +1,13 @@ SUMMARY = "Qt5 smarthome QML demo application" DESCRIPTION = "This is the Smarthome QML demo application. It shows some user interfaces for controlling an automated house" HOMEPAGE = "http://www.basyskom.com/news/143-demos-qt5-port.html" -LICENSE = "LGPLv2.1+ & GFDL-1.2" +LICENSE = "LGPL-2.1-or-later & GFDL-1.2" LIC_FILES_CHKSUM = "file://COPYING.DOC;md5=ad1419ecc56e060eccf8184a87c4285f \ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "qtdeclarative qtgraphicaleffects" -SRC_URI = "http://share.basyskom.com/demos/smarthome_src.tar.gz" +SRC_URI = "https://artifacts.toradex.com/artifactory/tdxref-oe-prod-frankfurt/dunfell-5.x.y/release/4/sources/smarthome_src.tar.gz" SRC_URI[md5sum] = "883b0376239baec20ebec072e938a995" SRC_URI[sha256sum] = "fceaa813c33e462bad6c0383eaef81a6f6e586c15d1fa73898173b517fc1cda6" @@ -22,6 +22,6 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/components ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/examples/quitbattery_1.0.0.bb b/recipes-qt/examples/quitbattery_1.0.0.bb index 7593ab29..c8dddb17 100644 --- a/recipes-qt/examples/quitbattery_1.0.0.bb +++ b/recipes-qt/examples/quitbattery_1.0.0.bb @@ -20,6 +20,6 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/examples/quitindicators_1.0.1.bb b/recipes-qt/examples/quitindicators_1.0.1.bb index bc370f44..48b72041 100644 --- a/recipes-qt/examples/quitindicators_1.0.1.bb +++ b/recipes-qt/examples/quitindicators_1.0.1.bb @@ -19,6 +19,6 @@ do_install() { cp -R --no-dereference --preserve=mode,links ${S}/qml ${D}${datadir}/${P} } -FILES_${PN} += "${datadir}" +FILES:${PN} += "${datadir}" -RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" +RDEPENDS:${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins" diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch index d86be1e1..f8f2981f 100644 --- a/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch +++ b/recipes-qt/maliit/maliit-framework-qt5/0001-Fix-test-installations.patch @@ -5,6 +5,7 @@ Subject: [PATCH] Fix test installations Qmake won't ignore install errors anymore. +Upstream-Status: Pending Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> --- .../ut_mattributeextensionmanager.pro | 7 ++++--- diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch index 2310e637..8f793dc5 100644 --- a/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch +++ b/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch @@ -1,3 +1,5 @@ +Upstream-Status: Pending + From fb4316ca6e44a6b34e7d109360fc716c372e1293 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 12 Jul 2017 11:45:06 -0700 diff --git a/recipes-qt/maliit/maliit-framework-qt5_git.bb b/recipes-qt/maliit/maliit-framework-qt5_git.bb index 1f0dc8d6..1df83e7c 100644 --- a/recipes-qt/maliit/maliit-framework-qt5_git.bb +++ b/recipes-qt/maliit/maliit-framework-qt5_git.bb @@ -1,12 +1,12 @@ DESCRIPTION = "A virtual keyboard for touch-screen based user interfaces" HOMEPAGE = "https://wiki.maliit.org/Main_Page" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad" -inherit qmake5 qmake5_paths +inherit qmake5 qmake5_paths pkgconfig -SRC_URI = "git://github.com/maliit/framework.git;branch=master \ +SRC_URI = "git://github.com/maliit/framework.git;branch=master;protocol=https \ file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \ file://maliit-server.desktop \ file://0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch \ @@ -24,9 +24,9 @@ GTKIMMODULES_PACKAGES = "${PN}-gtk" DEPENDS = "qtdeclarative" -RRECOMMENDS_${PN} = "maliit-plugins-qt5" +RRECOMMENDS:${PN} = "maliit-plugins-qt5" -FILES_${PN} += "\ +FILES:${PN} += "\ ${libdir}/*.so* \ ${bindir} \ ${datadir}/applications/maliit-server.desktop \ @@ -34,11 +34,11 @@ FILES_${PN} += "\ ${OE_QMAKE_PATH_PLUGINS}/platforminputcontexts \ " -FILES_${PN}-dbg += "\ +FILES:${PN}-dbg += "\ ${libdir}/maliit-framework-tests \ " -FILES_${PN}-dev += "\ +FILES:${PN}-dev += "\ ${includedir}/maliit \ ${libdir}/pkgconfig \ ${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \ @@ -61,12 +61,12 @@ EXTRA_QMAKEVARS_PRE = "\ CONFIG+=qt5-inputcontext \ " -# tests fail to build with clang -EXTRA_QMAKEVARS_PRE_append_toolchain-clang = " CONFIG+=notests" +# tests fail to build with gcc12/clang +EXTRA_QMAKEVARS_PRE:append = " CONFIG+=notests" EXTRA_OEMAKE += "INSTALL_ROOT=${D}" -do_install_append() { +do_install:append() { #Fix absolute paths sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/maliit-framework.prf sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/maliit-plugins.prf @@ -75,26 +75,22 @@ do_install_append() { install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications } -pkg_postinst_${PN} () { +pkg_postinst_ontarget:${PN} () { #!/bin/sh # should run online -if [ "x$D" != "x" ]; then - exit 1 -fi echo "export QT_IM_MODULE=Maliit" >> /etc/xprofile ln -s /usr/share/applications/maliit-server.desktop /etc/xdg/autostart/maliit-server.desktop } -pkg_postrm_${PN} () { +pkg_postrm:${PN} () { #!/bin/sh # should run online if [ "x$D" = "x" ]; then - exit 1 -fi -if [ -e "/etc/xprofile" ]; then - sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile + if [ -e "/etc/xprofile" ]; then + sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile + fi + rm -f /etc/xdg/autostart/maliit-server.desktop fi -rm -f /etc/xdg/autostart/maliit-server.desktop } S = "${WORKDIR}/git" diff --git a/recipes-qt/maliit/maliit-plugins-qt5_git.bb b/recipes-qt/maliit/maliit-plugins-qt5_git.bb index 8464e1f0..d0576415 100644 --- a/recipes-qt/maliit/maliit-plugins-qt5_git.bb +++ b/recipes-qt/maliit/maliit-plugins-qt5_git.bb @@ -1,16 +1,18 @@ DESCRIPTION = "Plugins for a virtual keyboard for touch-screen based user interfaces" HOMEPAGE = "https://wiki.maliit.org/Main_Page" -LICENSE = "BSD" +LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621" inherit qmake5 DEPENDS = "maliit-framework-qt5" -RDEPENDS_${PN} += "qtsvg-plugins" +inherit pkgconfig -SRC_URI = "git://github.com/maliit/plugins.git;branch=master \ +RDEPENDS:${PN} += "qtsvg-plugins" + +SRC_URI = "git://github.com/maliit/plugins.git;branch=master;protocol=https \ file://0001-Do-not-use-tr1-namespace.patch \ " @@ -25,10 +27,10 @@ EXTRA_QMAKEVARS_PRE = "\ CONFIG+=nodoc \ " -# tests fail to build with clang -EXTRA_QMAKEVARS_PRE_append_toolchain-clang = " CONFIG+=notests" +# tests fail to build with gcc12/clang +EXTRA_QMAKEVARS_PRE:append = " CONFIG+=notests" -FILES_${PN} += "\ +FILES:${PN} += "\ ${libdir}/maliit \ ${datadir} \ " diff --git a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb index e92cb9d4..36d56fd5 100644 --- a/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb +++ b/recipes-qt/packagegroups/nativesdk-packagegroup-qt5-toolchain-host.bb @@ -3,13 +3,15 @@ SUMMARY = "Host packages for the Qt5 standalone SDK or external toolchain" LICENSE = "MIT" -inherit nativesdk packagegroup +inherit packagegroup nativesdk PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" -RDEPENDS_${PN} += " \ +RDEPENDS:${PN} += " \ nativesdk-packagegroup-sdk-host \ nativesdk-qttools-tools \ nativesdk-qtbase \ + nativesdk-qtbase-dev \ nativesdk-perl-modules \ + nativesdk-qtdeclarative-tools \ " diff --git a/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb b/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb index 5894955c..67c4ef21 100644 --- a/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb +++ b/recipes-qt/packagegroups/packagegroup-qt5-qtcreator-debug.bb @@ -8,7 +8,7 @@ inherit packagegroup # Override by distro if needed VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon ?= "openssh-sshd" -RDEPENDS_${PN} = " \ +RDEPENDS:${PN} = " \ gdbserver \ ${VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon} \ openssh-sftp-server \ diff --git a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb index 6e8b2d4f..98f7be2c 100755 --- a/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb +++ b/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bb @@ -3,15 +3,11 @@ DESCRIPTION = "Target packages for Qt5 SDK" LICENSE = "MIT" +PACKAGE_ARCH = "${TUNE_PKGARCH}" inherit packagegroup PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1" -# Requires Ruby to work -USE_RUBY = " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebkit-dev', '', d)} \ -" - # Requires Wayland to work USE_WAYLAND = " \ qtwayland-dev \ @@ -26,7 +22,7 @@ USE_X11 = " \ qtx11extras-mkspecs \ " -RDEPENDS_${PN} += " \ +RDEPENDS:${PN} += " \ packagegroup-core-standalone-sdk-target \ libsqlite3-dev \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qt3d-dev', '', d)} \ @@ -89,7 +85,6 @@ RDEPENDS_${PN} += " \ qttools-staticdev \ qttools-tools \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${USE_WAYLAND}', '', d)} \ - ${USE_RUBY} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${USE_X11}', '', d)} \ qtwebsockets-dev \ qtwebsockets-mkspecs \ @@ -105,8 +100,14 @@ RDEPENDS_${PN} += " \ qtquickcontrols2-dev \ qtquickcontrols2-mkspecs \ " +RDEPENDS:${PN}:remove:toolchain-clang:riscv32 = "qttools-dev qttools-mkspecs qttools-staticdev qttools-tools" +RDEPENDS:${PN}:remove:toolchain-clang:riscv64 = "qttools-dev qttools-mkspecs qttools-staticdev qttools-tools" -RRECOMMENDS_${PN} += " \ +RRECOMMENDS:${PN} += " \ qtquickcontrols-qmlplugins \ + qtquickcontrols2-qmlplugins \ qttools-plugins \ " + +RRECOMMENDS:${PN}:remove:toolchain-clang:riscv32 = "qttools-plugins" +RRECOMMENDS:${PN}:remove:toolchain-clang:riscv64 = "qttools-plugins" diff --git a/recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch b/recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch new file mode 100644 index 00000000..9a54b902 --- /dev/null +++ b/recipes-qt/qmllive/qmllive/0001-lib.pro-Append-LIB_ARCH-to-lib.patch @@ -0,0 +1,39 @@ +From 647b1da38d8c741681de9c89f2090f0edcf25a47 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 19 Dec 2019 13:40:34 -0800 +Subject: [PATCH] lib.pro: Append LIB_ARCH to lib + +appending to lib so it becomes lib64 when needed and LIB_ARCH can be set +in evnironment + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/lib.pro | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/lib.pro b/src/lib.pro +index b5f8ab6..0731d01 100755 +--- a/src/lib.pro ++++ b/src/lib.pro +@@ -18,7 +18,7 @@ public_headers += \ + include(src.pri) + + win32: target.path = $${PREFIX}/bin +-else: target.path = $${PREFIX}/lib ++else: target.path = $${PREFIX}/lib$${LIB_ARCH} + INSTALLS += target + + headers.files = $$public_headers +@@ -30,7 +30,7 @@ INSTALLS += headers + QMAKE_PKGCONFIG_NAME = qmllive + QMAKE_PKGCONFIG_DESCRIPTION = Qt QmlLive Library + QMAKE_PKGCONFIG_PREFIX = $$PREFIX +- QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib ++ QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib$${LIB_ARCH} + QMAKE_PKGCONFIG_INCDIR = ${prefix}/include/qmllive + QMAKE_PKGCONFIG_DESTDIR = pkgconfig + } +-- +2.24.1 + diff --git a/recipes-qt/qmllive/qmllive_git.bb b/recipes-qt/qmllive/qmllive_git.bb index bc9a3784..70b0eb0d 100644 --- a/recipes-qt/qmllive/qmllive_git.bb +++ b/recipes-qt/qmllive/qmllive_git.bb @@ -1,18 +1,21 @@ DESCRIPTION = "QmlLive is a live reloader environment for rapid UI development" HOMEPAGE = "https://github.com/qtproject/qt-apps-qmllive" -LICENSE = "GPL-3.0" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=75cd0dbc6f2d24e7eeb128ff59b74f4c" DEPENDS = "qtbase qtdeclarative" PV = "5.12+git${SRCPV}" QT_GIT_PROJECT = "qt-apps" -SRC_URI = "${QT_GIT}/qmllive.git;branch=dev" +SRC_URI = "${QT_GIT}/qmllive.git;branch=dev \ + file://0001-lib.pro-Append-LIB_ARCH-to-lib.patch \ + " SRCREV = "0c7bf141b08aa9e757e91a4a05769257d043eab2" S = "${WORKDIR}/git" inherit pkgconfig qmake5 +EXTRA_QMAKEVARS_PRE += "LIB_ARCH=${@d.getVar('baselib').replace('lib', '')}" EXTRA_QMAKEVARS_POST = "QMAKE_RPATHDIR=" -FILES_${PN}-dev += "${datadir}" +FILES:${PN}-dev += "${datadir}" diff --git a/recipes-qt/qsiv/qsiv_1.1.bb b/recipes-qt/qsiv/qsiv_1.1.bb index 5773c3e7..02bbee5e 100644 --- a/recipes-qt/qsiv/qsiv_1.1.bb +++ b/recipes-qt/qsiv/qsiv_1.1.bb @@ -1,11 +1,11 @@ SUMMARY = "Qt Simple Image Viewer" DESCRIPTION = "A simple image viewer using a mix of C++ and qml code for demonstration." -LICENSE = "GPL-2.0" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11c7965a9059e287de5d93b98adf6d1a" DEPENDS = "qtdeclarative" SRCREV = "7b9810b0f02f9ac74fae3ead6e2e9fb5c1382173" -SRC_URI = "git://code.ossystems.com.br/qt/qsiv;protocol=http" +SRC_URI = "git://code.ossystems.com.br/qt/qsiv;protocol=http;branch=master" S = "${WORKDIR}/git" @@ -13,7 +13,7 @@ inherit qmake5 EXTRA_QMAKEVARS_PRE += "target.path=${libdir}/${P}" -do_install_append() { +do_install:append() { install -d ${D}${bindir} echo "#!/bin/sh" > ${D}${bindir}/qsiv echo "export QML_IMPORT_PATH=${libdir}/${P}/qml/qsiv" >> ${D}${bindir}/qsiv @@ -22,5 +22,5 @@ do_install_append() { chmod +x ${D}${bindir}/qsiv } -FILES_${PN} += "${libdir}/${P}" -RDEPENDS_${PN} += "qtdeclarative-qmlplugins" +FILES:${PN} += "${libdir}/${P}" +RDEPENDS:${PN} += "qtdeclarative-qmlplugins" diff --git a/recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf new file mode 100644 index 00000000..4f4849b5 --- /dev/null +++ b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser/qt-kiosk-browser.conf @@ -0,0 +1,5 @@ +{ + "URL": "http://github.com/OSSystems/qt-kiosk-browser", + "RestartTimeout": 0, + "ScreenSaverTimeout": 0 +} diff --git a/recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb new file mode 100644 index 00000000..60b6e428 --- /dev/null +++ b/recipes-qt/qt-kiosk-browser/qt-kiosk-browser_git.bb @@ -0,0 +1,43 @@ +SUMMARY = "Qt Kiosk Browser" +DESCRIPTION = "Provides a simple but highly configurable browser for use on Kiosk devices" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" +LICENSE = "GPL-3.0-only" + +DEPENDS = "qtwebengine" +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('qtwebengine dependency requires meta-python2 to be present.') +} + +SRC_URI = " \ + git://github.com/OSSystems/qt-kiosk-browser;protocol=https;branch=master \ + file://${BPN}.conf \ +" + +PV = "0.0+git${SRCPV}" +SRCREV = "d42b7d9050b5445e2b9430022a46d5d583581631" + +S = "${WORKDIR}/git" + +inherit qmake5 + +EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}" + +do_install:append() { + install -Dm 0644 ${WORKDIR}/${PN}.conf ${D}${sysconfdir}/${PN}.conf +} + +RDEPENDS:${PN} += " \ + liberation-fonts \ + qtdeclarative-qmlplugins \ + qtquickcontrols-qmlplugins \ + qtvirtualkeyboard \ + qtwebengine-qmlplugins \ +" +COMPATIBLE_MACHINE = "(-)" +COMPATIBLE_MACHINE:x86 = "(.*)" +COMPATIBLE_MACHINE:x86-64 = "(.*)" +COMPATIBLE_MACHINE:armv6 = "(.*)" +COMPATIBLE_MACHINE:armv7a = "(.*)" +COMPATIBLE_MACHINE:armv7ve = "(.*)" +COMPATIBLE_MACHINE:aarch64 = "(.*)" diff --git a/recipes-qt/qt5/nativesdk-qt5.inc b/recipes-qt/qt5/nativesdk-qt5.inc index 2eb8c142..5472012c 100644 --- a/recipes-qt/qt5/nativesdk-qt5.inc +++ b/recipes-qt/qt5/nativesdk-qt5.inc @@ -1,4 +1,4 @@ -inherit nativesdk qmake5_base +inherit qmake5_base nativesdk # we don't want conflicts with qt4 OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}" diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 9ce48a1f..56e0a0a8 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -3,27 +3,29 @@ DEPENDS = "nativesdk-zlib qtbase-native" SECTION = "libs" HOMEPAGE = "http://qt-project.org" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=485e1d58b313def058a0d72598aa6efe \ " QT_MODULE = "qtbase" +inherit pkgconfig + require nativesdk-qt5.inc -require qt5-git.inc +require qt5-lts.inc # it's already included with newer oe-core, but include it here for dylan FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" # common for qtbase-native, qtbase-nativesdk and qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.12-shared -# 5.12.meta-qt5-shared.8 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared +# 5.15.meta-qt5-shared.4 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -32,23 +34,27 @@ SRC_URI += "\ file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \ file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ file://0007-Delete-qlonglong-and-qulonglong.patch \ - file://0008-Replace-pthread_yield-with-sched_yield.patch \ file://0009-Add-OE-specific-specs-for-clang-compiler.patch \ file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \ file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \ - file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \ - file://0013-Disable-ltcg-for-host_build.patch \ - file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \ - file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \ - file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ + file://0012-Disable-ltcg-for-host_build.patch \ + file://0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \ + file://0014-corelib-Include-sys-types.h-for-uint32_t.patch \ + file://0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ + file://0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ + file://0017-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0018-Revert-Fix-workaround-in-pthread-destructor.patch \ + file://0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch \ + file://0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch \ + file://0022-testlib-don-t-track-the-build-or-source-directories.patch \ " # common for qtbase-native and nativesdk-qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.12-native -# 5.12.meta-qt5-native.8 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native +# 5.15.meta-qt5-native.4 SRC_URI += " \ - file://0018-Always-build-uic-and-qvkgen.patch \ - file://0019-Avoid-renameeat2-for-native-sdk-builds.patch \ + file://0023-Always-build-uic-and-qvkgen.patch \ + file://0024-Avoid-renameeat2-for-native-sdk-builds.patch \ " # CMake's toolchain configuration of nativesdk-qtbase @@ -58,25 +64,27 @@ SRC_URI += " \ PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" -FILES_${PN}-dev += " \ +FILES:${PN}-dev += " \ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \ ${OE_QMAKE_PATH_LIBS}/*.prl \ " -FILES_${PN} += " \ +FILES:${PN} += " \ ${SDKPATHNATIVE}/environment-setup.d \ ${OE_QMAKE_PATH_PLUGINS} \ + ${OE_QMAKE_PATH_LIBS}/metatypes \ " # qttools binaries are placed in a subdir of bin in order to avoid # collisions with qt4. This would trigger debian.bbclass to rename the # package, since it doesn't detect binaries in subdirs. Explicitly # disable package auto-renaming for the tools-package. -DEBIAN_NOAUTONAME_${PN} = "1" +DEBIAN_NOAUTONAME:${PN} = "1" PACKAGECONFIG ?= "" PACKAGECONFIG[gui] = "-gui -qpa offscreen,-no-gui," PACKAGECONFIG[imageformats] = "-qt-libpng -qt-libjpeg -gif -ico, -no-libpng -no-libjpeg -no-ico -no-gif," +PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl,libssl" QT_CONFIG_FLAGS += " \ -shared \ @@ -111,7 +119,6 @@ do_configure() { -no-sql-mysql \ -no-sql-sqlite \ -no-opengl \ - -no-openssl \ -no-xcb \ -no-feature-bearermanagement \ -no-icu \ @@ -138,6 +145,7 @@ do_configure() { -silent \ -nomake examples \ -nomake tests \ + -make tools \ -no-compile-examples \ -platform ${OE_QMAKE_PLATFORM_NATIVE} \ -xplatform ${OE_QMAKE_PLATFORM} \ @@ -173,6 +181,7 @@ fakeroot do_generate_qt_environment_file() { echo 'export OE_QMAKE_CXX="$CXX"' >> $script echo 'export OE_QMAKE_LINK="$CXX"' >> $script echo 'export OE_QMAKE_AR=$AR' >> $script + echo 'export OE_QMAKE_OBJCOPY=$OBJCOPY' >> $script echo 'export OE_QMAKE_STRIP=$STRIP' >> $script echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script @@ -193,4 +202,4 @@ fakeroot do_generate_qt_environment_file() { do_generate_qt_environment_file[umask] = "022" addtask generate_qt_environment_file after do_install before do_package -SRCREV = "780137d585344bf9de906a285a50498104c0c66e" +SRCREV = "8a25db3204f39a228d14148d9cdf414393d239a5" diff --git a/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch index 0d2f165f..2e15543a 100644 --- a/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch +++ b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch @@ -6,6 +6,7 @@ Subject: [PATCH] Fix examples build error Add workaround for QTBUG-77288 which causes examples to fail to build Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> +Upstream-Status: Pending --- examples/studio3d/cppdatainput/cppdatainput.pro | 1 + examples/studio3d/dynamicelement/dynamicelement.pro | 1 + diff --git a/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch b/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch new file mode 100644 index 00000000..9f61a1e7 --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime/0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch @@ -0,0 +1,70 @@ +From c70df6bf52cdcdceb73ed965a28642177df32943 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 13 Mar 2021 12:58:32 -0800 +Subject: [PATCH] Qt3D: Add support to fix build on ppc64 + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/foundation/Qt3DSPreprocessor.h | 2 +- + src/foundation/Qt3DSSystem.cpp | 8 +++++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +--- a/src/foundation/Qt3DSPreprocessor.h ++++ b/src/foundation/Qt3DSPreprocessor.h +@@ -112,11 +112,11 @@ Platform define + #define QT3DS_VMX + #elif defined(__x86_64__) + #define QT3DS_X64 +-#elif defined(__ppc__) +-#define QT3DS_PPC +-#elif defined(__ppc64__) ++#elif defined(__powerpc64__) + #define QT3DS_PPC + #define QT3DS_PPC64 ++#elif defined(__ppc__) ++#define QT3DS_PPC + //# elif defined(__aarch64__) + //# define QT3DS_ARM_64 + #else +--- a/src/foundation/Qt3DSSystem.cpp ++++ b/src/foundation/Qt3DSSystem.cpp +@@ -62,6 +62,10 @@ const char *qt3ds::foundation::System::g + const char *qt3ds::foundation::System::g_Processor = "x64"; + const char *qt3ds::foundation::System::g_BitWidth = "64"; + const char *qt3ds::foundation::System::g_FloatingPointModel = ""; ++#elif defined(QT3DS_PPC64) ++const char *qt3ds::foundation::System::g_Processor = "ppc64"; ++const char *qt3ds::foundation::System::g_BitWidth = "64"; ++const char *qt3ds::foundation::System::g_FloatingPointModel = ""; + #elif defined(QT3DS_ARM) + #if defined(__aarch64__) || defined(__ARM64__) + const char *qt3ds::foundation::System::g_Processor = "arm"; +@@ -79,7 +83,7 @@ const char *qt3ds::foundation::System::g + #endif + #endif + #else +-#error "Unknown Platform" ++//#error "Unknown Platform" + #endif + + #if defined(QT3DS_ARM) +@@ -97,8 +101,10 @@ const char *qt3ds::foundation::System::g + const char *qt3ds::foundation::System::g_GPUType = ""; + #elif defined(QT3DS_X64) + const char *qt3ds::foundation::System::g_GPUType = ""; ++#elif defined(QT3DS_PPC64) ++const char *qt3ds::foundation::System::g_GPUType = ""; + #else +-#error "Must define a processor type (QT3DS_ARM or QT3DS_X86)" ++//#error "Must define a processor type (QT3DS_ARM or QT3DS_X86)" + #endif + + namespace { +@@ -136,4 +142,4 @@ const char *System::getPlatformGLStr() + strcpy(text, str.c_str()); + } + return text; +-} +\ No newline at end of file ++} diff --git a/recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch b/recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch new file mode 100644 index 00000000..94ca4f5c --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime/0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch @@ -0,0 +1,35 @@ +From 84a9dd3f1bce450b3a6eb589ab9794178d74d1d7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 7 Oct 2019 11:58:21 -0700 +Subject: [PATCH] Qt3DSSimpleTypes: make QT3DSU64 as unsigned long on linux as + well + +linux 64bit platform defines uint64_t as unsigned long as well, which +inturn is used to define GLuint64, therefore its needed to be compatible +or else we get compile errors + +src/render/backends/gl/Qt3DSRenderBackendGL3.cpp:754:80: error: cannot initialize a parameter of type 'GLuint64 *' (aka 'unsigned long *') with an lvalue of type 'qt3ds::QT3DSU64 *' (aka 'unsigned long long *') +| queryID, m_Conversion.fromQueryResultTypeToGL(resultType), params)); + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/foundation/Qt3DSSimpleTypes.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/foundation/Qt3DSSimpleTypes.h b/src/foundation/Qt3DSSimpleTypes.h +index 05ac8d9..adb72e9 100644 +--- a/src/foundation/Qt3DSSimpleTypes.h ++++ b/src/foundation/Qt3DSSimpleTypes.h +@@ -54,7 +54,7 @@ typedef quint32 QT3DSU32; + typedef qint32 QT3DSI32; + + // Android's definition of GLuint64 as unsigned long (64-bits) requires this workaround +-#if Q_PROCESSOR_WORDSIZE == 8 && (defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY)) ++#if Q_PROCESSOR_WORDSIZE == 8 && (defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY) || defined(Q_OS_LINUX)) + typedef unsigned long QT3DSU64; + #else + typedef quint64 QT3DSU64; +-- +2.23.0 + diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb index 621d0e24..1aee97b5 100644 --- a/recipes-qt/qt5/ogl-runtime_git.bb +++ b/recipes-qt/qt5/ogl-runtime_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" +LICENSE = "GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ @@ -12,14 +12,18 @@ DEPENDS += "qtbase qtdeclarative qtquickcontrols2" QT_MODULE_BRANCH = "master" QT_MODULE_BRANCH_EASTL = "master" QT_GIT_PROJECT = "qt3dstudio" -PV = "2.5+git${SRCPV}" +PV = "2.8.0+git${SRCPV}" + +COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|powerpc64).*-linux" SRC_URI += " \ ${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \ file://0001-Fix-examples-build-error.patch \ + file://0001-Qt3DSSimpleTypes-make-QT3DSU64-as-unsigned-long-on-l.patch \ + file://0001-Qt3D-Add-support-to-fix-build-on-ppc64.patch \ " -SRCREV_ogl-runtime = "0ab6e1fb491cbc9aa821e11a1ee78915f61ee499" +SRCREV_ogl-runtime = "b53aeb784f950d7b2a5ebe38ea37c5bb6f456c9c" SRCREV_EASTL = "31697c758f2ed19bd7c6bbe61f1b91f9e12035b5" SRCREV = "${SRCREV_ogl-runtime}" diff --git a/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch b/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch index 05a86a70..774d66f7 100644 --- a/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch +++ b/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch @@ -1,8 +1,10 @@ -From 1e64f9b509e6794c6f01e62443e93f771ac2a65c Mon Sep 17 00:00:00 2001 +From 4cd75323c448db3dd06a0f0f70ec4d8f9ae3ad2c Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Fri, 17 Aug 2018 13:23:58 +0300 Subject: [PATCH] Allow a tools-only build +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- qt3d.pro | 7 ++++++- src/3rdparty/assimp/assimp_dependency.pri | 2 +- @@ -10,7 +12,7 @@ Subject: [PATCH] Allow a tools-only build 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/qt3d.pro b/qt3d.pro -index d5dbda4..6809470 100644 +index c5232e116..cf5345352 100644 --- a/qt3d.pro +++ b/qt3d.pro @@ -1,4 +1,4 @@ @@ -19,17 +21,18 @@ index d5dbda4..6809470 100644 requires(qtConfig(opengl):!wasm) CONFIG += examples_need_tools -@@ -15,3 +15,8 @@ load(qt_parts) - +@@ -16,3 +16,8 @@ load(qt_parts) OTHER_FILES += \ - sync.profile + sync.profile \ + .qmake.conf + +tools-only { + sub_tools.depends -= sub_src + SUBDIRS = sub_tools +} +\ No newline at end of file diff --git a/src/3rdparty/assimp/assimp_dependency.pri b/src/3rdparty/assimp/assimp_dependency.pri -index 8ba2d9a..e973d93 100644 +index 8ba2d9a41..e973d93dd 100644 --- a/src/3rdparty/assimp/assimp_dependency.pri +++ b/src/3rdparty/assimp/assimp_dependency.pri @@ -1,5 +1,5 @@ @@ -40,7 +43,7 @@ index 8ba2d9a..e973d93 100644 } else { include(assimp.pri) diff --git a/tools/tools.pro b/tools/tools.pro -index 3b457ed..9f5376a 100644 +index 3b457ed50..9f5376a0a 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -1,9 +1,9 @@ diff --git a/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch b/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch new file mode 100644 index 00000000..82feaf2e --- /dev/null +++ b/recipes-qt/qt5/qt3d/0001-renderers-opengl-Link-in-libatomic-on-riscv.patch @@ -0,0 +1,29 @@ +From b2c6dd0330d9dee417192a32ae6c636b77b6bf46 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 8 Mar 2021 15:16:01 -0800 +Subject: [PATCH] renderers/opengl: Link in libatomic on riscv + +GCC 11 needs this since it failing to find a builtin function + +Fixes +src/plugins/renderers/opengl/renderer/renderview.cpp:107: undefined reference to `__atomic_exchange_1' + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/plugins/renderers/opengl/opengl.pri | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/plugins/renderers/opengl/opengl.pri b/src/plugins/renderers/opengl/opengl.pri +index 1682ab7b3..31b71dd6b 100644 +--- a/src/plugins/renderers/opengl/opengl.pri ++++ b/src/plugins/renderers/opengl/opengl.pri +@@ -39,3 +39,5 @@ qtConfig(qt3d-simd-sse2):!qtConfig(qt3d-simd-avx2) { + CONFIG += simd + QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2 + } ++ ++LIBS += "-latomic" +-- +2.30.1 + diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index 3f46604e..df338b69 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "LGPL-3.0 | GPL-2.0 | The-Qt-Company-Commercial" +LICENSE = "LGPL-3.0-only | GPL-2.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=8211fde12cc8a4e2477602f5953f5b71 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ @@ -9,17 +9,25 @@ LIC_FILES_CHKSUM = " \ " DEPENDS += "qtbase" -DEPENDS_class-target += "qtdeclarative qt3d-native" +DEPENDS:class-target += "qtdeclarative qt3d-native" -# Patches from https://github.com/meta-qt5/qt3d/commits/b5.12 -# 5.12.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qt3d/commits/b5.15 +# 5.15.meta-qt5.2 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ " +# For assimp submodule +SRC_URI += " \ + git://code.qt.io/qt/qtquick3d-assimp.git;name=assimp;branch=qt6_assimp;protocol=https;destsuffix=git/src/3rdparty/assimp/src \ +" + +SRC_URI:append:riscv64 = " file://0001-renderers-opengl-Link-in-libatomic-on-riscv.patch" +SRC_URI:append:riscv32 = " file://0001-renderers-opengl-Link-in-libatomic-on-riscv.patch" + PACKAGECONFIG ??= "" -PACKAGECONFIG_class-native ??= "tools-only" -PACKAGECONFIG_class-nativesdk ??= "tools-only" +PACKAGECONFIG:class-native ??= "tools-only" +PACKAGECONFIG:class-nativesdk ??= "tools-only" PACKAGECONFIG[tools-only] = "" PACKAGECONFIG[system-assimp] = "-feature-system-assimp,-no-feature-system-assimp,assimp" PACKAGECONFIG[qtgamepad] = ",,qtgamepad" @@ -29,13 +37,16 @@ EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tools-only', 'CONFIG+=tools-only QMAKE_USE_PRIVATE+=zlib', '', d)}" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtgamepad', 'CONFIG+=OE_QTGAMEPAD_ENABLED', '', d)}" -do_configure_prepend() { +do_configure:prepend() { # disable qtgamepad test if it isn't enabled by PACKAGECONFIG sed -e 's/^\(qtHaveModule(gamepad)\)/OE_QTGAMEPAD_ENABLED:\1/' -i \ ${S}/src/input/frontend/frontend.pri \ ${S}/src/quick3d/imports/input/importsinput.pro } -SRCREV = "73bfd21fcbe9f7f647edcbe19b7153ac4cc5c859" +SRCREV_qt3d = "dac2afc9c6cffd42e49030dcafffc1e0a05873b9" +SRCREV_assimp = "8f0c6b04b2257a520aaab38421b2e090204b69df" + +SRCREV_FORMAT = "qt3d_assimp" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch b/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch index d17f60b4..c1fd2340 100644 --- a/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch +++ b/recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch @@ -1,34 +1,36 @@ -From ec7aec2f6c56889c96dc12af46059a7f3d4c3a37 Mon Sep 17 00:00:00 2001 +From 0701dd54b228e58b913d09e5a87f70de77575cc7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 16 Jan 2018 13:26:57 +0000 Subject: [PATCH] Link with libexecinfo on musl +Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + --- - src/plugins/debugger/debugger.pro | 1 + - src/plugins/qmldesigner/designercore/designercore-lib.pri | 2 ++ - 2 files changed, 3 insertions(+) + src/plugins/debugger/debugger.pro | 1 + + src/plugins/qmldesigner/qmldesignerplugin.pro | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro -index f5a34aa0d5..4a1359dd5c 100644 +index 6c38efaca8..ba86639d72 100644 --- a/src/plugins/debugger/debugger.pro +++ b/src/plugins/debugger/debugger.pro -@@ -141,3 +141,4 @@ include(console/console.pri) +@@ -137,3 +137,4 @@ include(console/console.pri) include(analyzer/analyzer.pri) include(shared/shared.pri) +LIBS *= -lexecinfo -diff --git a/src/plugins/qmldesigner/designercore/designercore-lib.pri b/src/plugins/qmldesigner/designercore/designercore-lib.pri -index 935b29728e..31527267fd 100644 ---- a/src/plugins/qmldesigner/designercore/designercore-lib.pri -+++ b/src/plugins/qmldesigner/designercore/designercore-lib.pri -@@ -2,6 +2,8 @@ include($$PWD/filemanager/filemanager.pri) +diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pro b/src/plugins/qmldesigner/qmldesignerplugin.pro +index 85a7685da5..d69cabcaaf 100644 +--- a/src/plugins/qmldesigner/qmldesignerplugin.pro ++++ b/src/plugins/qmldesigner/qmldesignerplugin.pro +@@ -4,7 +4,7 @@ CONFIG += exceptions + INCLUDEPATH += $$PWD + INCLUDEPATH += $$PWD/components + +-unix:!openbsd:!osx: LIBS += -lrt # posix shared memory ++unix:!openbsd:!osx: LIBS += -lexecinfo -lrt # posix shared memory - QT += network + include(../../qtcreatorplugin.pri) -+LIBS *= -lexecinfo -+ - DEFINES += TEST_EXPORTS - DEFINES += DESIGNER_CORE_LIBRARY - INCLUDEPATH += $$PWD \ diff --git a/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch b/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch new file mode 100644 index 00000000..5a3ce4db --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch @@ -0,0 +1,30 @@ +From 79c3b7761bc63f42bdfbcc94b9cc6cca58b8a4a4 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 11 Aug 2020 21:19:22 -0700 +Subject: [PATCH] app: Use malloc_trim only on glibc + +musl does not implement it + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + src/app/main.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/app/main.cpp b/src/app/main.cpp +index 248fa8efef..12980f3b37 100644 +--- a/src/app/main.cpp ++++ b/src/app/main.cpp +@@ -791,7 +791,11 @@ int main(int argc, char **argv) + m_trimTimer.setSingleShot(true); + m_trimTimer.setInterval(60000); + // glibc may not actually free memory in free(). ++#ifdef __GLIBC__ + connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); }); ++#else ++ connect(&m_trimTimer, &QTimer::timeout, this, [] { }); ++#endif + } + + bool eventFilter(QObject *, QEvent *e) override diff --git a/recipes-qt/qt5/qt5-creator/0001-clangformat-AllowShortIfStatementsOnASingleLine-is-n.patch b/recipes-qt/qt5/qt5-creator/0001-clangformat-AllowShortIfStatementsOnASingleLine-is-n.patch deleted file mode 100644 index 1bc3632d..00000000 --- a/recipes-qt/qt5/qt5-creator/0001-clangformat-AllowShortIfStatementsOnASingleLine-is-n.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 453c075b67b9d9254bf7331e1e3be287f240a9e0 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 3 Sep 2019 13:31:12 -0700 -Subject: [PATCH] clangformat: AllowShortIfStatementsOnASingleLine is not - boolean anymore - -https://reviews.llvm.org/D59087 has implemented multiple states for AllowShortIfStatementsOnASingleLine - -Fixes -../../../../git/src/plugins/clangformat/clangformatutils.cpp:63:49: error: assigning to 'clang::format::FormatStyle::ShortIfStyle' from incompatible type 'bool' - style.AllowShortIfStatementsOnASingleLine = false; - ^~~~~ - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/plugins/clangformat/clangformatutils.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp -index 09a3150c89..7d8a95ae18 100644 ---- a/src/plugins/clangformat/clangformatutils.cpp -+++ b/src/plugins/clangformat/clangformatutils.cpp -@@ -60,7 +60,7 @@ static clang::format::FormatStyle qtcStyle() - style.AllowShortBlocksOnASingleLine = false; - style.AllowShortCaseLabelsOnASingleLine = false; - style.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_Inline; -- style.AllowShortIfStatementsOnASingleLine = false; -+ style.AllowShortIfStatementsOnASingleLine = FormatStyle::SIS_Never; - style.AllowShortLoopsOnASingleLine = false; - style.AlwaysBreakAfterReturnType = FormatStyle::RTBS_None; - style.AlwaysBreakBeforeMultilineStrings = false; --- -2.23.0 - diff --git a/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch b/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch new file mode 100644 index 00000000..d88a4b21 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0002-clangformat-Fix-build-with-LLVM-13.patch @@ -0,0 +1,47 @@ +From ec82db9b97aa77c499d7f0bf70b130c242fb3c2b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de> +Date: Mon, 8 Mar 2021 21:56:06 +0100 +Subject: [PATCH] clangformat: Fix build with LLVM 13 + +Change-Id: I5eaad17a6f240aa1e3f246492b69f093b4f59fee +Reviewed-by: David Schulz <david.schulz@qt.io> + +Upstream-Status: Accepted [https://code.qt.io/cgit/qt-creator/qt-creator.git/commit/?id=14eb5b382cabf90352634393c19bf87a4c15766a] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/plugins/clangformat/clangformatbaseindenter.cpp | 4 ++++ + src/plugins/clangformat/clangformatutils.cpp | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp +index fb8e693809..6378b2af53 100644 +--- a/src/plugins/clangformat/clangformatbaseindenter.cpp ++++ b/src/plugins/clangformat/clangformatbaseindenter.cpp +@@ -42,7 +42,11 @@ void adjustFormatStyleForLineBreak(clang::format::FormatStyle &style, + ReplacementsToKeep replacementsToKeep) + { + style.MaxEmptyLinesToKeep = 100; ++#if LLVM_VERSION_MAJOR >= 13 ++ style.SortIncludes = clang::format::FormatStyle::SI_Never; ++#else + style.SortIncludes = false; ++#endif + style.SortUsingDeclarations = false; + + // This is a separate pass, don't do it unless it's the full formatting. +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index a249327d0e..770e75908c 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -145,7 +145,11 @@ static clang::format::FormatStyle qtcStyle() + style.PenaltyReturnTypeOnItsOwnLine = 300; + style.PointerAlignment = FormatStyle::PAS_Right; + style.ReflowComments = false; ++#ifdef LLVM_VERSION_MAJOR >= 13 ++ style.SortIncludes = FormatStyle::SI_CaseSensitive; ++#else + style.SortIncludes = true; ++#endif + style.SortUsingDeclarations = true; + style.SpaceAfterCStyleCast = true; + style.SpaceAfterTemplateKeyword = false; diff --git a/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch b/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch new file mode 100644 index 00000000..d2678b0c --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0003-clangformat-Fix-build-with-LLVM-13.patch @@ -0,0 +1,30 @@ +From d13fc5742cb3afc876218fab303880a5da124c8a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de> +Date: Wed, 16 Jun 2021 20:59:29 +0200 +Subject: [PATCH] clangformat: Fix build with LLVM 13 + +Change-Id: Ia9db10696fd129c8b989ecc4c9ecbb7f1f10e68c +Reviewed-by: David Schulz <david.schulz@qt.io> + +Upstream-Status: Accepted [https://code.qt.io/cgit/qt-creator/qt-creator.git/commit/?id=55b91a76172a3235b4879daf0b675519d5b02db7] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/plugins/clangformat/clangformatutils.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index 770e75908c..8017411fb3 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -157,7 +157,11 @@ static clang::format::FormatStyle qtcStyle() + style.SpaceBeforeParens = FormatStyle::SBPO_ControlStatements; + style.SpaceInEmptyParentheses = false; + style.SpacesBeforeTrailingComments = 1; ++#if LLVM_VERSION_MAJOR >= 13 ++ style.SpacesInAngles = FormatStyle::SIAS_Never; ++#else + style.SpacesInAngles = false; ++#endif + style.SpacesInContainerLiterals = false; + style.SpacesInCStyleCastParentheses = false; + style.SpacesInParentheses = false; diff --git a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in b/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in deleted file mode 100644 index 64f7c6ba..00000000 --- a/recipes-qt/qt5/qt5-creator/qtcreator.desktop.in +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Type=Application -Exec=sh -c "PATH=$PATH:@QT5_QMAKE@ qtcreator %F" -Name=Qt Creator -GenericName=C++ IDE for developing Qt applications -X-KDE-StartupNotify=true -Icon=QtProject-qtcreator -Terminal=false -Categories=Development;IDE;Qt; -MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource; diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb index a3960042..85bfcc35 100644 --- a/recipes-qt/qt5/qt5-creator_git.bb +++ b/recipes-qt/qt5/qt5-creator_git.bb @@ -7,77 +7,103 @@ SUMMARY = "Qt Creator is a new cross-platform Qt IDE" # 'System GDB at /usr/bin/gdb. HOMEPAGE = "https://qt-project.org/" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ " -inherit qmake5 +inherit qmake5 pkgconfig mime-xdg -DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native" -DEPENDS_append_toolchain-clang = " clang llvm-common" -DEPENDS_append_libc-musl = " libexecinfo" - -SRCREV = "8181363fa90eb651591bf71e1a840e1c998429f4" -PV = "4.9.2+git${SRCPV}" +DEPENDS += "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib" +DEPENDS:append:libc-musl = " libexecinfo" +SRCREV = "39ac7b1bf6add473026687003311b702742b6b21" +PV = "4.15.2+git${SRCPV}" # Patches from https://github.com/meta-qt5/qtcreator/commits/b4.9.2 # 4.9.2.meta-qt5.1 SRC_URI = " \ - git://code.qt.io/qt-creator/qt-creator.git;branch=4.9 \ - file://0001-clangformat-AllowShortIfStatementsOnASingleLine-is-n.patch \ + git://code.qt.io/qt-creator/qt-creator.git;branch=4.15 \ + file://0001-app-Use-malloc_trim-only-on-glibc.patch \ + file://0002-clangformat-Fix-build-with-LLVM-13.patch \ + file://0003-clangformat-Fix-build-with-LLVM-13.patch \ " -SRC_URI_append_libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch" +SRC_URI:append:libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch" S = "${WORKDIR}/git" -EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}" +EXTRA_QMAKEVARS_PRE += " \ + IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME} \ + CONFIG+=disable_external_rpath \ +" EXTRANATIVEPATH += "chrpath-native" -do_configure_append() { +PACKAGECONFIG ??= "" +PACKAGECONFIG:append:toolchain-clang = " clang" + +# Important note: In case clang was added to qttools' PACKAGECONFIG, it has to +# be added here too - otherwise build fails trying to link native clang libraries +PACKAGECONFIG[clang] = ",,clang" + +COMPATIBLE_HOST:toolchain-clang:riscv32 = "null" +COMPATIBLE_HOST:toolchain-clang:riscv64 = "null" + +do_configure:append() { # Find native tools sed -i 's:${STAGING_BINDIR}.*/qdoc:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdoc:g' ${B}/Makefile if [ -e ${B}/share/qtcreator/translations/Makefile ]; then - sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile - sed -i 's:${STAGING_BINDIR}.*/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/lupdate:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/xmlpatterns:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/xmlpatterns:g' ${B}/share/qtcreator/translations/Makefile + sed -i 's:${STAGING_BINDIR}/lconvert:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lconvert:g' ${B}/share/qtcreator/translations/Makefile fi } do_install() { oe_runmake install INSTALL_ROOT=${D}${prefix} -} -do_install_append_toolchain-clang () { - # Remove RPATHs embedded in bins - chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang* - chrpath --delete ${D}${libexecdir}/qtcreator/clang* + if [ "${@bb.utils.contains("PACKAGECONFIG", "clang", "1", "0", d)}" = "1" ]; then + # Remove RPATHs embedded in bins + chrpath --delete ${D}${libdir}/qtcreator/plugins/libClang* + chrpath --delete ${D}${libexecdir}/qtcreator/clang* + fi } -FILES_${PN} += " \ +FILES:${PN} += " \ ${datadir}/qtcreator \ ${datadir}/metainfo \ ${datadir}/icons \ ${libdir}${QT_DIR_NAME}/qtcreator \ " -FILES_${PN}-dev += " \ +FILES:${PN}-dev += " \ ${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \ " -RDEPENDS_${PN} += "perl python" -RCONFLICTS_${PN} = "qt-creator" +RDEPENDS:${PN} += "perl python3" +RCONFLICTS:${PN} = "qt-creator" # To give best user experience out of the box.. -RRECOMMENDS_${PN} += " \ +RRECOMMENDS:${PN} += " \ packagegroup-qt5-toolchain-target \ binutils \ ccache \ make \ gcc-symlinks g++-symlinks cpp-symlinks \ gdb \ + cmake \ + qtwebengine-dev \ + qtwebengine-mkspecs \ + qtwebengine-plugins \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebengine-qmlplugins', '', d)} \ " # ERROR: qt5-creator-4.5.1-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qt5-creator/4.5.1-r0/packages-split/qt5-creator/usr/lib/qt5/qtcreator/libqbscore.so.1.10.1' -INSANE_SKIP_${PN} += "ldflags" +INSANE_SKIP:${PN} += "ldflags" + +inherit features_check +REQUIRED_DISTRO_FEATURES ?= "x11 opengl" + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc index f7cd854d..a6d757af 100644 --- a/recipes-qt/qt5/qt5-git.inc +++ b/recipes-qt/qt5/qt5-git.inc @@ -1,17 +1,18 @@ # Copyright (C) 2012-2016 O.S. Systems Software LTDA. -# Copyright (C) 2013-2019 Martin Jansa <martin.jansa@gmail.com> +# Copyright (C) 2013-2022 Martin Jansa <martin.jansa@gmail.com> QT_MODULE ?= "${BPN}" QT_MODULE_BRANCH ?= "5.15" QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH};nobranch=1" +QT_MODULE_REPO ?= "${QT_MODULE}.git" # each module needs to define valid SRCREV SRC_URI = " \ - ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \ + ${QT_GIT}/${QT_MODULE_REPO};name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \ " -CVE_PRODUCT = "qt" +CVE_PRODUCT:append = " qt" S = "${WORKDIR}/git" -PV = "5.15.0+git${SRCPV}" +PV = "5.15.17+git${SRCPV}" diff --git a/recipes-qt/qt5/qt5-lts.inc b/recipes-qt/qt5/qt5-lts.inc new file mode 100644 index 00000000..af611ce4 --- /dev/null +++ b/recipes-qt/qt5/qt5-lts.inc @@ -0,0 +1,9 @@ +require qt5-git.inc + +QT_LTS_GIT ?= "git://codereview.qt-project.org/${QT_GIT_PROJECT}" +QT_GIT = "${QT_LTS_GIT}" +QT_LTS_GIT_PROTOCOL ?= "ssh" +QT_GIT_PROTOCOL = "${QT_LTS_GIT_PROTOCOL}" +QT_MODULE_BRANCH = "tqtc/lts-5.15" +QT_LTS_MODULE_REPO ?= "tqtc-${QT_MODULE}.git" +QT_MODULE_REPO = "${QT_LTS_MODULE_REPO}" diff --git a/recipes-qt/qt5/qt5-native.inc b/recipes-qt/qt5/qt5-native.inc index 76816027..3afc3f28 100644 --- a/recipes-qt/qt5/qt5-native.inc +++ b/recipes-qt/qt5/qt5-native.inc @@ -1,4 +1,4 @@ -inherit native qmake5_base +inherit qmake5_base native # we don't want conflicts with qt4 OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}" diff --git a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch index 283601af..d4fb132c 100644 --- a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch +++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch @@ -52,6 +52,7 @@ Thread 1 "luna-next" received signal SIGSEGV, Segmentation fault. #3 0xb7afc6c1 in qLoadPlugin<QObject, QGenericPlugin, QString const&> (key=..., loader=<optimized out>) at ../../include/QtCore/../../../git/src/corelib/kernel/qobject.h:499 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending --- vboxtouch/vboxtouch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb index 4e83c267..60eeb32b 100644 --- a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb +++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb @@ -3,7 +3,7 @@ It uses the integrated pointer feature to create a smooth conversion from \ the host pointer to touchscreen events in the guest, without grabbing the \ host pointer." SUMMARY = "Touchscreen driver for integrated mouse pointer in VirtualBox" -LICENSE = "LGPL-2.1 & GPL-3.0" +LICENSE = "LGPL-2.1-only & GPL-3.0-only" LIC_FILES_CHKSUM = " \ file://vboxtouch.cpp;beginline=1;endline=22;md5=ca51db8f7c0606c77f702dcee4cf31d9 \ file://evdevmousehandler.cpp;beginline=1;endline=40;md5=9081062f6e7f74b6e62ad7ecee4a71be \ @@ -16,7 +16,7 @@ DEPENDS = "qtbase" # Needed with gcc-5.2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65801 CXXFLAGS += "-Wno-narrowing" -SRC_URI = "git://github.com/nemomobile/qt5-plugin-generic-vboxtouch.git \ +SRC_URI = "git://github.com/nemomobile/qt5-plugin-generic-vboxtouch.git;branch=master;protocol=https \ file://0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch;patchdir=.. \ file://0001-include-errno.h-for-errno-definition.patch;patchdir=.. \ " @@ -25,6 +25,6 @@ S = "${WORKDIR}/git/vboxtouch" inherit qmake5 -FILES_${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so" -FILES_${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*" +FILES:${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so" +FILES:${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*" diff --git a/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc index 56efe106..75d71ba9 100644 --- a/recipes-qt/qt5/qt5-ptest.inc +++ b/recipes-qt/qt5/qt5-ptest.inc @@ -1,4 +1,4 @@ -FILESEXTRAPATHS_append := ":${THISDIR}/ptest" +FILESEXTRAPATHS:append := ":${THISDIR}/ptest" SRC_URI += "file://run-ptest" inherit ptest @@ -10,13 +10,17 @@ do_compile_ptest() { oe_runmake } +DEBUG_PREFIX_MAP += "\ + -fmacro-prefix-map=${D}= \ +" + fakeroot do_install_ptest() { mkdir -p ${D}${PTEST_PATH} t=${D}${PTEST_PATH} for var in ` find ${B}/tests/auto/ -name tst_*`; do if [ -z ` echo ${var##*/} | grep '\.'` ]; then echo ${var##*/} >> ${t}/tst_list - install -m 0644 ${var} ${t} + install -m 0744 ${var} ${t} fi done } diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc index e0cd8949..2f8de7e0 100644 --- a/recipes-qt/qt5/qt5.inc +++ b/recipes-qt/qt5/qt5.inc @@ -8,8 +8,8 @@ PACKAGECONFIG_OPENSSL ?= "openssl" PACKAGECONFIG[examples] = "" PACKAGECONFIG[tests] = "" PACKAGECONFIG[qtquickcompiler] = ",,qtdeclarative-native" -EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', '', d)}" -EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', '', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', 'QT_BUILD_PARTS-=examples', d)}" +EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'tests', 'QT_BUILD_PARTS+=tests', 'QT_BUILD_PARTS-=tests', d)}" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtquickcompiler', 'CONFIG+=qtquickcompiler', '', d)}" # we don't want conflicts with qt4 @@ -47,36 +47,37 @@ python __anonymous() { # Many examples come with libraries installed outside of standard libdir, # suppress QA check complaining -INSANE_SKIP_${PN}-dbg += "libdir" -INSANE_SKIP_${PN}-examples += "libdir staticdev dev-so" +INSANE_SKIP:${PN}-dbg += "libdir" +INSANE_SKIP:${PN}-examples += "libdir staticdev dev-so" PACKAGES =. "${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples " -ALLOW_EMPTY_${PN} = "1" -ALLOW_EMPTY_${PN}-plugins = "1" -ALLOW_EMPTY_${PN}-qmlplugins = "1" +ALLOW_EMPTY:${PN} = "1" +ALLOW_EMPTY:${PN}-mkspecs = "1" +ALLOW_EMPTY:${PN}-plugins = "1" +ALLOW_EMPTY:${PN}-qmlplugins = "1" -RRECOMMENDS_${PN} = " \ +RRECOMMENDS:${PN} = " \ ${PN}-plugins \ ${PN}-qmlplugins \ " -RRECOMMENDS_${PN}_class-native = "" +RRECOMMENDS:${PN}:class-native = "" -RRECOMMENDS_${PN}-dev = " \ +RRECOMMENDS:${PN}-dev = " \ ${PN} \ ${PN}-mkspecs \ ${PN}-qmldesigner \ " # extra packages -FILES_${PN}-qmldesigner += " \ +FILES:${PN}-qmldesigner += " \ ${OE_QMAKE_PATH_QML}/*/designer \ ${OE_QMAKE_PATH_QML}/*/*/designer \ ${OE_QMAKE_PATH_QML}/*/*/*/designer \ " # qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*.qmlc,*.js,*.jsc} -FILES_${PN}-qmlplugins = " \ +FILES:${PN}-qmlplugins = " \ ${OE_QMAKE_PATH_QML}/*.qmltypes \ ${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_QML}/*/qmldir \ @@ -114,24 +115,25 @@ FILES_${PN}-qmlplugins = " \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \ " -FILES_${PN}-tools = " \ +FILES:${PN}-tools = " \ ${OE_QMAKE_PATH_BINS}/* \ " -FILES_${PN}-plugins = " \ +FILES:${PN}-plugins = " \ ${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \ ${OE_QMAKE_PATH_PLUGINS}/*/*/*/*${SOLIBSDEV} \ " -FILES_${PN}-mkspecs = "\ +FILES:${PN}-mkspecs = "\ ${OE_QMAKE_PATH_ARCHDATA}/mkspecs \ " # modifications to normal packages -FILES_${PN} += " \ +FILES:${PN} += " \ + ${OE_QMAKE_PATH_LIBS}/metatypes \ ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBS} \ ${OE_QMAKE_PATH_LIBEXECS} \ " -FILES_${PN}-dev += " \ +FILES:${PN}-dev += " \ ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \ ${OE_QMAKE_PATH_LIBS}/pkgconfig \ ${OE_QMAKE_PATH_LIBS}/cmake/* \ @@ -139,7 +141,7 @@ FILES_${PN}-dev += " \ ${OE_QMAKE_PATH_LIBS}/*.la \ ${OE_QMAKE_PATH_HEADERS}/* \ " -FILES_${PN}-staticdev += " \ +FILES:${PN}-staticdev += " \ ${OE_QMAKE_PATH_LIBS}/*.a \ ${OE_QMAKE_PATH_PLUGINS}/*/*.a \ ${OE_QMAKE_PATH_PLUGINS}/*/*.prl \ @@ -154,8 +156,8 @@ FILES_${PN}-staticdev += " \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.a \ ${OE_QMAKE_PATH_QML}/*/*/*/*/*.prl \ " -FILES_${PN}-examples = " \ +FILES:${PN}-examples = " \ ${OE_QMAKE_PATH_EXAMPLES} \ " -PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" +PATH:prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index 89e58800..2ed8aa50 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -3,22 +3,22 @@ DEPENDS = "zlib-native dbus-native" SECTION = "libs" HOMEPAGE = "http://qt-project.org" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=485e1d58b313def058a0d72598aa6efe \ " require qt5-native.inc -require qt5-git.inc +require qt5-lts.inc # common for qtbase-native, qtbase-nativesdk and qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.12-shared -# 5.12.meta-qt5-shared.8 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared +# 5.15.meta-qt5-shared.4 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -27,38 +27,43 @@ SRC_URI += "\ file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \ file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ file://0007-Delete-qlonglong-and-qulonglong.patch \ - file://0008-Replace-pthread_yield-with-sched_yield.patch \ file://0009-Add-OE-specific-specs-for-clang-compiler.patch \ file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \ file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \ - file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \ - file://0013-Disable-ltcg-for-host_build.patch \ - file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \ - file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \ - file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ + file://0012-Disable-ltcg-for-host_build.patch \ + file://0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \ + file://0014-corelib-Include-sys-types.h-for-uint32_t.patch \ + file://0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ + file://0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ + file://0017-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0018-Revert-Fix-workaround-in-pthread-destructor.patch \ + file://0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch \ + file://0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch \ + file://0022-testlib-don-t-track-the-build-or-source-directories.patch \ " # common for qtbase-native and nativesdk-qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.12-native -# 5.12.meta-qt5-native.8 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-native +# 5.15.meta-qt5-native.4 SRC_URI += " \ - file://0018-Always-build-uic-and-qvkgen.patch \ - file://0019-Avoid-renameeat2-for-native-sdk-builds.patch \ + file://0023-Always-build-uic-and-qvkgen.patch \ + file://0024-Avoid-renameeat2-for-native-sdk-builds.patch \ " # only for qtbase-native SRC_URI += " \ - file://0020-Bootstrap-without-linkat-feature.patch \ + file://0025-Bootstrap-without-linkat-feature.patch \ " CLEANBROKEN = "1" -XPLATFORM_toolchain-clang = "linux-oe-clang" +XPLATFORM:toolchain-clang = "linux-oe-clang" XPLATFORM ?= "linux-oe-g++" PACKAGECONFIG ?= "" PACKAGECONFIG[gui] = "-gui -qpa offscreen,-no-gui," PACKAGECONFIG[imageformats] = "-qt-libpng -qt-libjpeg -gif -ico, -no-libpng -no-libjpeg -no-ico -no-gif," +PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl" QT_CONFIG_FLAGS = " \ -sysroot ${STAGING_DIR_NATIVE} \ @@ -74,7 +79,6 @@ QT_CONFIG_FLAGS = " \ -no-sql-psql \ -no-opengl \ -no-vulkan \ - -no-openssl \ -no-xcb \ -no-icu \ -verbose \ @@ -106,7 +110,7 @@ QT_CONFIG_FLAGS = " \ # since we cannot set empty set filename to a not existent file deltask generate_qt_config_file -do_configure_prepend() { +do_configure:prepend() { # Regenerate header files when they are included in source tarball # Otherwise cmake files don't set PRIVATE_HEADERS correctly rm -rf ${S}/include @@ -141,4 +145,4 @@ do_install() { echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake } -SRCREV = "780137d585344bf9de906a285a50498104c0c66e" +SRCREV = "8a25db3204f39a228d14148d9cdf414393d239a5" diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch index 155dd63c..85789f0d 100644 --- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch +++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch @@ -1,4 +1,4 @@ -From 0edb35edfc5ef383e705b50422796dbd5ba8ef1a Mon Sep 17 00:00:00 2001 +From 8f7ac021d483eca1b181fd9f0551f317aa7c5965 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Mon, 15 Apr 2013 04:29:32 +0200 Subject: [PATCH] Add linux-oe-g++ platform @@ -19,22 +19,23 @@ Upstream-Status: Inappropriate [embedded specific] Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + --- configure | 2 +- - mkspecs/features/configure.prf | 4 ++-- - mkspecs/features/qt.prf | 6 +++--- + mkspecs/features/configure.prf | 4 +-- + mkspecs/features/qt.prf | 6 ++--- mkspecs/features/qt_functions.prf | 2 +- - mkspecs/linux-oe-g++/qmake.conf | 39 ++++++++++++++++++++++++++++++++++++ + mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++++++++++++++++ mkspecs/linux-oe-g++/qplatformdefs.h | 1 + - 6 files changed, 47 insertions(+), 7 deletions(-) + 6 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 mkspecs/linux-oe-g++/qmake.conf create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h diff --git a/configure b/configure -index ef7bad1..dcca0f9 100755 +index b6c9b462f2..4e3fcd41d1 100755 --- a/configure +++ b/configure -@@ -712,7 +712,7 @@ fi +@@ -708,7 +708,7 @@ fi # is where the resulting variable is written to setBootstrapVariable() { @@ -44,7 +45,7 @@ index ef7bad1..dcca0f9 100755 # build qmake diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf -index 934a18a..0f5b1b6 100644 +index 934a18a924..0f5b1b6333 100644 --- a/mkspecs/features/configure.prf +++ b/mkspecs/features/configure.prf @@ -46,14 +46,14 @@ defineTest(qtCompileTest) { @@ -65,10 +66,10 @@ index 934a18a..0f5b1b6 100644 msg = "test $$1 succeeded" write_file($$QMAKE_CONFIG_LOG, msg, append) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf -index 3a71376..dd6020f 100644 +index 69d1954306..37f7c9c4a2 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf -@@ -148,7 +148,7 @@ import_plugins:qtConfig(static) { +@@ -151,7 +151,7 @@ import_plugins:qtConfig(static) { plug_name = $$QMAKE_PREFIX_STATICLIB$${plug}$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB plug_path = $$eval(QT_PLUGIN.$${plug}.PATH) isEmpty(plug_path): \ @@ -77,7 +78,7 @@ index 3a71376..dd6020f 100644 LIBS += $$plug_path/$$plug_type/$$plug_name } else { LIBS += -l$${plug}$$qtPlatformTargetSuffix() -@@ -271,8 +271,8 @@ for(ever) { +@@ -274,8 +274,8 @@ for(ever) { # static builds: link qml import plugins into the target. contains(all_qt_module_deps, qml): \ qtConfig(static):import_plugins:!host_build:!no_import_scan { @@ -89,10 +90,10 @@ index 3a71376..dd6020f 100644 # run qmlimportscanner qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 1903e50..c093dd4 100644 +index 7777e615bd..8d792fa70a 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { +@@ -87,7 +87,7 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { @@ -103,10 +104,10 @@ index 1903e50..c093dd4 100644 cmd = perl -w $$system_path($${cmd}.pl) diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf new file mode 100644 -index 0000000..c202c47 +index 0000000000..087e13bb91 --- /dev/null +++ b/mkspecs/linux-oe-g++/qmake.conf -@@ -0,0 +1,39 @@ +@@ -0,0 +1,40 @@ +# +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded +# @@ -117,8 +118,9 @@ index 0000000..c202c47 + +include(../common/linux.conf) + -+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip ++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar, objcopy and strip +QMAKE_AR = $$(OE_QMAKE_AR) cqs ++QMAKE_OBJCOPY = $$(OE_QMAKE_OBJCOPY) +QMAKE_STRIP = $$(OE_QMAKE_STRIP) + +include(../common/gcc-base-unix.conf) @@ -148,7 +150,7 @@ index 0000000..c202c47 +load(qt_config) diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h new file mode 100644 -index 0000000..5d22fb4 +index 0000000000..5d22fb4101 --- /dev/null +++ b/mkspecs/linux-oe-g++/qplatformdefs.h @@ -0,0 +1 @@ diff --git a/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch index c46d2961..80c6e042 100644 --- a/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch +++ b/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch @@ -1,4 +1,4 @@ -From 643818dd46f6c0bfabdf09608dd12844c65a06c7 Mon Sep 17 00:00:00 2001 +From c92850bf1a43d0a0271f8c5e356b91f710189ebf Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Sat, 6 Apr 2013 13:15:07 +0200 Subject: [PATCH] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS @@ -19,10 +19,10 @@ Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index e0652fdcf9..7b8fed8931 100644 +index 0d02edb41c..ec934c3931 100644 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in -@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake) +@@ -8,7 +8,7 @@ if (NOT TARGET Qt5::qmake) !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") !!ELSE @@ -31,7 +31,7 @@ index e0652fdcf9..7b8fed8931 100644 !!ENDIF _qt5_Core_check_file_exists(${imported_location}) -@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc) +@@ -23,7 +23,7 @@ if (NOT TARGET Qt5::moc) !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") !!ELSE @@ -40,7 +40,7 @@ index e0652fdcf9..7b8fed8931 100644 !!ENDIF _qt5_Core_check_file_exists(${imported_location}) -@@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc) +@@ -40,7 +40,7 @@ if (NOT TARGET Qt5::rcc) !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") !!ELSE @@ -50,7 +50,7 @@ index e0652fdcf9..7b8fed8931 100644 _qt5_Core_check_file_exists(${imported_location}) diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in -index 1d947159e2..582c52169e 100644 +index a814678f7b..8546e4b4dc 100644 --- a/src/dbus/Qt5DBusConfigExtras.cmake.in +++ b/src/dbus/Qt5DBusConfigExtras.cmake.in @@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) @@ -72,7 +72,7 @@ index 1d947159e2..582c52169e 100644 _qt5_DBus_check_file_exists(${imported_location}) diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in -index 99d87e2e46..8fe9b3c0b5 100644 +index 83d8004a08..d0651ee44b 100644 --- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in +++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in @@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic) diff --git a/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch index d7db54d3..170ade15 100644 --- a/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch +++ b/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch @@ -1,4 +1,4 @@ -From df4410ccc0977b089efddd7d0d405e4abee2aab8 Mon Sep 17 00:00:00 2001 +From 31a126a7e5e08fe1d3ba84639d2121453a71606f Mon Sep 17 00:00:00 2001 From: Holger Freyther <zecke@selfish.org> Date: Wed, 26 Sep 2012 17:22:30 +0200 Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the @@ -20,10 +20,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp -index 4119012d85..6395d10561 100644 +index 8ceb763491..ea102f788d 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp -@@ -174,7 +174,10 @@ void QLibrarySettings::load() +@@ -183,7 +183,10 @@ void QLibrarySettings::load() QSettings *QLibraryInfoPrivate::findConfiguration() { #ifdef QT_BUILD_QMAKE diff --git a/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch index 02796515..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 51353f7fa6a7c1480e52e7f630d7bf1f129fbd9e 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,15 +10,16 @@ Also update length of EXT_PREFIX and HOST_PREFIX now. Change-Id: If98dd57160efe9c98c36148cdf872f50b3d38118 Signed-off-by: Denys Dmytriyenko <denys@ti.com> +Upstream-Status: Pending --- configure.pri | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.pri b/configure.pri -index e26b557..1b470a8 100644 +index 49755f7abf..f84862d1ca 100644 --- a/configure.pri +++ b/configure.pri -@@ -844,10 +844,10 @@ defineTest(qtConfOutput_preparePaths) { +@@ -883,10 +883,10 @@ defineTest(qtConfOutput_preparePaths) { $${currentConfig}.output.qconfigSource = \ "/* Installation Info */" \ diff --git a/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch b/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch index b54bcf64..136b4ce1 100644 --- a/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch +++ b/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch @@ -1,19 +1,21 @@ -From 5556bc54942214e84dc5f81b2dcdc05f7713ff6e Mon Sep 17 00:00:00 2001 +From 33e847c682efe11e10a0a42a262f096343418b97 Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Mon, 24 Oct 2016 09:45:18 +0300 Subject: [PATCH] Disable all unknown features instead of erroring out Task-number: QTBUG-56656 Change-Id: Ib884fe33cac74439f9592b145937f6b75ced8447 +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- mkspecs/features/qt_configure.prf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf -index 62ad972796..04690068bc 100644 +index 6537d98c5d..06d23e3847 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf -@@ -1576,7 +1576,8 @@ defineReplace(qtConfEvaluateSingleExpression) { +@@ -1544,7 +1544,8 @@ defineReplace(qtConfEvaluateSingleExpression) { error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.") return($$result) } diff --git a/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch index 849ee0ca..a7864efb 100644 --- a/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch +++ b/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch @@ -1,4 +1,4 @@ -From 265c509a62cc52d9b3a6c9e9995ac26ca278bc1b Mon Sep 17 00:00:00 2001 +From 4afd71e88a906eba8a8f14a12599abcc8582d22c Mon Sep 17 00:00:00 2001 From: Pascal Bach <pascal.bach@siemens.com> Date: Wed, 11 May 2016 15:20:41 +0200 Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS @@ -30,10 +30,10 @@ Signed-off-by: Pascal Bach <pascal.bach@siemens.com> 2 files changed, 10 insertions(+) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 3ed6dd5889..52b69b26f6 100644 +index db18dbece6..13908c8fe5 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) +@@ -2,6 +2,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") endif() diff --git a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch index 8719d1e3..3210f2c8 100644 --- a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch +++ b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch @@ -1,9 +1,10 @@ -From a7b47f38399ef145160e201052e5d0871fa6750c Mon Sep 17 00:00:00 2001 +From 7974ec566c4ede9cbd73fd0df2c35d7ff3dbcba5 Mon Sep 17 00:00:00 2001 From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Date: Wed, 7 Jun 2017 21:00:49 +0900 Subject: [PATCH] Delete qlonglong and qulonglong Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> +Upstream-Status: Pending --- tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch b/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch deleted file mode 100644 index 84e59e7c..00000000 --- a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch +++ /dev/null @@ -1,60 +0,0 @@ -From aebff1455c764e9ecc73e6b52a4bac8233c93966 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 27 Jul 2017 08:02:51 -0700 -Subject: [PATCH] Replace pthread_yield with sched_yield - -On Linux pthead_yield is same as sched_yield implementation wise -and sched_yield is available on all libc -implementations on Linux - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 4 ++-- - tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp | 5 +++-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp -index e6fac74ccc..28c7e9cfb3 100644 ---- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp -+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp -@@ -35,7 +35,7 @@ - #include "tst_qvariant_common.h" - - #ifdef Q_OS_LINUX --# include <pthread.h> -+# include <sched.h> - #endif - - #include <algorithm> -@@ -366,7 +366,7 @@ protected: - const char *nm = name.constData(); - int tp = qRegisterMetaType<Bar>(nm); - #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) -- pthread_yield(); -+ sched_yield(); - #endif - QMetaType info(tp); - if (!info.isValid()) { -diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -index c473230246..1db8d6f225 100644 ---- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -@@ -78,6 +78,7 @@ - #include <stdlib.h> - #include <sys/stat.h> - #include <unistd.h> -+#include <sched.h> - #endif - - #include "private/qhostinfo_p.h" -@@ -2132,8 +2133,8 @@ public slots: - - #if defined(Q_OS_MAC) - pthread_yield_np(); --#elif defined Q_OS_LINUX && !defined Q_OS_ANDROID -- pthread_yield(); -+#elif defined Q_OS_LINUX -+ sched_yield(); - #endif - if (!sock->waitForConnected()) { - networkTimeout = true; diff --git a/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch b/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch index 8498fd6a..3cebfc11 100644 --- a/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch +++ b/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch @@ -1,22 +1,23 @@ -From d1198f3f6f3293c46db913d63518f625162b3ce5 Mon Sep 17 00:00:00 2001 +From 9bf5632187b8f17cc0d626926df2784c38059875 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 3 Sep 2017 09:11:44 -0700 Subject: [PATCH] Add OE specific specs for clang compiler Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- - mkspecs/linux-oe-clang/qmake.conf | 39 ++++++++++++++++++++++++++ + mkspecs/linux-oe-clang/qmake.conf | 40 ++++++++++++++++++++++++++ mkspecs/linux-oe-clang/qplatformdefs.h | 1 + - 2 files changed, 40 insertions(+) + 2 files changed, 41 insertions(+) create mode 100644 mkspecs/linux-oe-clang/qmake.conf create mode 100644 mkspecs/linux-oe-clang/qplatformdefs.h diff --git a/mkspecs/linux-oe-clang/qmake.conf b/mkspecs/linux-oe-clang/qmake.conf new file mode 100644 -index 0000000000..db02ab5215 +index 0000000000..c09b132ac8 --- /dev/null +++ b/mkspecs/linux-oe-clang/qmake.conf -@@ -0,0 +1,39 @@ +@@ -0,0 +1,40 @@ +# +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded +# @@ -27,8 +28,9 @@ index 0000000000..db02ab5215 + +include(../common/linux.conf) + -+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip ++# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar, objcopy and strip +QMAKE_AR = $$(OE_QMAKE_AR) cqs ++QMAKE_OBJCOPY = $$(OE_QMAKE_OBJCOPY) +QMAKE_STRIP = $$(OE_QMAKE_STRIP) + +include(../common/gcc-base-unix.conf) diff --git a/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch b/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch index e13858f1..6279dc57 100644 --- a/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch +++ b/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch @@ -1,4 +1,4 @@ -From e6ce6eaa98985b706151c63ca7b705110927d71b Mon Sep 17 00:00:00 2001 +From 638dcaa0123c170473594d2e44217755008f145e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 3 Sep 2017 09:44:48 -0700 Subject: [PATCH] linux-clang: Invert conditional for defining QT_SOCKLEN_T @@ -8,6 +8,7 @@ only when its glibc < 2 and not for other libcswhich may define it as per standards but are not glibc, e.g. musl Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- mkspecs/linux-clang/qplatformdefs.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch b/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch index c5815c0f..561cda05 100644 --- a/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch +++ b/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch @@ -1,4 +1,4 @@ -From 723d7ab6150f7ef7b33892b54ddc0931a5e71341 Mon Sep 17 00:00:00 2001 +From eaf5d2ec9953b8bd299f486fc96d85d2f114c40d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 3 Sep 2017 10:11:50 -0700 Subject: [PATCH] tst_qlocale: Enable QT_USE_FENV only on glibc @@ -6,12 +6,13 @@ Subject: [PATCH] tst_qlocale: Enable QT_USE_FENV only on glibc musl does not have feenableexcept function Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- tests/auto/corelib/text/qlocale/tst_qlocale.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp -index 676c66d..ba05aad 100644 +index 6ff6995440..1f36c6fefa 100644 --- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp @@ -46,7 +46,7 @@ diff --git a/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch b/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch index e0591d2a..66945d21 100644 --- a/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch +++ b/recipes-qt/qt5/qtbase/0012-Disable-ltcg-for-host_build.patch @@ -1,4 +1,4 @@ -From a080cb3ac2ad24aeb73407c772ed560dc4cb7ef5 Mon Sep 17 00:00:00 2001 +From 5c5461c606b028bf3b31e370a43fba2ce8156b36 Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Tue, 23 Oct 2018 09:54:57 +0300 Subject: [PATCH] Disable ltcg for host_build @@ -10,12 +10,13 @@ into debug packages. Task-number: QTBUG-71230 Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- mkspecs/features/ltcg.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkspecs/features/ltcg.prf b/mkspecs/features/ltcg.prf -index a94f6d0eeb..3cb01c334d 100644 +index d81f340edd..dc1d196710 100644 --- a/mkspecs/features/ltcg.prf +++ b/mkspecs/features/ltcg.prf @@ -1,6 +1,6 @@ @@ -23,6 +24,6 @@ index a94f6d0eeb..3cb01c334d 100644 # Static library but no-static-ltcg enabled: skip LTCG -} else: CONFIG(release, debug|release) { +} else: CONFIG(release, debug|release):!host_build { - # We need fat object files when creating static libraries on some platforms - # so the linker will know to load a particular object from the library - # in the first place. On others, we have special ar and nm to create the symbol + separate_debug_info { + # Evaluate single-$ variable references that have no valid value at mkspec loading time + QMAKE_LFLAGS_LTCG_SEPARATE_DEBUG_INFO ~= s/\\$\\{/\$\$\{/ diff --git a/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch b/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch deleted file mode 100644 index 192385a5..00000000 --- a/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 6a97088ee9d0d8b2a4fbd5b13ea44501d9e58995 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 14 Feb 2018 17:08:43 -0800 -Subject: [PATCH] mkspecs/common/gcc-base.conf: Use -I instead of -isystem - --isystem fails to build when code uses include_next on certain files e.g. - -qtbase/5.10.0+gitAUTOINC+50117d738a-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory - #include_next <stdlib.h> - ^~~~~~~~~~ -compilation terminated. -make[2]: *** [Makefile:11592: .obj/qgenericpluginfactory.o] Error 1 - -Upstream-Status: Pending - -Change-Id: Ia47832a6339a6ee59c0a6301fc5e552cd28b1029 -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - mkspecs/common/clang.conf | 2 +- - mkspecs/common/gcc-base.conf | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf -index aead581478..8e06a069b4 100644 ---- a/mkspecs/common/clang.conf -+++ b/mkspecs/common/clang.conf -@@ -18,7 +18,7 @@ QMAKE_PCH_OUTPUT_EXT = .pch - - QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz - --QMAKE_CFLAGS_ISYSTEM = -isystem -+QMAKE_CFLAGS_ISYSTEM = - QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT} - QMAKE_CFLAGS_LTCG = -flto=thin -diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf -index 44b4267207..9756a02014 100644 ---- a/mkspecs/common/gcc-base.conf -+++ b/mkspecs/common/gcc-base.conf -@@ -46,7 +46,7 @@ QMAKE_CFLAGS_DEBUG += -g - QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC - QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC - QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC --QMAKE_CFLAGS_ISYSTEM = -isystem -+QMAKE_CFLAGS_ISYSTEM = - QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses - QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden - QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions diff --git a/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch index 0a641bb2..e8c7201b 100644 --- a/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch +++ b/recipes-qt/qt5/qtbase/0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch @@ -1,4 +1,4 @@ -From f5c88622ac10601e48a14f31d9299692a9ac62e2 Mon Sep 17 00:00:00 2001 +From 0574975fb4a981568e69461c4df99767cc1faa72 Mon Sep 17 00:00:00 2001 From: Max Krummenacher <max.krummenacher@toradex.com> Date: Sat, 27 Oct 2018 12:29:31 +0000 Subject: [PATCH] Qt5GuiConfigExtras.cmake.in: cope with variable path to diff --git a/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch b/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch index 749594bd..15631feb 100644 --- a/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch +++ b/recipes-qt/qt5/qtbase/0014-corelib-Include-sys-types.h-for-uint32_t.patch @@ -1,4 +1,4 @@ -From a7755c994aa8031e7f4eaa2df1a442a812d7f5bf Mon Sep 17 00:00:00 2001 +From e98382d11622179a2ab4712fa781c2b46d8b35b2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 6 Dec 2018 11:47:52 -0800 Subject: [PATCH] corelib: Include sys/types.h for uint32_t @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+) diff --git a/src/corelib/global/qnumeric_p.h b/src/corelib/global/qnumeric_p.h -index 4a225b2599..4414865c71 100644 +index 7418579fe0..aba29de499 100644 --- a/src/corelib/global/qnumeric_p.h +++ b/src/corelib/global/qnumeric_p.h @@ -55,6 +55,7 @@ diff --git a/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch b/recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch index e3a92168..a3605718 100644 --- a/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch +++ b/recipes-qt/qt5/qtbase/0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch @@ -1,4 +1,4 @@ -From 59c5c149ad1fa3015f1fee34e87e9f8ab89f5de1 Mon Sep 17 00:00:00 2001 +From f339005f6ee97911bd0c2ed9d9445f5aac514155 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 6 Dec 2018 15:06:20 -0800 Subject: [PATCH] Define QMAKE_CXX.COMPILER_MACROS for clang on linux @@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 9 insertions(+) diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf -index 9c3a64aa8b..d0758ab778 100644 +index 11ecd6b2a5..a9a65c6800 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -41,6 +41,13 @@ defineReplace(qtVariablesFromGCC) { diff --git a/recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch b/recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch new file mode 100644 index 00000000..aa11a4be --- /dev/null +++ b/recipes-qt/qt5/qtbase/0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch @@ -0,0 +1,123 @@ +From be12f3c3a5240b8bbb6837a3b23d36b61303b455 Mon Sep 17 00:00:00 2001 +From: Nicola Lunghi <nick83ola@gmail.com> +Date: Wed, 5 Feb 2020 15:32:25 +0000 +Subject: [PATCH] tst_qpainter: FE_ macros are not defined for every platform + +the FE_INEXACT, FE_UNDERFLOW, FE_OVERFLOW, FE_DIVBYZERO, FE_INVALID are defined +only for platforms with fp engine. + +Signed-off-by: Nicola Lunghi <nick83ola@gmail.com> +Upstream-Status: Submitted [https://codereview.qt-project.org/c/qt/qtbase/+/289447] +--- + .../gui/painting/qpainter/tst_qpainter.cpp | 50 ++++++++++++++----- + 1 file changed, 37 insertions(+), 13 deletions(-) + +diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp +index 42e98ce363..0ca9b87f04 100644 +--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp ++++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp +@@ -2931,19 +2931,43 @@ void tst_QPainter::monoImages() + #if !defined(Q_OS_AIX) && !defined(Q_CC_MSVC) && !defined(Q_OS_SOLARIS) && !defined(__UCLIBC__) + #include <fenv.h> + ++#if defined(FE_INEXACT) ++ #define QP_FE_INEXACT (FE_INEXACT) ++#else ++ #define QP_FE_INEXACT 0 ++#endif ++#if defined(FE_UNDERFLOW) ++ #define QP_FE_UNDERFLOW (FE_UNDERFLOW) ++#else ++ #define QP_FE_UNDERFLOW 0 ++#endif ++#if defined(FE_OVERFLOW) ++ #define QP_FE_OVERFLOW (FE_OVERFLOW) ++#else ++ #define QP_FE_OVERFLOW 0 ++#endif ++#if defined(FE_DIVBYZERO) ++ #define QP_FE_DIVBYZERO (FE_DIVBYZERO) ++#else ++ #define QP_FE_DIVBYZERO 0 ++#endif ++#if defined(FE_INVALID) ++ #define QP_FE_INVALID (FE_INVALID) ++#else ++ #define QP_FE_INVALID 0 ++#endif ++ + static const QString fpeExceptionString(int exception) + { +-#ifdef FE_INEXACT +- if (exception & FE_INEXACT) ++ if (exception & QP_FE_INEXACT) + return QLatin1String("Inexact result"); +-#endif +- if (exception & FE_UNDERFLOW) ++ if (exception & QP_FE_UNDERFLOW) + return QLatin1String("Underflow"); +- if (exception & FE_OVERFLOW) ++ if (exception & QP_FE_OVERFLOW) + return QLatin1String("Overflow"); +- if (exception & FE_DIVBYZERO) ++ if (exception & QP_FE_DIVBYZERO) + return QLatin1String("Divide by zero"); +- if (exception & FE_INVALID) ++ if (exception & QP_FE_INVALID) + return QLatin1String("Invalid operation"); + return QLatin1String("No exception"); + } +@@ -2969,7 +2993,7 @@ private: + + void fpe_rasterizeLine_task232012() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + img.fill(0x0); + QPainter p(&img); +@@ -2981,7 +3005,7 @@ void fpe_rasterizeLine_task232012() + + void fpe_pixmapTransform() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + +@@ -3009,7 +3033,7 @@ void fpe_pixmapTransform() + + void fpe_zeroLengthLines() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + +@@ -3021,7 +3045,7 @@ void fpe_zeroLengthLines() + + void fpe_divByZero() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + +@@ -3044,7 +3068,7 @@ void fpe_divByZero() + + void fpe_steepSlopes() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(1024, 1024, QImage::Format_ARGB32_Premultiplied); + +@@ -3063,7 +3087,7 @@ void fpe_steepSlopes() + + void fpe_radialGradients() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(21, 21, QImage::Format_ARGB32_Premultiplied); + img.fill(0); diff --git a/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch b/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch new file mode 100644 index 00000000..8198b4f5 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0017-Define-__NR_futex-if-it-does-not-exist.patch @@ -0,0 +1,33 @@ +From 308746ac207de4f1c3429d6e61ff071809378b70 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 26 Oct 2020 22:10:02 -0700 +Subject: [PATCH] Define __NR_futex if it does not exist + +__NR_futex is not defines by newer architectures e.g. arc, riscv32 as +they only have 64bit variant of time_t. Glibc defines SYS_futex interface based on +__NR_futex, since this is used in applications, such applications start +to fail to build for these newer architectures. This patch defines a +fallback to alias __NR_futex to __NR_futex_tim64 so SYS_futex keeps +working + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/corelib/thread/qfutex_p.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h +index f287b752d7..fa5307a604 100644 +--- a/src/corelib/thread/qfutex_p.h ++++ b/src/corelib/thread/qfutex_p.h +@@ -76,6 +76,9 @@ QT_END_NAMESPACE + # include <unistd.h> + # include <asm/unistd.h> + # include <linux/futex.h> ++# if !defined(__NR_futex) && defined(__NR_futex_time64) ++# define __NR_futex __NR_futex_time64 ++# endif + # define QT_ALWAYS_USE_FUTEX + + // if not defined in linux/futex.h diff --git a/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch b/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch new file mode 100644 index 00000000..93a4a6ba --- /dev/null +++ b/recipes-qt/qt5/qtbase/0018-Revert-Fix-workaround-in-pthread-destructor.patch @@ -0,0 +1,69 @@ +From d46b92ecdae0c7dd2f284e3333641866aab4f604 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 26 Jan 2021 08:50:45 +0100 +Subject: [PATCH] Revert "Fix workaround in pthread destructor" + +This reverts commit 81ce2d1d6fa741de4d27b939a378147a02019ec1. + +currentThreadData was reverted in 5.12 before this commit: + +81ce2d1d6f Fix workaround in pthread destructor +8867e0eaa7 Revert "Remove pthread storage for thread local data" +78665d8a0c Remove pthread storage for thread local data + +causing build failures in configurations which use this +| /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-halium-webos-linux-gnueabi/qtbase/5.15.2+gitAUTOINC+40143c189b-r0/git/src/corelib/thread/qthread_unix.cpp: In function 'void destroy_current_thread_data(void*)': +| /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-halium-webos-linux-gnueabi/qtbase/5.15.2+gitAUTOINC+40143c189b-r0/git/src/corelib/thread/qthread_unix.cpp:121:5: error: 'currentThreadData' was not declared in this scope +| 121 | currentThreadData = data; +| | ^~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/corelib/thread/qthread_unix.cpp | 25 +++++++++++++++++++------ + 1 file changed, 19 insertions(+), 6 deletions(-) + +diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp +index 659d5fb03c..1da68b3130 100644 +--- a/src/corelib/thread/qthread_unix.cpp ++++ b/src/corelib/thread/qthread_unix.cpp +@@ -116,11 +116,18 @@ static pthread_key_t current_thread_data_key; + + static void destroy_current_thread_data(void *p) + { ++#if defined(Q_OS_VXWORKS) ++ // Calling setspecific(..., 0) sets the value to 0 for ALL threads. ++ // The 'set to 1' workaround adds a bit of an overhead though, ++ // since this function is called twice now. ++ if (p == (void *)1) ++ return; ++#endif ++ // POSIX says the value in our key is set to zero before calling ++ // this destructor function, so we need to set it back to the ++ // right value... ++ pthread_setspecific(current_thread_data_key, p); + QThreadData *data = static_cast<QThreadData *>(p); +- // thread_local variables are set to zero before calling this destructor function, +- // if they are internally using pthread-specific data management, +- // so we need to set it back to the right value... +- currentThreadData = data; + if (data->isAdopted) { + QThread *thread = data->thread.loadAcquire(); + Q_ASSERT(thread); +@@ -131,8 +138,14 @@ static void destroy_current_thread_data(void *p) + data->deref(); + + // ... but we must reset it to zero before returning so we aren't +- // leaving a dangling pointer. +- currentThreadData = nullptr; ++ // called again (POSIX allows implementations to call destructor ++ // functions repeatedly until all values are zero) ++ pthread_setspecific(current_thread_data_key, ++#if defined(Q_OS_VXWORKS) ++ (void *)1); ++#else ++ nullptr); ++#endif + } + + static void create_current_thread_data_key() diff --git a/recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch b/recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch new file mode 100644 index 00000000..1f1945c8 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch @@ -0,0 +1,63 @@ +From f6b67c71be078d5f58042882e801b9af6634e483 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st> +Date: Fri, 20 Aug 2021 12:10:25 +0300 +Subject: [PATCH] tst_QPluginLoader: Simplify creating a fake pointer in + fakeplugin.cpp + +When assigning multiple variables to a specific section, both GCC +and Clang legitimately error out if those variables wouldn't end +up in the same section (e.g. if one of them is going to a read-only +section while the other one is going to a read-write section). + +In C++, when a seemingly const variable needs dynamic initialization, +it needs to be stored in a read-write section. + +Clang 13 changed internals for how some constants are materialized. +Now, when a variable is initialized with an expression containing +plain old fashioned casts, it is considered to be potentially +runtime initialized (at the point when section assignment conflicts +is evaluated). Therefore, Clang 13 errors out on fakeplugin.cpp +with errors like: + + fakeplugin.cpp:36:39: error: 'message' causes a section type conflict with 'pluginSection' + QT_PLUGIN_METADATA_SECTION const char message[] = "QTMETADATA"; + ^ + fakeplugin.cpp:32:40: note: declared here + QT_PLUGIN_METADATA_SECTION void *const pluginSection = (void*)(0xc0ffeec0ffeeL); + ^ + +See https://bugs.llvm.org/show_bug.cgi?id=51442 for discussion +on the matter in Clang. + +To simplify things, just initialize the fake pointers as regular +uintptr_t instead, avoiding the whole matter. This produces the +exact same contents in the section as before. + +For what it's worth, the actual manually constructed metadata in +fakeplugin.cpp doesn't seem to have any effect on running the +QPluginLoader tests on either ELF or MachO right now. + +Upstream-Status: Backport [https://codereview.qt-project.org/c/qt/qtbase/+/366218] +Change-Id: Ib84a2ceb20cb8e3a1bb5132a5715538e08049616 +Pick-to: 6.2 6.1 +Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp b/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp +index 9e7a1f750b..a6d53f350f 100644 +--- a/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp ++++ b/tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp +@@ -29,8 +29,8 @@ + #include <QtCore/qplugin.h> + + #if QT_POINTER_SIZE == 8 +-QT_PLUGIN_METADATA_SECTION void *const pluginSection = (void*)(0xc0ffeec0ffeeL); ++QT_PLUGIN_METADATA_SECTION const uintptr_t pluginSection = 0xc0ffeec0ffeeULL; + #else +-QT_PLUGIN_METADATA_SECTION void *const pluginSection = (void*)0xc0ffee; ++QT_PLUGIN_METADATA_SECTION const uintptr_t pluginSection = 0xc0ffee; + #endif + QT_PLUGIN_METADATA_SECTION const char message[] = "QTMETADATA"; diff --git a/recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch b/recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch new file mode 100644 index 00000000..521e6cc3 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch @@ -0,0 +1,29 @@ +From a2b11501812e0e34bd49b1950bac52dadd4e3cff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Sat, 15 Oct 2022 15:50:34 +0200 +Subject: [PATCH] rcc: Just dcument file name without full path to reduce qa + warnings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + src/tools/rcc/rcc.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp +index c5e3d2ae4c..2d76cfd081 100644 +--- a/src/tools/rcc/rcc.cpp ++++ b/src/tools/rcc/rcc.cpp +@@ -344,7 +344,7 @@ qint64 RCCFileInfo::writeDataBlob(RCCResourceLibrary &lib, qint64 offset, + // some info + if (text || pass1) { + lib.writeString(" // "); +- lib.writeByteArray(m_fileInfo.absoluteFilePath().toLocal8Bit()); ++ lib.writeByteArray(m_fileInfo.baseName().toLocal8Bit()); + lib.writeString("\n "); + } + diff --git a/recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch b/recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch new file mode 100644 index 00000000..f16afed5 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0022-testlib-don-t-track-the-build-or-source-directories.patch @@ -0,0 +1,32 @@ +From 7d4da27df6ab641390de75dd7c04b755295a653b Mon Sep 17 00:00:00 2001 +From: Samuli Piippo <samuli.piippo@qt.io> +Date: Mon, 22 Aug 2022 15:01:28 +0300 +Subject: [PATCH] testlib: don't track the build or source directories + +Build tests without location of the build and sources directories. + +Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Change-Id: I8d5add473623a3d9f481097649819c9fb906e4b2 +--- + mkspecs/features/testlib_defines.prf | 2 -- + src/testlib/Qt5TestConfigExtras.cmake.in | 5 ----- + 2 files changed, 7 deletions(-) + +diff --git a/mkspecs/features/testlib_defines.prf b/mkspecs/features/testlib_defines.prf +index 901e03a91d..e69de29bb2 100644 +--- a/mkspecs/features/testlib_defines.prf ++++ b/mkspecs/features/testlib_defines.prf +@@ -1,2 +0,0 @@ +-contains(TEMPLATE, vc.*): DEFINES += QT_TESTCASE_BUILDDIR=\"$$OUT_PWD\" +-else: DEFINES += QT_TESTCASE_BUILDDIR=$$shell_quote(\"$$OUT_PWD\") +diff --git a/src/testlib/Qt5TestConfigExtras.cmake.in b/src/testlib/Qt5TestConfigExtras.cmake.in +index 2a575958ae..e69de29bb2 100644 +--- a/src/testlib/Qt5TestConfigExtras.cmake.in ++++ b/src/testlib/Qt5TestConfigExtras.cmake.in +@@ -1,5 +0,0 @@ +- +-set_property(TARGET Qt5::Test +- APPEND PROPERTY +- INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" +-) diff --git a/recipes-qt/qt5/qtbase/0018-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch index 7ae15d0a..7a100a69 100644 --- a/recipes-qt/qt5/qtbase/0018-Always-build-uic-and-qvkgen.patch +++ b/recipes-qt/qt5/qtbase/0023-Always-build-uic-and-qvkgen.patch @@ -1,4 +1,4 @@ -From 0db28cf06f557a714f8cffafbfcdbe68378c8f8a Mon Sep 17 00:00:00 2001 +From 5f415fb09ea64765e60d1d52721064f53545a413 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Sat, 16 Nov 2013 00:32:30 +0100 Subject: [PATCH] Always build uic and qvkgen @@ -9,15 +9,16 @@ as a native tool when compiling the target. Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6 Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending --- src/src.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src.pro b/src/src.pro -index 1c76a2e46f..fbd4014fb3 100644 +index 8990109743..105feee924 100644 --- a/src/src.pro +++ b/src/src.pro -@@ -232,7 +232,7 @@ qtConfig(gui) { +@@ -244,7 +244,7 @@ qtConfig(gui) { } } } diff --git a/recipes-qt/qt5/qtbase/0019-Avoid-renameeat2-for-native-sdk-builds.patch b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch index 2d644230..97e4ff6c 100644 --- a/recipes-qt/qt5/qtbase/0019-Avoid-renameeat2-for-native-sdk-builds.patch +++ b/recipes-qt/qt5/qtbase/0024-Avoid-renameeat2-for-native-sdk-builds.patch @@ -1,4 +1,4 @@ -From 33edd09ffb4acaf9b829a31a567508ea251db7ab Mon Sep 17 00:00:00 2001 +From 77196464454a1c66e57ad5aac237a55de211a107 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Sun, 14 Apr 2019 13:27:58 +0200 Subject: [PATCH] Avoid renameeat2 for native(sdk) builds @@ -24,10 +24,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h -index e6ad805..283ce1c 100644 +index b3daf43c04..e1df2ac580 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h -@@ -104,7 +104,7 @@ +@@ -107,7 +107,7 @@ #define QT_FEATURE_process -1 #define QT_FEATURE_regularexpression -1 #ifdef __GLIBC_PREREQ @@ -36,7 +36,7 @@ index e6ad805..283ce1c 100644 #else # define QT_FEATURE_renameat2 -1 #endif -@@ -112,7 +112,7 @@ +@@ -115,7 +115,7 @@ #define QT_FEATURE_signaling_nan -1 #define QT_FEATURE_slog2 -1 #ifdef __GLIBC_PREREQ @@ -46,12 +46,12 @@ index e6ad805..283ce1c 100644 # define QT_FEATURE_statx -1 #endif diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp -index 74865fe..2b787ee 100644 +index 231e5cb0ea..8da5872c5e 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp -@@ -1236,16 +1236,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy - if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty())) - return emptyFileEntryWarning(), false; +@@ -1443,16 +1443,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy + Q_CHECK_FILE_NAME(srcPath, false); + Q_CHECK_FILE_NAME(tgtPath, false); -#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2) - if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0) diff --git a/recipes-qt/qt5/qtbase/0020-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch index e681bfbb..b759214b 100644 --- a/recipes-qt/qt5/qtbase/0020-Bootstrap-without-linkat-feature.patch +++ b/recipes-qt/qt5/qtbase/0025-Bootstrap-without-linkat-feature.patch @@ -1,4 +1,4 @@ -From d52010c7d58f1a25f51a909b3179df656ed9d9c4 Mon Sep 17 00:00:00 2001 +From a052a876d0639db2f919aada2ae0afe1718928af Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Fri, 24 Nov 2017 15:16:31 +0200 Subject: [PATCH] Bootstrap without linkat feature @@ -7,16 +7,17 @@ qmake does not work together with pseudo when unnamed temporary files are used with linkat. Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> [YOCTO #11996] --- src/corelib/global/qconfig-bootstrapped.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h -index 30166fe41c..e06f75541b 100644 +index e1df2ac580..151cc1d2c2 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h -@@ -91,7 +91,7 @@ +@@ -98,7 +98,7 @@ #define QT_FEATURE_itemmodel -1 #define QT_FEATURE_library -1 #ifdef __linux__ diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 5cad9a35..4009afc5 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -1,20 +1,20 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc require qt5-ptest.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.QT-LICENSE-AGREEMENT-4.0;md5=948f8877345cd66106f11031977a4625 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=485e1d58b313def058a0d72598aa6efe \ " # common for qtbase-native, qtbase-nativesdk and qtbase -# Patches from https://github.com/meta-qt5/qtbase/commits/b5.12-shared -# 5.12.meta-qt5-shared.8 +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.15-shared +# 5.15.meta-qt5-shared.4 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -23,19 +23,29 @@ SRC_URI += "\ file://0005-Disable-all-unknown-features-instead-of-erroring-out.patch \ file://0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ file://0007-Delete-qlonglong-and-qulonglong.patch \ - file://0008-Replace-pthread_yield-with-sched_yield.patch \ file://0009-Add-OE-specific-specs-for-clang-compiler.patch \ file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \ file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \ - file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \ - file://0013-Disable-ltcg-for-host_build.patch \ - file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \ - file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \ - file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ + file://0012-Disable-ltcg-for-host_build.patch \ + file://0013-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \ + file://0014-corelib-Include-sys-types.h-for-uint32_t.patch \ + file://0015-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ + file://0016-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ + file://0017-Define-__NR_futex-if-it-does-not-exist.patch \ + file://0018-Revert-Fix-workaround-in-pthread-destructor.patch \ + file://0019-tst_QPluginLoader-Simplify-creating-a-fake-pointer-i.patch \ + file://0021-rcc-Just-dcument-file-name-without-full-path-to-redu.patch \ + file://0022-testlib-don-t-track-the-build-or-source-directories.patch \ " +# Disable LTO for now, QT5 patches are being worked upstream, perhaps revisit with +# next major upgrade of QT +LTO = "" + # for syncqt -RDEPENDS_${PN}-tools += "perl" +RDEPENDS:${PN}-tools += "perl" + +inherit pkgconfig # separate some parts of PACKAGECONFIG which are often changed PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', 'no-opengl', d)}" @@ -49,9 +59,11 @@ PACKAGECONFIG_DISTRO ?= "" PACKAGECONFIG_RELEASE ?= "release" # This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency # PACKAGECONFIG_OPENSSL ?= "openssl" -PACKAGECONFIG_DEFAULT ?= "accessibility dbus udev evdev widgets tools libs freetype tests pcre \ +PACKAGECONFIG_DEFAULT ?= "accessibility dbus udev evdev widgets tools libs freetype pcre \ ${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Os', 'optimize-size ltcg', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)} \ " PACKAGECONFIG ?= " \ @@ -103,11 +115,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" @@ -117,6 +129,7 @@ PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv" PACKAGECONFIG[xkbcommon] = "-xkbcommon,-no-xkbcommon,libxkbcommon,xkeyboard-config" PACKAGECONFIG[evdev] = "-evdev,-no-evdev" PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev" +PACKAGECONFIG[lttng] = "-trace lttng,-trace no,lttng-ust" # depends on glib PACKAGECONFIG[fontconfig] = "-fontconfig,-no-fontconfig,fontconfig" PACKAGECONFIG[gtk] = "-gtk,-no-gtk,gtk+3" @@ -133,6 +146,7 @@ PACKAGECONFIG[libinput] = "-libinput,-no-libinput,libinput" PACKAGECONFIG[journald] = "-journald,-no-journald,systemd" # needs kernel 3.17+ PACKAGECONFIG[getentropy] = "-feature-getentropy,-no-feature-getentropy," +PACKAGECONFIG[vulkan] = "-vulkan,-no-vulkan,vulkan-headers" QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)}" # workaround for gold bug: @@ -154,8 +168,8 @@ QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '- # OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=bfd -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread # # http://errors.yoctoproject.org/Errors/Details/150329/ -# QT_CONFIG_FLAGS_GOLD_x86 = "-no-use-gold-linker" -# LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +# QT_CONFIG_FLAGS_GOLD:x86 = "-no-use-gold-linker" +# LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" # since the upgrade to 5.12.2 this got worse, with gold enabled configure will no longer pass the test for xlib # because with full paths to libraries since qtbase commit 521a85395 it fails to link with @@ -165,7 +179,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" QT_CONFIG_FLAGS += " \ ${QT_CONFIG_FLAGS_GOLD} \ @@ -176,9 +192,9 @@ QT_CONFIG_FLAGS += " \ ${PACKAGECONFIG_CONFARGS} \ " -export CC_host_toolchain-clang = "clang" -export CXX_host_toolchain-clang = "clang++" -export LD_host_toolchain-clang = "clang++" +export CC_host:toolchain-clang = "clang" +export CXX_host:toolchain-clang = "clang++" +export LD_host:toolchain-clang = "clang++" export CC_host ?= "gcc" export CXX_host ?= "g++" export LD_host ?= "g++" @@ -187,13 +203,13 @@ export LD_host ?= "g++" # since we cannot set empty set filename to a not existent file deltask generate_qt_config_file -XPLATFORM_toolchain-clang = "linux-oe-clang" +XPLATFORM:toolchain-clang = "linux-oe-clang" XPLATFORM ?= "linux-oe-g++" # Causes qdrawhelper.s: Error: unaligned opcodes detected in executable segment # when building qtbase/5.6.3+gitAUTOINC+e6f8b072d2-r0/git/src/gui/painting/qdrawhelper.cpp -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" do_configure() { # Regenerate header files when they are included in source tarball @@ -231,7 +247,7 @@ do_configure() { ${QT_CONFIG_FLAGS} } -do_install_append() { +do_install:append() { # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" touch ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/oe-device-extra.pri @@ -245,16 +261,18 @@ do_install_append() { echo "" >> $conf echo "# default compiler options which can be overwritten from the environment" >> $conf - echo "isEmpty(QMAKE_AR): QMAKE_AR = ${OE_QMAKE_AR} cqs" >> $conf + echo "count(QMAKE_AR, 1): QMAKE_AR = ${OE_QMAKE_AR} cqs" >> $conf echo "isEmpty(QMAKE_CC): QMAKE_CC = $OE_QMAKE_CC_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_CFLAGS): QMAKE_CFLAGS = ${OE_QMAKE_CFLAGS}" >> $conf echo "isEmpty(QMAKE_CXX): QMAKE_CXX = $OE_QMAKE_CXX_NO_SYSROOT" >> $conf - echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${OE_QMAKE_CXXFLAGS}" >> $conf + # OE_QMAKE_CFLAGS and OE_QMAKE_CXXFLAGS contain path of the build host, which is not useful for the target. + echo "isEmpty(QMAKE_CFLAGS): QMAKE_CFLAGS = ${OE_QMAKE_CFLAGS}" | sed -e 's/-fdebug-prefix-map=[^ ]*//g' | sed -e 's/-fmacro-prefix-map=[^ ]*//g' >> $conf + echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${OE_QMAKE_CXXFLAGS}" | sed -e 's/-fdebug-prefix-map=[^ ]*//g' | sed -e 's/-fmacro-prefix-map=[^ ]*//g' >> $conf echo "isEmpty(QMAKE_LINK): QMAKE_LINK = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf echo "isEmpty(QMAKE_LINK_SHLIB): QMAKE_LINK_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf echo "isEmpty(QMAKE_LINK_C): QMAKE_LINK_C = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf echo "isEmpty(QMAKE_LINK_C_SHLIB): QMAKE_LINK_C_SHLIB = $OE_QMAKE_LINK_NO_SYSROOT" >> $conf echo "isEmpty(QMAKE_LFLAGS): QMAKE_LFLAGS = ${OE_QMAKE_LDFLAGS}" >> $conf + echo "isEmpty(QMAKE_OBJCOPY): QMAKE_OBJCOPY = ${TARGET_PREFIX}objcopy" >> $conf echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${TARGET_PREFIX}strip" >> $conf echo "isEmpty(CC_host): CC_host = ${CC_host}" >> $conf echo "isEmpty(CXX_host): CXX_host = ${CXX_host}" >> $conf @@ -262,14 +280,32 @@ do_install_append() { generate_target_qt_config_file ${D}${OE_QMAKE_PATH_BINS}/qt.conf - # Fix up absolute paths in scripts - sed -i -e '1s,#!/usr/bin/python,#! ${USRBINPATH}/env python,' \ + # Fix up absolute paths in scripts and use python3 instead of python + sed -i -e '1s,#!/usr/bin/python$,#! ${USRBINPATH}/env python3,' \ ${D}${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/uikit/devices.py } # mkspecs have mac specific scripts that depend on perl and bash -INSANE_SKIP_${PN}-mkspecs += "file-rdeps" +INSANE_SKIP:${PN}-mkspecs += "file-rdeps" + +RRECOMMENDS:${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}" -RRECOMMENDS_${PN}-plugins += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', '', d)}" +TARGET_MKSPEC ?= "linux-g++" + +# use clean mkspecs on target +pkg_postinst:${PN}-tools () { +sed -i \ + -e 's:HostSpec =.*:HostSpec = ${TARGET_MKSPEC}:g' \ + -e 's:TargetSpec =.*:TargetSpec = ${TARGET_MKSPEC}:g' \ + $D${OE_QMAKE_PATH_BINS}/qt.conf +} + +pkg_postinst:${PN}-mkspecs () { +sed -i 's: cross_compile : :g' $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qconfig.pri +sed -i \ + -e 's: cross_compile : :g' \ + -e 's:HOST_QT_TOOLS =.*::g' \ + $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri +} -SRCREV = "780137d585344bf9de906a285a50498104c0c66e" +SRCREV = "8a25db3204f39a228d14148d9cdf414393d239a5" diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb index 8cb28948..05160cb2 100644 --- a/recipes-qt/qt5/qtcharts_git.bb +++ b/recipes-qt/qt5/qtcharts_git.bb @@ -1,17 +1,17 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " DEPENDS += "qtbase qtdeclarative qtmultimedia" -SRCREV = "26277a94e10b9bb542017be369c95f399eba6213" +SRCREV = "9da73121e87e7078f4f5ae2260c884d644242164" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Details/152641/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" PACKAGECONFIG ?= "qtquickcompiler" diff --git a/recipes-qt/qt5/qtcoap_git.bb b/recipes-qt/qt5/qtcoap_git.bb index 98446005..df48de45 100644 --- a/recipes-qt/qt5/qtcoap_git.bb +++ b/recipes-qt/qt5/qtcoap_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & BSD-3-Clause & GPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " @@ -11,4 +11,4 @@ PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" DEPENDS += "qtbase" -SRCREV = "a7bfc7ebb30dd45e4692ec38d8b9ede6372939f0" +SRCREV = "a9401d789d70e36d7f431bc1272c3ae95c2a5def" diff --git a/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch index 09c92ccb..72afac30 100644 --- a/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch +++ b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch @@ -1,4 +1,4 @@ -From 8f79162cdbf6e9df3aea6762124ba1a6b25f5c0a Mon Sep 17 00:00:00 2001 +From 000075567007d0ef76ef3c782fc4060f8ff8e647 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 29 Jan 2019 20:29:19 -0800 Subject: [PATCH] Add missing header for errno diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb index 65f1d883..47c31f4b 100644 --- a/recipes-qt/qt5/qtconnectivity_git.bb +++ b/recipes-qt/qt5/qtconnectivity_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -19,4 +19,4 @@ PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "8930d4b0f4b6b96fb64c2c4f30e55d313e16ae5e" +SRCREV = "4c39684c31a2bfae5ac7d15b4c959ceb50101451" diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb index ac3cd941..9565c834 100644 --- a/recipes-qt/qt5/qtdatavis3d_git.bb +++ b/recipes-qt/qt5/qtdatavis3d_git.bb @@ -1,11 +1,11 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns" -SRCREV = "2900ec11a8100e474f3b595848314b894ecb2079" +SRCREV = "4482ce78012a754f0a95bcbf0ab7f29b6326eb86" diff --git a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch index 0152574a..f5dd675a 100644 --- a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch +++ b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch @@ -1,4 +1,4 @@ -From 793ddd0d9fc0d86425a0aa43709445c5ff12a464 Mon Sep 17 00:00:00 2001 +From e9a8985fe1fd45da990e821283dcb16109d1d674 Mon Sep 17 00:00:00 2001 From: Piotr Tworek <tworaz@tworaz.net> Date: Wed, 3 Jul 2019 01:13:40 +0200 Subject: [PATCH] Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to locate qmlcachegen @@ -14,7 +14,7 @@ Signed-off-by: Piotr Tworek <tworaz@tworaz.net> 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in -index 75fbb0fcf3..1e949cd40c 100644 +index 26d42c02a9..7b4186c837 100644 --- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in +++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake.in @@ -18,11 +18,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles) @@ -30,6 +30,3 @@ index 75fbb0fcf3..1e949cd40c 100644 if(NOT EXISTS \"${compiler_path}\" ) message(FATAL_ERROR \"The package \\\"Qt5QuickCompilerConfig\\\" references the file \\\"${compiler_path}\\\" --- -2.21.0 - diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 7b9f70ca..5ade81be 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -1,9 +1,9 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc require qt5-ptest.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,22 +12,47 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " -DEPENDS += "qtbase" - -SRC_URI += "\ +# Patches from https://github.com/meta-qt5/qtdeclarative/commits/b5.15 +# 5.15.meta-qt5.1 +SRC_URI += " \ file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \ " +LDFLAGS:append:riscv64 = " -pthread" + +DEPENDS += "qtbase qtdeclarative-native" + PACKAGECONFIG ??= "qml-debug qml-network ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)}" PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug" PACKAGECONFIG[qml-network] = "-qml-network, -no-qml-network" PACKAGECONFIG[static] = ",,qtdeclarative-native" -do_install_append_class-nativesdk() { +EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" + +do_install_ptest() { + mkdir -p ${D}${PTEST_PATH} + for var in `find ${B}/tests/auto/ -name tst_*`; do + case=$(basename ${var}) + if [ -z `echo ${case} | grep '\.'` ]; then + dname=$(dirname ${var}) + pdir=$(basename ${dname}) + echo ${pdir}/${case} >> ${D}${PTEST_PATH}/tst_list + + mkdir ${D}${PTEST_PATH}/${pdir} + install -m 0744 ${var} ${D}${PTEST_PATH}/${pdir} + data_dir=${S}/${dname##${B}}/data + if [ -d ${data_dir} ]; then + cp -r ${data_dir} ${D}${PTEST_PATH}/${pdir} + fi + fi + done +} + +do_install:append:class-nativesdk() { # qml files not needed in nativesdk rm -rf ${D}${OE_QMAKE_PATH_QML} } -SRCREV = "a02b5d48cf63228ed8faf6abf4724df2c4500269" +SRCREV = "73eeb35f09fd1ea846bb0f5ce507316f587fda9f" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtgamepad_git.bb b/recipes-qt/qt5/qtgamepad_git.bb index 8e74c873..dbe696b5 100644 --- a/recipes-qt/qt5/qtgamepad_git.bb +++ b/recipes-qt/qt5/qtgamepad_git.bb @@ -1,7 +1,9 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GPL-3.0 | LGPL-3.0 | The-Qt-Company-Commercial" +inherit pkgconfig + +LICENSE = "GPL-3.0-only | LGPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=c4fe8c6de4eef597feec6e90ed62e962 \ file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \ @@ -14,4 +16,4 @@ PACKAGECONFIG[sdl2] = "-feature-sdl2,-no-feature-sdl2,libsdl2" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "05586c2c1a6ed7e41178ce6551ae219c3840d09e" +SRCREV = "01a74df25b14981cf054d58ac238083f5715c80c" diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb index b54685dd..2a7f7268 100644 --- a/recipes-qt/qt5/qtgraphicaleffects_git.bb +++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,10 +12,10 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtdeclarative-native" -RDEPENDS_${PN}-dev = "" +RDEPENDS:${PN}-dev = "" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Build/44912/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "d066a6e259478fe3e4c7007ce7e5953fbc82dc4b" +SRCREV = "161bf75024a8d04bf843c058717feef93de73624" diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb index ee3b6484..4986276c 100644 --- a/recipes-qt/qt5/qtimageformats_git.bb +++ b/recipes-qt/qt5/qtimageformats_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ @@ -25,4 +25,4 @@ PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "e0d64f71299572c60affaf67b208f6ab5aa1f9b0" +SRCREV = "348a2b3860519a00f8b8f4cb690497b3f2ac5e7b" diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb index 7cbcf895..3ce3a0ef 100644 --- a/recipes-qt/qt5/qtknx_git.bb +++ b/recipes-qt/qt5/qtknx_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" +LICENSE = "(GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "35f6e58cd747a3d19a503c7fa49bb74aeaedd87e" +SRCREV = "f3a5a0a7b03ec565ab565ab316db974384eb59e1" diff --git a/recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch b/recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch new file mode 100644 index 00000000..78b5468e --- /dev/null +++ b/recipes-qt/qt5/qtlocation/0001-mapbox-gl-explicitly-include-cstdint-header.patch @@ -0,0 +1,52 @@ +From 92ce461e77dad3451eb5791efe7413a989dc2c3c Mon Sep 17 00:00:00 2001 +From: Denys Dmytriyenko <denys@konsulko.com> +Date: Wed, 7 Jun 2023 22:59:53 +0000 +Subject: [PATCH] mapbox-gl: explicitly include cstdint header + +Otherwise gcc13 report "undeclared" error for uint8_t and uint32_t + +Upstream-Status: Pending + +Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> +--- + include/mbgl/util/geometry.hpp | 1 + + include/mbgl/util/string.hpp | 1 + + src/mbgl/gl/stencil_mode.hpp | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/include/mbgl/util/geometry.hpp b/include/mbgl/util/geometry.hpp +index a28c59a47..92d928a37 100644 +--- a/include/mbgl/util/geometry.hpp ++++ b/include/mbgl/util/geometry.hpp +@@ -1,5 +1,6 @@ + #pragma once + ++#include <cstdint> + #include <mapbox/geometry/geometry.hpp> + #include <mapbox/geometry/point_arithmetic.hpp> + #include <mapbox/geometry/for_each_point.hpp> +diff --git a/include/mbgl/util/string.hpp b/include/mbgl/util/string.hpp +index 13498ccb9..726f7f6fc 100644 +--- a/include/mbgl/util/string.hpp ++++ b/include/mbgl/util/string.hpp +@@ -1,5 +1,6 @@ + #pragma once + ++#include <cstdint> + #include <sstream> + #include <string> + #include <cassert> +diff --git a/src/mbgl/gl/stencil_mode.hpp b/src/mbgl/gl/stencil_mode.hpp +index bc959c9a7..2fc62bba7 100644 +--- a/src/mbgl/gl/stencil_mode.hpp ++++ b/src/mbgl/gl/stencil_mode.hpp +@@ -1,5 +1,6 @@ + #pragma once + ++#include <cstdint> + #include <mbgl/util/variant.hpp> + + namespace mbgl { +-- +2.25.1 + diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index e3163e4b..0aaaf9d2 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "Apache-2.0 & MIT & openssl & BSL-1.0 & GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "Apache-2.0 & MIT & OpenSSL & BSL-1.0 & GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -27,15 +27,16 @@ EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Details/152640/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" QT_MODULE_BRANCH_MAPBOXGL = "upstream/qt-staging" SRC_URI += " \ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ + file://0001-mapbox-gl-explicitly-include-cstdint-header.patch;patchdir=src/3rdparty/mapbox-gl-native \ " -SRCREV_qtlocation = "b44858e1e78820ce1139ee656a1892fb12c4799c" -SRCREV_qtlocation-mapboxgl = "5233c75b3f6c73623c5473b2d6573f31f3ddb4b7" +SRCREV_qtlocation = "ff8d83c1b94fe6f13247b844268c0c6816081e6d" +SRCREV_qtlocation-mapboxgl = "d3101bbc22edd41c9036ea487d4a71eabd97823d" SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl" diff --git a/recipes-qt/qt5/qtlottie_git.bb b/recipes-qt/qt5/qtlottie_git.bb index 3b403cdb..c6a6e0cb 100644 --- a/recipes-qt/qt5/qtlottie_git.bb +++ b/recipes-qt/qt5/qtlottie_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" +LICENSE = "(GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "c58d7029d89c975b48cf17b548fb9ce9d1e76ede" +SRCREV = "a56808f219f9a660dd48ee7e330d0bf86d2cee9b" diff --git a/recipes-qt/qt5/qtmqtt_git.bb b/recipes-qt/qt5/qtmqtt_git.bb index e01ea483..f2caefb2 100644 --- a/recipes-qt/qt5/qtmqtt_git.bb +++ b/recipes-qt/qt5/qtmqtt_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "(GPL-3.0 & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" +LICENSE = "(GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "4e4050fdbdeab6e63c0b55947512a92845872930" +SRCREV = "690889a590a18495b79217d4ef0436165bf1a74b" diff --git a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch index 838044a1..6973e235 100644 --- a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch +++ b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch @@ -1,4 +1,4 @@ -From dd3b3190fd65ac636afd55c1d2e746c9fe7b6df0 Mon Sep 17 00:00:00 2001 +From dc8c12331e567ace9e05fce3198c1c121ec2927d Mon Sep 17 00:00:00 2001 From: Wenlin Kang <wenlin.kang@windriver.com> Date: Thu, 8 Sep 2016 12:18:13 +0800 Subject: [PATCH] qtmultimedia: fix a conflicting declaration @@ -7,6 +7,7 @@ Use lgl2.h instead of gl2.h and gl2ext.h, fix a "conflicting declaration" error. Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> +Upstream-Status: Pending --- src/plugins/videonode/imx6/lgl2.h | 46 +++++++++++++++++++ .../imx6/qsgvivantevideomaterial.cpp | 5 +- @@ -67,7 +68,7 @@ index 00000000..24236976 + +#endif diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp -index 4b68f47a..dade1382 100644 +index e1468fe3..a77a9d6a 100644 --- a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp +++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp @@ -37,8 +37,9 @@ diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index 77e8655f..8d90bd9b 100644 --- a/recipes-qt/qt5/qtmultimedia_git.bb +++ b/recipes-qt/qt5/qtmultimedia_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,7 +12,10 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ +inherit pkgconfig + +PACKAGECONFIG ??= "gstreamer \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" PACKAGECONFIG[alsa] = "-alsa,-no-alsa,alsa-lib" PACKAGECONFIG[pulseaudio] = "-pulseaudio,-no-pulseaudio,pulseaudio" @@ -27,14 +30,20 @@ EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstream CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DMESA_EGL_NO_X11_HEADERS=1', d)}" -# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.12 -# 5.12.meta-qt5.3 +# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.15 +# 5.15.meta-qt5.1 SRC_URI += "\ file://0001-qtmultimedia-fix-a-conflicting-declaration.patch \ " # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Build/44914/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +SRCREV = "b46203a7c4e4889c76f59e4a72da68a069a8f9c4" -SRCREV = "0b76c9ebf09bcd518f582cd0b591c08d54440a58" +# Temporary work around for Qt5MultimediaConfig.cmake referencing non-existent videoeglvideonode directory +do_install:append() { + install -d ${D}${OE_QMAKE_PATH_PLUGINS}/videoeglvideonode +} +FILES:${PN} += "${OE_QMAKE_PATH_PLUGINS}/videoeglvideonode" diff --git a/recipes-qt/qt5/qtnetworkauth_git.bb b/recipes-qt/qt5/qtnetworkauth_git.bb index 2a1bf553..197ccbf4 100644 --- a/recipes-qt/qt5/qtnetworkauth_git.bb +++ b/recipes-qt/qt5/qtnetworkauth_git.bb @@ -1,12 +1,12 @@ -LICENSE = "BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" +LICENSE = "BSD-3-Clause & GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " require qt5.inc -require qt5-git.inc +require qt5-lts.inc DEPENDS += "qtbase" -SRCREV = "40b0dbbd02fa16396bd27c40fd51f8840d6bfbea" +SRCREV = "100c1e57b571ef00d9f715f24e945dd1cfb07044" diff --git a/recipes-qt/qt5/qtopcua_git.bb b/recipes-qt/qt5/qtopcua_git.bb index f5596e42..46fc7c9a 100644 --- a/recipes-qt/qt5/qtopcua_git.bb +++ b/recipes-qt/qt5/qtopcua_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "( GFDL-1.3 & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial ) & MPL-2.0 & CC0-1.0" +LICENSE = "( GFDL-1.3 & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial ) & MPL-2.0 & CC0-1.0" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=f70ee9a6c44ae8917586fea34dff0ab5 \ file://LICENSE.GPLv2;md5=05832301944453ec79e40ba3c3cfceec \ @@ -18,4 +18,4 @@ SECURITY_STRINGFORMAT = "" DEPENDS += "qtbase" -SRCREV = "96be231060829ed8c7afb2c7fd6df78d74417251" +SRCREV = "950f40dcc2d365d6e9ac60fe20178c8ba48a1b6a" diff --git a/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch b/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch new file mode 100644 index 00000000..013832e5 --- /dev/null +++ b/recipes-qt/qt5/qtpdf/0001-configure.json-remove-python2-dependency.patch @@ -0,0 +1,23 @@ +From be54e6e336001ed3ed342f65f379c2e355d847f0 Mon Sep 17 00:00:00 2001 +From: Leif Middelschulte <Leif.Middelschulte@klsmartin.com> +Date: Tue, 8 Feb 2022 14:14:02 +0100 +Subject: [PATCH] configure.json: remove python2 dependency + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/buildtools/configure.json | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json +index 5e5d9d725..541b7b740 100644 +--- a/src/buildtools/configure.json ++++ b/src/buildtools/configure.json +@@ -422,7 +422,6 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) + && (!config.linux || features.webengine-host-pkg-config) diff --git a/recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch b/recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch new file mode 100644 index 00000000..c95e7d02 --- /dev/null +++ b/recipes-qt/qt5/qtpdf/0002-gn.pro-do-not-try-to-statically-link-stdc.patch @@ -0,0 +1,25 @@ +From 6e25650c829bf1052f607b3f3edbdf88f163efe0 Mon Sep 17 00:00:00 2001 +From: Leif Middelschulte <Leif.Middelschulte@klsmartin.com> +Date: Tue, 8 Feb 2022 16:28:14 +0100 +Subject: [PATCH] gn.pro: do not try to statically link stdc++ + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/buildtools/gn.pro | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro +index a8ca6567b..9632f0ef7 100644 +--- a/src/buildtools/gn.pro ++++ b/src/buildtools/gn.pro +@@ -20,7 +20,8 @@ build_pass|!debug_and_release { + + gn_gen_args = --no-last-commit-position --out-path $$out_path \ + --cc \"$$which($$CC_host)\" --cxx \"$$which($$CXX_host)\" \ +- --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\" ++ --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\" \ ++ --no-static-libstdc++ + + msvc:!clang_cl: gn_gen_args += --use-lto + diff --git a/recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch b/recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch new file mode 100644 index 00000000..21fe4f0b --- /dev/null +++ b/recipes-qt/qt5/qtpdf/0003-Fix-build-with-clang.patch @@ -0,0 +1,40 @@ +From 9e1036a25207f9013a13b23401feacd72866be4c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 26 Feb 2022 18:15:28 -0800 +Subject: [PATCH] Fix build with clang + +use GNU runtime when building native tools like gn +when using native clang compiler + +Fixes +| FAILED: gn +| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/qtpdf/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot-native/usr/bin/clang++ -O3 -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-stri +p-all -Wl,--as-needed -pthread -o gn -Wl,--start-group tools/gn/gn_main.o base.a gn_lib.a -Wl,--end-group -ldl +| /mnt/b/yoe/master/build/tmp/hosttools/ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libclang_rt.builtins-x86_64.a: No such file or directory + +Fix building with clang from meta-clang + +Clang defaults to llvm runtime and this patch is needed +for building the host tools, since its using native runtime + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/buildtools/gn.pro | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro +index 9632f0ef7..5ff50cca1 100644 +--- a/src/buildtools/gn.pro ++++ b/src/buildtools/gn.pro +@@ -20,8 +20,7 @@ build_pass|!debug_and_release { + + gn_gen_args = --no-last-commit-position --out-path $$out_path \ + --cc \"$$which($$CC_host)\" --cxx \"$$which($$CXX_host)\" \ +- --ld \"$$which($$CXX_host)\" --ar \"$$which(ar)\" \ +- --no-static-libstdc++ ++ --ld \"$$which($$CXX_host) -stdlib=libc++ -rtlib=libgcc -unwindlib=libgcc $$(GN_HOST_TOOLCHAIN_EXTRA_LDFLAGS)\" --ar \"$$which(ar)\" + + msvc:!clang_cl: gn_gen_args += --use-lto + diff --git a/recipes-qt/qt5/qtpdf_git.bb b/recipes-qt/qt5/qtpdf_git.bb new file mode 100644 index 00000000..ad17f36e --- /dev/null +++ b/recipes-qt/qt5/qtpdf_git.bb @@ -0,0 +1,221 @@ +SUMMARY = "Qt Pdf support" + +# Read http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ +LICENSE = "BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0-only | The-Qt-Company-Commercial )" +LIC_FILES_CHKSUM = " \ + file://src/3rdparty/chromium/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \ + file://LICENSE.LGPL3;md5=8211fde12cc8a4e2477602f5953f5b71 \ + file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ + file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ + file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ +" + +DEPENDS += " \ + libpng-native \ + ninja-native \ + bison-native \ + qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \ + jpeg-native \ + freetype-native \ + gperf-native \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxcursor libxi libxrandr libxtst libxkbfile', '', d)} \ +" + +DEPENDS:append:libc-musl = " libexecinfo" + +inherit pkgconfig + +EXTRA_QMAKEVARS_CONFIGURE += "-feature-webengine-system-ninja -no-feature-webengine-system-gn" +EXTRA_QMAKEVARS_PRE += "CONFIG+=force_debug_info" + +# chromium/third_party/openh264/openh264.gyp adds +# -Wno-format to openh264_cflags_add +# similarly chromium/third_party/openh264/BUILD.gn for newer qtwebengine +# causing following error, because -Wformat-security cannot be used together with -Wno-format +# cc1plus: error: -Wformat-security ignored without -Wformat [-Werror=format-security] +# http://errors.yoctoproject.org/Errors/Details/150333/ +SECURITY_STRINGFORMAT = "" + +# To use system ffmpeg you need to enable also libwebp, opus, libvpx +# Only depenedencies available in oe-core are enabled by default +PACKAGECONFIG ??= "libevent libpng \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" + +PACKAGECONFIG[icu] = "-feature-webengine-system-icu,-no-feature-webengine-system-icu,icu" +PACKAGECONFIG[ffmpeg] = "-feature-webengine-system-ffmpeg,-no-feature-webengine-system-ffmpeg,libav" +PACKAGECONFIG[webrtc] = "-feature-webengine-webrtc,-no-feature-webengine-webrtc,libvpx" +PACKAGECONFIG[libwebp] = "-feature-webengine-system-libwebp,-no-feature-webengine-system-libwebp,libwebp" +PACKAGECONFIG[opus] = "-feature-webengine-system-opus,-no-feature-webengine-system-opus,libopus" +PACKAGECONFIG[libvpx] = "-feature-webengine-system-libvpx,-no-feature-webengine-system-libvpx,libvpx" +PACKAGECONFIG[libevent] = "-feature-webengine-system-libevent,-no-feature-webengine-system-libevent,libevent" +PACKAGECONFIG[libpng] = "-feature-webengine-system-png,-no-feature-webengine-system-png,libpng" +PACKAGECONFIG[harfbuzz] = "-feature-webengine-system-harfbuzz,-no-feature-webengine-system-harfbuzz,harfbuzz" +PACKAGECONFIG[glib] = "-feature-webengine-system-glib,-no-feature-webengine-system-glib,glib-2.0" +PACKAGECONFIG[zlib] = "-feature-webengine-system-zlib,-no-feature-webengine-system-zlib,zlib" +PACKAGECONFIG[libxml2] = "-feature-webengine-system-libxml2,-no-feature-webengine-system-libxml2,libxml2" +PACKAGECONFIG[minizip] = "-feature-webengine-system-minizip,-no-feature-webengine-system-minizip,minizip" +PACKAGECONFIG[proprietary-codecs] = "-feature-webengine-proprietary-codecs,-no-feature-webengine-proprietary-codecs" +PACKAGECONFIG[pepper-plugins] = "-feature-webengine-pepper-plugins,-no-feature-webengine-pepper-plugins" +PACKAGECONFIG[printing-and-pdf] = "-feature-webengine-printing-and-pdf,-no-feature-webengine-printing-and-pdf" +PACKAGECONFIG[spellchecker] = "-feature-webengine-spellchecker,-no-feature-webengine-spellchecker" +PACKAGECONFIG[pulseaudio] = "-feature-webengine-pulseaudio,-no-feature-webengine-pulseaudio,pulseaudio" + +EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" + +COMPATIBLE_MACHINE = "(-)" +COMPATIBLE_MACHINE:x86 = "(.*)" +COMPATIBLE_MACHINE:x86-64 = "(.*)" +COMPATIBLE_MACHINE:armv6 = "(.*)" +COMPATIBLE_MACHINE:armv7a = "(.*)" +COMPATIBLE_MACHINE:armv7ve = "(.*)" +COMPATIBLE_MACHINE:aarch64 = "(.*)" +COMPATIBLE_MACHINE:riscv64 = "(.*)" + +inherit qmake5 +inherit gettext +inherit perlnative +inherit features_check + + +# Static builds of QtWebEngine aren't supported. +CONFLICT_DISTRO_FEATURES = "qt5-static" + +# we don't want gettext.bbclass to append --enable-nls +def gettext_oeconf(d): + return "" + +require qt5.inc +require qt5-git.inc + +export GN_PKG_CONFIG_HOST = "${STAGING_BINDIR_NATIVE}/pkg-config-native" +export GN_HOST_TOOLCHAIN_EXTRA_CPPFLAGS = "-I${STAGING_DIR_NATIVE}/usr/include" +export GN_HOST_TOOLCHAIN_EXTRA_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE}" +export NINJAFLAGS="${PARALLEL_MAKE}" + +do_configure() { + + # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as + # arguments here + ${OE_QMAKE_QMAKE} ${EXTRA_QMAKEVARS_PRE} ${S} \ + QMAKE_CXX="${OE_QMAKE_CXX}" \ + QMAKE_CC="${OE_QMAKE_CC}" \ + QMAKE_LINK="${OE_QMAKE_LINK}" \ + QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \ + QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \ + -after ${EXTRA_QMAKEVARS_POST} -- \ + ${EXTRA_QMAKEVARS_CONFIGURE} -verbose +} + +do_configure:prepend:libc-musl() { + for f in `find ${S}/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/ -name config.h -o -name config.asm`; do + sed -i -e "s:define HAVE_SYSCTL 1:define HAVE_SYSCTL 0:g" $f + done +} + +do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" + +# for /usr/share/qt5/qtwebengine_resources.pak +FILES:${PN} += "${OE_QMAKE_PATH_QT_TRANSLATIONS} ${OE_QMAKE_PATH_QT_DATA}" + +# Chromium uses libpci to determine which optimizations/workarounds to apply +RDEPENDS:${PN}:append:x86 = " libpci" + +RDEPENDS:${PN}-examples += " \ + ${PN}-qmlplugins \ + qtquickcontrols-qmlplugins \ + qtdeclarative-qmlplugins \ +" + +QT_MODULE_BRANCH_CHROMIUM = "87-based" + +# Uses the same repository and couple patches as qtwebengine, but qtwebengine +# still depends on python2 +QT_MODULE = "qtwebengine" +FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtwebengine:" + +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc +# 5.15-glibc.meta-qt5.17 +SRC_URI += " \ + ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ + file://0001-Force-host-toolchain-configuration.patch \ +" +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15 +# 5.15.meta-qt5.17 +SRC_URI:append:libc-musl = "\ + file://0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \ + file://0003-musl-link-against-libexecinfo.patch \ + file://0004-mkspecs-Allow-builds-with-libc-glibc.patch \ +" + +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc +# 87-based-glibc.meta-qt5.11 +SRC_URI += " \ + file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ + file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ + file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ + file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \ + file://chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ + file://chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ + file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ + file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ + file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch;patchdir=src/3rdparty \ + file://chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch;patchdir=src/3rdparty \ + file://chromium/0024-Fix-dependecy-when-compiling-content-browser.patch;patchdir=src/3rdparty \ +" + +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based +# 87-based.meta-qt5.11 +SRC_URI:append:libc-musl = "\ + file://chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ + file://chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ + file://chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ + file://chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ + file://chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ + file://chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ + file://chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ + file://chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ + file://chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ + file://chromium/0022-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ + file://chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \ +" + +SRCREV_qtwebengine = "17fd3176988586168bee8654008a097a5f23ec1d" +SRCREV_chromium = "fdfef5b37af3bed8402d7c7e20a5487f2602b0a6" +SRCREV = "${SRCREV_qtwebengine}" + +SRCREV_FORMAT = "qtwebengine_chromium" + +# WARNING: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0 do_package_qa: QA Issue: ELF binary '/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtwebengine/5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0/packages-split/qtwebengine/usr/lib/libQt5WebEngineCore.so.5.6.0' has relocations in .text [textrel] +INSANE_SKIP:${PN} += "textrel" + +### +### This recipe's part above is mostly a copy of qtwebengine_git.bb. +### The PACKAGECONFIG flags were kept to avoid enablement of any unwished-for features +### There were only some (build) dependencies removed. +### + +# First patch skips "python2" dependency checks for the pdf module +# Second patch repairs a failing build of the `gn` buildtool due to missing (host) libstdc++ +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-qtpdf +# 5.15-qtpdf.meta-qt5.5 +SRC_URI += " \ + file://0001-configure.json-remove-python2-dependency.patch \ + file://0002-gn.pro-do-not-try-to-statically-link-stdc.patch \ +" +SRC_URI:append:toolchain-clang:runtime-llvm = " file://0003-Fix-build-with-clang.patch" + +# These flags below go more into detail than qtwebengine's documentation +PACKAGECONFIG[no-core] = "-no-build-qtwebengine-core,," +PACKAGECONFIG[qtpdf] = "-feature-build-qtpdf,-no-feature-build-qtpdf,python3-native" +PACKAGECONFIG[webengine-pdf] = "-feature-webengine-python,-no-feature-webengine-python,python3-native" + +# The flags below enable just the PDF widget +PACKAGECONFIG = "no-core qtpdf" + +# Work around gn's dependency on python (2). +# To build qtpdf it works just as well with python3. +EXTRA_QMAKEVARS_PRE += "QMAKE_PYTHON2=python3" diff --git a/recipes-qt/qt5/qtpurchasing_git.bb b/recipes-qt/qt5/qtpurchasing_git.bb index 6577c879..1d93d2a5 100644 --- a/recipes-qt/qt5/qtpurchasing_git.bb +++ b/recipes-qt/qt5/qtpurchasing_git.bb @@ -1,8 +1,8 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "Apache-2.0 & BSD & ( LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "Apache-2.0 & BSD-3-Clause & ( LGPL-3.0-only | GPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=b8c75190712063cde04e1f41b6fdad98 \ file://LICENSE.GPLv3;md5=40f9bf30e783ddc201497165dfb32afb \ @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "5abe17167b1236f9efd3ae074dadb7cfd5e1e76e" +SRCREV = "e879db20f84340a9eaef66cd34137eafa5388b00" diff --git a/recipes-qt/qt5/qtquick3d_git.bb b/recipes-qt/qt5/qtquick3d_git.bb index d224ed01..9349e098 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 +require qt5-lts.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,19 +9,19 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtquickcontrols2" SRC_URI += " \ - git://github.com/assimp/assimp.git;name=assimp;branch=master;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 ??= "" -PACKAGECONFIG[system-assimp] = "-system-assimp,-qt-assimp,assimp" +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 = "81a72b982723d76aff30a8c989211758025c9efd" -SRCREV_assimp = "5c900d689a5db5637b98f665fc1e9e9c9ed416b9" +SRCREV_qtquick3d = "d3272d49a0a01714bc486e0fd39ae2bbfe7a74c6" +SRCREV_assimp = "8f0c6b04b2257a520aaab38421b2e090204b69df" SRCREV_FORMAT = "qtquick3d_assimp" diff --git a/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch b/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch new file mode 100644 index 00000000..1692e2de --- /dev/null +++ b/recipes-qt/qt5/qtquickcontrols2/0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch @@ -0,0 +1,129 @@ +From 9fada65e1dd8958cbe4b8dc12c9e4814fcff5a6c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Fri, 16 Apr 2021 21:54:16 +0200 +Subject: [PATCH] Revert "Get the scale of the popup item when setting the + parent item" + +Upgrade 5.14.2 (for us dunfell) -> 5.15.2 introduced a bug: Opening a menu +for the second+ time, menu moves right and down and parts land outside screen. +Reported but nobody cares. [1] + +[1] https://bugreports.qt.io/browse/QTBUG-86973 + +Upstream-Status: Pending + +This reverts commit 761dba8b23b7e558acc57b3e481648ce319a4397. +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/quicktemplates2/qquickpopuppositioner.cpp | 18 +++++++-------- + .../qquickpopuppositioner_p_p.h | 1 - + tests/auto/controls/data/tst_combobox.qml | 22 ------------------- + tests/auto/controls/data/tst_popup.qml | 3 --- + 4 files changed, 8 insertions(+), 36 deletions(-) + +diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp +index 1bfaafbe6..dbe8ac1d5 100644 +--- a/src/quicktemplates2/qquickpopuppositioner.cpp ++++ b/src/quicktemplates2/qquickpopuppositioner.cpp +@@ -92,10 +92,7 @@ void QQuickPopupPositioner::setParentItem(QQuickItem *parent) + + QQuickItemPrivate::get(parent)->addItemChangeListener(this, ItemChangeTypes); + addAncestorListeners(parent->parentItem()); +- // Store the scale property so the end result of any transition that could effect the scale +- // does not influence the top left of the final popup, so it doesn't appear to flip from one +- // position to another as a result +- m_popupScale = m_popup->popupItem()->scale(); ++ + if (m_popup->popupItem()->isVisible()) + QQuickPopupPrivate::get(m_popup)->reposition(); + } +@@ -111,10 +108,11 @@ void QQuickPopupPositioner::reposition() + return; + } + +- const qreal w = popupItem->width() * m_popupScale; +- const qreal h = popupItem->height() * m_popupScale; +- const qreal iw = popupItem->implicitWidth() * m_popupScale; +- const qreal ih = popupItem->implicitHeight() * m_popupScale; ++ const qreal scale = popupItem->scale(); ++ const qreal w = popupItem->width() * scale; ++ const qreal h = popupItem->height() * scale; ++ const qreal iw = popupItem->implicitWidth() * scale; ++ const qreal ih = popupItem->implicitHeight() * scale; + + bool widthAdjusted = false; + bool heightAdjusted = false; +@@ -260,9 +258,9 @@ void QQuickPopupPositioner::reposition() + } + + if (!p->hasWidth && widthAdjusted && rect.width() > 0) +- popupItem->setWidth(rect.width() / m_popupScale); ++ popupItem->setWidth(rect.width() / scale); + if (!p->hasHeight && heightAdjusted && rect.height() > 0) +- popupItem->setHeight(rect.height() / m_popupScale); ++ popupItem->setHeight(rect.height() / scale); + m_positioning = false; + } + +diff --git a/src/quicktemplates2/qquickpopuppositioner_p_p.h b/src/quicktemplates2/qquickpopuppositioner_p_p.h +index 03a2e2fed..64f57a3fa 100644 +--- a/src/quicktemplates2/qquickpopuppositioner_p_p.h ++++ b/src/quicktemplates2/qquickpopuppositioner_p_p.h +@@ -79,7 +79,6 @@ protected: + bool m_positioning = false; + QQuickItem *m_parentItem = nullptr; + QQuickPopup *m_popup = nullptr; +- qreal m_popupScale = 1.0; + }; + + QT_END_NAMESPACE +diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml +index 1c58372ff..e9156fee5 100644 +--- a/tests/auto/controls/data/tst_combobox.qml ++++ b/tests/auto/controls/data/tst_combobox.qml +@@ -911,28 +911,6 @@ TestCase { + compare(control.popup.visible, true) + verify(control.popup.contentItem.y < control.y) + +- +- // Account for when a transition of a scale from 0.9-1.0 that it is placed above right away and not below +- // first just because there is room at the 0.9 scale +- if (control.popup.enter !== null) { +- // hide +- mouseClick(control) +- compare(control.pressed, false) +- tryCompare(control.popup, "visible", false) +- control.y = control.Window.height - (control.popup.contentItem.height * 0.99) +- var popupYSpy = createTemporaryObject(signalSpy, testCase, {target: control.popup, signalName: "yChanged"}) +- verify(popupYSpy.valid) +- mousePress(control) +- compare(control.pressed, true) +- compare(control.popup.visible, false) +- mouseRelease(control) +- compare(control.pressed, false) +- compare(control.popup.visible, true) +- tryCompare(control.popup.enter, "running", false) +- verify(control.popup.contentItem.y < control.y) +- verify(popupYSpy.count === 1) +- } +- + // follow the control outside the horizontal window bounds + control.x = -control.width / 2 + compare(control.x, -control.width / 2) +diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml +index 57d5ccccf..71d6f2d76 100644 +--- a/tests/auto/controls/data/tst_popup.qml ++++ b/tests/auto/controls/data/tst_popup.qml +@@ -1276,9 +1276,6 @@ TestCase { + { visible: true, width: 100, height: 100 }) + verify(control) + verify(control.visible) +- // If there is a transition then make sure it is finished +- if (control.enter !== null) +- tryCompare(control.enter, "running", false) + compare(control.parent, control.Overlay.overlay) + compare(control.x, 0) + compare(control.y, 0) +-- +2.26.2 + diff --git a/recipes-qt/qt5/qtquickcontrols2_git.bb b/recipes-qt/qt5/qtquickcontrols2_git.bb index 7f5a2fd5..7ad39bef 100644 --- a/recipes-qt/qt5/qtquickcontrols2_git.bb +++ b/recipes-qt/qt5/qtquickcontrols2_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & BSD-3-Clause & LGPL-3.0-only | GPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.LGPLv3;md5=382747d0119037529ec2b98b24038eb0 \ @@ -10,4 +10,6 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtdeclarative-native" -SRCREV = "a4ecc76df944cce5152cdfc8fd27436390a4fa62" +SRC_URI += "file://0001-Revert-Get-the-scale-of-the-popup-item-when-setting-.patch" + +SRCREV = "32755d45229fdcb2de7af1b21a23d9649773d6cb" diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb index a9ee2730..fcde2ea9 100644 --- a/recipes-qt/qt5/qtquickcontrols_git.bb +++ b/recipes-qt/qt5/qtquickcontrols_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtdeclarative-native" -FILES_${PN}-qmlplugins += " \ +FILES:${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick/Controls/Shaders \ ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \ " -SRCREV = "1bc05eceb7823b38ddec1d8e874f371fb8b2045f" +SRCREV = "dd98d78caa6f68c9aa6ffe61445ddfed701daf98" diff --git a/recipes-qt/qt5/qtquicktimeline_git.bb b/recipes-qt/qt5/qtquicktimeline_git.bb new file mode 100644 index 00000000..c31d119f --- /dev/null +++ b/recipes-qt/qt5/qtquicktimeline_git.bb @@ -0,0 +1,13 @@ +require qt5.inc +require qt5-lts.inc + +DESCRIPTION = "Qt Quick Timeline" +LICENSE = "GPL-2.0-or-later | The-Qt-Company-Commercial" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ + " + +DEPENDS = "qtbase qtdeclarative" + +SRCREV = "4278a28a27317bbb30c978ccc21e2e58d83d5d1f" diff --git a/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch b/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch index c587e2e8..90588176 100644 --- a/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch +++ b/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch @@ -1,9 +1,11 @@ -From fcb448d2e366ca30a18e4cb45181b8832b8884d5 Mon Sep 17 00:00:00 2001 +From 7cad6026250fc10503f4373e8d5e0228e7420446 Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Wed, 7 Jun 2017 15:17:12 +0300 Subject: [PATCH] Allow a tools-only build Change-Id: I3b33fc1c8877fc82568bd386b063e7a0aa57b706 +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- mkspecs/features/repccommon.pri | 2 +- qtremoteobjects.pro | 5 +++++ diff --git a/recipes-qt/qt5/qtremoteobjects/0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch index caf08de4..b0bfd34e 100644 --- a/recipes-qt/qt5/qtremoteobjects/0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch +++ b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch @@ -1,14 +1,16 @@ -From 30d1467553f75ba94baa4569c0222c5d407f275c Mon Sep 17 00:00:00 2001 +From 812ed2c2f89c6df731d7698fe2bf253e3afa179a Mon Sep 17 00:00:00 2001 From: ibinderwolf <daniel@bluepattern.net> Date: Wed, 26 Jun 2019 09:46:48 +0200 Subject: [PATCH] cmake Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in b/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in -index 4907ded..34729da 100644 +index f98c37a..0f8aee5 100644 --- a/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in +++ b/src/remoteobjects/Qt5RemoteObjectsConfigExtras.cmake.in @@ -40,7 +40,7 @@ if (NOT TARGET Qt5::repc) diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb index 7e1e1ad0..3dd17b2d 100644 --- a/recipes-qt/qt5/qtremoteobjects_git.bb +++ b/recipes-qt/qt5/qtremoteobjects_git.bb @@ -1,4 +1,4 @@ -LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial" +LICENSE = "BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ @@ -7,24 +7,24 @@ LIC_FILES_CHKSUM = " \ " require qt5.inc -require qt5-git.inc +require qt5-lts.inc DEPENDS += "qtbase qtdeclarative qtremoteobjects-native" -# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.12 -# 5.12.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.15 +# 5.15.meta-qt5.1 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ - file://0001-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ + file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ " PACKAGECONFIG ??= "" -PACKAGECONFIG_class-native ??= "tools-only" -PACKAGECONFIG_class-nativesdk ??= "tools-only" +PACKAGECONFIG:class-native ??= "tools-only" +PACKAGECONFIG:class-nativesdk ??= "tools-only" PACKAGECONFIG[tools-only] = "CONFIG+=tools-only" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "f4d1da2d912e915de3793c57c501b6b182b3fec1" +SRCREV = "e006bf7ec70e4e1617810667f992aa3f9b01cd0f" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch b/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch index e789ff58..35af2d9f 100644 --- a/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch +++ b/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch @@ -1,4 +1,4 @@ -From 9f06841c9ff8e50c604fbd0f100e2e3ea4242309 Mon Sep 17 00:00:00 2001 +From f752f2a0a7565ff62376eb61b3a67389fe1fa2fc Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 23 Aug 2018 02:58:14 +0000 Subject: [PATCH] Include asm/sgidefs.h on non-glibc systems diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index 0882b7ea..ded1b5a7 100644 --- a/recipes-qt/qt5/qtscript_git.bb +++ b/recipes-qt/qt5/qtscript_git.bb @@ -2,7 +2,7 @@ require qt5.inc require qt5-git.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " -# Patches from https://github.com/meta-qt5/qtscript/commits/b5.12 -# 5.12.meta-qt5.3 +# Patches from https://github.com/meta-qt5/qtscript/commits/b5.15 +# 5.15.meta-qt5.1 SRC_URI += " \ file://0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch \ " @@ -27,13 +27,13 @@ SRC_URI += " \ #{standard input}:23: Error: selected processor does not support Thumb mode `stmdb sp!,{r4-r8,lr}' #{standard input}:30: Error: lo register required -- `ldmia sp!,{r4-r8,lr}' #{standard input}:43: Error: lo register required -- `ldmia sp!,{r4-r8,lr}' -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" DEPENDS += "qtbase" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Build/44915/ -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "97f194cfabf9d8ab186241760a29bae1f4811184" +SRCREV = "572daa83e990ce88cca27909470c5404657ec9de" diff --git a/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch b/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch index b6745fa3..47be0b7f 100644 --- a/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch +++ b/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch @@ -1,4 +1,4 @@ -From 490c1ce97d93e9eed6fe5789e526a8b8c22ed230 Mon Sep 17 00:00:00 2001 +From d5eb24a355d98c8961ce4b89e0622001480f7c90 Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Tue, 10 Jan 2017 15:28:26 +0200 Subject: [PATCH] Use external host bin path for cmake file @@ -14,7 +14,7 @@ Change-Id: Idb814be705e9cbaad7f1e68b5d7cdb79c4b65008 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scxml/Qt5ScxmlConfigExtras.cmake.in b/src/scxml/Qt5ScxmlConfigExtras.cmake.in -index edb320a..ce7f2df 100644 +index b9b589f..bb52533 100644 --- a/src/scxml/Qt5ScxmlConfigExtras.cmake.in +++ b/src/scxml/Qt5ScxmlConfigExtras.cmake.in @@ -40,7 +40,7 @@ if (NOT TARGET Qt5::qscxmlc) diff --git a/recipes-qt/qt5/qtscxml_git.bb b/recipes-qt/qt5/qtscxml_git.bb index 5aa24f40..8a105e4b 100644 --- a/recipes-qt/qt5/qtscxml_git.bb +++ b/recipes-qt/qt5/qtscxml_git.bb @@ -1,4 +1,4 @@ -LICENSE = "LGPL-3.0 & BSD & GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" +LICENSE = "LGPL-3.0-only & BSD-3-Clause & GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ @@ -6,19 +6,17 @@ LIC_FILES_CHKSUM = " \ " require qt5.inc -require qt5-git.inc +require qt5-lts.inc DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native" -SRCREV = "a84f5f9d10b59606fabbe3448c8e619e6694565a" +SRCREV = "9c12ec9ad94d84f3c2319cc461b6342bdfd3b593" -# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.12 -# 5.12.meta-qt5.2 -SRC_URI += "\ - file://0001-Use-external-host-bin-path-for-cmake-file.patch \ -" +# 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 1f5b299a..62312884 100644 --- a/recipes-qt/qt5/qtsensors_git.bb +++ b/recipes-qt/qt5/qtsensors_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "9936883f2518e6a347d87ec2fd5d832cce007f49" +SRCREV = "83ee0a26e791e0a9ea01df2109e26053d3ec2ab5" diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb index b307f64a..c5e20fc9 100644 --- a/recipes-qt/qt5/qtserialbus_git.bb +++ b/recipes-qt/qt5/qtserialbus_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & (LGPL-3.0 | GPL-2.0+) | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & (LGPL-3.0-only | GPL-2.0-or-later) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ @@ -9,6 +9,12 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ " -DEPENDS += "qtbase qtserialport" +DEPENDS += "qtbase" -SRCREV = "709d2a539089e9b0b2b07dcd29a6d770d44f2eba" +PACKAGECONFIG ?= "modbus ${@bb.utils.contains('BBFILE_COLLECTIONS', 'openembedded-layer', 'socketcan', '', d)}" +PACKAGECONFIG[modbus] = "-feature-modbus-serialport,-no-feature-modbus-serialport,qtserialport" +PACKAGECONFIG[socketcan] = "-feature-socketcan,-no-feature-socketcan,,libsocketcan" + +EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" + +SRCREV = "58372774dcadfbfeb1f375103d1cd58b9ef1225a" diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb index aa255c44..1c5bce54 100644 --- a/recipes-qt/qt5/qtserialport_git.bb +++ b/recipes-qt/qt5/qtserialport_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "e32b4856308c0c9c7566031022242594fd5425bf" +SRCREV = "f4663160f1c5d0b1806f43ef2d1d25a5103995ec" diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb index 21af83db..5378985f 100644 --- a/recipes-qt/qt5/qtsvg_git.bb +++ b/recipes-qt/qt5/qtsvg_git.bb @@ -1,8 +1,8 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "e73c55cd1b23c2973604642ae3a1752c61405e30" +SRCREV = "59b581701c0cb888f6ac9b6b3ef78b26b6d30d8d" diff --git a/recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch b/recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch new file mode 100644 index 00000000..93d34b8d --- /dev/null +++ b/recipes-qt/qt5/qtsystems/0001-qtsystems-install-files-only-once.patch @@ -0,0 +1,71 @@ +From 34071f47bb5a0b1617e8cc97d8259899f7e96f9f Mon Sep 17 00:00:00 2001 +From: ansar-rasool <ansar_rasool@mentor.com> +Date: Wed, 22 Sep 2021 10:50:42 +0500 +Subject: [PATCH] qtsystems: install files only once + +This fixes build error for qtsystems when it tries to +install files multiple times and fails with error of +"Destination file exists". + +Upstream-Status: Pending +Signed-off-by: ansar-rasool <ansar_rasool@mentor.com> +--- + examples/systeminfo/inputinfo/inputinfo.pro | 3 +-- + examples/systeminfo/qml-battery/qml-battery.pro | 3 +-- + examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro | 3 +-- + examples/systeminfo/qml-inputinfo/qml-inputinfo.pro | 3 +-- + 4 files changed, 4 insertions(+), 8 deletions(-) + +diff --git a/examples/systeminfo/inputinfo/inputinfo.pro b/examples/systeminfo/inputinfo/inputinfo.pro +index a5365fa..d0947e8 100644 +--- a/examples/systeminfo/inputinfo/inputinfo.pro ++++ b/examples/systeminfo/inputinfo/inputinfo.pro +@@ -22,5 +22,4 @@ HEADERS += \ + inputtest.h + + target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/inputinfo +- app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/inputinfo +- INSTALLS += target app ++INSTALLS += target +diff --git a/examples/systeminfo/qml-battery/qml-battery.pro b/examples/systeminfo/qml-battery/qml-battery.pro +index e9e3700..7c35d53 100644 +--- a/examples/systeminfo/qml-battery/qml-battery.pro ++++ b/examples/systeminfo/qml-battery/qml-battery.pro +@@ -7,8 +7,7 @@ app.files = \ + $$files(*.qml) \ + + target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-battery +-app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-battery +-INSTALLS += target app ++INSTALLS += target + + RESOURCES += \ + qml-battery.qrc +diff --git a/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro b/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro +index 4a39200..a942272 100644 +--- a/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro ++++ b/examples/systeminfo/qml-deviceinfo/qml-deviceinfo.pro +@@ -7,8 +7,7 @@ app.files = \ + $$files(*.qml) + + target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-deviceinfo +-app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-deviceinfo +-INSTALLS += target app ++INSTALLS += target + + RESOURCES += \ + qml-deviceinfo.qrc +diff --git a/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro b/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro +index 4b49738..0a389e3 100644 +--- a/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro ++++ b/examples/systeminfo/qml-inputinfo/qml-inputinfo.pro +@@ -7,8 +7,7 @@ app.files = \ + $$files(*.qml) \ + + target.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-inputinfo +-app.path = $$[QT_INSTALL_EXAMPLES]/systeminfo/qml-inputinfo +-INSTALLS += target app ++INSTALLS += target + + RESOURCES += \ + qml-inputinfo.qrc diff --git a/recipes-qt/qt5/qtsystems_git.bb b/recipes-qt/qt5/qtsystems_git.bb index 5f5e1ad8..4c7956aa 100644 --- a/recipes-qt/qt5/qtsystems_git.bb +++ b/recipes-qt/qt5/qtsystems_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -17,12 +17,12 @@ PACKAGECONFIG[bluez] = "CONFIG+=OE_BLUEZ_ENABLED,,bluez5" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -do_configure_prepend() { +do_configure:prepend() { # disable bluez test if it isn't enabled by PACKAGECONFIG sed -i 's/^ qtCompileTest(bluez)/ OE_BLUEZ_ENABLED:qtCompileTest(bluez)/g' ${S}/qtsystems.pro } -do_install_append() { +do_install:append() { # Remove example.pro file as it is useless rm -f ${D}${OE_QMAKE_PATH_EXAMPLES}/examples.pro } @@ -30,3 +30,7 @@ do_install_append() { QT_MODULE_BRANCH = "dev" SRCREV = "e3332ee38d27a134cef6621fdaf36687af1b6f4a" + +SRC_URI += " \ + file://0001-qtsystems-install-files-only-once.patch \ +" diff --git a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch index 2f55a4b7..4389d992 100644 --- a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch +++ b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch @@ -1,4 +1,4 @@ -From 49be7a63b155004c612c7e9e0c671502ecba2c70 Mon Sep 17 00:00:00 2001 +From dfd1f8f5d4ac5ae62597aad0d6ec9b680f1a6545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> Date: Wed, 4 Jun 2014 11:28:16 +0200 Subject: [PATCH] add noqtwebkit configuration @@ -6,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Upstream-Status: Inappropiate [configuration] +Upstream-Status: Inappropriate [configuration] Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> @@ -16,7 +16,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/assistant/assistant/assistant.pro b/src/assistant/assistant/assistant.pro -index 080aba03..100370a4 100644 +index 5da0b007..9571697f 100644 --- a/src/assistant/assistant/assistant.pro +++ b/src/assistant/assistant/assistant.pro @@ -1,4 +1,4 @@ @@ -25,7 +25,7 @@ index 080aba03..100370a4 100644 BROWSER = qtwebkit } else { BROWSER = qtextbrowser -@@ -75,7 +75,7 @@ SOURCES += aboutdialog.cpp \ +@@ -77,7 +77,7 @@ SOURCES += aboutdialog.cpp \ openpagesmanager.cpp \ openpagesswitcher.cpp diff --git a/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch b/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch index 24fb9b7b..1cdfc433 100644 --- a/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch +++ b/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch @@ -1,15 +1,17 @@ -From 8bcf6e4204f77ec656310e5ada92c27990107477 Mon Sep 17 00:00:00 2001 +From c4d1caad764372d2a852fb837e7c37e168c65f0c Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Mon, 18 Feb 2019 10:45:03 +0200 Subject: [PATCH] linguist-tools cmake: allow overriding the location for lupdate and lrelease +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- src/linguist/Qt5LinguistToolsConfig.cmake.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in -index 4318b16f..f957a384 100644 +index 2e99bc76..e6f4f7ed 100644 --- a/src/linguist/Qt5LinguistToolsConfig.cmake.in +++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in @@ -47,7 +47,7 @@ if (NOT TARGET Qt5::lrelease) diff --git a/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch b/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch new file mode 100644 index 00000000..32de7de1 --- /dev/null +++ b/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch @@ -0,0 +1,26 @@ +From ff55599d0d9a5b2e31b18c415f835567f301acf2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 14 Dec 2019 18:36:49 -0800 +Subject: [PATCH] src.pro: Add option noqdoc to disable qdoc builds + +it needs clang on host, so lets separate it out + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/src.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/src.pro b/src/src.pro +index 5c256ea3..196c34c7 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -25,7 +25,7 @@ qtConfig(library) { + + include($$OUT_PWD/qdoc/qtqdoc-config.pri) + QT_FOR_CONFIG += qdoc-private +-qtConfig(qdoc): qtConfig(thread): SUBDIRS += qdoc ++qtConfig(qdoc): qtConfig(thread):!contains(CONFIG, noqdoc): SUBDIRS += qdoc + + !android|android_app: SUBDIRS += qtpaths + diff --git a/recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch b/recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch new file mode 100644 index 00000000..bc833e0b --- /dev/null +++ b/recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch @@ -0,0 +1,32 @@ +From 88c20560720693b6b30d48af748ab232238f9ac8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Fri, 14 Aug 2020 21:25:27 +0200 +Subject: [PATCH] Force native build of qt-help tools as qhelpgenerato +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + src/assistant/assistant.pro | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/assistant/assistant.pro b/src/assistant/assistant.pro +index d34b5590..7d87ac48 100644 +--- a/src/assistant/assistant.pro ++++ b/src/assistant/assistant.pro +@@ -14,9 +14,3 @@ SUBDIRS += \ + + assistant.depends = help + qhelpgenerator.depends = help +- +-qtNomakeTools( \ +- assistant \ +- qhelpgenerator \ +- qcollectiongenerator \ +-) +-- +2.26.2 + diff --git a/recipes-qt/qt5/qttools/run-ptest b/recipes-qt/qt5/qttools/run-ptest deleted file mode 100644 index ae671a72..00000000 --- a/recipes-qt/qt5/qttools/run-ptest +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -./tst_qtdiag diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 7ae63de9..83434189 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -1,9 +1,8 @@ require qt5.inc -require qt5-git.inc -require qt5-ptest.inc +require qt5-lts.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,44 +11,39 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " -DEPENDS += "qtbase qtdeclarative qtxmlpatterns chrpath-replacement-native" -EXTRANATIVEPATH += "chrpath-native" -# Patches from https://github.com/meta-qt5/qttools/commits/b5.12 -# 5.12.meta-qt5.2 +DEPENDS += "qtbase qtdeclarative qtxmlpatterns" +# Patches from https://github.com/meta-qt5/qttools/commits/b5.15 +# 5.15.meta-qt5.1 SRC_URI += " \ file://0001-add-noqtwebkit-configuration.patch \ file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \ + file://0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch \ " +SRC_URI:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'file://0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch', '', d)}" -FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks" -FILES_${PN}-examples = "${datadir}${QT_DIR_NAME}/examples" +FILES:${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks" +FILES:${PN}-examples = "${datadir}${QT_DIR_NAME}/examples" + +# Without "opengl" in DISTRO_FEATURES, the libQt5UiTools.a library isn't generated, but qttools-staticdev +# is required by packagegroup-qt5-toolchain-target. +ALLOW_EMPTY:${PN}-staticdev = "1" PACKAGECONFIG ??= "" -PACKAGECONFIG_append_toolchain-clang = " clang" +PACKAGECONFIG:append:toolchain-clang = " clang" PACKAGECONFIG[qtwebkit] = ",,qtwebkit" PACKAGECONFIG[clang] = ",,clang" +COMPATIBLE_HOST:toolchain-clang:riscv32 = "null" +COMPATIBLE_HOST:toolchain-clang:riscv64 = "null" + export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_BINDIR}/llvm-config" EXTRA_QMAKEVARS_PRE += " \ ${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=disable_external_rpath CONFIG+=assistant', 'CONFIG+=noqdoc', d)} \ " -EXTRA_QMAKEVARS_PRE_append_class-native = " CONFIG+=config_clang_done CONFIG-=config_clang" -EXTRA_QMAKEVARS_PRE_append_class-nativesdk = " CONFIG+=config_clang_done CONFIG-=config_clang" -EXTRA_QMAKEVARS_PRE_append_class-target = "\ - ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=config_clang', 'CONFIG+=config_clang_done CONFIG-=config_clang', d)} \ -" - -SRCREV = "b6118a469f127182c034ae57bbc4c7d3db557850" +SRCREV = "bc3cbd02fe57d01c6d8378c82cd60974ec0886c7" BBCLASSEXTEND = "native nativesdk" -do_install_ptest() { - mkdir -p ${D}${PTEST_PATH} - t=${D}${PTEST_PATH} - cp ${B}/tests/auto/qtdiag/tst_tdiag $t -} -do_install_append_toolchain-clang() { - chrpath --delete ${D}${bindir}/qdoc -} diff --git a/recipes-qt/qt5/qttranslations_git.bb b/recipes-qt/qt5/qttranslations_git.bb index 6c2e0f43..0a103c14 100644 --- a/recipes-qt/qt5/qttranslations_git.bb +++ b/recipes-qt/qt5/qttranslations_git.bb @@ -1,16 +1,16 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" +LICENSE = "GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ " DEPENDS += "qtbase qttools-native" -do_install_append() { +do_install:append() { # remove qtquick1 translations - qtquick1 is gone - for transfile in `find ${D}/${OE_QMAKE_PATH_TRANSLATIONS} -name qmlviewer_*.qm -o -name qtquick1_*.qm -o -name qt_*.qm ! -name qt_help_*.qm`; do + for transfile in `find ${D}/${OE_QMAKE_PATH_TRANSLATIONS} -name qt_*.qm ! -name qt_help_*.qm`; do rm $transfile done } @@ -34,68 +34,68 @@ PACKAGES =. " \ ${PN}-qthelp \ " -FILES_${PN}-assistant = " \ +FILES:${PN}-assistant = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/assistant_*.qm \ " -FILES_${PN}-designer = " \ +FILES:${PN}-designer = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/designer_*.qm \ " -FILES_${PN}-linguist = " \ +FILES:${PN}-linguist = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/linguist_*.qm \ " -FILES_${PN}-qtconnectivity = " \ +FILES:${PN}-qtconnectivity = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtconnectivity_*.qm \ " -FILES_${PN}-qtmultimedia = " \ +FILES:${PN}-qtmultimedia = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtmultimedia_*.qm \ " -FILES_${PN}-qtlocation = " \ +FILES:${PN}-qtlocation = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtlocation_*.qm \ " -FILES_${PN}-qtdeclarative = " \ +FILES:${PN}-qtdeclarative = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtdeclarative_*.qm \ " -FILES_${PN}-qtquickcontrols = " \ +FILES:${PN}-qtquickcontrols = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtquickcontrols_*.qm \ " -FILES_${PN}-qtquickcontrols2 = " \ +FILES:${PN}-qtquickcontrols2 = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtquickcontrols2_*.qm \ " -FILES_${PN}-qtwebsockets = " \ +FILES:${PN}-qtwebsockets = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtwebsockets_*.qm \ " -FILES_${PN}-qtwebengine = " \ +FILES:${PN}-qtwebengine = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtwebengine_*.qm \ " -FILES_${PN}-qtxmlpatterns = " \ +FILES:${PN}-qtxmlpatterns = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtxmlpatterns_*.qm \ " -FILES_${PN}-qtscript = " \ +FILES:${PN}-qtscript = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtscript_*.qm \ " -FILES_${PN}-qtserialport = " \ +FILES:${PN}-qtserialport = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtserialport_*.qm \ " -FILES_${PN}-qtbase = " \ +FILES:${PN}-qtbase = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qtbase_*.qm \ " -FILES_${PN}-qthelp = " \ +FILES:${PN}-qthelp = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qt_help_*.qm \ " -SRCREV = "ab5af4c676b80a69e0f1b8459d4c081a43f63313" +SRCREV = "8a0280788ec15f496c78a3c06e641e4fae087409" diff --git a/recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch b/recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch new file mode 100644 index 00000000..874c079c --- /dev/null +++ b/recipes-qt/qt5/qtvirtualkeyboard/0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch @@ -0,0 +1,66 @@ +From fe4546abf79cf2e93e151fe8cd771901f9b768d3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 7 Feb 2023 23:11:18 -0800 +Subject: [PATCH] replace deprecated std::auto_ptr with std::unique_ptr + +auto_ptr is gone with c++17 + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp b/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp +index 1971a69d..894028e4 100644 +--- a/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp ++++ b/src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/src/util/lib/LTKLoggerUtil.cpp +@@ -96,7 +96,7 @@ LTKLoggerUtil::LTKLoggerUtil(){} + int LTKLoggerUtil::createLogger(const string& lipiLibPath) + { + void* functionHandle = NULL; +- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); ++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); + + int iErrorCode = a_ptrOSUtil->loadSharedLib(lipiLibPath, + LOGGER_MODULE_STR, +@@ -159,7 +159,7 @@ int LTKLoggerUtil::createLogger(const string& lipiLibPath) + *****************************************************************************/ + int LTKLoggerUtil::destroyLogger() + { +- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); ++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); + + if (module_destroyLogger != NULL ) + { +@@ -196,7 +196,7 @@ int LTKLoggerUtil::configureLogger(const string& logFile, LTKLogger::EDebugLevel + LTKReturnError(ELOGGER_LIBRARY_NOT_LOADED); + } + +- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); ++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); + + if ( logFile.length() != 0 ) + { +@@ -257,7 +257,7 @@ int LTKLoggerUtil::getAddressLoggerFunctions() + void* functionHandle = NULL; + int returnVal = SUCCESS; + +- auto_ptr<LTKOSUtil> a_ptrOSUtil; ++ unique_ptr<LTKOSUtil> a_ptrOSUtil; + + //start log + +@@ -323,7 +323,7 @@ ostream& LTKLoggerUtil::logMessage(LTKLogger::EDebugLevel logLevel, string inStr + { + if (m_libHandleLogger == NULL) + { +- auto_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); ++ unique_ptr<LTKOSUtil> a_ptrOSUtil(LTKOSUtilFactory::getInstance()); + m_libHandleLogger = a_ptrOSUtil->getLibraryHandle(LOGGER_MODULE_STR); + + if (m_libHandleLogger == NULL) +-- +2.39.1 + diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb index 827a25fc..32cb27fd 100644 --- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb +++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb @@ -1,11 +1,13 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " +SRC_URI += "file://0001-replace-deprecated-std-auto_ptr-with-std-unique_ptr.patch" + # To enabled Nuance T9 Write support, you need to provide the licensed components # and enable "t9write" in PACKAGECONFIG. This can be done in a separate .bbappend file. # for example: @@ -65,10 +67,10 @@ EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'CONFIG+=disable-desktop', d)}" PACKAGES += "${PN}-dictionaries" -RRECOMMENDS_${PN} += "${PN}-dictionaries" -FILES_${PN}-dictionaries = "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/*/*.dat" -FILES_${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit" +RRECOMMENDS:${PN} += "${PN}-dictionaries" +FILES:${PN}-dictionaries = "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/*/*.dat" +FILES:${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit" DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns qtdeclarative-native" -SRCREV = "b512f7fe2658df1d67611e1568bdecaa6837b665" +SRCREV = "b613d3c2ae8301028bbdc8dafbf6bf288d746886" diff --git a/recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch b/recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch new file mode 100644 index 00000000..ecaf5d60 --- /dev/null +++ b/recipes-qt/qt5/qtwayland/0001-Fix-vulkan-buffer-formats-for-GLES2.patch @@ -0,0 +1,63 @@ +From 2e1bbb5e28ccf7da4d2aba2e725baedbf511856a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 29 Nov 2021 17:24:50 -0800 +Subject: [PATCH] Fix vulkan buffer formats for GLES2 + +Fixes +vulkanserverbufferintegration.cpp:163:77: error: use of undeclared identifier 'GL_RGBA8' + if (extraDebug) qDebug() << "format" << Qt::hex << m_internalFormat << GL_RGBA8; + ^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../client/vulkan-server/vulkanserverbufferintegration.cpp | 2 +- + .../vulkan-server/vulkanserverbufferintegration.cpp | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp b/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp +index b4403855..3f4520e4 100644 +--- a/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp ++++ b/src/hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp +@@ -160,7 +160,7 @@ void VulkanServerBuffer::import() + if (extraDebug) qDebug() << "bound texture" << Qt::hex << glGetError(); + funcs->glTexStorageMem2DEXT(GL_TEXTURE_2D, 1, m_internalFormat, m_size.width(), m_size.height(), m_memoryObject, 0 ); + if (extraDebug) qDebug() << "glTexStorageMem2DEXT" << Qt::hex << glGetError(); +- if (extraDebug) qDebug() << "format" << Qt::hex << m_internalFormat << GL_RGBA8; ++ if (extraDebug) qDebug() << "format" << Qt::hex << m_internalFormat << GL_RGBA; + } + + QOpenGLTexture *VulkanServerBuffer::toOpenGlTexture() +diff --git a/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp b/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp +index 69af5f9f..558a4d62 100644 +--- a/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp ++++ b/src/hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp +@@ -141,14 +141,14 @@ VulkanServerBuffer::VulkanServerBuffer(VulkanServerBufferIntegration *integratio + m_format = format; + switch (m_format) { + case RGBA32: +- m_glInternalFormat = GL_RGBA8; ++ m_glInternalFormat = GL_RGBA; + break; + // case A8: + // m_glInternalFormat = GL_R8; + // break; + default: + qWarning("VulkanServerBuffer: unsupported format"); +- m_glInternalFormat = GL_RGBA8; ++ m_glInternalFormat = GL_RGBA; + break; + } + +@@ -229,7 +229,7 @@ QOpenGLTexture *VulkanServerBuffer::toOpenGlTexture() + if (extraDebug) qDebug() << "bound texture" << texId << Qt::hex << glGetError(); + funcs->glTexStorageMem2DEXT(GL_TEXTURE_2D, 1, m_glInternalFormat, m_size.width(), m_size.height(), m_memoryObject, 0 ); + if (extraDebug) qDebug() << "glTexStorageMem2DEXT" << Qt::hex << glGetError(); +- if (extraDebug) qDebug() << "format" << Qt::hex << m_glInternalFormat << GL_RGBA8; ++ if (extraDebug) qDebug() << "format" << Qt::hex << m_glInternalFormat << GL_RGBA; + + + return m_texture; +-- +2.34.1 + diff --git a/recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch b/recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch new file mode 100644 index 00000000..9a6c606c --- /dev/null +++ b/recipes-qt/qt5/qtwayland/0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch @@ -0,0 +1,30 @@ +From c010cfedd13ffc57e0e6374f5662e9cdb56dd3ca Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 4 Sep 2021 12:03:32 -0700 +Subject: [PATCH] linux-dmabuf-unstable-v1: Include missing <array> header + +Fixes issue found with clang/libc++ +src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h:145:40: error: implicit instantiation of undefined template 'std::array<Plane, 4>' + std::array<Plane, MaxDmabufPlanes> m_planes; + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h +index 56a710c3..1beb5f76 100644 +--- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h ++++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h +@@ -44,6 +44,7 @@ + #include <EGL/egl.h> + #include <EGL/eglext.h> + ++#include <array> + // compatibility with libdrm <= 2.4.74 + #ifndef DRM_FORMAT_RESERVED + #define DRM_FORMAT_RESERVED ((1ULL << 56) - 1) +-- +2.33.0 + diff --git a/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch new file mode 100644 index 00000000..854ca45c --- /dev/null +++ b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch @@ -0,0 +1,28 @@ +From 2f3274c8dac49eeefa1f32b73328fabd037082c6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 6 Oct 2019 21:44:38 -0700 +Subject: [PATCH] tst_seatv4: Include <array> + +build fails with libc++ otherwise + +tests/auto/client/seatv4/tst_seatv4.cpp:330:43: error: implicit instantiation of undefined template 'std::__1::array<const char *, 4>' + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/auto/client/seatv4/tst_seatv4.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/auto/client/seatv4/tst_seatv4.cpp b/tests/auto/client/seatv4/tst_seatv4.cpp +index 2e17bef8..df78ba69 100644 +--- a/tests/auto/client/seatv4/tst_seatv4.cpp ++++ b/tests/auto/client/seatv4/tst_seatv4.cpp +@@ -36,7 +36,7 @@ + #include <QtWaylandClient/private/qwaylanddisplay_p.h> + #include <QtWaylandClient/private/qwaylandintegration_p.h> + #endif +- ++#include <array> + using namespace MockCompositor; + + // wl_seat version 5 was introduced in wayland 1.10, and although that's pretty old, diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index 033467cb..828822f6 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb @@ -1,10 +1,12 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc + +inherit pkgconfig DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native" -DEPENDS_append_class-target = " libxkbcommon" +DEPENDS:append:class-target = " libxkbcommon" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -13,18 +15,26 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " +# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.15 +# 5.15.meta-qt5.1 +SRC_URI += "file://0001-tst_seatv4-Include-array.patch \ + file://0001-linux-dmabuf-unstable-v1-Include-missing-array-heade.patch \ + file://0001-Fix-vulkan-buffer-formats-for-GLES2.patch \ + " + PACKAGECONFIG ?= " \ wayland-client \ wayland-server \ - wayland-egl \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland-egl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcomposite-egl xcomposite-glx', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'wayland-vulkan-server-buffer', '', d)} \ " -PACKAGECONFIG_class-native ?= "" -PACKAGECONFIG_class-nativesdk ?= "" -QMAKE_PROFILES_class-native = "${S}/src/qtwaylandscanner" -QMAKE_PROFILES_class-nativesdk = "${S}/src/qtwaylandscanner" -B_class-native = "${SEPB}/src/qtwaylandscanner" -B_class-nativesdk = "${SEPB}/src/qtwaylandscanner" +PACKAGECONFIG:class-native ?= "" +PACKAGECONFIG:class-nativesdk ?= "" +QMAKE_PROFILES:class-native = "${S}/src/qtwaylandscanner" +QMAKE_PROFILES:class-nativesdk = "${S}/src/qtwaylandscanner" +B:class-native = "${SEPB}/src/qtwaylandscanner" +B:class-nativesdk = "${SEPB}/src/qtwaylandscanner" PACKAGECONFIG[wayland-client] = "-feature-wayland-client,-no-feature-wayland-client" PACKAGECONFIG[wayland-server] = "-feature-wayland-server,-no-feature-wayland-server" @@ -34,13 +44,14 @@ PACKAGECONFIG[wayland-egl] = "-feature-wayland-egl,-no-feature-wayland-egl,virtu PACKAGECONFIG[wayland-brcm] = "-feature-wayland-brcm,-no-feature-wayland-brcm,virtual/egl" PACKAGECONFIG[wayland-drm-egl-server-buffer] = "-feature-wayland-drm-egl-server-buffer,-no-feature-wayland-drm-egl-server-buffer,libdrm virtual/egl" PACKAGECONFIG[wayland-libhybris-egl-server-buffer] = "-feature-wayland-libhybris-egl-server-buffer,-no-feature-wayland-libhybris-egl-server-buffer,libhybris" +PACKAGECONFIG[wayland-vulkan-server-buffer] = "-feature-wayland-vulkan-server-buffer,-no-feature-wayland-vulkan-server-buffer,vulkan-headers" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "a694ae228ee1779b1c6ec3cae8f1178dea6d7a5d" +SRCREV = "4f363a988155c86757ecd36c81393a7ba9fc8c95" BBCLASSEXTEND =+ "native nativesdk" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Details/152641/ -LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" +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 6b13c6e3..486a7bd9 100644 --- a/recipes-qt/qt5/qtwebchannel_git.bb +++ b/recipes-qt/qt5/qtwebchannel_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtwebsockets" -SRCREV = "272ff9e83e030e7f8595da1b4850d3883165acfd" +SRCREV = "f887498f50123b96411070e7b1d5c9ff89b07732" diff --git a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch index e5e11036..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 f1db5849e2af526f1ec9297b42b4b1684f542a29 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,15 +14,15 @@ 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 998aedc..b04db36 100644 +index 7507d51ef..1e078cbfe 100644 --- a/src/buildtools/config/linux.pri +++ b/src/buildtools/config/linux.pri -@@ -124,7 +124,7 @@ contains(QT_ARCH, "mips") { +@@ -118,7 +118,7 @@ contains(QT_ARCH, "mips") { host_build { gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\" @@ -32,7 +32,7 @@ index 998aedc..b04db36 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 dd0d3e3..6312c86 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 dd0d3e3..6312c86 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 dd0d3e3..6312c86 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 dd0d3e3..6312c86 100644 " nm = \"$$which(nm)\" " \ " toolchain_args = { " \ diff --git a/src/buildtools/gn.pro b/src/buildtools/gn.pro -index 033202e..a8ca656 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-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch b/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch index 96c9d101..d8044c9f 100644 --- a/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch +++ b/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch @@ -1,16 +1,17 @@ -From cdebd3f7775cfae7ac797774c63478d55d5b60ea Mon Sep 17 00:00:00 2001 +From a6c1cdbb588359676888b7961c063d1d13d05a2a Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Tue, 12 Dec 2017 16:06:14 +0200 Subject: [PATCH] musl: don't use pvalloc as it's not available on musl Change-Id: I7145463ac7b9560e7459d3384a3db108bd727403 Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> +Upstream-Status: Pending --- src/core/api/qtbug-61521.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/core/api/qtbug-61521.cpp b/src/core/api/qtbug-61521.cpp -index 002a1af2..8fd2da36 100644 +index 002a1af22..8fd2da36b 100644 --- a/src/core/api/qtbug-61521.cpp +++ b/src/core/api/qtbug-61521.cpp @@ -74,10 +74,6 @@ SHIM_SYMBOL_VERSION(valloc); diff --git a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch index e3d3c9bb..f8f4229d 100644 --- a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch +++ b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch @@ -1,22 +1,23 @@ -From 7b2e6cae9afa28571ccdc2a9224fb86caa88cd29 Mon Sep 17 00:00:00 2001 +From 84938d171df35970e3444b8f7b0abc9c2b275f9f Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Thu, 14 Dec 2017 11:28:10 +0200 Subject: [PATCH] musl: link against libexecinfo Change-Id: Ifada60f9c72691973612850121f6fb152d70839a Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> +Upstream-Status: Pending --- src/core/core_module.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/core_module.pro b/src/core/core_module.pro -index 2bfbc65b..7134a5d7 100644 +index 9e087c815..7f518e020 100644 --- a/src/core/core_module.pro +++ b/src/core/core_module.pro -@@ -52,7 +52,7 @@ linux { - POST_TARGETDEPS += $$NINJA_TARGETDEPS - +@@ -9,7 +9,7 @@ isUniversal() { + api_library_name = qtwebenginecoreapi$$qtPlatformTargetSuffix() + api_library_path = $$OUT_PWD/api/$$getConfigDir() -LIBS_PRIVATE += -L$$api_library_path +LIBS_PRIVATE += -L$$api_library_path -lexecinfo CONFIG *= no_smart_library_merge diff --git a/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch b/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch new file mode 100644 index 00000000..da4cea8d --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch @@ -0,0 +1,49 @@ +From d30d88b852e3b46086ce92f4dfaedfe21ee926a8 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 12 Nov 2019 19:53:59 -0800 +Subject: [PATCH] mkspecs: Allow builds with libc != glibc + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/buildtools/config/support.pri | 4 ---- + src/buildtools/configure.json | 4 +--- + 2 files changed, 1 insertion(+), 7 deletions(-) + +diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri +index e7f869a15..f9c9c24bf 100644 +--- a/src/buildtools/config/support.pri ++++ b/src/buildtools/config/support.pri +@@ -191,10 +191,6 @@ defineTest(qtwebengine_checkForHostPkgCfg) { + + defineTest(qtwebengine_checkForGlibc) { + module = $$1 +- !qtConfig(webengine-system-glibc) { +- qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build $${module} could not be found.") +- return(false) +- } + return(true) + } + +diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json +index 88d1790c1..9eb5e8e33 100644 +--- a/src/buildtools/configure.json ++++ b/src/buildtools/configure.json +@@ -379,7 +379,6 @@ + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) + && (!config.linux || features.webengine-host-pkg-config) +- && (!config.linux || features.webengine-system-glibc) + && (!config.linux || features.webengine-system-khr) + && (!config.linux || features.webengine-system-nss) + && (!config.linux || features.webengine-system-dbus) +@@ -782,8 +781,7 @@ + "webengine-system-fontconfig", + "webengine-system-dbus", + "webengine-system-nss", +- "webengine-system-khr", +- "webengine-system-glibc" ++ "webengine-system-khr" + ] + }, + { diff --git a/recipes-qt/qt5/qtwebengine/0004-musl-allow-build-without-glibc.patch b/recipes-qt/qt5/qtwebengine/0004-musl-allow-build-without-glibc.patch deleted file mode 100644 index 0b312809..00000000 --- a/recipes-qt/qt5/qtwebengine/0004-musl-allow-build-without-glibc.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f8e556db0c49f31881ebefdb2ab28d2b22fccd5c Mon Sep 17 00:00:00 2001 -From: Samuli Piippo <samuli.piippo@qt.io> -Date: Thu, 15 Aug 2019 07:52:53 +0300 -Subject: [PATCH] musl: allow build without glibc - -Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> ---- - src/buildtools/config/support.pri | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri -index 5bdd808..eda498f 100644 ---- a/src/buildtools/config/support.pri -+++ b/src/buildtools/config/support.pri -@@ -89,7 +89,7 @@ defineTest(qtwebengine_checkErrorForLinux) { - return(false) - } - -- !qtConfig(webengine-system-glibc) { -+ false:!qtConfig(webengine-system-glibc) { - qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build QtWebEngine could not be found.") - return(false) - } diff --git a/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch index 97b09e70..6712cef6 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch @@ -1,4 +1,4 @@ -From f3345ad713ae81e4f914084b089ca7983bb76581 Mon Sep 17 00:00:00 2001 +From ba309beb6cdd4a0cd343cc8043464714cd5e8c3e Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@qt.io> Date: Thu, 30 Mar 2017 11:37:24 +0300 Subject: [PATCH] chromium: workaround for too long .rps file name @@ -13,15 +13,17 @@ le.rsp): Unable to create file. File name too long Task-number: QTBUG-59769 Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1 +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- gn/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gn/tools/gn/ninja_action_target_writer.cc b/gn/tools/gn/ninja_action_target_writer.cc -index 7e945c0de0e..3deb587668c 100644 +index 5f4fbaad882..1c074a2193b 100644 --- a/gn/tools/gn/ninja_action_target_writer.cc +++ b/gn/tools/gn/ninja_action_target_writer.cc -@@ -118,9 +118,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { +@@ -119,9 +119,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { // strictly necessary for regular one-shot actions, but it's easier to // just always define unique_name. std::string rspfile = custom_rule_name; diff --git a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch new file mode 100644 index 00000000..a7d8a1c5 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-fix-build-with-clang.patch @@ -0,0 +1,91 @@ +From a67f504fcc2c96ea7e7a57e44dc9c6d559f19838 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 2 Feb 2019 19:28:59 -0800 +Subject: [PATCH] chromium: fix build with clang + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/build/config/compiler/BUILD.gn | 27 ++----------------------- + 1 file changed, 2 insertions(+), 25 deletions(-) + +diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn +index b511a58c5a8..b628042bc21 100644 +--- a/chromium/build/config/compiler/BUILD.gn ++++ b/chromium/build/config/compiler/BUILD.gn +@@ -783,8 +783,6 @@ config("compiler_cpu_abi") { + } + } else if (current_cpu == "arm") { + if (is_clang && !is_android && !is_nacl) { +- cflags += [ "--target=arm-linux-gnueabihf" ] +- ldflags += [ "--target=arm-linux-gnueabihf" ] + } + if (!is_nacl) { + cflags += [ +@@ -797,8 +795,6 @@ config("compiler_cpu_abi") { + } + } else if (current_cpu == "arm64") { + if (is_clang && !is_android && !is_nacl && !is_fuchsia) { +- cflags += [ "--target=aarch64-linux-gnu" ] +- ldflags += [ "--target=aarch64-linux-gnu" ] + } + } else if (current_cpu == "mipsel" && !is_nacl) { + ldflags += [ "-Wl,--hash-style=sysv" ] +@@ -807,9 +803,6 @@ config("compiler_cpu_abi") { + if (is_android) { + cflags += [ "--target=mipsel-linux-android" ] + ldflags += [ "--target=mipsel-linux-android" ] +- } else { +- cflags += [ "--target=mipsel-linux-gnu" ] +- ldflags += [ "--target=mipsel-linux-gnu" ] + } + } else { + cflags += [ "-EL" ] +@@ -888,10 +881,7 @@ config("compiler_cpu_abi") { + } else if (current_cpu == "mips" && !is_nacl) { + ldflags += [ "-Wl,--hash-style=sysv" ] + if (custom_toolchain == "") { +- if (is_clang) { +- cflags += [ "--target=mips-linux-gnu" ] +- ldflags += [ "--target=mips-linux-gnu" ] +- } else { ++ if (!is_clang) { + cflags += [ "-EB" ] + ldflags += [ "-EB" ] + } +@@ -938,9 +928,6 @@ config("compiler_cpu_abi") { + if (is_android) { + cflags += [ "--target=mips64el-linux-android" ] + ldflags += [ "--target=mips64el-linux-android" ] +- } else { +- cflags += [ "--target=mips64el-linux-gnuabi64" ] +- ldflags += [ "--target=mips64el-linux-gnuabi64" ] + } + } else { + cflags += [ +@@ -997,10 +984,7 @@ config("compiler_cpu_abi") { + } else if (current_cpu == "mips64") { + ldflags += [ "-Wl,--hash-style=sysv" ] + if (custom_toolchain == "") { +- if (is_clang) { +- cflags += [ "--target=mips64-linux-gnuabi64" ] +- ldflags += [ "--target=mips64-linux-gnuabi64" ] +- } else { ++ if (!is_clang) { + cflags += [ + "-EB", + "-mabi=64", +@@ -1167,13 +1151,6 @@ config("compiler_deterministic") { + } + } + } +- +- # Tells the compiler not to use absolute paths when passing the default +- # paths to the tools it invokes. We don't want this because we don't +- # really need it and it can mess up the goma cache entries. +- if (is_clang && !is_nacl && !(use_qt && use_libcxx)) { +- cflags += [ "-no-canonical-prefixes" ] +- } + } + + config("clang_revision") { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch b/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch deleted file mode 100644 index d3957200..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0002-chromium-stack-pointer-clobber.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 6af8909f46f0934cee50a641401a845c709a9db2 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 9276f56..622cc1f 100644 ---- a/chromium/third_party/lss/linux_syscall_support.h -+++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -2012,7 +2012,7 @@ struct kernel_statfs { - : "i" (__NR_##name), "ri" ((long)(arg1)), \ - "c" ((long)(arg2)), "d" ((long)(arg3)), \ - "S" ((long)(arg4)), "D" ((long)(arg5)) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - #undef _syscall6 -@@ -2034,7 +2034,7 @@ struct kernel_statfs { - : "i" (__NR_##name), "0" ((long)(&__s)), \ - "c" ((long)(arg2)), "d" ((long)(arg3)), \ - "S" ((long)(arg4)), "D" ((long)(arg5)) \ -- : "esp", "memory"); \ -+ : "memory"); \ - LSS_RETURN(type,__res); \ - } - LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack, -@@ -2120,7 +2120,7 @@ struct kernel_statfs { - : "0"(-EINVAL), "i"(__NR_clone), - "m"(fn), "m"(child_stack), "m"(flags), "m"(arg), - "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr) -- : "esp", "memory", "ecx", "edx", "esi", "edi"); -+ : "memory", "ecx", "edx", "esi", "edi"); - LSS_RETURN(int, __res); - } - 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 4b8dcf8f..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 147314e33ca3d397321da29287c7c64843229cb7 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 29dda54..6870dbb 100644 +index 44b827155b2..16892b8d284 100644 --- a/chromium/third_party/zlib/BUILD.gn +++ b/chromium/third_party/zlib/BUILD.gn -@@ -78,8 +78,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-ma.patch b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch index 5f7901e8..4a82d69d 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch @@ -1,7 +1,8 @@ -From f49c5d488951027f1577f79681d448c3f30f6ae3 Mon Sep 17 00:00:00 2001 +From 1dd881dafa5d61f9a260dd54092689868869f066 Mon Sep 17 00:00:00 2001 From: Johannes Pointner <johannes.pointner@br-automation.com> Date: Fri, 3 May 2019 09:12:38 +0200 Subject: [PATCH] chromium: Do not try to set the guessed values for + march/mtune/float-abi OE config machinary has computed these values already and fed it via compiler cmdline to chromium build @@ -12,17 +13,19 @@ Upstream-Status: Inappropriate [OE-Specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com> + +%% original patch: 0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch --- chromium/build/config/compiler/BUILD.gn | 9 --------- 1 file changed, 9 deletions(-) diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn -index 127d0c444bd..b653e933d6f 100644 +index b628042bc21..0b9476b33af 100644 --- a/chromium/build/config/compiler/BUILD.gn +++ b/chromium/build/config/compiler/BUILD.gn -@@ -749,15 +749,6 @@ config("compiler_cpu_abi") { - cflags += [ "--target=arm-linux-gnueabihf" ] - ldflags += [ "--target=arm-linux-gnueabihf" ] +@@ -784,15 +784,6 @@ config("compiler_cpu_abi") { + } else if (current_cpu == "arm") { + if (is_clang && !is_android && !is_nacl) { } - if (!is_nacl) { - cflags += [ @@ -35,4 +38,4 @@ index 127d0c444bd..b653e933d6f 100644 - } } else if (current_cpu == "arm64") { if (is_clang && !is_android && !is_nacl && !is_fuchsia) { - cflags += [ "--target=aarch64-linux-gnu" ] + } diff --git a/recipes-qt/qt5/qtwebengine/chromium/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 bdab820a..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,22 +1,24 @@ +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: fix build after y2038 changes in glibc -Patch-mainline: submitted on 2019/07/11 -References: QTBUG-76963 +Subject: [PATCH] chromium: fix build after y2038 changes in glibc SIOCGSTAMP is defined in linux/sockios.h since kernel 5.2. Include that file wherever needed. Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- -Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending +--- chromium/third_party/webrtc/rtc_base/physical_socket_server.cc | 1 + 1 file changed, 1 insertion(+) +diff --git a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc +index cf6e7927951..e5df6f9d92c 100644 --- a/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc +++ b/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc -@@ -67,6 +67,7 @@ typedef void* SockOptArg; +@@ -70,6 +70,7 @@ typedef void* SockOptArg; #endif // WEBRTC_POSIX #if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) @@ -24,6 +26,3 @@ Upstream-Status: Pending int64_t GetSocketRecvTimestamp(int socket) { struct timeval tv_ioctl; --- -2.21.0 - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 00000000..b05d9163 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,48 @@ +From c9c77a6fdd6679815f8c68f1e519a317472e7bc5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Nov 2019 10:07:43 -0800 +Subject: [PATCH] chromium: Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + chromium/ui/events/ozone/evdev/event_converter_evdev.h | 5 +++++ + chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 3 +-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.h b/chromium/ui/events/ozone/evdev/event_converter_evdev.h +index 2d184811a00..fb2ba0069f1 100644 +--- a/chromium/ui/events/ozone/evdev/event_converter_evdev.h ++++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.h +@@ -20,6 +20,11 @@ + #include "ui/events/ozone/evdev/event_dispatch_callback.h" + #include "ui/gfx/geometry/size.h" + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + struct input_event; + + namespace ui { +diff --git a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc +index b8d089f7381..5d2d08b1ec6 100644 +--- a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc ++++ b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc +@@ -62,8 +62,7 @@ void TouchEventLogEvdev::DumpLog(const char* filename) { + continue; + std::string event_string = base::StringPrintf( + "E: %ld.%06ld %04x %04x %d %d\n", te->ev.input_event_sec, +- te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, +- te->slot); ++ te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, te->slot); + report_content += event_string; + } + file.Write(0, report_content.c_str(), report_content.length()); diff --git a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch b/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch deleted file mode 100644 index 451ec3ee..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0006-chromium-aarch64-skia-build-fix.patch +++ /dev/null @@ -1,64 +0,0 @@ -From d9ff98eec574e87bf320fabc360c582f49c5d40a 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> ---- - .../third_party/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 b59506d..b8f22c9 100644 ---- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h -@@ -972,13 +972,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 -@@ -995,14 +989,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/0007-chromium-Include-cstddef-for-size_t-definition.patch b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch new file mode 100644 index 00000000..87893de6 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch @@ -0,0 +1,35 @@ +From 851073e7af2c21567e1d8c1a15639fcc6e01be40 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 25 Dec 2019 15:41:16 -0800 +Subject: [PATCH] chromium: Include cstddef for size_t definition + +Include ctsdint for uintXX_t + +Fixes +In file included from ../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.cc:10: +../../../../git/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type + 34 | size_t stability_counter_; + | ^~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +ccc + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../third_party/webrtc/modules/video_coding/decoding_state.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h +index ec972949d89..2a76775cfb6 100644 +--- a/chromium/third_party/webrtc/modules/video_coding/decoding_state.h ++++ b/chromium/third_party/webrtc/modules/video_coding/decoding_state.h +@@ -15,6 +15,7 @@ + #include <map> + #include <set> + #include <vector> ++#include <cstdint> + + namespace webrtc { + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch new file mode 100644 index 00000000..603173d1 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch @@ -0,0 +1,556 @@ +From 50f862c3bed6f13932d43da5c992d3dacfdfe00e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 2 Jan 2020 17:13:55 -0800 +Subject: [PATCH] chromium: Move CharAllocator definition to a header + file + +Fixes +error: invalid application of 'sizeof' to an incomplete type 'cc::ListContainerHelper::CharAllocator' + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/cc/base/list_container_helper.cc | 251 --------------------- + chromium/cc/base/list_container_helper.h | 255 ++++++++++++++++++++++ + 2 files changed, 255 insertions(+), 251 deletions(-) + +diff --git a/chromium/cc/base/list_container_helper.cc b/chromium/cc/base/list_container_helper.cc +index 7b594b4a458..9dae1c360c4 100644 +--- a/chromium/cc/base/list_container_helper.cc ++++ b/chromium/cc/base/list_container_helper.cc +@@ -13,259 +13,8 @@ + #include "base/check_op.h" + #include "base/memory/aligned_memory.h" + +-namespace { +-const size_t kDefaultNumElementTypesToReserve = 32; +-} // namespace +- + namespace cc { + +-// CharAllocator +-//////////////////////////////////////////////////// +-// This class deals only with char* and void*. It does allocation and passing +-// out raw pointers, as well as memory deallocation when being destroyed. +-class ListContainerHelper::CharAllocator { +- public: +- // CharAllocator::InnerList +- ///////////////////////////////////////////// +- // This class holds the raw memory chunk, as well as information about its +- // size and availability. +- struct InnerList { +- InnerList(const InnerList&) = delete; +- InnerList& operator=(const InnerList&) = delete; +- +- std::unique_ptr<char[], base::AlignedFreeDeleter> data; +- // The number of elements in total the memory can hold. The difference +- // between capacity and size is the how many more elements this list can +- // hold. +- size_t capacity; +- // The number of elements have been put into this list. +- size_t size; +- // The size of each element is in bytes. This is used to move from between +- // elements' memory locations. +- size_t step; +- +- InnerList() : capacity(0), size(0), step(0) {} +- +- void Erase(char* position) { +- // Confident that destructor is called by caller of this function. Since +- // CharAllocator does not handle construction after +- // allocation, it doesn't handle desctrution before deallocation. +- DCHECK_LE(position, LastElement()); +- DCHECK_GE(position, Begin()); +- char* start = position + step; +- std::copy(start, End(), position); +- +- --size; +- // Decrease capacity to avoid creating not full not last InnerList. +- --capacity; +- } +- +- void InsertBefore(size_t alignment, char** position, size_t count) { +- DCHECK_LE(*position, LastElement() + step); +- DCHECK_GE(*position, Begin()); +- +- // Adjust the size and capacity +- size_t old_size = size; +- size += count; +- capacity = size; +- +- // Allocate the new data and update the iterator's pointer. +- std::unique_ptr<char[], base::AlignedFreeDeleter> new_data( +- static_cast<char*>(base::AlignedAlloc(size * step, alignment))); +- size_t position_offset = *position - Begin(); +- *position = new_data.get() + position_offset; +- +- // Copy the data before the inserted segment +- memcpy(new_data.get(), data.get(), position_offset); +- // Copy the data after the inserted segment. +- memcpy(new_data.get() + position_offset + count * step, +- data.get() + position_offset, old_size * step - position_offset); +- data = std::move(new_data); +- } +- +- bool IsEmpty() const { return !size; } +- bool IsFull() { return capacity == size; } +- size_t NumElementsAvailable() const { return capacity - size; } +- +- void* AddElement() { +- DCHECK_LT(size, capacity); +- ++size; +- return LastElement(); +- } +- +- void RemoveLast() { +- DCHECK(!IsEmpty()); +- --size; +- } +- +- char* Begin() const { return data.get(); } +- char* End() const { return data.get() + size * step; } +- char* LastElement() const { return data.get() + (size - 1) * step; } +- char* ElementAt(size_t index) const { return data.get() + index * step; } +- }; +- +- CharAllocator(size_t alignment, size_t element_size, size_t element_count) +- // base::AlignedAlloc does not accept alignment less than sizeof(void*). +- : alignment_(std::max(sizeof(void*), alignment)), +- element_size_(element_size), +- size_(0), +- last_list_index_(0), +- last_list_(nullptr) { +- // If this fails, then alignment of elements after the first could be wrong, +- // and we need to pad sizes to fix that. +- DCHECK_EQ(element_size % alignment, 0u); +- AllocateNewList(element_count > 0 ? element_count +- : kDefaultNumElementTypesToReserve); +- last_list_ = storage_[last_list_index_].get(); +- } +- +- CharAllocator(const CharAllocator&) = delete; +- ~CharAllocator() = default; +- +- CharAllocator& operator=(const CharAllocator&) = delete; +- +- void* Allocate() { +- if (last_list_->IsFull()) { +- // Only allocate a new list if there isn't a spare one still there from +- // previous usage. +- if (last_list_index_ + 1 >= storage_.size()) +- AllocateNewList(last_list_->capacity * 2); +- +- ++last_list_index_; +- last_list_ = storage_[last_list_index_].get(); +- } +- +- ++size_; +- return last_list_->AddElement(); +- } +- +- size_t alignment() const { return alignment_; } +- size_t element_size() const { return element_size_; } +- size_t list_count() const { return storage_.size(); } +- size_t size() const { return size_; } +- bool IsEmpty() const { return size() == 0; } +- +- size_t Capacity() const { +- size_t capacity_sum = 0; +- for (const auto& inner_list : storage_) +- capacity_sum += inner_list->capacity; +- return capacity_sum; +- } +- +- void Clear() { +- // Remove all except for the first InnerList. +- DCHECK(!storage_.empty()); +- storage_.erase(storage_.begin() + 1, storage_.end()); +- last_list_index_ = 0; +- last_list_ = storage_[0].get(); +- last_list_->size = 0; +- size_ = 0; +- } +- +- void RemoveLast() { +- DCHECK(!IsEmpty()); +- last_list_->RemoveLast(); +- if (last_list_->IsEmpty() && last_list_index_ > 0) { +- --last_list_index_; +- last_list_ = storage_[last_list_index_].get(); +- +- // If there are now two empty inner lists, free one of them. +- if (last_list_index_ + 2 < storage_.size()) +- storage_.pop_back(); +- } +- --size_; +- } +- +- void Erase(PositionInCharAllocator* position) { +- DCHECK_EQ(this, position->ptr_to_container); +- +- // Update |position| to point to the element after the erased element. +- InnerList* list = storage_[position->vector_index].get(); +- char* item_iterator = position->item_iterator; +- if (item_iterator == list->LastElement()) +- position->Increment(); +- +- list->Erase(item_iterator); +- // TODO(weiliangc): Free the InnerList if it is empty. +- --size_; +- } +- +- void InsertBefore(ListContainerHelper::Iterator* position, size_t count) { +- if (!count) +- return; +- +- // If |position| is End(), then append |count| elements at the end. This +- // will happen to not invalidate any iterators or memory. +- if (!position->item_iterator) { +- // Set |position| to be the first inserted element. +- Allocate(); +- position->vector_index = storage_.size() - 1; +- position->item_iterator = storage_[position->vector_index]->LastElement(); +- // Allocate the rest. +- for (size_t i = 1; i < count; ++i) +- Allocate(); +- } else { +- storage_[position->vector_index]->InsertBefore( +- alignment_, &position->item_iterator, count); +- size_ += count; +- } +- } +- +- InnerList* InnerListById(size_t id) const { +- DCHECK_LT(id, storage_.size()); +- return storage_[id].get(); +- } +- +- size_t FirstInnerListId() const { +- // |size_| > 0 means that at least one vector in |storage_| will be +- // non-empty. +- DCHECK_GT(size_, 0u); +- size_t id = 0; +- while (storage_[id]->size == 0) +- ++id; +- return id; +- } +- +- size_t LastInnerListId() const { +- // |size_| > 0 means that at least one vector in |storage_| will be +- // non-empty. +- DCHECK_GT(size_, 0u); +- size_t id = storage_.size() - 1; +- while (storage_[id]->size == 0) +- --id; +- return id; +- } +- +- size_t NumAvailableElementsInLastList() const { +- return last_list_->NumElementsAvailable(); +- } +- +- private: +- void AllocateNewList(size_t list_size) { +- std::unique_ptr<InnerList> new_list(new InnerList); +- new_list->capacity = list_size; +- new_list->size = 0; +- new_list->step = element_size_; +- new_list->data.reset(static_cast<char*>( +- base::AlignedAlloc(list_size * element_size_, alignment_))); +- storage_.push_back(std::move(new_list)); +- } +- +- std::vector<std::unique_ptr<InnerList>> storage_; +- const size_t alignment_; +- const size_t element_size_; +- +- // The number of elements in the list. +- size_t size_; +- +- // The index of the last list to have had elements added to it, or the only +- // list if the container has not had elements added since being cleared. +- size_t last_list_index_; +- +- // This is equivalent to |storage_[last_list_index_]|. +- InnerList* last_list_; +-}; +- + // PositionInCharAllocator + ////////////////////////////////////////////////////// + ListContainerHelper::PositionInCharAllocator::PositionInCharAllocator( +diff --git a/chromium/cc/base/list_container_helper.h b/chromium/cc/base/list_container_helper.h +index 31658bc8486..9e65013cbdb 100644 +--- a/chromium/cc/base/list_container_helper.h ++++ b/chromium/cc/base/list_container_helper.h +@@ -8,9 +8,17 @@ + #include <stddef.h> + + #include <memory> ++#include <algorithm> ++#include <vector> + ++#include "base/logging.h" ++#include "base/memory/aligned_memory.h" + #include "cc/base/base_export.h" + ++namespace { ++const size_t kDefaultNumElementTypesToReserve = 32; ++} // namespace ++ + namespace cc { + + // Helper class for ListContainer non-templated logic. All methods are private, +@@ -174,6 +182,253 @@ class CC_BASE_EXPORT ListContainerHelper final { + std::unique_ptr<CharAllocator> data_; + }; + ++// CharAllocator ++//////////////////////////////////////////////////// ++// This class deals only with char* and void*. It does allocation and passing ++// out raw pointers, as well as memory deallocation when being destroyed. ++class ListContainerHelper::CharAllocator { ++ public: ++ // CharAllocator::InnerList ++ ///////////////////////////////////////////// ++ // This class holds the raw memory chunk, as well as information about its ++ // size and availability. ++ struct InnerList { ++ InnerList(const InnerList&) = delete; ++ InnerList& operator=(const InnerList&) = delete; ++ ++ std::unique_ptr<char[], base::AlignedFreeDeleter> data; ++ // The number of elements in total the memory can hold. The difference ++ // between capacity and size is the how many more elements this list can ++ // hold. ++ size_t capacity; ++ // The number of elements have been put into this list. ++ size_t size; ++ // The size of each element is in bytes. This is used to move from between ++ // elements' memory locations. ++ size_t step; ++ ++ InnerList() : capacity(0), size(0), step(0) {} ++ ++ void Erase(char* position) { ++ // Confident that destructor is called by caller of this function. Since ++ // CharAllocator does not handle construction after ++ // allocation, it doesn't handle desctrution before deallocation. ++ DCHECK_LE(position, LastElement()); ++ DCHECK_GE(position, Begin()); ++ char* start = position + step; ++ std::copy(start, End(), position); ++ ++ --size; ++ // Decrease capacity to avoid creating not full not last InnerList. ++ --capacity; ++ } ++ ++ void InsertBefore(size_t alignment, char** position, size_t count) { ++ DCHECK_LE(*position, LastElement() + step); ++ DCHECK_GE(*position, Begin()); ++ ++ // Adjust the size and capacity ++ size_t old_size = size; ++ size += count; ++ capacity = size; ++ ++ // Allocate the new data and update the iterator's pointer. ++ std::unique_ptr<char[], base::AlignedFreeDeleter> new_data( ++ static_cast<char*>(base::AlignedAlloc(size * step, alignment))); ++ size_t position_offset = *position - Begin(); ++ *position = new_data.get() + position_offset; ++ ++ // Copy the data before the inserted segment ++ memcpy(new_data.get(), data.get(), position_offset); ++ // Copy the data after the inserted segment. ++ memcpy(new_data.get() + position_offset + count * step, ++ data.get() + position_offset, old_size * step - position_offset); ++ data = std::move(new_data); ++ } ++ ++ bool IsEmpty() const { return !size; } ++ bool IsFull() { return capacity == size; } ++ size_t NumElementsAvailable() const { return capacity - size; } ++ ++ void* AddElement() { ++ DCHECK_LT(size, capacity); ++ ++size; ++ return LastElement(); ++ } ++ ++ void RemoveLast() { ++ DCHECK(!IsEmpty()); ++ --size; ++ } ++ ++ char* Begin() const { return data.get(); } ++ char* End() const { return data.get() + size * step; } ++ char* LastElement() const { return data.get() + (size - 1) * step; } ++ char* ElementAt(size_t index) const { return data.get() + index * step; } ++ }; ++ ++ CharAllocator(size_t alignment, size_t element_size, size_t element_count) ++ // base::AlignedAlloc does not accept alignment less than sizeof(void*). ++ : alignment_(std::max(sizeof(void*), alignment)), ++ element_size_(element_size), ++ size_(0), ++ last_list_index_(0), ++ last_list_(nullptr) { ++ // If this fails, then alignment of elements after the first could be wrong, ++ // and we need to pad sizes to fix that. ++ DCHECK_EQ(element_size % alignment, 0u); ++ AllocateNewList(element_count > 0 ? element_count ++ : kDefaultNumElementTypesToReserve); ++ last_list_ = storage_[last_list_index_].get(); ++ } ++ ++ CharAllocator(const CharAllocator&) = delete; ++ ~CharAllocator() = default; ++ ++ CharAllocator& operator=(const CharAllocator&) = delete; ++ ++ void* Allocate() { ++ if (last_list_->IsFull()) { ++ // Only allocate a new list if there isn't a spare one still there from ++ // previous usage. ++ if (last_list_index_ + 1 >= storage_.size()) ++ AllocateNewList(last_list_->capacity * 2); ++ ++ ++last_list_index_; ++ last_list_ = storage_[last_list_index_].get(); ++ } ++ ++ ++size_; ++ return last_list_->AddElement(); ++ } ++ ++ size_t alignment() const { return alignment_; } ++ size_t element_size() const { return element_size_; } ++ size_t list_count() const { return storage_.size(); } ++ size_t size() const { return size_; } ++ bool IsEmpty() const { return size() == 0; } ++ ++ size_t Capacity() const { ++ size_t capacity_sum = 0; ++ for (const auto& inner_list : storage_) ++ capacity_sum += inner_list->capacity; ++ return capacity_sum; ++ } ++ ++ void Clear() { ++ // Remove all except for the first InnerList. ++ DCHECK(!storage_.empty()); ++ storage_.erase(storage_.begin() + 1, storage_.end()); ++ last_list_index_ = 0; ++ last_list_ = storage_[0].get(); ++ last_list_->size = 0; ++ size_ = 0; ++ } ++ ++ void RemoveLast() { ++ DCHECK(!IsEmpty()); ++ last_list_->RemoveLast(); ++ if (last_list_->IsEmpty() && last_list_index_ > 0) { ++ --last_list_index_; ++ last_list_ = storage_[last_list_index_].get(); ++ ++ // If there are now two empty inner lists, free one of them. ++ if (last_list_index_ + 2 < storage_.size()) ++ storage_.pop_back(); ++ } ++ --size_; ++ } ++ ++ void Erase(PositionInCharAllocator* position) { ++ DCHECK_EQ(this, position->ptr_to_container); ++ ++ // Update |position| to point to the element after the erased element. ++ InnerList* list = storage_[position->vector_index].get(); ++ char* item_iterator = position->item_iterator; ++ if (item_iterator == list->LastElement()) ++ position->Increment(); ++ ++ list->Erase(item_iterator); ++ // TODO(weiliangc): Free the InnerList if it is empty. ++ --size_; ++ } ++ ++ void InsertBefore(ListContainerHelper::Iterator* position, size_t count) { ++ if (!count) ++ return; ++ ++ // If |position| is End(), then append |count| elements at the end. This ++ // will happen to not invalidate any iterators or memory. ++ if (!position->item_iterator) { ++ // Set |position| to be the first inserted element. ++ Allocate(); ++ position->vector_index = storage_.size() - 1; ++ position->item_iterator = storage_[position->vector_index]->LastElement(); ++ // Allocate the rest. ++ for (size_t i = 1; i < count; ++i) ++ Allocate(); ++ } else { ++ storage_[position->vector_index]->InsertBefore( ++ alignment_, &position->item_iterator, count); ++ size_ += count; ++ } ++ } ++ ++ InnerList* InnerListById(size_t id) const { ++ DCHECK_LT(id, storage_.size()); ++ return storage_[id].get(); ++ } ++ ++ size_t FirstInnerListId() const { ++ // |size_| > 0 means that at least one vector in |storage_| will be ++ // non-empty. ++ DCHECK_GT(size_, 0u); ++ size_t id = 0; ++ while (storage_[id]->size == 0) ++ ++id; ++ return id; ++ } ++ ++ size_t LastInnerListId() const { ++ // |size_| > 0 means that at least one vector in |storage_| will be ++ // non-empty. ++ DCHECK_GT(size_, 0u); ++ size_t id = storage_.size() - 1; ++ while (storage_[id]->size == 0) ++ --id; ++ return id; ++ } ++ ++ size_t NumAvailableElementsInLastList() const { ++ return last_list_->NumElementsAvailable(); ++ } ++ ++ private: ++ void AllocateNewList(size_t list_size) { ++ std::unique_ptr<InnerList> new_list(new InnerList); ++ new_list->capacity = list_size; ++ new_list->size = 0; ++ new_list->step = element_size_; ++ new_list->data.reset(static_cast<char*>( ++ base::AlignedAlloc(list_size * element_size_, alignment_))); ++ storage_.push_back(std::move(new_list)); ++ } ++ ++ std::vector<std::unique_ptr<InnerList>> storage_; ++ const size_t alignment_; ++ const size_t element_size_; ++ ++ // The number of elements in the list. ++ size_t size_; ++ ++ // The index of the last list to have had elements added to it, or the only ++ // list if the container has not had elements added since being cleared. ++ size_t last_list_index_; ++ ++ // This is equivalent to |storage_[last_list_index_]|. ++ InnerList* last_list_; ++}; ++ + } // namespace cc + + #endif // CC_BASE_LIST_CONTAINER_HELPER_H_ diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch new file mode 100644 index 00000000..f1385890 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch @@ -0,0 +1,29 @@ +From df7f7525ece62cde56de905098bd6000483f10d2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 1 Feb 2020 12:17:23 -0800 +Subject: [PATCH] chromium: Link v8 with libatomic on x86 + +Fixes +| v8_base_without_compiler_jumbo_47.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x29a): undefined reference to `__atomic_l +oad' + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/v8/BUILD.gn | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn +index ba99c75140b..33cf943bcba 100644 +--- a/chromium/v8/BUILD.gn ++++ b/chromium/v8/BUILD.gn +@@ -3862,7 +3862,8 @@ v8_source_set("v8_base_without_compiler") { + if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" || + v8_current_cpu == "mips64" || v8_current_cpu == "mips64el" || + v8_current_cpu == "ppc" || v8_current_cpu == "ppc64" || +- v8_current_cpu == "s390" || v8_current_cpu == "s390x") { ++ v8_current_cpu == "s390" || v8_current_cpu == "s390x" || ++ v8_current_cpu == "x86") { + libs += [ "atomic" ] + } + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch new file mode 100644 index 00000000..7b648671 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-icu-use-system-library-only-targets.patch @@ -0,0 +1,89 @@ +From 7cc4c3490f01cec09f9ca63e36cf34c9977243f0 Mon Sep 17 00:00:00 2001 +From: Andrej Valek <andrej.valek@siemens.com> +Date: Fri, 17 Apr 2020 09:43:32 +0200 +Subject: [PATCH] chromium: icu: use system library only targets + + - use bundled one for native/v8 internal builds + +Complete system ICU library using requires ICU dev package +be installed on host. Enabling dependency on native package +is not enough due to V8 hosttools toolchain. V8 toolchain +is not using native sysroot, only a host packages. +On the other hand webenegine does not produce external +native artifacts. So external system ICU linking is not +needed. + +Upstream-Status: Pending +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + chromium/third_party/icu/BUILD.gn | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn +index 2430d3e48e5..5d00226667d 100644 +--- a/chromium/third_party/icu/BUILD.gn ++++ b/chromium/third_party/icu/BUILD.gn +@@ -8,9 +8,13 @@ import("//build/config/linux/pkg_config.gni") + import("//build/shim_headers.gni") + import("//third_party/icu/config.gni") + import("//third_party/icu/sources.gni") ++import("//v8/gni/snapshot_toolchain.gni") + + declare_args() { + use_system_icu = false ++ ++ # Use only target icu library, when system using is enabled ++ use_system_icu_target_only = false + } + + if (is_android) { +@@ -24,6 +28,12 @@ if (is_mac && !icu_is_in_fuchsia) { + assert(!icu_disable_thin_archive || !is_component_build, + "icu_disable_thin_archive only works in static library builds") + ++if (use_system_icu) { ++ # Use system library only for target, otherwise use bundled ++ if ((current_toolchain != host_toolchain) && (current_toolchain != v8_snapshot_toolchain)) { ++ use_system_icu_target_only = true ++ } ++} + # Meta target that includes both icuuc and icui18n. Most targets want both. + # You can depend on the individually if you need to. + group("icu") { +@@ -413,7 +423,7 @@ config("system_icu_config") { + } + } + +-if (use_system_icu) { ++if (use_system_icu_target_only) { + pkg_config("system_icui18n") { + packages = [ "icu-i18n" ] + } +@@ -626,7 +636,7 @@ shim_headers("icuuc_shim") { + } + + config("icu_config") { +- if (use_system_icu) { ++ if (use_system_icu_target_only) { + configs = [ ":system_icu_config"] + } else { + configs = [ ":bundled_icu_config"] +@@ -634,7 +644,7 @@ config("icu_config") { + } + + group("icuuc") { +- if (use_system_icu) { ++ if (use_system_icu_target_only) { + deps = [ ":icuuc_shim" ] + public_configs = [ + ":system_icu_config", +@@ -646,7 +656,7 @@ group("icuuc") { + } + + group("icui18n") { +- if (use_system_icu) { ++ if (use_system_icu_target_only) { + deps = [ ":icui18n_shim" ] + public_configs = [ + ":system_icu_config", diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch new file mode 100644 index 00000000..81159aa9 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch @@ -0,0 +1,22 @@ +From 339af001155fd49f4f967dcf08664e247d258877 Mon Sep 17 00:00:00 2001 +From: Jani Suonpera <jani.suonpera@qt.io> +Date: Thu, 4 Feb 2021 14:30:44 +0200 +Subject: [PATCH] chromium: Add missing include for C strncpy + +Task-number:QTBUG-90623 +--- + .../mojo/public/cpp/platform/named_platform_channel_posix.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc b/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc +index 9082ac4da59..24b21771d89 100644 +--- a/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc ++++ b/chromium/mojo/public/cpp/platform/named_platform_channel_posix.cc +@@ -8,6 +8,7 @@ + #include <sys/socket.h> + #include <sys/un.h> + #include <unistd.h> ++#include <cstring> // strncpy + + #include "base/files/file_util.h" + #include "base/files/scoped_file.h" diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch new file mode 100644 index 00000000..0cd9a85f --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch @@ -0,0 +1,63 @@ +From ce0d0a3961dafb0e682a47b3cc3963a23bdcea37 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Mon, 16 May 2022 20:01:49 +0000 +Subject: [PATCH] chromium: skia: Fix build with gcc-12 + +* fixes: +/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 --sysroot=/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot -MMD -MF obj/skia/skia/SkParseColor.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_USE_LIBGIFCODEC -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSKIA_IMPLEMENTATION=1 -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -DWEBP_EXTERN=extern -DUSE_SYSTEM_LIBJPEG -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/skia -I../../../../git/src/3rdparty/chromium/third_party/libgifcodec -I../../../../git/src/3rdparty/chromium/third_party/vulkan/include -I../../../../git/src/3rdparty/chromium/third_party/vulkan_headers/include -I../../../../git/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -Igen -I../../../../git/src/3rdparty/chromium/third_party/libwebp/src -Igen -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../git/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../git/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../git/src/3rdparty/chromium/third_party/icu/source/common -I../../../../git/src/3rdparty/chromium/third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -I/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot/usr/include/libpng16 -I/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot/usr/include/freetype2 -I/OE/build/test-oe-build-time/poky/build/tmp/work/core2-64-poky-linux/qtwebengine/5.15.8+gitAUTOINC+73e76f9e86_48a205f9e0-r0/recipe-sysroot/usr/include/libpng16 -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -std=c++17 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp -o obj/skia/skia/SkParseColor.o +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp: In static member function 'static const char* SkParse::FindNamedColor(const char*, size_t, SkColor*)': +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: error: no matching function for call to 'begin(const char* const [140])' + 300 | const auto rec = std::lower_bound(std::begin(gColorNames), + | ~~~~~~~~~~^~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/12.1.0/utility:73, + from ../../../../git/src/3rdparty/chromium/third_party/skia/include/core/SkImageInfo.h:11, + from ../../../../git/src/3rdparty/chromium/third_party/skia/include/core/SkColor.h:11, + from ../../../../git/src/3rdparty/chromium/third_party/skia/include/utils/SkParse.h:13, + from ../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:9: +../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:90:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::begin(initializer_list<_Tp>)' + 90 | begin(initializer_list<_Tp> __ils) noexcept + | ^~~~~ +../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:90:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: note: mismatched types 'std::initializer_list<_Tp>' and 'const char* const*' + 300 | const auto rec = std::lower_bound(std::begin(gColorNames), + | ~~~~~~~~~~^~~~~~~~~~~~~ +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:301:49: error: no matching function for call to 'end(const char* const [140])' + 301 | std::end (gColorNames), + | ~~~~~~~~~~^~~~~~~~~~~~~ +../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)' + 101 | end(initializer_list<_Tp> __ils) noexcept + | ^~~ +../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:301:49: note: mismatched types 'std::initializer_list<_Tp>' and 'const char* const*' + 301 | std::end (gColorNames), + | ~~~~~~~~~~^~~~~~~~~~~~~ +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:307:24: error: no matching function for call to 'end(const char* const [140])' + 307 | if (rec == std::end(gColorNames) || 0 != strcmp(name, *rec)) { + | ~~~~~~~~^~~~~~~~~~~~~ +../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)' + 101 | end(initializer_list<_Tp> __ils) noexcept + | ^~~ +../../../../recipe-sysroot/usr/include/c++/12.1.0/initializer_list:101:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:307:24: note: mismatched types 'std::initializer_list<_Tp>' and 'const char* const*' + 307 | if (rec == std::end(gColorNames) || 0 != strcmp(name, *rec)) { + | ~~~~~~~~^~~~~~~~~~~~~ +[67/9144] CXX obj/skia/skia/GrClipStack.o + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + chromium/third_party/skia/src/utils/SkParseColor.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/third_party/skia/src/utils/SkParseColor.cpp b/chromium/third_party/skia/src/utils/SkParseColor.cpp +index 0dc3497062f..f63f1800501 100644 +--- a/chromium/third_party/skia/src/utils/SkParseColor.cpp ++++ b/chromium/third_party/skia/src/utils/SkParseColor.cpp +@@ -7,6 +7,7 @@ + + + #include "include/utils/SkParse.h" ++#include <vector> + + #include <algorithm> // std::lower_bound + #include <iterator> diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch new file mode 100644 index 00000000..64a3d06b --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch @@ -0,0 +1,34 @@ +From 3332ea15dfd4024eb7b95ebd1b26bf76f592b23f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 3 Jan 2023 14:10:23 -0800 +Subject: [PATCH] Remove unsetting _FILE_OFFSET_BITS + +This does not work when enabling 64bit time_t with glibc which is enabled with -D_TIME_BITS=64, since it also needs +_FILE_OFFSET_BITS=64 and this does not work when its undefined explicitly + +Upstream-Status: Submitted [https://github.com/madler/zlib/pull/764] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/third_party/zlib/gzguts.h | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/chromium/third_party/zlib/gzguts.h b/chromium/third_party/zlib/gzguts.h +index 57faf37165a..3747f3c449d 100644 +--- a/chromium/third_party/zlib/gzguts.h ++++ b/chromium/third_party/zlib/gzguts.h +@@ -3,15 +3,6 @@ + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +-#ifdef _LARGEFILE64_SOURCE +-# ifndef _LARGEFILE_SOURCE +-# define _LARGEFILE_SOURCE 1 +-# endif +-# ifdef _FILE_OFFSET_BITS +-# undef _FILE_OFFSET_BITS +-# endif +-#endif +- + #ifdef HAVE_HIDDEN + # define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) + #else diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch deleted file mode 100644 index f995676a..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a74e3dd8323dedb012bce6cf5995ae2a78efd5de Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 7 Jul 2017 15:09:02 -0700 -Subject: [PATCH] chromium: musl: allocator: Do not include glibc_weak_symbols - for musl - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - chromium/base/allocator/allocator_shim.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/base/allocator/allocator_shim.cc b/chromium/base/allocator/allocator_shim.cc -index 1233ae2a8aa..6f1b3e87224 100644 ---- a/chromium/base/allocator/allocator_shim.cc -+++ b/chromium/base/allocator/allocator_shim.cc -@@ -351,7 +351,7 @@ ALWAYS_INLINE void ShimAlignedFree(void* address, void* context) { - // In the case of tcmalloc we also want to plumb into the glibc hooks - // to avoid that allocations made in glibc itself (e.g., strdup()) get - // accidentally performed on the glibc heap instead of the tcmalloc one. --#if defined(USE_TCMALLOC) -+#if defined(USE_TCMALLOC) && defined(__GLIBC__) - #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h" - #endif - diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch deleted file mode 100644 index c4e6ce02..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 1a11d644434ace1eaf72d2cc8bb3dec350655db5 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 7 Jul 2017 15:12:39 -0700 -Subject: [PATCH] chromium: musl: Use correct member name __si_fields from - LinuxSigInfo - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - chromium/sandbox/linux/seccomp-bpf/trap.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chromium/sandbox/linux/seccomp-bpf/trap.cc b/chromium/sandbox/linux/seccomp-bpf/trap.cc -index 003708d2c89..0fef3148f9d 100644 ---- a/chromium/sandbox/linux/seccomp-bpf/trap.cc -+++ b/chromium/sandbox/linux/seccomp-bpf/trap.cc -@@ -168,7 +168,7 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) { - // most versions of glibc don't include this information in siginfo_t. So, - // we need to explicitly copy it into a arch_sigsys structure. - struct arch_sigsys sigsys; -- memcpy(&sigsys, &info->_sifields, sizeof(sigsys)); -+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys)); - - #if defined(__mips__) - // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the diff --git a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch index c040504a..ef788ff2 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0007-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch @@ -1,18 +1,19 @@ -From 34ab4deee6cffc8e6876e991ceabe6baf7308b6f Mon Sep 17 00:00:00 2001 +From 4951642cc3b22379211c492759849c79a59938f5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:01:12 -0700 -Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if not - defined +Subject: [PATCH] chromium: musl: sandbox: Define TEMP_FAILURE_RETRY if + not defined Musl does not define this Macro Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- chromium/sandbox/linux/suid/sandbox.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/chromium/sandbox/linux/suid/sandbox.c b/chromium/sandbox/linux/suid/sandbox.c -index 854819bfbb4..a99d32741d0 100644 +index 5fdb4817af8..e5b9431daa0 100644 --- a/chromium/sandbox/linux/suid/sandbox.c +++ b/chromium/sandbox/linux/suid/sandbox.c @@ -46,6 +46,15 @@ static bool DropRoot(); diff --git a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch index 14b469e1..0b14f09d 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0008-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch @@ -1,26 +1,28 @@ -From 6eec3f3105b0f6b37fdb52efbb4b3820e1d25846 Mon Sep 17 00:00:00 2001 +From 49c7efab2123eff453df1bd0bdbdc718a8292c58 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:09:06 -0700 -Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux +Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on + non-glibc/linux Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- chromium/base/process/process_metrics_posix.cc | 4 ++-- chromium/base/trace_event/malloc_dump_provider.cc | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc -index a09bbf2c56e..b309f6b694e 100644 +index 9d12c427bb3..900ab13519f 100644 --- a/chromium/base/process/process_metrics_posix.cc +++ b/chromium/base/process/process_metrics_posix.cc -@@ -100,14 +100,14 @@ size_t ProcessMetrics::GetMallocUsage() { +@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() { malloc_statistics_t stats = {0}; malloc_zone_statistics(nullptr, &stats); return stats.size_in_use; --#elif defined(OS_LINUX) || defined(OS_ANDROID) -+#elif defined(__GLIBC__) || defined(OS_ANDROID) +-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID) struct mallinfo minfo = mallinfo(); - #if defined(USE_TCMALLOC) + #if BUILDFLAG(USE_TCMALLOC) return minfo.uordblks; #else return minfo.hblkhd + minfo.arena; @@ -31,7 +33,7 @@ index a09bbf2c56e..b309f6b694e 100644 return 0; #endif diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc -index 0077d8b0aec..c69f893f4e9 100644 +index c327f486596..90129e851e8 100644 --- a/chromium/base/trace_event/malloc_dump_provider.cc +++ b/chromium/base/trace_event/malloc_dump_provider.cc @@ -77,6 +77,7 @@ MallocDumpProvider::~MallocDumpProvider() = default; @@ -42,7 +44,7 @@ index 0077d8b0aec..c69f893f4e9 100644 { base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_); if (!emit_metrics_on_memory_dump_) -@@ -172,6 +173,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, +@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, MemoryAllocatorDump::kUnitsBytes, resident_size - allocated_objects_size); } diff --git a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch index f6c23b0e..72cf812a 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0009-chromium-musl-include-fcntl.h-for-loff_t.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch @@ -1,15 +1,16 @@ -From 87a8cb561129701c8ba94dc927c45cbbb9f5c75b Mon Sep 17 00:00:00 2001 +From 1150bddce8d8cb4a691b3197569d304434fa6219 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:37:49 -0700 Subject: [PATCH] chromium: musl: include fcntl.h for loff_t Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- .../tcmalloc/chromium/src/base/linux_syscall_support.h | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h -index 13aa415e250..9d1309b836f 100644 +index ca5936d6e63..5484dbadfbd 100644 --- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h @@ -154,6 +154,7 @@ extern "C" { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch index ca31a456..45907779 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0010-chromium-musl-use-off64_t-instead-of-the-internal-__.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch @@ -1,12 +1,14 @@ -From bf780e32b4de82b55368967642bc8f975a93d619 Mon Sep 17 00:00:00 2001 +From ceb6a8ca7548ef255150e1b8d1e65b40c4949dee Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:38:37 -0700 -Subject: [PATCH] chromium: musl: use off64_t instead of the internal __off64_t +Subject: [PATCH] chromium: musl: use off64_t instead of the internal + __off64_t - only do the glibc 32-bit ABI check for mmap/mmap64 on gnu libc. musl does not support the 32-bit ABI. Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- .../tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch deleted file mode 100644 index 16c958c9..00000000 --- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 295afaa918bafc70df23c2c6740e0ef3cc3a7ba5 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 25 Sep 2018 12:35:07 -0700 -Subject: [PATCH] chromium: musl: Use _fpstate instead of _libc_fpstate on - linux - -glibc defines both. musl libc only the former. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - .../src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++-- - .../src/client/linux/dump_writer_common/ucontext_reader.h | 2 +- - .../src/client/linux/minidump_writer/minidump_writer.h | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -index 6ee6cc1e4cd..a8f9ccc72ac 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp) { -+ const struct _fpstate* fp) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_X86_FULL | -@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { - } - - void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fpregs) { -+ const struct _fpstate* fpregs) { - const greg_t* regs = uc->uc_mcontext.gregs; - - out->context_flags = MD_CONTEXT_AMD64_FULL; -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -index f830618f240..f3dde1f4dff 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -@@ -50,7 +50,7 @@ struct UContextReader { - // info: the collection of register structures. - #if defined(__i386__) || defined(__x86_64) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, -- const struct _libc_fpstate* fp); -+ const struct _fpstate* fp); - #elif defined(__aarch64__) - static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, - const struct fpsimd_context* fpregs); -diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -index d1dc331215a..d1cc5624cd4 100644 ---- a/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ b/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -@@ -48,7 +48,7 @@ class ExceptionHandler; - #if defined(__aarch64__) - typedef struct fpsimd_context fpstate_t; - #elif !defined(__ARM_EABI__) && !defined(__mips__) --typedef struct _libc_fpstate fpstate_t; -+typedef struct _fpstate fpstate_t; - #endif - - // These entries store a list of memory regions that the client wants included diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch index 8ca842eb..2bba01b4 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-musl-linux-glibc-make-the-distinction.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch @@ -1,23 +1,24 @@ -From 0dbb65a8a1633a8fe1704ddc0f299799998cc9b0 Mon Sep 17 00:00:00 2001 +From b59ba5a52e29867f9ebbc4423514d50f4b36b0ae Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 14:54:38 -0700 Subject: [PATCH] chromium: musl: linux != glibc, make the distinction Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- chromium/base/allocator/allocator_check.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium/base/allocator/allocator_check.cc b/chromium/base/allocator/allocator_check.cc -index 5fb86467dde..9864858eb67 100644 +index a5ca0b7191e..7017d48b5a0 100644 --- a/chromium/base/allocator/allocator_check.cc +++ b/chromium/base/allocator/allocator_check.cc @@ -27,7 +27,7 @@ bool IsAllocatorInitialized() { // Set by allocator_shim_override_ucrt_symbols_win.h when the // shimmed _set_new_mode() is called. return g_is_win_shim_layer_initialized; --#elif defined(OS_LINUX) && defined(USE_TCMALLOC) && \ -+#elif defined(__GLIBC__) && defined(USE_TCMALLOC) && \ - !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) +-#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ ++#elif (defined(__GLIBC__) || defined(OS_CHROMEOS)) && \ + BUILDFLAG(USE_TCMALLOC) && !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) // From third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h. // TODO(primiano): replace with an include once base can depend on allocator. diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch index 9f1f2b10..fd62102a 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch @@ -1,10 +1,11 @@ -From 319b50c1cb9ab3beaf52d5119feb9ba2283aaa13 Mon Sep 17 00:00:00 2001 +From f82c828b2c8ffd7c5f0e884132e0f1d721295c36 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 15:27:50 -0700 -Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc - platforms +Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for + non-glibc platforms Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- chromium/net/dns/dns_config_service_posix.cc | 4 +++ chromium/net/dns/dns_reloader.cc | 4 +++ @@ -13,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> create mode 100644 chromium/net/dns/resolv_compat.h diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc -index 31c564faeee..222ff65b6e1 100644 +index 5a4aead0acf..3427923836b 100644 --- a/chromium/net/dns/dns_config_service_posix.cc +++ b/chromium/net/dns/dns_config_service_posix.cc -@@ -29,6 +29,10 @@ +@@ -30,6 +30,10 @@ #include "net/dns/public/dns_protocol.h" #include "net/dns/serial_worker.h" @@ -24,11 +25,11 @@ index 31c564faeee..222ff65b6e1 100644 +#include "net/dns/resolv_compat.h" +#endif + - #if defined(OS_MACOSX) && !defined(OS_IOS) + #if defined(OS_MAC) #include "net/dns/dns_config_watcher_mac.h" #endif diff --git a/chromium/net/dns/dns_reloader.cc b/chromium/net/dns/dns_reloader.cc -index 03e248c9878..9ccda82c7e9 100644 +index 0672e711afb..300f77e3b38 100644 --- a/chromium/net/dns/dns_reloader.cc +++ b/chromium/net/dns/dns_reloader.cc @@ -9,6 +9,10 @@ @@ -40,8 +41,8 @@ index 03e248c9878..9ccda82c7e9 100644 +#endif + #include "base/lazy_instance.h" - #include "base/logging.h" #include "base/macros.h" + #include "base/notreached.h" diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h new file mode 100644 index 00000000000..4f0e852a19d diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch index 2bb6d115..ef05aa23 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-Do-not-define-__sbrk-on-musl.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch @@ -1,4 +1,4 @@ -From da261d4402fac21694aeca82247974f4043934bc Mon Sep 17 00:00:00 2001 +From f4b417ae2878f5ebf8d5a171669f516e1c6d4d9c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 15:39:57 -0700 Subject: [PATCH] chromium: musl: Do not define __sbrk on musl @@ -7,6 +7,7 @@ musl libc does not have sbrk. on musl libc will only work when called with 0 as argument, so we just let it out for now Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch index 96eedc5f..86757bbd 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch @@ -1,19 +1,20 @@ -From 22793b4cab2ceaf7301136fa2df06947c9cb424c Mon Sep 17 00:00:00 2001 +From d41fdb34286e134d4ff871943ea54b03b2ab02d6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 7 Jul 2017 16:41:23 -0700 Subject: [PATCH] chromium: musl: Adjust default pthread stack size Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- chromium/base/threading/platform_thread_linux.cc | 3 ++- .../third_party/blink/renderer/platform/wtf/stack_util.cc | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc -index 095c49b8dc0..d1479b54d48 100644 +index c1a705e2b89..f322fdb8352 100644 --- a/chromium/base/threading/platform_thread_linux.cc +++ b/chromium/base/threading/platform_thread_linux.cc -@@ -186,7 +186,8 @@ void TerminateOnThread() {} +@@ -377,7 +377,8 @@ void TerminateOnThread() {} size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { #if !defined(THREAD_SANITIZER) @@ -24,15 +25,15 @@ index 095c49b8dc0..d1479b54d48 100644 // ThreadSanitizer bloats the stack heavily. Evidence has been that the // default stack size isn't enough for some browser tests. diff --git a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc -index b2421649ff3..a31b96e90e6 100644 +index 71b901f4044..f33aba04bc3 100644 --- a/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +++ b/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc @@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() { // FIXME: On Mac OSX and Linux, this method cannot estimate stack size // correctly for the main thread. --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ +-#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ defined(OS_FUCHSIA) // pthread_getattr_np() can fail if the thread is not invoked by // pthread_create() (e.g., the main thread of blink_unittests). diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch index 287ef7e6..59a5e66f 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch @@ -1,19 +1,20 @@ -From 73406a38f36c4d5a408b575efdf30f52bf38f75e Mon Sep 17 00:00:00 2001 +From 9808a4034b0a6354ecbc2081a2b022614acb392f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 25 Sep 2018 12:59:05 -0700 -Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to get - __WORDSIZE on musl libc +Subject: [PATCH] chromium: musl: elf_reader.cc: include <sys/reg.h> to + get __WORDSIZE on musl libc Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending --- - chromium/third_party/breakpad/breakpad/configure.ac | 2 +- - .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 3 ++- - .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + - 3 files changed, 4 insertions(+), 2 deletions(-) + chromium/third_party/breakpad/breakpad/configure.ac | 2 +- + .../breakpad/breakpad/src/common/dwarf/elf_reader.cc | 4 ++++ + .../breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 + + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/chromium/third_party/breakpad/breakpad/configure.ac b/chromium/third_party/breakpad/breakpad/configure.ac -index 9cca5aa069c..04139a728cc 100644 +index 08513687f34..13745540a5e 100644 --- a/chromium/third_party/breakpad/breakpad/configure.ac +++ b/chromium/third_party/breakpad/breakpad/configure.ac @@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32, @@ -22,28 +23,33 @@ index 9cca5aa069c..04139a728cc 100644 AX_PTHREAD -AC_CHECK_HEADERS([a.out.h sys/random.h]) +AC_CHECK_HEADERS([a.out.h sys/random.h sys/reg.h]) - AC_CHECK_FUNCS([arc4random getrandom]) + AC_CHECK_FUNCS([arc4random getcontext getrandom]) + AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes]) - AX_CXX_COMPILE_STDCXX(11, noext, mandatory) diff --git a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc -index 4135a51a980..be92b792d3c 100644 +index bbfdba68093..a98bb7e6fd7 100644 --- a/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc +++ b/chromium/third_party/breakpad/breakpad/src/common/dwarf/elf_reader.cc -@@ -29,10 +29,11 @@ - #ifndef _GNU_SOURCE +@@ -30,13 +30,17 @@ #define _GNU_SOURCE // needed for pread() #endif -- + +#include <config.h> - #include <sys/types.h> - #include <sys/stat.h> - #include <sys/mman.h> +#include <sys/reg.h> - #include <unistd.h> #include <fcntl.h> + #include <limits.h> #include <string.h> + #include <sys/mman.h> + #include <sys/stat.h> + #include <sys/types.h> ++#include <config.h> + #include <unistd.h> ++#include <sys/reg.h> + + #include <algorithm> + #include <map> diff --git a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h -index d03c7a88d38..28b55ab6300 100644 +index 6e153745dba..5cd2c6fcb23 100644 --- a/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h +++ b/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h @@ -33,6 +33,7 @@ @@ -52,5 +58,5 @@ index d03c7a88d38..28b55ab6300 100644 +#include <sys/reg.h> #include <elf.h> + #include <limits.h> #include <link.h> - #include <stddef.h> diff --git a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch index 71d76413..a925c0d6 100644 --- a/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-pread-pwrite.patch +++ b/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-pread-pwrite.patch @@ -1,4 +1,4 @@ -From 43c53d6afde5183bc2da3b5b698314d050b2ff5d Mon Sep 17 00:00:00 2001 +From e0413ce85e22a1a0a83015f22cd850add6250c9c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 23 Dec 2018 16:58:04 -0800 Subject: [PATCH] chromium: musl: pread pwrite @@ -10,17 +10,18 @@ libc either Upstream-Status: Submitted [https://codereview.chromium.org/1743093002/] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - chromium/third_party/lss/linux_syscall_support.h | 5 +++++ - 1 file changed, 5 insertions(+) + chromium/third_party/lss/linux_syscall_support.h | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h -index e19e51dd304..5c661949d1e 100644 +index e4ac22644c0..f56203ccce4 100644 --- a/chromium/third_party/lss/linux_syscall_support.h +++ b/chromium/third_party/lss/linux_syscall_support.h -@@ -1239,6 +1239,11 @@ struct kernel_statfs { - #ifndef __NR_fallocate - #define __NR_fallocate 285 +@@ -1258,6 +1258,12 @@ struct kernel_statfs { + #ifndef __NR_getrandom + #define __NR_getrandom 318 #endif ++ +#undef __NR_pread +#define __NR_pread __NR_pread64 +#undef __NR_pwrite diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch new file mode 100644 index 00000000..eb157045 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch @@ -0,0 +1,46 @@ +From 78eae00a5c53cd44a4b73e6ba357088a82dd4b84 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 10 May 2020 08:16:01 -0700 +Subject: [PATCH] chromium: musl: initialize msghdr in a compatible + manner + +initialize msghdr in a compatible manner + +msghdr stuct from socket.h is not same between musl and glibc +where musl claims to be more posix compliant where as glibc seems +to fill whats needed for linux sizewise and chooses long enough types +which maybe questionable, therefore constructing a structure with explicit +constructor is not going to work correctly for musl and glibc at same time + +see +https://git.musl-libc.org/cgit/musl/commit/arch/x86_64/bits/socket.h?id=7168790763cdeb794df52be6e3b39fbb021c5a64 + +This fix initialized the struct to 0 first and then sets the struct elements +by name, so we dont have to hard code the positions of elements when initializing +structure + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/net/socket/udp_socket_posix.cc | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/chromium/net/socket/udp_socket_posix.cc b/chromium/net/socket/udp_socket_posix.cc +index 71265568be5..42e0d298045 100644 +--- a/chromium/net/socket/udp_socket_posix.cc ++++ b/chromium/net/socket/udp_socket_posix.cc +@@ -1151,8 +1151,12 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers( + for (auto& buffer : buffers) + msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()}); + msgvec->reserve(buffers.size()); +- for (size_t j = 0; j < buffers.size(); j++) +- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0}); ++ for (size_t j = 0; j < buffers.size(); j++) { ++ struct msghdr m = {0}; ++ m.msg_iov = &msg_iov[j]; ++ m.msg_iovlen = 1; ++ msgvec->push_back({m, 0}); ++ } + int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0)); + SendResult send_result(0, 0, std::move(buffers)); + if (result < 0) { diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch new file mode 100644 index 00000000..2ca2e313 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0024-Fix-dependecy-when-compiling-content-browser.patch @@ -0,0 +1,28 @@ +From a4783ee130e638f51438340b9f8f4de415f9ad76 Mon Sep 17 00:00:00 2001 +From: Michal Klocek <michal.klocek@qt.io> +Date: Wed, 8 May 2024 09:07:49 +0200 +Subject: [PATCH] Fix dependecy when compiling content/browser + +Deals with: + +"fatal error: components/spellcheck/spellcheck_buildflags.h: +No such file or directory" + +Change-Id: If633fdf9d3d793158ab0dd994c011c17e66c13b5 +Upstream-Status: Pending +--- + chromium/content/browser/BUILD.gn | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/content/browser/BUILD.gn b/chromium/content/browser/BUILD.gn +index 1466f33d462..ae459c24d4f 100644 +--- a/chromium/content/browser/BUILD.gn ++++ b/chromium/content/browser/BUILD.gn +@@ -334,6 +334,7 @@ jumbo_static_library("browser") { + + public_deps = [ + ":accessibility_buildflags", ++ "//components/spellcheck:buildflags", + "//base/util/memory_pressure", + "//base/util/type_safety", + "//ipc", diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 6bdb6efe..efdd57b9 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -1,7 +1,7 @@ SUMMARY = "QtWebEngine combines the power of Chromium and Qt" # Read http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ -LICENSE = "BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://src/3rdparty/chromium/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \ file://LICENSE.LGPL3;md5=8211fde12cc8a4e2477602f5953f5b71 \ @@ -12,23 +12,30 @@ LIC_FILES_CHKSUM = " \ " DEPENDS += " \ + dbus \ libpng-native \ nss-native \ nspr-native \ ninja-native \ nasm-native \ + nodejs-native \ bison-native \ qtwebchannel \ qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \ qtlocation \ - libdrm fontconfig pixman openssl pango cairo icu pciutils nss \ + libdrm libxkbcommon fontconfig pixman openssl pango cairo pciutils nss \ libcap \ + jpeg-native \ + freetype-native \ gperf-native \ + nodejs-native \ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite libxcursor libxi libxrandr libxtst', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbfile libxcomposite libxcursor libxi libxrandr libxtst', '', d)} \ " -DEPENDS_append_libc-musl = " libexecinfo" +DEPENDS:append:libc-musl = " libexecinfo" + +inherit pkgconfig EXTRA_QMAKEVARS_CONFIGURE += "-feature-webengine-system-ninja -no-feature-webengine-system-gn" EXTRA_QMAKEVARS_PRE += "CONFIG+=force_debug_info" @@ -41,9 +48,9 @@ EXTRA_QMAKEVARS_PRE += "CONFIG+=force_debug_info" # http://errors.yoctoproject.org/Errors/Details/150333/ SECURITY_STRINGFORMAT = "" -# To use system ffmpeg you need to enable also libwebp, opus, vpx +# To use system ffmpeg you need to enable also libwebp, opus, libvpx # Only depenedencies available in oe-core are enabled by default -PACKAGECONFIG ??= "libwebp libevent libpng \ +PACKAGECONFIG ??= "libevent libpng \ ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" PACKAGECONFIG[icu] = "-feature-webengine-system-icu,-no-feature-webengine-system-icu,icu" @@ -57,8 +64,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" @@ -70,18 +75,25 @@ 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 -inherit pythonnative inherit perlnative -inherit distro_features_check +inherit features_check + +inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} + # Static builds of QtWebEngine aren't supported. CONFLICT_DISTRO_FEATURES = "qt5-static" @@ -111,7 +123,7 @@ do_configure() { ${EXTRA_QMAKEVARS_CONFIGURE} } -do_configure_prepend_libc-musl() { +do_configure:prepend:libc-musl() { for f in `find ${S}/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/ -name config.h -o -name config.asm`; do sed -i -e "s:define HAVE_SYSCTL 1:define HAVE_SYSCTL 0:g" $f done @@ -119,68 +131,79 @@ 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 = "77-based" +QT_MODULE_BRANCH_CHROMIUM = "87-based" -# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc +# 5.15-glibc.meta-qt5.17 SRC_URI += " \ ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ file://0001-Force-host-toolchain-configuration.patch \ " -SRC_URI_append_libc-musl = "\ + +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15 +# 5.15.meta-qt5.17 +SRC_URI:append:libc-musl = "\ file://0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch \ file://0003-musl-link-against-libexecinfo.patch \ - file://0004-musl-allow-build-without-glibc.patch \ + file://0004-mkspecs-Allow-builds-with-libc-glibc.patch \ " -# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/73-based -# 73-based.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based-glibc +# 87-based-glibc.meta-qt5.11 SRC_URI += " \ file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ - file://chromium/0002-chromium-stack-pointer-clobber.patch;patchdir=src/3rdparty \ - file://chromium/0004-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ - file://chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch;patchdir=src/3rdparty \ - file://chromium/0006-chromium-aarch64-skia-build-fix.patch;patchdir=src/3rdparty \ - file://chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0002-chromium-fix-build-with-clang.patch;patchdir=src/3rdparty \ + file://chromium/0003-chromium-Exclude-CRC32-for-32bit-arm.patch;patchdir=src/3rdparty \ + file://chromium/0004-chromium-Do-not-try-to-set-the-guessed-values-for.patch;patchdir=src/3rdparty \ + file://chromium/0005-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0006-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ + file://chromium/0007-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ + file://chromium/0008-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ + file://chromium/0009-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ + file://chromium/0010-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-Add-missing-include-for-C-strncpy.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-skia-Fix-build-with-gcc-12.patch;patchdir=src/3rdparty \ + file://chromium/0012-Remove-unsetting-_FILE_OFFSET_BITS.patch;patchdir=src/3rdparty \ + file://chromium/0024-Fix-dependecy-when-compiling-content-browser.patch;patchdir=src/3rdparty \ " -SRC_URI_append_libc-musl = "\ - file://chromium/0007-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ - file://chromium/0008-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ - file://chromium/0009-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ - file://chromium/0010-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ - file://chromium/0011-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ - file://chromium/0012-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \ - file://chromium/0013-chromium-musl-Use-correct-member-name-__si_fields-fr.patch;patchdir=src/3rdparty \ - file://chromium/0014-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ - file://chromium/0015-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ - file://chromium/0016-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ - file://chromium/0017-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \ - file://chromium/0018-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ - file://chromium/0019-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/87-based +# 87-based.meta-qt5.11 +SRC_URI:append:libc-musl = "\ + file://chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ + file://chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ + file://chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ + file://chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ + file://chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ + file://chromium/0018-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ + file://chromium/0019-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ + file://chromium/0020-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ + file://chromium/0021-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \ + file://chromium/0022-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ + file://chromium/0023-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \ " -SRCREV_qtwebengine = "6c736295cf1ead52f7f4ca99138d678573dab03c" -SRCREV_chromium = "88a931558e2e960eacccb32483713fcc4bbaf433" +SRCREV_qtwebengine = "17fd3176988586168bee8654008a097a5f23ec1d" +SRCREV_chromium = "fdfef5b37af3bed8402d7c7e20a5487f2602b0a6" SRCREV = "${SRCREV_qtwebengine}" SRCREV_FORMAT = "qtwebengine_chromium" # WARNING: qtwebengine-5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0 do_package_qa: QA Issue: ELF binary '/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtwebengine/5.5.99+5.6.0-rc+gitAUTOINC+3f02c25de4_779a2388fc-r0/packages-split/qtwebengine/usr/lib/libQt5WebEngineCore.so.5.6.0' has relocations in .text [textrel] -INSANE_SKIP_${PN} += "textrel" +INSANE_SKIP:${PN} += "textrel" diff --git a/recipes-qt/qt5/qtwebglplugin_git.bb b/recipes-qt/qt5/qtwebglplugin_git.bb index 890c9123..64dc464f 100644 --- a/recipes-qt/qt5/qtwebglplugin_git.bb +++ b/recipes-qt/qt5/qtwebglplugin_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" +LICENSE = "GPL-3.0-only | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " @@ -11,11 +11,11 @@ DEPENDS += "qtbase qtwebsockets" PACKAGECONFIG ?= "qtdeclarative" PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" -do_configure_prepend() { +do_configure:prepend() { # disable qtdeclarative test if it isn't enabled by PACKAGECONFIG sed -e 's/^\(qtHaveModule(quick)\)/OE_QTDECLARATIVE_ENABLED:\1/' -i ${S}/src/plugins/platforms/webgl/webgl.pro } EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}" -SRCREV = "1714aa0211057e79d1885c5b93d82993fefe1197" +SRCREV = "4f75644c2b9517b7d2621df1309d499956ea5e86" diff --git a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch index 4b2b2759..91bf19de 100644 --- a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch +++ b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch @@ -1,4 +1,4 @@ -From 1a4e33ac630b0e4f285e238479900f0e10c6d15f Mon Sep 17 00:00:00 2001 +From 34100abf0a24b3d2dadebe90926eea98d50a43b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Mon, 4 Jun 2018 10:35:46 +0200 Subject: [PATCH] Do not skip build for cross-compile diff --git a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch index dead46d1..8486a84d 100644 --- a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch +++ b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch @@ -1,4 +1,4 @@ -From 9db9a8850602c2446b1a7ee96608fd74cf56a342 Mon Sep 17 00:00:00 2001 +From a454e27d7993de8a3aa7e5cc37d7e16803da4271 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 23 Aug 2018 04:06:17 +0000 Subject: [PATCH] Fix build with non-glibc libc on musl diff --git a/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch index 23fed74f..8ebb5894 100644 --- a/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch +++ b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch @@ -1,4 +1,4 @@ -From 5aa039af074c20bea1398f7f18712dc494a5f138 Mon Sep 17 00:00:00 2001 +From fb5f7d19a390c399c35f9fbaa1185e309394666d Mon Sep 17 00:00:00 2001 From: Lei Maohui <leimaohui@cn.fujitsu.com> Date: Fri, 31 Aug 2018 15:42:48 +0900 Subject: [PATCH] Fix build bug for armv32 BE. diff --git a/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch index 8c718b47..bde4300b 100644 --- a/recipes-qt/qt5/qtwebkit/0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch +++ b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch @@ -1,4 +1,4 @@ -From c00c61a42f9076aecad195b7f72b7db9b3601181 Mon Sep 17 00:00:00 2001 +From 597d54c6553cd9ffbf08e40a7a706096b8990399 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 24 Sep 2018 02:11:10 -0700 Subject: [PATCH] PlatformQt.cmake: Do not generate hardcoded include paths @@ -9,15 +9,16 @@ compiler does not like specifying absolute include paths pointing to build host includes Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending --- Source/WebKit/PlatformQt.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake -index 3792def6f..b6cb36bb1 100644 +index 65c1ff1c1..b7ef82f4e 100644 --- a/Source/WebKit/PlatformQt.cmake +++ b/Source/WebKit/PlatformQt.cmake -@@ -510,7 +510,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) +@@ -511,7 +511,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) endif () @@ -26,7 +27,7 @@ index 3792def6f..b6cb36bb1 100644 set(WebKit_PRI_ARGUMENTS BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" -@@ -734,7 +734,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) +@@ -741,7 +741,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) endif () @@ -35,6 +36,3 @@ index 3792def6f..b6cb36bb1 100644 set(WebKitWidgets_PRI_ARGUMENTS BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" --- -2.19.0 - diff --git a/recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch b/recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch new file mode 100644 index 00000000..b3671a2b --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch @@ -0,0 +1,53 @@ +From b579ee43a3f832e9b3785ed4cb03284cbc142ef1 Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev <mitya57@gmail.com> +Date: Tue, 4 Aug 2020 21:04:06 +0300 +Subject: [PATCH] Let Bison generate the header directly, to fix build with + Bison 3.7 + +Starting with Bison 3.7, the generated C++ file #include's the header +by default, instead of duplicating it. So we should not delete it. + +Remove the code to add #ifdef guards to the header, since Bison adds +them itself since version 2.6.3. + +Found at [1] + +[1] https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31 + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/WebCore/css/makegrammar.pl | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl +index 5d63b0810..9435701c7 100644 +--- a/Source/WebCore/css/makegrammar.pl ++++ b/Source/WebCore/css/makegrammar.pl +@@ -73,25 +73,6 @@ if ($suffix eq ".y.in") { + } + + my $fileBase = File::Spec->join($outputDir, $filename); +-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); ++my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); + push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives. + system(@bisonCommand) == 0 or die; +- +-open HEADER, ">$fileBase.h" or die; +-print HEADER << "EOF"; +-#ifndef CSSGRAMMAR_H +-#define CSSGRAMMAR_H +-EOF +- +-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die; +-while (<HPP>) { +- print HEADER; +-} +-close HPP; +- +-print HEADER "#endif\n"; +-close HEADER; +- +-unlink("$fileBase.cpp.h"); +-unlink("$fileBase.hpp"); +- diff --git a/recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch new file mode 100644 index 00000000..2bfb72fe --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0005-Riscv-Add-support-for-riscv.patch @@ -0,0 +1,83 @@ +From b5a58d2c001689b07591fdce8820773d57a74002 Mon Sep 17 00:00:00 2001 +From: Chenxi Mao <chenxi.mao2013@gmail.com> +Date: Fri, 3 Apr 2020 08:33:10 +0800 +Subject: [PATCH 1/1] Riscv: Add support for riscv + +--- + CMakeLists.txt | 2 ++ + Source/JavaScriptCore/CMakeLists.txt | 1 + + Source/WTF/wtf/Platform.h | 12 ++++++++++-- + Source/WTF/wtf/dtoa/utils.h | 2 +- + 4 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 31a2ea1fd..516476729 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390") + set(WTF_CPU_S390 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") + set(WTF_CPU_S390X 1) ++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") ++ set(WTF_CPU_RISCV64 1) + else () + message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") + endif () +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +index 937b3ed00..2fff29f9d 100644 +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -1286,6 +1286,7 @@ elseif (WTF_CPU_S390) + elseif (WTF_CPU_S390X) + elseif (WTF_CPU_MIPS) + elseif (WTF_CPU_SH4) ++elseif (WTF_CPU_RISCV64) + elseif (WTF_CPU_X86) + elseif (WTF_CPU_X86_64) + if (MSVC AND ENABLE_JIT) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 5717f3ea1..8fac85f72 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -349,7 +349,14 @@ + + #endif /* ARM */ + +-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) ++#if defined(__riscv) ++#define WTF_CPU_RISCV 1 ++#if __riscv_xlen == 64 ++#define WTF_CPU_RISCV64 1 ++#endif ++#endif ++ ++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV) + #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 + #endif + +@@ -707,7 +714,8 @@ + || CPU(S390X) \ + || CPU(MIPS64) \ + || CPU(PPC64) \ +- || CPU(PPC64LE) ++ || CPU(PPC64LE) \ ++ || CPU(RISCV64) + #define USE_JSVALUE64 1 + #else + #define USE_JSVALUE32_64 1 +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +index 05302e6e6..25dd352ee 100644 +--- a/Source/WTF/wtf/dtoa/utils.h ++++ b/Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) || CPU(RISCV) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) +-- +2.17.1 + diff --git a/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch b/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch new file mode 100644 index 00000000..d5ddfeb7 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch @@ -0,0 +1,32 @@ +From d012406bcde49de9cba89f42a79ecba40b70a0ff Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev <annulen@yandex.ru> +Date: Sun, 3 May 2020 18:50:24 +0300 +Subject: [PATCH] Disable code related to HTTP/2 when Qt is configured without + SSL support + +For enabling HTTP/2 by default we check if Qt uses OpenSSL and its version +is 1.0.2 or higher via QSslSocket API. While it would be sufficient to +add guards just there, we are not going to enable HTTP/2 for QT_NO_SSL +case by default anyway (note that it still can be done in application code). + +Change-Id: I77b4a423ff1028725ac2c0953c757dce2db23e05 +--- +Upstream-Status: Backport [https://github.com/qtwebkit/qtwebkit/commit/e7ec14144ce58418d94568c41ac94d4d87969363] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + + Source/WebCore/platform/network/qt/ResourceRequest.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/network/qt/ResourceRequest.h b/Source/WebCore/platform/network/qt/ResourceRequest.h +index 1154d56a0..87e21ec3f 100644 +--- a/Source/WebCore/platform/network/qt/ResourceRequest.h ++++ b/Source/WebCore/platform/network/qt/ResourceRequest.h +@@ -32,7 +32,7 @@ + // HTTP/2 is implemented since Qt 5.8, but various QtNetwork bugs make it unusable in browser with Qt < 5.10.1 + // We also don't enable HTTP/2 for unencrypted connections because of possible compatibility issues; it can be + // enabled manually by user application via custom QNAM subclass +-#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 1) ++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 1) && !defined(QT_NO_SSL) + #define USE_HTTP2 1 + #endif + diff --git a/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch b/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch new file mode 100644 index 00000000..676ea85c --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch @@ -0,0 +1,29 @@ +From d478fb2ffb158e84e8705fdff3b7b2994a5d46c7 Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev <annulen@yandex.ru> +Date: Wed, 3 Jun 2020 15:01:42 +0300 +Subject: [PATCH] Fix compilation with Python 3.9: avoid passing encoding to + json.load() + +In Python 2.7 UTF-8 is assumed by default, while in Python 3 this argument +is not supported. + +Upstream-Status: Backport [https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd] +Change-Id: Ic459d60a6b20bc1838d8771bc36ac41614fe61a9 +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Source/JavaScriptCore/generate-bytecode-files | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/JavaScriptCore/generate-bytecode-files b/Source/JavaScriptCore/generate-bytecode-files +index c5dab429c..af3431275 100644 +--- a/Source/JavaScriptCore/generate-bytecode-files ++++ b/Source/JavaScriptCore/generate-bytecode-files +@@ -163,7 +163,7 @@ if __name__ == "__main__": + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + diff --git a/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch b/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch new file mode 100644 index 00000000..18ae4aac --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0008-Fix-build-with-icu-68.patch @@ -0,0 +1,122 @@ +From 934ff3e2768a4ef2f1b21ee883acb56cb8ae898b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Wed, 2 Dec 2020 22:34:54 +0100 +Subject: [PATCH] Fix build with icu >= 68 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + Source/WebCore/platform/text/TextCodecICU.cpp | 15 +++++++++++++++ + Source/WebCore/platform/text/icu/UTextProvider.h | 15 +++++++++++++++ + .../platform/text/icu/UTextProviderLatin1.cpp | 15 +++++++++++++++ + .../platform/text/icu/UTextProviderUTF16.cpp | 15 +++++++++++++++ + 4 files changed, 60 insertions(+) + +diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp +index dd6ff0675..7ce8a70ef 100644 +--- a/Source/WebCore/platform/text/TextCodecICU.cpp ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp +@@ -39,6 +39,21 @@ + #include <wtf/text/StringBuilder.h> + #include <wtf/unicode/CharacterNames.h> + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + const size_t ConversionBufferSize = 16384; +diff --git a/Source/WebCore/platform/text/icu/UTextProvider.h b/Source/WebCore/platform/text/icu/UTextProvider.h +index c254fc4c7..9d2ad8b8c 100644 +--- a/Source/WebCore/platform/text/icu/UTextProvider.h ++++ b/Source/WebCore/platform/text/icu/UTextProvider.h +@@ -28,6 +28,21 @@ + + #include <unicode/utext.h> + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + enum class UTextProviderContext { +diff --git a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +index cd6852c71..0c95ea529 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +@@ -29,6 +29,21 @@ + #include "UTextProvider.h" + #include <wtf/text/StringImpl.h> + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + // Latin1 provider +diff --git a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +index 7aaac48c8..6ac693602 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +@@ -28,6 +28,21 @@ + + #include "UTextProvider.h" + ++// Since icu 68.1 icu we have to: ++#ifndef TRUE ++// Taken from umachibe.h: ++/** ++ * The TRUE value of a UBool. ++ * ++ * @deprecated ICU 68 Use standard "true" instead. ++ */ ++# define TRUE true ++#endif ++ ++#ifndef FALSE ++# define FALSE false ++#endif ++ + namespace WebCore { + + // UTF16ContextAware provider diff --git a/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch new file mode 100644 index 00000000..2e667a78 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0009-Riscv-Add-support-for-riscv.patch @@ -0,0 +1,82 @@ +From 2d43706b5b607ba2fdc777ef69532a75447cccd8 Mon Sep 17 00:00:00 2001 +From: Chenxi Mao <chenxi.mao2013@gmail.com> +Date: Fri, 3 Apr 2020 08:33:10 +0800 +Subject: [PATCH] Riscv: Add support for riscv + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + CMakeLists.txt | 2 ++ + Source/JavaScriptCore/CMakeLists.txt | 1 + + Source/WTF/wtf/Platform.h | 12 ++++++++++-- + Source/WTF/wtf/dtoa/utils.h | 2 +- + 4 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 432ae6fce..eaf3a35df 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390") + set(WTF_CPU_S390 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") + set(WTF_CPU_S390X 1) ++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") ++ set(WTF_CPU_RISCV64 1) + else () + message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") + endif () +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +index afd76ca1a..3d184090d 100644 +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -1287,6 +1287,7 @@ elseif (WTF_CPU_S390) + elseif (WTF_CPU_S390X) + elseif (WTF_CPU_MIPS) + elseif (WTF_CPU_SH4) ++elseif (WTF_CPU_RISCV64) + elseif (WTF_CPU_X86) + elseif (WTF_CPU_X86_64) + if (MSVC AND ENABLE_JIT) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 5717f3ea1..8fac85f72 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -349,7 +349,14 @@ + + #endif /* ARM */ + +-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) ++#if defined(__riscv) ++#define WTF_CPU_RISCV 1 ++#if __riscv_xlen == 64 ++#define WTF_CPU_RISCV64 1 ++#endif ++#endif ++ ++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV) + #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 + #endif + +@@ -707,7 +714,8 @@ + || CPU(S390X) \ + || CPU(MIPS64) \ + || CPU(PPC64) \ +- || CPU(PPC64LE) ++ || CPU(PPC64LE) \ ++ || CPU(RISCV64) + #define USE_JSVALUE64 1 + #else + #define USE_JSVALUE32_64 1 +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +index 05302e6e6..25dd352ee 100644 +--- a/Source/WTF/wtf/dtoa/utils.h ++++ b/Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) || CPU(RISCV) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) diff --git a/recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch b/recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch new file mode 100644 index 00000000..fe09dded --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0010-Fix-build-on-mips.patch @@ -0,0 +1,31 @@ +From 7e3e0ca548cc9c92705308dd2e0f88ada544e794 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 26 Oct 2021 11:03:25 -0700 +Subject: [PATCH] Fix build on mips + +Fixes +Source/WTF/wtf/Atomics.cpp:63:9: error: definition of builtin function '__sync_add_and_fetch_8' +int64_t __sync_add_and_fetch_8(int64_t volatile* addend, int64_t value) +Source/WTF/wtf/Atomics.cpp:68:9: error: definition of builtin function '__sync_sub_and_fetch_8' +int64_t __sync_sub_and_fetch_8(int64_t volatile* addend, int64_t value) + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/WTF/wtf/Platform.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 8fac85f72..5b8bbcb18 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -88,6 +88,7 @@ + #else + #define WTF_CPU_MIPS 1 + #define WTF_MIPS_ARCH __mips ++#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 + #endif + #if defined(__MIPSEB__) + #define WTF_CPU_BIG_ENDIAN 1 diff --git a/recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch b/recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch new file mode 100644 index 00000000..1c810be5 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0011-Offlineasm-warnings-with-newer-Ruby-versions.patch @@ -0,0 +1,47 @@ +From 3d3a5974ff31e55651bb0c47278bd15734d60be4 Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro <aperez@igalia.com> +Date: Wed, 15 Jan 2020 22:15:38 +0000 +Subject: [PATCH] Offlineasm warnings with newer Ruby versions + +https://bugs.webkit.org/show_bug.cgi?id=206233 + +Reviewed by Yusuke Suzuki. + +Avoid a warning about using Object#=~ on Annotation instances, which +has been deprecated in Ruby 2.7. + +* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator +to Annotation instances, which do not define it. + +Canonical link: https://commits.webkit.org/219400@main +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc +Upstream-Status: Backport +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/JavaScriptCore/offlineasm/parser.rb | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb +index b44511245..cd1cffaec 100644 +--- a/Source/JavaScriptCore/offlineasm/parser.rb ++++ b/Source/JavaScriptCore/offlineasm/parser.rb +@@ -584,9 +584,7 @@ class Parser + firstCodeOrigin = @tokens[@idx].codeOrigin + list = [] + loop { +- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) +- break +- elsif @tokens[@idx].is_a? Annotation ++ if @tokens[@idx].is_a? Annotation + # This is the only place where we can encounter a global + # annotation, and hence need to be able to distinguish between + # them. +@@ -600,6 +598,8 @@ class Parser + list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string) + @annotation = nil + @idx += 2 # Consume the newline as well. ++ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) ++ break + elsif @tokens[@idx] == "\n" + # ignore + @idx += 1 diff --git a/recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch b/recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch new file mode 100644 index 00000000..bc489250 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0012-Fix-build-with-gcc-13.patch @@ -0,0 +1,34 @@ +From 8a82826054f55d17d9b765bc383418b750ed836b Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 12 Apr 2023 16:07:40 +0200 +Subject: [PATCH] Fix build with gcc-13 + +* fixes: + http://errors.yoctoproject.org/Errors/Details/699653/ + + TOPDIR/tmp-glibc/work/core2-64-oe-linux/qtwebkit/5.15.9+gitAUTOINC+10cd6a106e-r0/git/Source/ThirdParty/ANGLE/src/common/mathutil.h:575:8: error: 'uint32_t' does not name a type + 575 | inline uint32_t RotL(uint32_t x, int8_t r) + | ^~~~~~~~ + TOPDIR/tmp-glibc/work/core2-64-oe-linux/qtwebkit/5.15.9+gitAUTOINC+10cd6a106e-r0/git/Source/ThirdParty/ANGLE/src/common/mathutil.h:19:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'? + 18 | #include <stdlib.h> + +++ |+#include <cstdint> + 19 | + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Pending +--- + Source/ThirdParty/ANGLE/src/common/mathutil.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/ThirdParty/ANGLE/src/common/mathutil.h b/Source/ThirdParty/ANGLE/src/common/mathutil.h +index 7959da8bd..6a8e77b4d 100644 +--- a/Source/ThirdParty/ANGLE/src/common/mathutil.h ++++ b/Source/ThirdParty/ANGLE/src/common/mathutil.h +@@ -12,6 +12,7 @@ + #include "common/debug.h" + #include "common/platform.h" + ++#include <cstdint> + #include <limits> + #include <algorithm> + #include <string.h> diff --git a/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch b/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch new file mode 100644 index 00000000..42ce33dc --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0013-link-with-libatomic.patch @@ -0,0 +1,33 @@ +From 999affc771f761894b6fd6e491c6adac7861fcf2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 8 Mar 2021 18:15:47 -0800 +Subject: [PATCH] link with libatomic + +This fixes build with C11 + +lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/Assertions.cpp.o:/usr/include/c++/11.0.1/bits/atomic_base.h:520: more undefined references to `__atomic_compare_exchange_1' follow +| collect2: error: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/WTF/wtf/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt +index 297589b90..5b8d8c71b 100644 +--- a/Source/WTF/wtf/CMakeLists.txt ++++ b/Source/WTF/wtf/CMakeLists.txt +@@ -245,6 +245,10 @@ if (NOT USE_SYSTEM_MALLOC) + list(APPEND WTF_LIBRARIES bmalloc) + endif () + ++list(APPEND WTF_LIBRARIES ++ -Wl,--as-needed -Wl,-latomic -Wl,--no-as-needed ++) ++ + list(APPEND WTF_SOURCES + unicode/icu/CollatorICU.cpp + ) diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index c5473440..ffa349d5 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -1,57 +1,84 @@ require qt5.inc require qt5-git.inc -LICENSE = "BSD & LGPLv2+ | GPL-2.0" +inherit pkgconfig + +LICENSE = "BSD-3-Clause & LGPL-2.0-or-later | GPL-2.0-only" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \ file://Source/JavaScriptCore/parser/Parser.h;endline=21;md5=bd69f72183a7af673863f057576e21ee \ " -DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native" +DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native flex-native" -# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.11 -# 5.11.meta-qt5.2 +# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.212 +# 5.212.meta-qt5.1 SRC_URI += "\ file://0001-Do-not-skip-build-for-cross-compile.patch \ file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \ - file://0004-Fix-build-bug-for-armv32-BE.patch \ - file://0001-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ + file://0003-Fix-build-bug-for-armv32-BE.patch \ + file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ + file://0005-Let-Bison-generate-the-header-directly-to-fix-build-.patch \ + file://0006-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch \ + file://0007-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch \ + file://0008-Fix-build-with-icu-68.patch \ + file://0009-Riscv-Add-support-for-riscv.patch \ + file://0010-Fix-build-on-mips.patch \ + file://0011-Offlineasm-warnings-with-newer-Ruby-versions.patch \ + file://0012-Fix-build-with-gcc-13.patch \ " -inherit cmake_qt5 perlnative pythonnative +SRC_URI:append:riscv32 = " file://0013-link-with-libatomic.patch" +SRC_URI:append:riscv64 = " file://0013-link-with-libatomic.patch" + +inherit cmake_qt5 perlnative + +inherit python3native # qemuarm build fails with: # | {standard input}: Assembler messages: # | {standard input}:106: Error: invalid immediate: 983040 is out of range # | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" # https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 # https://bugs.webkit.org/show_bug.cgi?id=159880 # JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. # Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" +ARM_INSTRUCTION_SET:armv7a = "thumb" +ARM_INSTRUCTION_SET:armv7r = "thumb" +ARM_INSTRUCTION_SET:armv7ve = "thumb" # http://errors.yoctoproject.org/Errors/Details/179245/ # just use -fpermissive in this case like fedora did: # https://bugzilla.redhat.com/show_bug.cgi?id=1582954 CXXFLAGS += "-fpermissive" +CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" EXTRA_OECMAKE += " \ -DPORT=Qt \ -DCROSS_COMPILE=ON \ + -DCMAKE_BUILD_TYPE=release \ -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \ -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \ + -DPYTHON_EXECUTABLE=`which python3` \ " -EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'" +EXTRA_OECMAKE:append:toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'" + +# JIT not supported on MIPS/PPC/RISCV +EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE:append:powerpc64le = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE:append:riscv64 = " -DENABLE_JIT=OFF -DUSE_SYSTEM_MALLOC=ON -DENABLE_C_LOOP=ON " -# JIT not supported on MIPS64 -EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_mips64el = " -DENABLE_JIT=OFF " +# Disable gold on mips64/clang +# mips64-yoe-linux-musl-ld.gold: internal error in get_got_page_offset, at ../../gold/mips.cc:6260 +# mips-yoe-linux-musl-ld.gold: error: Can't find matching LO16 reloc +EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF " PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ @@ -69,10 +96,11 @@ PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,libxcomposi PACKAGECONFIG[fontconfig] = "-DENABLE_TEST_SUPPORT=ON,-DENABLE_TEST_SUPPORT=OFF,fontconfig" # hyphen is only in meta-office currently! PACKAGECONFIG[hyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,hyphen" +PACKAGECONFIG[tools] = "-DENABLE_TOOLS=ON,-DENABLE_TOOLS=OFF," # remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe -PACKAGES_remove = "${PN}-examples" +PACKAGES:remove = "${PN}-examples" -QT_MODULE_BRANCH = "dev" +QT_MODULE_BRANCH = "5.212" -SRCREV = "beaeeb99881184fd368c121fcbb1a31c78b794a3" +SRCREV = "10cd6a106e1c461c774ca166a67b8c835c755ef7" diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index e7f6eb9e..e7d3a6bd 100644 --- a/recipes-qt/qt5/qtwebsockets_git.bb +++ b/recipes-qt/qt5/qtwebsockets_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & (GPL-3 | LGPL-3.0) | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & (GPL-3.0-only | LGPL-3.0-only) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "31cfb286aefcd4625d8b41961ac87c592581d839" +SRCREV = "7e0979bd69493914dc63897a8e61f48bf55d71cc" diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb index ea846fc1..bac1b565 100644 --- a/recipes-qt/qt5/qtwebview_git.bb +++ b/recipes-qt/qt5/qtwebview_git.bb @@ -1,4 +1,4 @@ -LICENSE = "GFDL-1.3 & BSD & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ @@ -7,16 +7,20 @@ LIC_FILES_CHKSUM = " \ " require qt5.inc -require qt5-git.inc +require qt5-lts.inc DEPENDS += "qtbase qtwebengine" COMPATIBLE_MACHINE = "(-)" -COMPATIBLE_MACHINE_x86 = "(.*)" -COMPATIBLE_MACHINE_x86-64 = "(.*)" -COMPATIBLE_MACHINE_armv6 = "(.*)" -COMPATIBLE_MACHINE_armv7a = "(.*)" -COMPATIBLE_MACHINE_armv7ve = "(.*)" -COMPATIBLE_MACHINE_aarch64 = "(.*)" +COMPATIBLE_MACHINE:x86 = "(.*)" +COMPATIBLE_MACHINE:x86-64 = "(.*)" +COMPATIBLE_MACHINE:armv6 = "(.*)" +COMPATIBLE_MACHINE:armv7a = "(.*)" +COMPATIBLE_MACHINE:armv7ve = "(.*)" +COMPATIBLE_MACHINE:aarch64 = "(.*)" -SRCREV = "5b8b1b5fa5838977bd52735529fb7955ad65588f" +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} +SRCREV = "b4713043a1cc9378226fc32002141cbd748cb9a4" diff --git a/recipes-qt/qt5/qtx11extras_git.bb b/recipes-qt/qt5/qtx11extras_git.bb index af2f9d22..bb8e5927 100644 --- a/recipes-qt/qt5/qtx11extras_git.bb +++ b/recipes-qt/qt5/qtx11extras_git.bb @@ -1,7 +1,7 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0-or-later | LGPL-3.0-only ) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "e80a767b813fc1becc206def56e9a48a01f674e2" +SRCREV = "ce7b2fd52df5b474dfea2bd7dd4e7956b10bf7ba" diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb index 0a391130..5867704a 100644 --- a/recipes-qt/qt5/qtxmlpatterns_git.bb +++ b/recipes-qt/qt5/qtxmlpatterns_git.bb @@ -1,9 +1,9 @@ require qt5.inc -require qt5-git.inc +require qt5-lts.inc require qt5-ptest.inc HOMEPAGE = "http://www.qt.io" -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" +LICENSE = "GFDL-1.3 & BSD-3-Clause & ( GPL-3.0-only & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0-or-later | LGPL-3.0-only | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ @@ -15,17 +15,16 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" PACKAGECONFIG ?= "" -PACKAGECONFIG_class-target ?= "qtdeclarative" +PACKAGECONFIG:class-target ?= "qtdeclarative" PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" -do_configure_prepend() { +do_configure:prepend() { # disable qtdeclarative test if it isn't enabled by PACKAGECONFIG sed -e 's/qtHaveModule(qml)/OE_QTDECLARATIVE_ENABLED/' -i ${S}/src/src.pro } EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}" -SRCREV = "1651b7d64464a41a8b910f860a34006bb3b6a94e" +SRCREV = "cfc30b0df5e6d0c4d08b1ccc9c97a7ffa4ad0911" BBCLASSEXTEND =+ "native nativesdk" - diff --git a/recipes-qt/qtchooser/qtchooser_git.bb b/recipes-qt/qtchooser/qtchooser_git.bb index 3dcb35d0..5bafe96d 100644 --- a/recipes-qt/qtchooser/qtchooser_git.bb +++ b/recipes-qt/qtchooser/qtchooser_git.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Wrapper to select between Qt development binary versions" HOMEPAGE = "http://macieira.org/qtchooser" -LICENSE = "LGPL-2.1 & Digia-Qt-LGPL-Exception-1.1 | GPL-3.0" -SRC_URI = "git://code.qt.io/qtsdk/qtchooser.git" +LICENSE = "LGPL-2.1-only & Digia-Qt-LGPL-Exception-1.1 | GPL-3.0-only" +SRC_URI = "git://code.qt.io/qtsdk/qtchooser.git;branch=master" LIC_FILES_CHKSUM = " \ file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \ diff --git a/recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch b/recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch new file mode 100644 index 00000000..ca281b75 --- /dev/null +++ b/recipes-qt/quazip/quazip/0001-Append-LIB_ARCH-to-lib.patch @@ -0,0 +1,31 @@ +From 7bcf47c1d9ca5eb27da088f93387e42b55d6999c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 19 Dec 2019 13:22:38 -0800 +Subject: [PATCH] Append LIB_ARCH to lib + +Creating subdir under lib is not expected in OE, instead it should be +appending to lib so it becomes lib64 when needed and LIB_ARCH can be set +in evnironment + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + quazip/quazip.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/quazip/quazip.pro b/quazip/quazip.pro +index 3e10f36..1ea073e 100644 +--- a/quazip/quazip.pro ++++ b/quazip/quazip.pro +@@ -42,7 +42,7 @@ CONFIG(debug, debug|release) { + unix:!symbian { + headers.path=$$PREFIX/include/quazip + headers.files=$$HEADERS +- target.path=$$PREFIX/lib/$${LIB_ARCH} ++ target.path=$$PREFIX/lib$${LIB_ARCH} + INSTALLS += headers target + + OBJECTS_DIR=.obj +-- +2.24.1 + diff --git a/recipes-qt/quazip/quazip_0.7.3.bb b/recipes-qt/quazip/quazip_0.7.3.bb index 970204e5..850cf1ce 100644 --- a/recipes-qt/quazip/quazip_0.7.3.bb +++ b/recipes-qt/quazip/quazip_0.7.3.bb @@ -1,15 +1,17 @@ SUMMARY = "Qt/C++ wrapper for ZIP/UNZIP package" HOMEPAGE = "http://quazip.sourceforge.net/" BUGTRACKER = "https://sourceforge.net/p/quazip/bugs/" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=910d778aab53617cbaf13c4e1810e289" DEPENDS = "qtbase" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ + file://0001-Append-LIB_ARCH-to-lib.patch \ + " SRC_URI[md5sum] = "2ba7dd8b1d6dd588374c9fab5c46e76e" SRC_URI[sha256sum] = "2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5" inherit qmake5 -EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}" +EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix} LIB_ARCH=${@d.getVar('baselib').replace('lib', '')}" EXTRA_QMAKEVARS_POST += "SUBDIRS=${BPN}" diff --git a/recipes-qt/qwt/qwt-qt5_6.1.4.bb b/recipes-qt/qwt/qwt-qt5_6.1.5.bb index d8e1dcd2..31663d1b 100644 --- a/recipes-qt/qwt/qwt-qt5_6.1.4.bb +++ b/recipes-qt/qwt/qwt-qt5_6.1.5.bb @@ -8,14 +8,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dac2743472b0462ff3cfb4af42051c88" DEPENDS = "qtbase qtsvg qttools" +COMPATIBLE_HOST:toolchain-clang:riscv32 = "null" +COMPATIBLE_HOST:toolchain-clang:riscv64 = "null" + inherit qmake5 SRC_URI = " \ ${SOURCEFORGE_MIRROR}/qwt/qwt-${PV}.tar.bz2;name=qwt \ file://0001-Remove-rpath-from-binaries-they-point-to-buuild-area.patch \ " -SRC_URI[qwt.md5sum] = "4fb1852f694420e3ab9c583526edecc5" -SRC_URI[qwt.sha256sum] = "1529215329e51fc562e0009505a838f427919a18b362afff441f035b2d9b5bd9" +SRC_URI[qwt.sha256sum] = "4076de63ec2b5e84379ddfebf27c7b29b8dc9074f3db7e2ca61d11a1d8adc041" S = "${WORKDIR}/qwt-${PV}" @@ -24,7 +26,7 @@ EXTRA_QMAKEVARS_PRE += " \ QWT_CONFIG+=QwtExamples \ " -do_configure_prepend() { +do_configure:prepend() { sed -i \ -e 's:/usr/local/qwt-$$QWT_VERSION:${prefix}:' \ -e 's:^QWT_INSTALL_LIBS.*:QWT_INSTALL_LIBS = ${libdir}:' \ @@ -32,7 +34,7 @@ do_configure_prepend() { export QWT_INSTALL_LIBS=${libdir} } -do_install_append() { +do_install:append() { # seems out of tree build confuses installation of examples # so install them manually install -d ${D}${bindir}/ @@ -40,13 +42,13 @@ do_install_append() { } -PACKAGES_prepend = "${PN}-examples ${PN}-features ${PN}-plugins " -FILES_${PN}-examples = "${bindir}/*" -FILES_${PN}-features = "${prefix}/features" -FILES_${PN}-plugins = "${prefix}/plugins/designer/*.so" -FILES_${PN}-doc += "${prefix}/doc" +PACKAGES:prepend = "${PN}-examples ${PN}-features ${PN}-plugins " +FILES:${PN}-examples = "${bindir}/*" +FILES:${PN}-features = "${prefix}/features" +FILES:${PN}-plugins = "${prefix}/plugins/designer/*.so" +FILES:${PN}-doc += "${prefix}/doc" -INSANE_SKIP_${PN}-plugins += "libdir" -INSANE_SKIP_${PN}-dbg += "libdir" +INSANE_SKIP:${PN}-plugins += "libdir" +INSANE_SKIP:${PN}-dbg += "libdir" -RPROVIDES_${PN}-dev = "libqwt-qt5-dev" +RPROVIDES:${PN}-dev = "libqwt-qt5-dev" diff --git a/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch b/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch index d405c168..57bc1b7e 100644 --- a/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch +++ b/recipes-qt/tufao/tufao/build-Fix-mkspecs-and-CMake-module-install-directori.patch @@ -5,7 +5,7 @@ Subject: [PATCH] build: Fix mkspecs and CMake module install directories Organization: O.S. Systems Software LTDA. -Upstream-Status: Inapropriate [configuration] +Upstream-Status: Inappropriate [configuration] Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Herman van Hazendonk <github.com@herrie.org> diff --git a/recipes-qt/tufao/tufao_1.3.10.bb b/recipes-qt/tufao/tufao_1.3.10.bb index 719269f1..e534a688 100644 --- a/recipes-qt/tufao/tufao_1.3.10.bb +++ b/recipes-qt/tufao/tufao_1.3.10.bb @@ -1,16 +1,16 @@ SUMMARY = "An asynchronous web framework for C++ built on top of Qt" -LICENSE = "LGPL-2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "qtbase" SRCREV = "ad505c32d0ba14c3c616de8ba4c7eb79396c20a6" -SRC_URI = "git://github.com/vinipsmaker/tufao.git;protocol=http;branch=1.x \ +SRC_URI = "git://github.com/vinipsmaker/tufao.git;protocol=http;branch=1.x;protocol=https \ file://build-Fix-mkspecs-and-CMake-module-install-directori.patch \ file://0001-CMakeLists.txt-fix-build-with-Qt-5.11-don-t-use-qt5_.patch \ " # This includes bugfixes from 1.x branch -PV_append = "+${SRCPV}" +PV:append = "+${SRCPV}" S = "${WORKDIR}/git" @@ -18,11 +18,11 @@ inherit cmake_qt5 PACKAGES += "${PN}-mkspecs" -FILES_${PN}-mkspecs = "\ +FILES:${PN}-mkspecs = "\ ${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs \ " -FILES_${PN}-dev += " \ +FILES:${PN}-dev += " \ ${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \ ${OE_QMAKE_PATH_LIBS}/pkgconfig \ ${OE_QMAKE_PATH_LIBS}/cmake/* \ |