aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Suonpera <jani.suonpera@qt.io>2020-11-25 15:38:29 +0200
committerJani Suonpera <jani.suonpera@qt.io>2020-12-04 09:43:52 +0200
commit19d99b10df41b7875b3c788bc7a9d1a88734e644 (patch)
treedc987a79b9ad1810bedfa8221533b550cf1662cc
parent545be38961a2e287c64f2ae607569e88da4bfa8b (diff)
parent7a9f639fbd632dbe23af95c7b8123a0b907c6179 (diff)
Merge remote-tracking branch 'qt/upstream/master' into 5.15
-rw-r--r--coin/module_config.yaml4
-rw-r--r--conf/layer.conf2
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Add-missing-declarations-for-operator-overloads.patch31
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch18
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Fix-library-path-for-multilib-setups.patch25
-rw-r--r--recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb6
-rw-r--r--recipes-connectivity/libqofono/libqofono_git.bb4
-rw-r--r--recipes-connectivity/libqofono/libqofonoext_git.bb28
-rw-r--r--recipes-python/pyqt5/python3-pyqt5_5.15.1.bb (renamed from recipes-python/pyqt5/python3-pyqt5_5.15.1.dev2006161728.bb)12
-rw-r--r--recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb (renamed from recipes-python/pyqtchart/python3-pyqtchart_5.13.1.bb)13
-rw-r--r--recipes-qt/examples/cinematicexperience_1.0.bb2
-rw-r--r--recipes-qt/maliit/maliit-framework-qt5_git.bb14
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb1
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-Link-with-libexecinfo-on-musl.patch6
-rw-r--r--recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch32
-rw-r--r--recipes-qt/qt5/qt5-creator_git.bb44
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch36
-rw-r--r--recipes-qt/qt5/qtbase_git.bb14
-rw-r--r--recipes-qt/qt5/qtdeclarative_git.bb2
-rw-r--r--recipes-qt/qt5/qttools/0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch32
-rw-r--r--recipes-qt/qt5/qttools_git.bb14
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch88
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch139
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch)4
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-pread-pwrite.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch (renamed from recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch)2
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb42
-rw-r--r--recipes-qt/qt5/qtwebkit/0006-Fix-build-with-bison37.patch52
-rw-r--r--recipes-qt/qt5/qtwebkit/0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch34
-rw-r--r--recipes-qt/qt5/qtwebkit/0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch32
-rw-r--r--recipes-qt/qt5/qtwebkit_git.bb3
42 files changed, 629 insertions, 130 deletions
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
index 39283baa..7af8e30a 100644
--- a/coin/module_config.yaml
+++ b/coin/module_config.yaml
@@ -76,8 +76,8 @@ build_instructions:
# EXCLUDE_FROM_WORLD
rm -f ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb
- rm -r ${SOURCE_DIR}/recipes-python/pyqt5/python3-pyqt5_5.15.1.dev2006161728.bb
- rm -r ${SOURCE_DIR}/recipes-python/pyqtchart/python3-pyqtchart_5.13.1.bb
+ rm -r ${SOURCE_DIR}/recipes-python/pyqt5/python3-pyqt5_5.15.1.bb
+ rm -r ${SOURCE_DIR}/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb
bitbake $(find ${SOURCE_DIR} -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/')
filename: "{{.BuildDir}}/start-build"
fileMode: 420
diff --git a/conf/layer.conf b/conf/layer.conf
index dbaa3d6b..7b3089dc 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -29,7 +29,7 @@ LAYERVERSION_qt5-layer = "1"
LAYERDEPENDS_qt5-layer = "core"
-LAYERSERIES_COMPAT_qt5-layer = "dunfell"
+LAYERSERIES_COMPAT_qt5-layer = "dunfell gatesgarth"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Add-missing-declarations-for-operator-overloads.patch b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Add-missing-declarations-for-operator-overloads.patch
new file mode 100644
index 00000000..1f7ec0c8
--- /dev/null
+++ b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Add-missing-declarations-for-operator-overloads.patch
@@ -0,0 +1,31 @@
+From 09fcee5c5750a3345e4378cd462cbb9aeba5e269 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 11 Aug 2020 22:20:17 -0700
+Subject: [PATCH] Add missing declarations for operator overloads
+
+This fixes clang-11 errors e.g.
+
+| ../../recipe-sysroot/usr/include/QtDBus/qdbusargument.h:276:13: error: invalid operands to binary expression ('const QDBusArgument' and 'RouteStructure')
+| arg >> item;
+| ~~~ ^ ~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libconnman-qt/marshalutils.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/libconnman-qt/marshalutils.cpp
++++ b/libconnman-qt/marshalutils.cpp
+@@ -36,6 +36,11 @@
+
+ #include "marshalutils.h"
+
++#if defined(__clang__) && __clang_major__ >= 11
++Q_DBUS_EXPORT const QDBusArgument &operator>>(const QDBusArgument &a, RouteStructure &v);
++Q_DBUS_EXPORT QDBusArgument &operator<<(QDBusArgument &a, const RouteStructure &v);
++#endif
++
+ // Empty namespace for local static functions
+ namespace {
+
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch
index 7a67c744..028e3f5c 100644
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch
+++ b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch
@@ -12,11 +12,9 @@ Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
plugin/qmldir | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
-diff --git a/plugin/plugin.cpp b/plugin/plugin.cpp
-index a383482..451c95f 100644
--- a/plugin/plugin.cpp
+++ b/plugin/plugin.cpp
-@@ -24,7 +24,7 @@
+@@ -34,7 +34,7 @@ static QObject *singleton_api_factory(QQ
class ConnmanPlugin: public QQmlExtensionPlugin
{
Q_OBJECT
@@ -25,27 +23,21 @@ index a383482..451c95f 100644
public:
void registerTypes(const char *uri);
-diff --git a/plugin/plugin.pro b/plugin/plugin.pro
-index c4f54cf..3763f57 100644
--- a/plugin/plugin.pro
+++ b/plugin/plugin.pro
-@@ -17,7 +17,7 @@ LIBS += -l$$qtLibraryTarget(connman-$$TARGET_SUFFIX)
+@@ -17,7 +17,7 @@ LIBS += -l$$qtLibraryTarget(connman-$$TA
QT += qml
- OTHER_FILES += plugin.json qmldirs
+ OTHER_FILES += plugin.json plugins.qmltypes qmldirs
-MODULENAME = MeeGo/Connman
+MODULENAME = Connman
TARGETPATH = $$[QT_INSTALL_QML]/$$MODULENAME
target.path = $$TARGETPATH
-diff --git a/plugin/qmldir b/plugin/qmldir
-index 5db82b7..de56688 100644
--- a/plugin/qmldir
+++ b/plugin/qmldir
-@@ -1,2 +1,2 @@
+@@ -1,3 +1,3 @@
-module MeeGo.Connman
+module Connman
plugin ConnmanQtDeclarative
---
-2.11.0.windows.3
-
+ typeinfo plugins.qmltypes
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Fix-library-path-for-multilib-setups.patch b/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Fix-library-path-for-multilib-setups.patch
deleted file mode 100644
index 1e37bf55..00000000
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5/0001-Fix-library-path-for-multilib-setups.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9692239a31f0e47ea75b60388d5491d5155a888d Mon Sep 17 00:00:00 2001
-From: Andreas Oberritter <obi@saftware.de>
-Date: Mon, 17 Dec 2018 14:00:44 +0100
-Subject: [PATCH] Fix library path for multilib setups.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Oberritter <obi@saftware.de>
----
- libconnman-qt/libconnman-qt.pro | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libconnman-qt/libconnman-qt.pro b/libconnman-qt/libconnman-qt.pro
-index 8cd58e8..bad8a5e 100644
---- a/libconnman-qt/libconnman-qt.pro
-+++ b/libconnman-qt/libconnman-qt.pro
-@@ -71,7 +71,7 @@ SOURCES += \
- networksession.cpp \
- counter.cpp
-
--target.path = $$INSTALL_ROOT$$PREFIX/lib
-+target.path = $$[QT_INSTALL_LIBS]
-
- headers.files = $$PUBLIC_HEADERS
-
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
index f9fa27cd..bc84224e 100644
--- a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
+++ b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb
@@ -5,12 +5,12 @@ HOMEPAGE = "https://git.merproject.org/mer-core/libconnman-qt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://libconnman-qt/clockmodel.h;endline=8;md5=ea9f724050803f15d2d900ce3c5dac88"
DEPENDS += "qtbase qtdeclarative"
-PV = "1.2.7+git${SRCPV}"
+PV = "1.2.34+git${SRCPV}"
-SRCREV = "ad7fef1c35a3e897913965f73b879a14d65043dd"
+SRCREV = "a0b6b0d9a63f28ab41747892f415c89866d62e4a"
SRC_URI = "git://git.merproject.org/mer-core/libconnman-qt.git;protocol=https \
file://0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch \
- file://0001-Fix-library-path-for-multilib-setups.patch \
+ file://0001-Add-missing-declarations-for-operator-overloads.patch \
"
S = "${WORKDIR}/git"
diff --git a/recipes-connectivity/libqofono/libqofono_git.bb b/recipes-connectivity/libqofono/libqofono_git.bb
index 7de0e49b..6ed5511c 100644
--- a/recipes-connectivity/libqofono/libqofono_git.bb
+++ b/recipes-connectivity/libqofono/libqofono_git.bb
@@ -5,13 +5,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS += "qtbase qtdeclarative qtxmlpatterns"
-SRCREV = "3581a6e85561da85858e1b90bef9be88b87acc4d"
+SRCREV = "4eec0c726844b8293eeab7312c96956a77d40e90"
SRC_URI = "git://git.merproject.org/mer-core/libqofono.git \
file://0001-also-emit-modemRemoved-and-modemAdded.patch \
"
S = "${WORKDIR}/git"
-PV = "0.98+gitr${SRCPV}"
+PV = "0.100+gitr${SRCPV}"
inherit qmake5
diff --git a/recipes-connectivity/libqofono/libqofonoext_git.bb b/recipes-connectivity/libqofono/libqofonoext_git.bb
new file mode 100644
index 00000000..b14aca5f
--- /dev/null
+++ b/recipes-connectivity/libqofono/libqofonoext_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Qt 5 bindings for the ofono dbus API for Jolla's oFono extensions"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://src/qofonoext.cpp;;beginline=1;endline=14;md5=e78738e9230b2e0f55eb7f63e3444df5"
+
+DEPENDS += "qtbase qtdeclarative qtxmlpatterns libqofono"
+
+SRCREV = "bd0999247f3c6446463f83b1f86c3de39c1a5425"
+SRC_URI = "git://git.sailfishos.org/mer-core/libqofonoext.git;protocol=https;"
+S = "${WORKDIR}/git"
+
+PV = "1.025+gitr${SRCPV}"
+
+inherit qmake5
+
+do_install_append() {
+ if ls ${D}${libdir}/pkgconfig/qofono-qt5.pc >/dev/null 2>/dev/null; then
+ sed -i "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" ${D}${libdir}/pkgconfig/qofono-qt5.pc
+ fi
+}
+
+PACKAGES += "${PN}-tests"
+
+FILES_${PN} += " \
+ ${OE_QMAKE_PATH_QML}/org/nemomobile/ofono/qmldir \
+ ${OE_QMAKE_PATH_QML}/org/nemomobile/ofono/plugins.qmltypes \
+ ${OE_QMAKE_PATH_QML}/org/nemomobile/ofono/libqofonoextdeclarative.so \
+"
diff --git a/recipes-python/pyqt5/python3-pyqt5_5.15.1.dev2006161728.bb b/recipes-python/pyqt5/python3-pyqt5_5.15.1.bb
index 2afa46dc..9d8fd39c 100644
--- a/recipes-python/pyqt5/python3-pyqt5_5.15.1.dev2006161728.bb
+++ b/recipes-python/pyqt5/python3-pyqt5_5.15.1.bb
@@ -1,16 +1,18 @@
SUMMARY = "Python Qt5 Bindings"
AUTHOR = "Phil Thomson @ riverbank.co.uk"
-HOMEPAGE = "http://riverbankcomputing.co.uk"
+HOMEPAGE = "https://www.riverbankcomputing.com/software/pyqt"
SECTION = "devel/python"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "\
file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
"
-SRC_URI = "\
- https://www.riverbankcomputing.com/static/Downloads/PyQt5/PyQt5-${PV}.tar.gz \
-"
-SRC_URI[sha256sum] = "b29e4771be495018faef9687919395165da49d391c840c4d1a2592c1089ce592"
+inherit pypi
+
+PYPI_PACKAGE = "PyQt5"
+
+SRC_URI[md5sum] = "b60f895e70d31d774e6cd374efd17c65"
+SRC_URI[sha256sum] = "d9a76b850246d08da9863189ecb98f6c2aa9b4d97a3e85e29330a264aed0f9a1"
S = "${WORKDIR}/PyQt5-${PV}"
diff --git a/recipes-python/pyqtchart/python3-pyqtchart_5.13.1.bb b/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb
index 04e42beb..c6cd2ff6 100644
--- a/recipes-python/pyqtchart/python3-pyqtchart_5.13.1.bb
+++ b/recipes-python/pyqtchart/python3-pyqtchart_5.15.1.bb
@@ -1,15 +1,18 @@
SUMMARY = "Python Qt Chart Bindings"
AUTHOR = "Adrian.Fiergolski@fastree3d.com"
+HOMEPAGE = "https://www.riverbankcomputing.com/software/pyqtchart"
SECTION = "devel/python"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "\
file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
"
-SRC_URI = "\
- https://www.riverbankcomputing.com/static/Downloads/PyQtChart/${PV}/PyQtChart-${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "d5d37bff46b690d6318e5e5f25dd5213"
-SRC_URI[sha256sum] = "49960a1483527857b38c1527f9b6328d30bdcc84521f579c0a561a892f54130e"
+
+inherit pypi
+
+PYPI_PACKAGE = "PyQtChart"
+
+SRC_URI[md5sum] = "8a36bc796b0d9a2301e613c382336b0e"
+SRC_URI[sha256sum] = "8d976b3dbfb233fb0123129323c68adb9d3693c945bba1e227e004208f0747bc"
S = "${WORKDIR}/PyQtChart-${PV}"
diff --git a/recipes-qt/examples/cinematicexperience_1.0.bb b/recipes-qt/examples/cinematicexperience_1.0.bb
index 9a90f1d4..d7372f61 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"
diff --git a/recipes-qt/maliit/maliit-framework-qt5_git.bb b/recipes-qt/maliit/maliit-framework-qt5_git.bb
index 1f0dc8d6..72e6be5f 100644
--- a/recipes-qt/maliit/maliit-framework-qt5_git.bb
+++ b/recipes-qt/maliit/maliit-framework-qt5_git.bb
@@ -75,12 +75,9 @@ 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
}
@@ -89,12 +86,11 @@ 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/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index 60cabe66..4bf81339 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -41,6 +41,7 @@ SRC_URI += "\
file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \
"
# common for qtbase-native and nativesdk-qtbase
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 da7561ce..25d1ae90 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
@@ -11,16 +11,16 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
--- a/src/plugins/debugger/debugger.pro
+++ b/src/plugins/debugger/debugger.pro
-@@ -139,3 +139,4 @@ include(console/console.pri)
+@@ -140,3 +140,4 @@ include(console/console.pri)
include(analyzer/analyzer.pri)
include(shared/shared.pri)
+LIBS *= -lexecinfo
--- a/src/plugins/qmldesigner/qmldesignerplugin.pro
+++ b/src/plugins/qmldesigner/qmldesignerplugin.pro
-@@ -3,7 +3,7 @@ CONFIG += exceptions
-
+@@ -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
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..6ee5b7b5
--- /dev/null
+++ b/recipes-qt/qt5/qt5-creator/0001-app-Use-malloc_trim-only-on-glibc.patch
@@ -0,0 +1,32 @@
+From 46ec546fdc4427019184f84f24efe3e145b7e40f 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 419b9b362a..9e150e7613 100644
+--- a/src/app/main.cpp
++++ b/src/app/main.cpp
+@@ -719,7 +719,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
+--
+2.28.0
+
diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb
index d046110b..f8d4aa1d 100644
--- a/recipes-qt/qt5/qt5-creator_git.bb
+++ b/recipes-qt/qt5/qt5-creator_git.bb
@@ -15,16 +15,15 @@ LIC_FILES_CHKSUM = " \
inherit qmake5 mime-xdg
DEPENDS += "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib"
-DEPENDS_append_toolchain-clang = " clang llvm-common"
DEPENDS_append_libc-musl = " libexecinfo"
-SRCREV = "9e057a55368286058023510efc328f68250ecb5e"
-PV = "4.12.0+git${SRCPV}"
-
+SRCREV = "1da2c1f7666ced45d6eea1cd0adfdc68a828e3a0"
+PV = "4.13.1+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.12 \
+ git://code.qt.io/qt-creator/qt-creator.git;branch=4.13 \
+ file://0001-app-Use-malloc_trim-only-on-glibc.patch \
"
SRC_URI_append_libc-musl = " file://0001-Link-with-libexecinfo-on-musl.patch"
@@ -34,6 +33,13 @@ EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}"
EXTRANATIVEPATH += "chrpath-native"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_append_toolchain-clang = " clang"
+
+# Important note: In case clang was added to qttools' PACKAGECONFIG, it has to
+# be added here too - otherwise build fails trying to link native clang libraries
+PACKAGECONFIG[clang] = ",,clang llvm-common"
+
COMPATIBLE_HOST_toolchain-clang_riscv32 = "null"
COMPATIBLE_HOST_toolchain-clang_riscv64 = "null"
@@ -41,20 +47,20 @@ 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} += " \
@@ -79,6 +85,11 @@ RRECOMMENDS_${PN} += " \
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'
@@ -86,3 +97,8 @@ 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/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index bfd1a805..4be4aaa8 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -36,6 +36,7 @@ SRC_URI += "\
file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \
"
# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch b/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch
new file mode 100644
index 00000000..2accb08e
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0019-Define-__NR_futex-if-it-does-not-exist.patch
@@ -0,0 +1,36 @@
+From bf314645e665d82c65771fb0d5f58558bbe1ba87 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
+--
+2.29.1
+
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 989e5abb..a7811ddf 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -32,8 +32,13 @@ SRC_URI += "\
file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
file://0018-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \
+ file://0019-Define-__NR_futex-if-it-does-not-exist.patch \
"
+# 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"
@@ -171,6 +176,8 @@ QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-
QT_CONFIG_FLAGS_GOLD = "-no-use-gold-linker"
LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS_append_riscv64 = " -pthread"
+
QT_CONFIG_FLAGS += " \
${QT_CONFIG_FLAGS_GOLD} \
-silent \
@@ -249,11 +256,12 @@ 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
diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb
index 6eae8173..3ff69d60 100644
--- a/recipes-qt/qt5/qtdeclarative_git.bb
+++ b/recipes-qt/qt5/qtdeclarative_git.bb
@@ -18,6 +18,8 @@ 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)}"
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..4bc53c79
--- /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
+
+Upstrem-Statu: 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_git.bb b/recipes-qt/qt5/qttools_git.bb
index 0c8b3e26..63566035 100644
--- a/recipes-qt/qt5/qttools_git.bb
+++ b/recipes-qt/qt5/qttools_git.bb
@@ -19,6 +19,7 @@ SRC_URI += " \
file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \
file://0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch \
"
+SRC_URI_append_class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'file://0004-Force-native-build-of-qt-help-tools-as-qhelpgenerato.patch', '', d)}"
FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks"
FILES_${PN}-examples = "${datadir}${QT_DIR_NAME}/examples"
@@ -34,21 +35,10 @@ COMPATIBLE_HOST_toolchain-clang_riscv64 = "null"
export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_BINDIR}/llvm-config"
-TOOLSTOBUILD += "linguist/lconvert linguist/lrelease linguist/lupdate pixeltool qtdiag qtpaths qtplugininfo"
-TOOLSTOBUILD += "${@bb.utils.contains('PACKAGECONFIG', 'clang', 'qdoc', '', d)}"
-TOOLSFORTARGET = "pixeltool qtdiag qtpaths qtplugininfo"
-TOOLSFORHOST = "linguist ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'qdoc', '', d)}"
-
EXTRA_QMAKEVARS_PRE += " \
${@bb.utils.contains('PACKAGECONFIG', 'qtwebkit', '', 'CONFIG+=noqtwebkit', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=disable_external_rpath', '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)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=disable_external_rpath CONFIG+=assistant', 'CONFIG+=noqdoc', d)} \
"
-
SRCREV = "cc52debd905e0ed061290d6fd00a5f1ab67478a5"
BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch
new file mode 100644
index 00000000..8a6660ff
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-icu-use-system-library-only-targets.patch
@@ -0,0 +1,88 @@
+From 344e8a3945a29239dd2f27ea4969e3d64d5d8911 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.
+
+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 73673fa20ac..a656692c7bf 100644
+--- a/chromium/third_party/icu/BUILD.gn
++++ b/chromium/third_party/icu/BUILD.gn
+@@ -7,9 +7,13 @@ import("//build/config/host_byteorder.gni")
+ import("//build/config/linux/pkg_config.gni")
+ import("//build/shim_headers.gni")
+ import("//third_party/icu/config.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) {
+@@ -23,6 +27,12 @@ if (is_mac) {
+ 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") {
+@@ -1222,7 +1232,7 @@ config("system_icu_config") {
+ }
+ }
+
+-if (use_system_icu) {
++if (use_system_icu_target_only) {
+ pkg_config("system_icui18n") {
+ packages = [ "icu-i18n" ]
+ }
+@@ -1435,7 +1445,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"]
+@@ -1443,7 +1453,7 @@ config("icu_config") {
+ }
+
+ group("icuuc") {
+- if (use_system_icu) {
++ if (use_system_icu_target_only) {
+ deps = [ ":icuuc_shim" ]
+ public_configs = [
+ ":system_icu_config",
+@@ -1455,7 +1465,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/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch
new file mode 100644
index 00000000..1b43fcbb
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch
@@ -0,0 +1,139 @@
+From 5aa69767be0fbbc7a3a5075c6c94366a535c99a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 20 Apr 2020 23:56:48 +0200
+Subject: [PATCH] chromium: Fix sandbox 'Aw, snap' for syscalls 403 and 407
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Taken as is from meta-browser. Saw my application freeze for syscall 0407
+trouble:
+
+| ../../../../git/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407
+
+Original commit message:
+
+* syscall 403: reported by ArchLinux users [1-2]
+* syscall 407: reported by me [3]
+
+Looking at [4-5] it seems that glibc (>=2.31?) introduced extra syscalls for
+32Bit systems to handle time64:
+
+* __NR_clock_gettime -> __NR_clock_gettime64
+* __NR_clock_nanosleep -> __NR_clock_nanosleep_time64
+
+To fix
+| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
+| ../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407
+
+we handle new systemcalls in the same way as 64bit systems do and 32bit systems
+did before glibc 2.31.
+
+[1] https://bugs.archlinux32.org/index.php?do=details&task_id=105
+[2] https://bbs.archlinux32.org/viewtopic.php?id=2897
+[3] https://github.com/OSSystems/meta-browser/issues/357
+[4] https://sourceware.org/git/?p=glibc.git;a=commit;h=2e44b10b42d68d9887ccab17b76db5d7bbae4fb6
+[5] https://github.com/bminor/glibc/blob/019d828669df966dc4ef2684fce0b1c17bef9aae/sysdeps/unix/sysv/linux/clock_gettime.c#L30
+
+Upstream Status: Pending [Have no idea where to send this]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ .../sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc | 9 ++++++++-
+ .../syscall_parameters_restrictions_unittests.cc | 6 ++++++
+ .../sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc | 6 ++++++
+ .../sandbox/linux/system_headers/arm_linux_syscalls.h | 8 ++++++++
+ .../sandbox/linux/system_headers/mips_linux_syscalls.h | 8 ++++++++
+ 5 files changed, 36 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+index 768025ce192..87025d91785 100644
+--- a/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ b/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+@@ -148,7 +148,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+ return Allow();
+ #endif
+
+- if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep) {
++ if (sysno == __NR_clock_gettime || sysno == __NR_clock_nanosleep
++#if defined(__NR_clock_gettime64)
++ || sysno == __NR_clock_gettime64
++#endif
++#if defined(__NR_clock_nanosleep_time64)
++ || sysno == __NR_clock_nanosleep_time64
++#endif
++ ) {
+ return RestrictClockID();
+ }
+
+diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
+index 76193b62c9f..7731c697002 100644
+--- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
++++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions_unittests.cc
+@@ -60,6 +60,12 @@ class RestrictClockIdPolicy : public bpf_dsl::Policy {
+ case __NR_clock_gettime:
+ case __NR_clock_getres:
+ case __NR_clock_nanosleep:
++#if defined(__NR_clock_nanosleep_time64)
++ case __NR_clock_nanosleep_time64:
++#endif
++#if defined(__NR_clock_gettime64)
++ case __NR_clock_gettime64:
++#endif
+ return RestrictClockID();
+ default:
+ return Allow();
+diff --git a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+index d9d18822f67..0db8745cb57 100644
+--- a/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ b/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+@@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int sysno) {
+ // filtered by RestrictClokID().
+ case __NR_clock_gettime: // Parameters filtered by RestrictClockID().
+ case __NR_clock_nanosleep: // Parameters filtered by RestrictClockID().
++#if defined(__NR_clock_gettime64)
++ case __NR_clock_gettime64: // Parameters filtered by RestrictClockID().
++#endif
++#if defined(__NR_clock_nanosleep_time64)
++ case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID().
++#endif
+ case __NR_clock_settime: // Privileged.
+ #if defined(__i386__) || \
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+diff --git a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+index 1addd53843c..5de2162f981 100644
+--- a/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
++++ b/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+@@ -1385,6 +1385,14 @@
+ #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
+ #endif
+
++#if !defined(__NR_clock_gettime64)
++#define __NR_clock_gettime64 (__NR_SYSCALL_BASE+403)
++#endif
++
++#if !defined(__NR_clock_nanosleep_time64)
++#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE+407)
++#endif
++
+ // ARM private syscalls.
+ #if !defined(__ARM_NR_BASE)
+ #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
+diff --git a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
+index ddbf97f3d8b..fa01b3bbc66 100644
+--- a/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
++++ b/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h
+@@ -1433,4 +1433,12 @@
+ #define __NR_memfd_create (__NR_Linux + 354)
+ #endif
+
++#if !defined(__NR_clock_gettime64)
++#define __NR_clock_gettime64 (__NR_Linux + 403)
++#endif
++
++#if !defined(__NR_clock_nanosleep_time64)
++#define __NR_clock_nanosleep_time64 (__NR_Linux + 407)
++#endif
++
+ #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
index f654424e..01c46c05 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0013-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch
@@ -1,4 +1,4 @@
-From 69570c2f3c88c31cca71f87996ed4ab7ab2bc66c Mon Sep 17 00:00:00 2001
+From 0dbcdee3ccc23d3a6c9e66b5abc3fb3d1ccbc297 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
index 19fbca5d..03226154 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0014-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch
@@ -1,4 +1,4 @@
-From 5b501d5335008e32bd5a62e48a675c8fc61194a9 Mon Sep 17 00:00:00 2001
+From bbb23eb876e1f4500e7c8fd716a73351ad660725 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch
index 91bd4057..869ac113 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0015-chromium-musl-include-fcntl.h-for-loff_t.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch
@@ -1,4 +1,4 @@
-From 1180600c21260188fd2d3def0f536b4243175fc0 Mon Sep 17 00:00:00 2001
+From d1d6bd4260eb847c1493a8ce4a974bb8d8ee0218 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
index c6c3571c..638c7312 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0016-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch
@@ -1,4 +1,4 @@
-From f2ff87552f0f2f576bda05f7ccf5855c005ed7b0 Mon Sep 17 00:00:00 2001
+From 7cf2404330f7888f3cc8a25becfe944cc2fc421e 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch
index 9cc6744d..55939ddd 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0017-chromium-musl-linux-glibc-make-the-distinction.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch
@@ -1,4 +1,4 @@
-From efa10960aa9ec6b573a9c34cabab90ad2c31c5a3 Mon Sep 17 00:00:00 2001
+From 350b57a5cad7c655ccb68a8b4b91e7d32021a1d7 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
index 15e38eb0..37276844 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0018-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch
@@ -1,4 +1,4 @@
-From c799e56ed6c073782c9215aa7d9302003b61a395 Mon Sep 17 00:00:00 2001
+From 68decc5d87b4eb013f1455fc4f81f67f926fa3b2 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
index 033780d8..aea690d9 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch
@@ -1,4 +1,4 @@
-From a49d5e2c256d18853c0e00e698759f763eaddf04 Mon Sep 17 00:00:00 2001
+From fea443adcea6e081cfee94a19c75e7b0516e1bce 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
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 chromium/net/dns/resolv_compat.h
diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc
-index eaa5336c339..18b40d7d005 100644
+index 2e0f06b0c1e..aaafef77d79 100644
--- a/chromium/net/dns/dns_config_service_posix.cc
+++ b/chromium/net/dns/dns_config_service_posix.cc
@@ -29,6 +29,10 @@
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch
index 97fce663..cd1059e3 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch
@@ -1,4 +1,4 @@
-From 6e44772c5aa78c39d52910aaf4cc2db3bcf0ba7e Mon Sep 17 00:00:00 2001
+From 64e79d346a2038b976f5bafe2b0b2032b1628229 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch
index 53ecedd4..50d17413 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch
@@ -1,4 +1,4 @@
-From 31b50a484935d1a610da74fa5a06489f8309fd6d Mon Sep 17 00:00:00 2001
+From cecdf34d89110115948cfde44c04a43c9925b24a 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch b/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
index 750d0d5e..07a1e3d6 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch
@@ -1,4 +1,4 @@
-From d687194f970d5ed19d21916eba4f597625d20dfc Mon Sep 17 00:00:00 2001
+From ae4187267b4d0d2ff13a6593b69ca06cee321eea 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch b/recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
index 4ed957ee..63f93873 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch
@@ -1,4 +1,4 @@
-From 976ee610f4bb87d1b5f57756c04f13b06f3ebf26 Mon Sep 17 00:00:00 2001
+From f12f5d2dc91548ca77b296a0be3705aacc9fca33 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-pread-pwrite.patch b/recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch
index 61a1137c..edeb3272 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0025-chromium-musl-pread-pwrite.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0028-chromium-musl-pread-pwrite.patch
@@ -1,4 +1,4 @@
-From 4cb584454ab1537c1e1e5ae8453f57a98aa9a928 Mon Sep 17 00:00:00 2001
+From 3269ffba733ed7eeb7c2c36912dd19ca1ef35f8b 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
diff --git a/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch b/recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch
index 0d73e07c..72adf1cb 100644
--- a/recipes-qt/qt5/qtwebengine/chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch
+++ b/recipes-qt/qt5/qtwebengine/chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch
@@ -1,4 +1,4 @@
-From acc3b1b674a2568dd19418ec5b3c58330a29521a Mon Sep 17 00:00:00 2001
+From 0b04cbd5b93908bad4dfc6d829048fe90a09b868 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
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index 1d7fe83f..b00ba48c 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -21,7 +21,7 @@ DEPENDS += " \
qtwebchannel \
qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \
qtlocation \
- libdrm fontconfig pixman openssl pango cairo icu pciutils nss \
+ libdrm fontconfig pixman openssl pango cairo pciutils nss \
libcap \
jpeg-native \
freetype-native \
@@ -146,20 +146,22 @@ RDEPENDS_${PN}-examples += " \
QT_MODULE_BRANCH_CHROMIUM = "83-based"
-# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15
-# 5.15.meta-qt5.7
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15-glibc
+# 5.15-glibc.meta-qt5.8
SRC_URI += " \
${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \
file://0001-Force-host-toolchain-configuration.patch \
"
+# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.15
+# 5.15-glibc.meta-qt5.8
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/80-based
-# 80-based.meta-qt5.3
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/80-based-glibc
+# 80-based-glibc.meta-qt5.4
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 \
@@ -173,22 +175,26 @@ SRC_URI += " \
file://chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \
file://chromium/0011-chromium-Include-cstddef-and-cstdint.patch;patchdir=src/3rdparty \
file://chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \
+ file://chromium/0014-chromium-icu-use-system-library-only-targets.patch;patchdir=src/3rdparty \
+ file://chromium/0015-chromium-Fix-sandbox-Aw-snap-for-syscalls-403-and-40.patch;patchdir=src/3rdparty \
"
+# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/80-based
+# 80-based.meta-qt5.4
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-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \
- file://chromium/0020-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
- file://chromium/0021-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
- file://chromium/0022-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
- file://chromium/0023-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \
- file://chromium/0024-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \
- file://chromium/0025-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \
- file://chromium/0026-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \
+ file://chromium/0016-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \
+ file://chromium/0017-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \
+ file://chromium/0018-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \
+ file://chromium/0019-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \
+ file://chromium/0020-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \
+ file://chromium/0021-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \
+ file://chromium/0023-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \
+ file://chromium/0024-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \
+ file://chromium/0025-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \
+ file://chromium/0026-chromium-musl-Use-_fpstate-instead-of-_libc_fpstate-.patch;patchdir=src/3rdparty \
+ file://chromium/0027-chromium-musl-elf_reader.cc-include-sys-reg.h-to-get.patch;patchdir=src/3rdparty \
+ file://chromium/0028-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \
+ file://chromium/0029-chromium-musl-initialize-msghdr-in-a-compatible-mann.patch;patchdir=src/3rdparty \
"
SRCREV_qtwebengine = "5537ff4437ea7a5f9ea140071343f88bf48deddc"
diff --git a/recipes-qt/qt5/qtwebkit/0006-Fix-build-with-bison37.patch b/recipes-qt/qt5/qtwebkit/0006-Fix-build-with-bison37.patch
new file mode 100644
index 00000000..9262f5fe
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0006-Fix-build-with-bison37.patch
@@ -0,0 +1,52 @@
+From d92b11fea65364fefa700249bd3340e0cd4c5b31 Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57@gmail.com>
+Date: Tue, 4 Aug 2020 21:04:06 +0300
+Subject: [PATCH] Let Bison generate the header directly, to fix build with
+ Bison 3.7
+
+Starting with Bison 3.7, the generated C++ file #include's the header
+by default, instead of duplicating it. So we should not delete it.
+
+Remove the code to add #ifdef guards to the header, since Bison adds
+them itself since version 2.6.3.
+
+Found at [1]
+
+[1] https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31
+
+Upstream-Status: Pending
+---
+ Source/WebCore/css/makegrammar.pl | 21 +--------------------
+ 1 file changed, 1 insertion(+), 20 deletions(-)
+
+diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl
+index 5d63b08102eb..9435701c7061 100644
+--- a/Source/WebCore/css/makegrammar.pl
++++ b/Source/WebCore/css/makegrammar.pl
+@@ -73,25 +73,6 @@
+ }
+
+ my $fileBase = File::Spec->join($outputDir, $filename);
+-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
++my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+ push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
+ system(@bisonCommand) == 0 or die;
+-
+-open HEADER, ">$fileBase.h" or die;
+-print HEADER << "EOF";
+-#ifndef CSSGRAMMAR_H
+-#define CSSGRAMMAR_H
+-EOF
+-
+-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die;
+-while (<HPP>) {
+- print HEADER;
+-}
+-close HPP;
+-
+-print HEADER "#endif\n";
+-close HEADER;
+-
+-unlink("$fileBase.cpp.h");
+-unlink("$fileBase.hpp");
+-
diff --git a/recipes-qt/qt5/qtwebkit/0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch b/recipes-qt/qt5/qtwebkit/0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch
new file mode 100644
index 00000000..15607c0d
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch
@@ -0,0 +1,34 @@
+From 32eb0352d98fcf325b0a94a4f7e141d746938a4b Mon Sep 17 00:00:00 2001
+From: Konstantin Tokarev <annulen@yandex.ru>
+Date: Sun, 3 May 2020 18:50:24 +0300
+Subject: [PATCH] Disable code related to HTTP/2 when Qt is configured without SSL support
+
+For enabling HTTP/2 by default we check if Qt uses OpenSSL and its version
+is 1.0.2 or higher via QSslSocket API. While it would be sufficient to
+add guards just there, we are not going to enable HTTP/2 for QT_NO_SSL
+case by default anyway (note that it still can be done in application code).
+
+Change-Id: I77b4a423ff1028725ac2c0953c757dce2db23e05
+---
+Upstream-Status: Backport [https://github.com/qtwebkit/qtwebkit/commit/e7ec14144ce58418d94568c41ac94d4d87969363]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ Source/WebCore/platform/network/qt/ResourceRequest.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/network/qt/ResourceRequest.h b/Source/WebCore/platform/network/qt/ResourceRequest.h
+index 1154d56a0..87e21ec3f 100644
+--- a/Source/WebCore/platform/network/qt/ResourceRequest.h
++++ b/Source/WebCore/platform/network/qt/ResourceRequest.h
+@@ -32,7 +32,7 @@
+ // HTTP/2 is implemented since Qt 5.8, but various QtNetwork bugs make it unusable in browser with Qt < 5.10.1
+ // We also don't enable HTTP/2 for unencrypted connections because of possible compatibility issues; it can be
+ // enabled manually by user application via custom QNAM subclass
+-#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 1)
++#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 1) && !defined(QT_NO_SSL)
+ #define USE_HTTP2 1
+ #endif
+
+--
+2.29.2
+
diff --git a/recipes-qt/qt5/qtwebkit/0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch b/recipes-qt/qt5/qtwebkit/0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch
new file mode 100644
index 00000000..4eef3451
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit/0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch
@@ -0,0 +1,32 @@
+From df9f6a8c9d59996b52bfdc5ea6f780de517905e5 Mon Sep 17 00:00:00 2001
+From: Konstantin Tokarev <annulen@yandex.ru>
+Date: Wed, 3 Jun 2020 15:01:42 +0300
+Subject: [PATCH] Fix compilation with Python 3.9: avoid passing encoding to
+ json.load()
+
+In Python 2.7 UTF-8 is assumed by default, while in Python 3 this argument
+is not supported.
+
+Upstream-Status: Backport [https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd]
+Change-Id: Ic459d60a6b20bc1838d8771bc36ac41614fe61a9
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/JavaScriptCore/generate-bytecode-files | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/JavaScriptCore/generate-bytecode-files b/Source/JavaScriptCore/generate-bytecode-files
+index c5dab429c..af3431275 100644
+--- a/Source/JavaScriptCore/generate-bytecode-files
++++ b/Source/JavaScriptCore/generate-bytecode-files
+@@ -163,7 +163,7 @@ if __name__ == "__main__":
+ initBytecodesFile = openOrExit(initASMFileName, "w")
+
+ try:
+- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8")
++ bytecodeSections = json.load(bytecodeFile)
+ except:
+ print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info()))
+
+--
+2.29.2
+
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb
index 253c209b..a10346f4 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -17,6 +17,9 @@ SRC_URI += "\
file://0003-Fix-build-bug-for-armv32-BE.patch \
file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \
file://0005-Riscv-Add-support-for-riscv.patch \
+ file://0006-Fix-build-with-bison37.patch \
+ file://0007-Disable-code-related-to-HTTP-2-when-Qt-is-configured.patch \
+ file://0008-Fix-compilation-with-Python-3.9-avoid-passing-encodi.patch \
"
inherit cmake_qt5 perlnative