diff options
author | Mikko Gronoff <mikko.gronoff@qt.io> | 2017-10-18 11:06:26 +0300 |
---|---|---|
committer | Mikko Gronoff <mikko.gronoff@qt.io> | 2017-10-31 13:41:46 +0200 |
commit | 2401cc3106e6f6e1d9c2a3016110cfa914a13dab (patch) | |
tree | 91ff16b8128511bfe449f54977c4fb3f3511647d /recipes-qt/qt5 | |
parent | f3213460a0495cac618d37bcbe59fddd58b6d65d (diff) | |
parent | e0db5666f9c04c92683514ca220b0aafd0a49df2 (diff) |
Merge remote-tracking branch 'qtyocto/5.9' into 5.10
* qtyocto/5.9:
qt5: update version to 5.9.3
qt5: remove use of OE_QMAKE_WAYLAND_SCANNER
qtquickcontrols: remove duplicate FILES append
qtdeclarative: remove upstreamed patch
qt5: update qtx11extras revision for 5.9.2
qt5: update submodules
qt5: update submodules
Merge remote-tracking branch 'qtyocto/upstream/master' into 5.9
qt5: add missing commercial license
Fix compiling for qtenginio and qtquick1
Use correct HostPrefix
qt5: update submodules
qtwebview: remove obsolete patch
qt5: update submodules
qtwebengine: add patch for long paths
qtwebengine: update 0004-Force-host-toolchain-configuration.patch
qtwebengine: fix build with glibc-2.26
qt: upgrade to latest revision in 5.9 branch
qt: refresh remaining patches and add links to meta-qt5 repos
qtwebengine: add a fix for building demobrowser without printing support
Upgrade to Qt 5.9.0
qtbase, qtgraphicaleffect, qtmultimedia, qtscript, qtlocation, qtwayland: disable gold to work around binutils bug
qtwebengine: disable SECURITY_STRINGFORMAT to fix the build
meta-toolchain-qt5: don't rely on COREBASE/LICENSE
qtbase: fix Krogoth build regression from efa8aaf
qt3d: refresh patches
qtwebengine: refresh patches
qtbase: refresh the patches
qtwebengine: update to 5.9.2
qt5: bump version number to 5.9.2
qtbase: fix Krogoth build regression from efa8aaf
gstreamer1.0-plugins-bad: add qt5 packageconfig
qtbase: remove qtbase-native from DEPENDS
qt3d: Fix build with clang
qtwebkit: Backport a patch to fix build with icu-59
quazip: update to 0.7.3 and add missing metadata
qtbase: Use sched_yield instead of pthread_yield
qtbase: Fix ptests with clang
qt5-ptest: fix build with yocto < 2.3 (pyro)
qtbase: add ptest
qwt-qt5.inc: fix QA warning
qt5-git.inc: set CVE_PRODUCT to qt
python-pyqt5: include QtWidgets module
qt5-creator: Link with libexecinfo on musl
qtvirtualkeyboard: Include sys/time.h
qtwebengine: Fix build on musl
qt5-creator: Fix build with NO_ACCESSIBILITY
maliit-framework-qt5: Always have optimize flags
qtbase-native: Fix qdbuscpp2xml segfault
qt5-ptest.inc: append do_populate_sysroot only for target
qtwebengine: fix build with gcc7
qwt-qt5: Fix rpath issues
qtquickcontrols2: fix compilation of examples/texteditor
qtquick1: add ptest
qtdeclarative: add ptest
qtxmlpatterns: add ptest
qt5: add qt5-ptest.inc
qtwebengine: add PACKAGECONFIG for webrtc
libconnman-qt5: update to 1.1.10
Revert "qttools: DEPENDS on icu"
qttools: DEPENDS on icu
qtbase: respect "ld-is-gold" DISTRO_FEATURES
Change-Id: I9dfcab3c94b62b22b68e66e8b13bdf4c570aada1
Diffstat (limited to 'recipes-qt/qt5')
83 files changed, 1255 insertions, 264 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 38dd5283..f3402edb 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -25,18 +25,24 @@ require qt5-git.inc FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" # common for qtbase-native, qtbase-nativesdk and qtbase +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-shared +# 5.9.meta-qt5-shared.2 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ - file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ - file://0005-configure-bump-path-length-from-256-to-512-character.patch \ - file://0009-Disable-all-unknown-features-instead-of-erroring-out.patch \ - file://0010-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ + file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ + file://0004-configure-bump-path-length-from-256-to-512-character.patch \ + 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 \ " # common for qtbase-native and nativesdk-qtbase +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-native +# 5.9.meta-qt5-native.2 SRC_URI += " \ - file://0011-Always-build-uic.patch \ + file://0009-Always-build-uic.patch \ " # CMake's toolchain configuration of nativesdk-qtbase @@ -93,7 +99,7 @@ OE_QMAKE_PATH_HOST_LIBS = "${libdir}" # for qtbase configuration we need default settings # since we cannot set empty set filename to a not existent file -export OE_QMAKE_QTCONF_PATH = "foodummy" +deltask generate_qt_config_file do_configure() { ${S}/configure -v \ 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 248fb473..3b0a9adb 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,4 +1,4 @@ -From b3fbc6be8844cf2eb8a47d39b1b7ce8016ce5d52 Mon Sep 17 00:00:00 2001 +From 7cb46d20ad89f37828ff9f96363a112eadf11dbd Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@theqtcompany.com> Date: Wed, 10 Feb 2016 09:02:09 +0200 Subject: [PATCH] Allow a tools-only build @@ -11,7 +11,7 @@ Change-Id: I4de6b96ec51fe297a0eeb757cef56d8fb40bd6f0 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/qt3d.pro b/qt3d.pro -index 2cc347a..81cdeef 100644 +index 2cc347a1c..81cdeefb0 100644 --- a/qt3d.pro +++ b/qt3d.pro @@ -1,4 +1,4 @@ @@ -30,7 +30,7 @@ index 2cc347a..81cdeef 100644 + SUBDIRS = sub_tools +} diff --git a/src/3rdparty/assimp/assimp_dependency.pri b/src/3rdparty/assimp/assimp_dependency.pri -index 8ba2d9a..e973d93 100644 +index 8ba2d9a41..e973d93dd 100644 --- a/src/3rdparty/assimp/assimp_dependency.pri +++ b/src/3rdparty/assimp/assimp_dependency.pri @@ -1,5 +1,5 @@ @@ -41,7 +41,7 @@ index 8ba2d9a..e973d93 100644 } else { include(assimp.pri) diff --git a/tools/tools.pro b/tools/tools.pro -index 8e973ae..ad51db5 100644 +index 8e973aecb..ad51db585 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -1,4 +1,4 @@ diff --git a/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch b/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch new file mode 100644 index 00000000..1f2f682f --- /dev/null +++ b/recipes-qt/qt5/qt3d/0002-Fix-BlenderDNA-for-clang-cross-compiler.patch @@ -0,0 +1,44 @@ +From 99fb23c0258ed0dacb03dc2eb57792c42b33316f Mon Sep 17 00:00:00 2001 +From: Kim Kulling <kim.kulling@googlemail.com> +Date: Mon, 7 Nov 2016 17:19:49 +0100 +Subject: [PATCH] Fix BlenderDNA for clang cross compiler. + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/3rdparty/assimp/code/BlenderDNA.cpp | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/3rdparty/assimp/code/BlenderDNA.cpp b/src/3rdparty/assimp/code/BlenderDNA.cpp +index 18ec9f2b4..5b0b2090f 100644 +--- a/src/3rdparty/assimp/code/BlenderDNA.cpp ++++ b/src/3rdparty/assimp/code/BlenderDNA.cpp +@@ -55,10 +55,10 @@ using namespace Assimp::Formatter; + + bool match4(StreamReaderAny& stream, const char* string) { + char tmp[] = { +- (stream).GetI1(), +- (stream).GetI1(), +- (stream).GetI1(), +- (stream).GetI1() ++ (const char)(stream).GetI1(), ++ (const char)(stream).GetI1(), ++ (const char)(stream).GetI1(), ++ (const char)(stream).GetI1() + }; + return (tmp[0]==string[0] && tmp[1]==string[1] && tmp[2]==string[2] && tmp[3]==string[3]); + } +@@ -345,10 +345,10 @@ void SectionParser :: Next() + stream.SetCurrentPos(current.start + current.size); + + const char tmp[] = { +- stream.GetI1(), +- stream.GetI1(), +- stream.GetI1(), +- stream.GetI1() ++ (const char)stream.GetI1(), ++ (const char)stream.GetI1(), ++ (const char)stream.GetI1(), ++ (const char)stream.GetI1() + }; + current.id = std::string(tmp,tmp[3]?4:tmp[2]?3:tmp[1]?2:1); + diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index bd97556a..9c1da93e 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "LGPL-3.0 | GPL-2.0" +LICENSE = "LGPL-3.0 | GPL-2.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=8211fde12cc8a4e2477602f5953f5b71 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ @@ -11,8 +11,11 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" DEPENDS_class-target += "qtdeclarative qt3d-native" +# Patches from https://github.com/meta-qt5/qt3d/commits/b5.9 +# 5.9.meta-qt5.2 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ + file://0002-Fix-BlenderDNA-for-clang-cross-compiler.patch \ " PACKAGECONFIG ??= "" diff --git a/recipes-qt/qt5/qt5-creator/0001-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch b/recipes-qt/qt5/qt5-creator/0001-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch new file mode 100644 index 00000000..9e90bab7 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0001-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch @@ -0,0 +1,38 @@ +From 429347dda56a4d45dc03fee2362eb02294161bfd Mon Sep 17 00:00:00 2001 +From: Eike Ziller <eike.ziller@qt.io> +Date: Fri, 24 Jun 2016 10:23:24 +0200 +Subject: [PATCH] Fix compilation with QT_NO_ACCESSIBILITY + +Task-number: QTCREATORBUG-16446 +Change-Id: If75122c23a697f26ccf56391fe2e8d316aad6367 +Reviewed-by: hjk <hjk@theqtcompany.com> +--- + src/libs/utils/fancymainwindow.cpp | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/libs/utils/fancymainwindow.cpp b/src/libs/utils/fancymainwindow.cpp +index 9477f17..1ee425f 100644 +--- a/src/libs/utils/fancymainwindow.cpp ++++ b/src/libs/utils/fancymainwindow.cpp +@@ -159,13 +159,16 @@ public: + + m_floatButton = new DockWidgetTitleButton(this); + m_floatButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarNormalButton, &opt, q)); +- m_floatButton->setAccessibleName(QDockWidget::tr("Float")); +- m_floatButton->setAccessibleDescription(QDockWidget::tr("Undocks and re-attaches the dock widget")); + + m_closeButton = new DockWidgetTitleButton(this); + m_closeButton->setIcon(q->style()->standardIcon(QStyle::SP_TitleBarCloseButton, &opt, q)); ++ ++#ifndef QT_NO_ACCESSIBILITY ++ m_floatButton->setAccessibleName(QDockWidget::tr("Float")); ++ m_floatButton->setAccessibleDescription(QDockWidget::tr("Undocks and re-attaches the dock widget")); + m_closeButton->setAccessibleName(QDockWidget::tr("Close")); + m_closeButton->setAccessibleDescription(QDockWidget::tr("Closes the dock widget")); ++#endif + + setActive(false); + +-- +2.13.2 + diff --git a/recipes-qt/qt5/qt5-creator/0001-Qmlpuppet-add-missing-includes.patch b/recipes-qt/qt5/qt5-creator/0001-Qmlpuppet-add-missing-includes.patch new file mode 100644 index 00000000..8c1311e4 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/0001-Qmlpuppet-add-missing-includes.patch @@ -0,0 +1,41 @@ +From 51088a424416a8ca5cdf5161b792ac5e8a01f749 Mon Sep 17 00:00:00 2001 +From: Marco Benelli <marco.benelli@qt.io> +Date: Thu, 6 Jul 2017 09:31:41 +0200 +Subject: [PATCH] Qmlpuppet: add missing includes + +Task-number: QTCREATORBUG-18498 +Change-Id: Ie40a066508bb52f53b8ad528f9d4cf6969fc0632 +Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> +--- + .../qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp | 2 ++ + .../qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp +index 3f9f148..160e5c4 100644 +--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp ++++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/layoutnodeinstance.cpp +@@ -29,6 +29,8 @@ + ****************************************************************************/ + #include "layoutnodeinstance.h" + ++#include <QCoreApplication> ++ + namespace QmlDesigner { + namespace Internal { + +diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +index 5a9342f..bacbc12 100644 +--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp ++++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +@@ -33,6 +33,7 @@ + #include <enumeration.h> + #include <qmlprivategate.h> + ++#include <QDebug> + #include <QEvent> + #include <QQmlContext> + #include <QQmlError> +-- +2.13.2 + diff --git a/recipes-qt/qt5/qt5-creator/musl-backtrace.patch b/recipes-qt/qt5/qt5-creator/musl-backtrace.patch new file mode 100644 index 00000000..fc7f86c2 --- /dev/null +++ b/recipes-qt/qt5/qt5-creator/musl-backtrace.patch @@ -0,0 +1,18 @@ +Index: qt-creator-opensource-src-3.5.1/src/plugins/debugger/debugger.pro +=================================================================== +--- qt-creator-opensource-src-3.5.1.orig/src/plugins/debugger/debugger.pro ++++ qt-creator-opensource-src-3.5.1/src/plugins/debugger/debugger.pro +@@ -148,3 +148,4 @@ include(qml/qml.pri) + include(namedemangler/namedemangler.pri) + + include(shared/shared.pri) ++LIBS *= -lexecinfo +Index: qt-creator-opensource-src-3.5.1/src/plugins/qmldesigner/config.pri +=================================================================== +--- qt-creator-opensource-src-3.5.1.orig/src/plugins/qmldesigner/config.pri ++++ qt-creator-opensource-src-3.5.1/src/plugins/qmldesigner/config.pri +@@ -9,3 +9,4 @@ equals(TMP_BAUHAUS_NO_OUTPUT, true):DEFI + DEFINES += ENABLE_TEXT_VIEW + + isEmpty($$(BAUHAUS_OUTPUT_IN_TEST)):DEFINES += QDEBUG_IN_TESTS WARNINGS_IN_TESTS ++LIBS *= -lexecinfo diff --git a/recipes-qt/qt5/qt5-creator_3.5.1.bb b/recipes-qt/qt5/qt5-creator_3.5.1.bb index f4ba8580..786b2024 100644 --- a/recipes-qt/qt5/qt5-creator_3.5.1.bb +++ b/recipes-qt/qt5/qt5-creator_3.5.1.bb @@ -17,12 +17,19 @@ LIC_FILES_CHKSUM = " \ inherit qmake5 DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg qtquick1" +DEPENDS_append_libc-musl = " libexecinfo" SRC_URI = " \ http://download.qt.io/official_releases/qtcreator/3.5/${PV}/qt-creator-opensource-src-${PV}.tar.gz \ file://0001-Fix-Allow-qt-creator-to-build-on-arm-aarch32-and-aar.patch \ + file://0001-Fix-compilation-with-QT_NO_ACCESSIBILITY.patch \ + file://0001-Qmlpuppet-add-missing-includes.patch \ file://qtcreator.desktop.in \ " + +SRC_URI_append_libc-musl = " file://musl-backtrace.patch " + + SRC_URI[md5sum] = "77aef7df837eba07c7ce6037ee504c05" SRC_URI[sha256sum] = "5925ac818a08be919094e0f28fb4c5d8896765e0975d54d353e4c50f13d63e65" @@ -30,6 +37,7 @@ S = "${WORKDIR}/qt-creator-opensource-src-${PV}" EXTRA_QMAKEVARS_PRE += "IDE_LIBRARY_BASENAME=${baselib}${QT_DIR_NAME}" +LDFLAGS_append_libc-musl = " -lexecinfo " do_configure_append() { # Find native tools sed -i 's:${STAGING_BINDIR}.*/lrelease:${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease:g' ${B}/share/qtcreator/translations/Makefile diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc index c17b2bbb..a613d1e1 100644 --- a/recipes-qt/qt5/qt5-git.inc +++ b/recipes-qt/qt5/qt5-git.inc @@ -1,5 +1,5 @@ # Copyright (C) 2012-2016 O.S. Systems Software LTDA. -# Copyright (C) 2013-2016 Martin Jansa <martin.jansa@gmail.com> +# Copyright (C) 2013-2017 Martin Jansa <martin.jansa@gmail.com> QT_MODULE ?= "${BPN}" QT_MODULE_BRANCH ?= "5.10" @@ -10,6 +10,8 @@ SRC_URI = " \ ${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL} \ " +CVE_PRODUCT = "qt" + S = "${WORKDIR}/git" PV = "5.10.0+git${SRCPV}" diff --git a/recipes-qt/qt5/qt5-ptest.inc b/recipes-qt/qt5/qt5-ptest.inc new file mode 100644 index 00000000..4844878a --- /dev/null +++ b/recipes-qt/qt5/qt5-ptest.inc @@ -0,0 +1,62 @@ +SRC_URI += "file://run-ptest" + +inherit ptest + +addtask do_populate_sysroot after do_install before do_compile_ptest_base +deltask do_compile_ptest_base +addtask do_compile_ptest_base after do_populate_sysroot before do_install_ptest +addtask do_install_ptest after do_compile_ptest_base before do_package + +do_compile_ptest() { + cd ${S}/tests + qmake -o Makefile tests.pro + oe_runmake +} + +do_populate_sysroot_append_class-target() { + workdir = d.getVar('WORKDIR', True) + srcdir = workdir + '/sysroot-destdir/usr/' + destdir = workdir + '/recipe-sysroot/usr/' + + def copyFiles(sourceDir, targetDir, filelist): + for file in os.listdir(sourceDir): + sourceFile = os.path.join(sourceDir, file) + targetFile = os.path.join(targetDir, file) + filelist.append(targetFile) #record the file list + if os.path.isfile(sourceFile): + if not os.path.exists(targetDir): + os.makedirs(targetDir) + if not os.path.exists(targetFile) or(os.path.exists(targetFile) and (os.path.getsize(targetFile) != os.path.getsize(sourceFile))): + open(targetFile, "wb").write(open(sourceFile, "rb").read()) + if os.path.isdir(sourceFile): + First_Directory = False + copyFiles(sourceFile, targetFile, filelist) + + if os.path.exists(destdir): + Tmpfilelist = [] + copyFiles(srcdir, destdir, Tmpfilelist) + + fp=open(workdir + '/filelist', 'w') + for i in Tmpfilelist: + fp.write(i) + fp.write("\n") + fp.close() +} + +fakeroot do_install_ptest() { + mkdir -p ${D}${PTEST_PATH} + t=${D}${PTEST_PATH} + for var in ` find ${S}/tests/auto/ -name tst_*`; do + if [ -z ` echo ${var##*/} | grep '\.'` ]; then + echo ${var##*/} >> ${t}/tst_list + install -m 0644 ${var} ${t} + fi + done + for file in `cat ${WORKDIR}/filelist`; do + if [ -f $file ]; then + rm -f $file + fi + done + rm -f ${WORKDIR}/filelist +} + diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index e4667dd1..b0435ba9 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -20,20 +20,25 @@ require qt5-native.inc require qt5-git.inc # common for qtbase-native, qtbase-nativesdk and qtbase +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-shared +# 5.9.meta-qt5-shared.2 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ - file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ - file://0005-configure-bump-path-length-from-256-to-512-character.patch \ - file://0009-Disable-all-unknown-features-instead-of-erroring-out.patch \ - file://0010-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ + file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ + file://0004-configure-bump-path-length-from-256-to-512-character.patch \ + 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 \ " # common for qtbase-native and nativesdk-qtbase +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-native +# 5.9.meta-qt5-native.2 SRC_URI += " \ - file://0011-Always-build-uic.patch \ - file://0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch \ file://0001-Disable-unnamed-tmp-files.patch \ + file://0009-Always-build-uic.patch \ " CLEANBROKEN = "1" @@ -80,7 +85,7 @@ PACKAGECONFIG_CONFARGS = " \ # for qtbase configuration we need default settings # since we cannot set empty set filename to a not existent file -export OE_QMAKE_QTCONF_PATH = "foodummy" +deltask generate_qt_config_file do_configure_prepend() { # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" 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 df2016e1..4d555bec 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 2784921c40d0b523c75e613e48b7fd1e90ba3ef1 Mon Sep 17 00:00:00 2001 +From 85da054ff867fbf1a4c10e3f1cad782123ffdfe4 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 @@ -23,17 +23,17 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> configure | 2 +- mkspecs/features/configure.prf | 4 ++-- mkspecs/features/qt_functions.prf | 2 +- - mkspecs/linux-oe-g++/qmake.conf | 43 ++++++++++++++++++++++++++++++++++++ + mkspecs/linux-oe-g++/qmake.conf | 42 ++++++++++++++++++++++++++++++++++++ mkspecs/linux-oe-g++/qplatformdefs.h | 1 + - 5 files changed, 48 insertions(+), 4 deletions(-) + 5 files changed, 47 insertions(+), 4 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 789ba4c..59cce01 100755 +index 08b49a8d12..5876721743 100755 --- a/configure +++ b/configure -@@ -1624,7 +1624,7 @@ fi +@@ -712,7 +712,7 @@ fi # is where the resulting variable is written to setBootstrapVariable() { @@ -43,10 +43,10 @@ index 789ba4c..59cce01 100755 # build qmake diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf -index f275e3a..5aa15f5 100644 +index 934a18a924..0f5b1b6333 100644 --- a/mkspecs/features/configure.prf +++ b/mkspecs/features/configure.prf -@@ -37,14 +37,14 @@ defineTest(qtCompileTest) { +@@ -46,14 +46,14 @@ defineTest(qtCompileTest) { } # Clean up after previous run @@ -64,10 +64,10 @@ index f275e3a..5aa15f5 100644 msg = "test $$1 succeeded" write_file($$QMAKE_CONFIG_LOG, msg, append) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 708815d..097ac49 100644 +index c00fdb73f8..0cf4de7b49 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -67,7 +67,7 @@ defineTest(qtHaveModule) { +@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { @@ -78,10 +78,10 @@ index 708815d..097ac49 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..c1837e6 +index 0000000..30d31ed --- /dev/null +++ b/mkspecs/linux-oe-g++/qmake.conf -@@ -0,0 +1,43 @@ +@@ -0,0 +1,42 @@ +# +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded +# @@ -95,7 +95,6 @@ index 0000000..c1837e6 +# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip +QMAKE_AR = $$(OE_QMAKE_AR) cqs +QMAKE_STRIP = $$(OE_QMAKE_STRIP) -+QMAKE_WAYLAND_SCANNER = $$(OE_QMAKE_WAYLAND_SCANNER) + +include(../common/gcc-base-unix.conf) + @@ -127,7 +126,7 @@ index 0000000..c1837e6 +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 4ab47247..b67a7ef1 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 f49d55a883369dee488cc59feda29c770a803458 Mon Sep 17 00:00:00 2001 +From b6d5179ad7c907bc3343bcf3586cef6226d0c8ed Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Sat, 6 Apr 2013 13:15:07 +0200 Subject: [PATCH] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS @@ -19,7 +19,7 @@ Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index 545b9a3..c991a9b 100644 +index 545b9a3d1e..c991a9ba41 100644 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in @@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake) @@ -50,7 +50,7 @@ index 545b9a3..c991a9b 100644 _qt5_Core_check_file_exists(${imported_location}) diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in -index 1d94715..301af8f 100644 +index 1d947159e2..301af8f1b2 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 1d94715..301af8f 100644 _qt5_DBus_check_file_exists(${imported_location}) diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in -index 99d87e2..5621dc0 100644 +index 99d87e2e46..5621dc0fae 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/0002-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 4b72ebf1..ae06ea6f 100644 --- a/recipes-qt/qt5/qtbase/0002-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 e5f8607cfa1d2bcc798686cdf7c87ea0c6577d30 Mon Sep 17 00:00:00 2001 +From 8cf43041691140faf5f56b42bebfa00d8ebc8da6 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 @@ -19,10 +19,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 27fe10a..29ffcda 100644 +index b4ba0b5b2e..11d4c00f39 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp -@@ -164,7 +164,10 @@ void QLibrarySettings::load() +@@ -172,7 +172,10 @@ void QLibrarySettings::load() QSettings *QLibraryInfoPrivate::findConfiguration() { #ifdef QT_BUILD_QMAKE @@ -34,5 +34,3 @@ index 27fe10a..29ffcda 100644 if (QFile::exists(qtconfig)) return new QSettings(qtconfig, QSettings::IniFormat); #else --- -2.9.3 diff --git a/recipes-qt/qt5/qtbase/0005-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 7c80c6b9..8ef4f61c 100644 --- a/recipes-qt/qt5/qtbase/0005-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 c8f856115df0f5be64dfbeef0c1e9a4f02ba161a Mon Sep 17 00:00:00 2001 +From f02c4f742e90023e87d148bda48401b11815d8ba 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 @@ -15,10 +15,10 @@ Signed-off-by: Denys Dmytriyenko <denys@ti.com> 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.pri b/configure.pri -index efd0f81..5a027fe 100644 +index 76bb27e4ae..9ac81027c9 100644 --- a/configure.pri +++ b/configure.pri -@@ -837,10 +837,10 @@ defineTest(qtConfOutput_preparePaths) { +@@ -796,10 +796,10 @@ defineTest(qtConfOutput_preparePaths) { "static const char qt_configure_installation [12+11] = \"qt_instdate=2012-12-20\";" \ "" \ "/* Installation Info */" \ diff --git a/recipes-qt/qt5/qtbase/0009-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 cb9de793..610299d2 100644 --- a/recipes-qt/qt5/qtbase/0009-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,4 +1,4 @@ -From 9eb81e3bdeda4f90e5f2942400aef38b51a356bd Mon Sep 17 00:00:00 2001 +From 3114a9cd19b15f6b5ca99c4ce961ae5b80bfb3ab 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 @@ -10,10 +10,10 @@ Change-Id: Ib884fe33cac74439f9592b145937f6b75ced8447 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf -index e8fa0c6..0ca5670 100644 +index afeb4f3d1d..aec5253c25 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf -@@ -1009,7 +1009,8 @@ defineReplace(qtConfEvaluateSingleExpression) { +@@ -1235,7 +1235,8 @@ defineReplace(qtConfEvaluateSingleExpression) { error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.") return($$result) } @@ -23,6 +23,3 @@ index e8fa0c6..0ca5670 100644 } !qtConfCheckFeature($$feature): \ error("Expression '$$1' is accessing non-emitted feature $${feature}.") --- -1.9.1 - diff --git a/recipes-qt/qt5/qtbase/0010-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 1d0ea3e8..eaa5da84 100644 --- a/recipes-qt/qt5/qtbase/0010-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 b397a71531e31383ee86135e21072d033480f5bc Mon Sep 17 00:00:00 2001 +From 515acdcfe158982f31b31e410bbedb3db94bea1c Mon Sep 17 00:00:00 2001 From: Pascal Bach <pascal.bach@siemens.com> Date: Wed, 11 May 2016 15:20:41 +0200 Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS @@ -30,7 +30,7 @@ Signed-off-by: Pascal Bach <pascal.bach@siemens.com> 2 files changed, 10 insertions(+) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index d2358ca..feb73c0 100644 +index 55c74aad66..f9ec328c83 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -9,6 +9,11 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) @@ -46,7 +46,7 @@ index d2358ca..feb73c0 100644 !!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") diff --git a/src/corelib/Qt5Config.cmake.in b/src/corelib/Qt5Config.cmake.in -index a872d0e..233d663 100644 +index 75b53485b7..ed31888c93 100644 --- a/src/corelib/Qt5Config.cmake.in +++ b/src/corelib/Qt5Config.cmake.in @@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 2.8.9) diff --git a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch new file mode 100644 index 00000000..4d3e4b6e --- /dev/null +++ b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch @@ -0,0 +1,25 @@ +From 6875848e2250ef439115ff2063713ce7bfb9597d 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> +--- + tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro b/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro +index 09458bd9c3..59a120eb26 100644 +--- a/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro ++++ b/tests/auto/corelib/thread/qatomicinteger/qatomicinteger.pro +@@ -5,10 +5,8 @@ SUBDIRS=\ + char32_t \ + int \ + long \ +- qlonglong \ + qptrdiff \ + quintptr \ +- qulonglong \ + schar \ + short \ + uchar \ 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 new file mode 100644 index 00000000..14074fb4 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch @@ -0,0 +1,60 @@ +From 66da19d96d9a6ea9142df8fcbc0c3b7d960ee6b9 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 f9ddd59aaa..2f92db983d 100644 +--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp ++++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +@@ -34,7 +34,7 @@ + #include "tst_qvariant_common.h" + + #ifdef Q_OS_LINUX +-# include <pthread.h> ++# include <sched.h> + #endif + + #include <algorithm> +@@ -197,7 +197,7 @@ protected: + const char *nm = name.constData(); + int tp = qRegisterMetaType<Bar>(nm); + #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) +- pthread_yield(); ++ sched_yield(); + #endif + QMetaType info(tp); + if (!info.isValid()) { +diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +index 7340817ade..f34162a105 100644 +--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp ++++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +@@ -77,6 +77,7 @@ + #include <stdlib.h> + #include <sys/stat.h> + #include <unistd.h> ++#include <sched.h> + #endif + + #include "private/qhostinfo_p.h" +@@ -2131,8 +2132,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/0011-Always-build-uic.patch b/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch index 8ca2c8c4..8ca2c8c4 100644 --- a/recipes-qt/qt5/qtbase/0011-Always-build-uic.patch +++ b/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch diff --git a/recipes-qt/qt5/qtbase/0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch b/recipes-qt/qt5/qtbase/0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch deleted file mode 100644 index 9c5f8fef..00000000 --- a/recipes-qt/qt5/qtbase/0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 9bd7ad277698be81db2af1a86d5b4efad5818203 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> -Date: Mon, 6 Mar 2017 11:50:38 +0100 -Subject: [PATCH] qdbuscpp2xml.pro: do not build with bootstrapped - dependenciies -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Change-Id: I14e9b9a2bb4aca08d408c8aa76a2c58b54e74e7d -Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> ---- - src/src.pro | 9 ++------- - src/tools/qdbuscpp2xml/qdbuscpp2xml.pro | 1 + - src/tools/qdbusxml2cpp/qdbusxml2cpp.pro | 1 + - 3 files changed, 4 insertions(+), 7 deletions(-) - -diff --git a/src/src.pro b/src/src.pro -index a2064b1..d6f05e0 100644 ---- a/src/src.pro -+++ b/src/src.pro -@@ -4,9 +4,6 @@ QT_FOR_CONFIG += gui-private - include($$OUT_PWD/corelib/qtcore-config.pri) - include($$OUT_PWD/gui/qtgui-config.pri) - --force_bootstrap|!qtConfig(commandlineparser): \ -- CONFIG += force_dbus_bootstrap -- - src_qtzlib.file = $$PWD/corelib/qtzlib.pro - src_qtzlib.target = sub-zlib - -@@ -41,13 +38,11 @@ src_tools_bootstrap_dbus.depends = src_tools_bootstrap - - src_tools_qdbusxml2cpp.subdir = tools/qdbusxml2cpp - src_tools_qdbusxml2cpp.target = sub-qdbusxml2cpp --force_dbus_bootstrap: src_tools_qdbusxml2cpp.depends = src_tools_bootstrap_dbus --else: src_tools_qdbusxml2cpp.depends = src_dbus -+src_tools_qdbusxml2cpp.depends = src_dbus - - src_tools_qdbuscpp2xml.subdir = tools/qdbuscpp2xml - src_tools_qdbuscpp2xml.target = sub-qdbuscpp2xml --force_bootstrap: src_tools_qdbuscpp2xml.depends = src_tools_bootstrap_dbus --else: src_tools_qdbuscpp2xml.depends = src_dbus -+src_tools_qdbuscpp2xml.depends = src_dbus - - src_tools_qvkgen.subdir = tools/qvkgen - src_tools_qvkgen.target = sub-qvkgen -diff --git a/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro b/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro -index 5ac3159..65de97e 100644 ---- a/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro -+++ b/src/tools/qdbuscpp2xml/qdbuscpp2xml.pro -@@ -1,5 +1,6 @@ - option(host_build) - QT = core-private -+CONFIG -= force_bootstrap - force_bootstrap: QT += bootstrap_dbus-private - else: QT += dbus-private - DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_FOREACH -diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro b/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro -index 95fcbcb..d1ebdde 100644 ---- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro -+++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.pro -@@ -5,6 +5,7 @@ option(host_build) - CONFIG += force_bootstrap - } - QT = core-private -+CONFIG -= force_bootstrap - force_bootstrap: QT += bootstrap_dbus-private - else: QT += dbus-private - DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_FOREACH diff --git a/recipes-qt/qt5/qtbase/run-ptest b/recipes-qt/qt5/qtbase/run-ptest new file mode 100644 index 00000000..044f834d --- /dev/null +++ b/recipes-qt/qt5/qtbase/run-ptest @@ -0,0 +1,6 @@ +#!/bin/sh + +for x in ` awk '{print $1}' tst_list `;do + ./${x}; +done + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index a95c17a4..6aa8c160 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -15,22 +15,49 @@ LIC_FILES_CHKSUM = " \ " # common for qtbase-native, qtbase-nativesdk and qtbase +# Patches from https://github.com/meta-qt5/qtbase/commits/b5.9-shared +# 5.9.meta-qt5-shared.2 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ - file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ - file://0005-configure-bump-path-length-from-256-to-512-character.patch \ - file://0009-Disable-all-unknown-features-instead-of-erroring-out.patch \ - file://0010-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch \ - " + file://0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \ + file://0004-configure-bump-path-length-from-256-to-512-character.patch \ + 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://run-ptest \ +" -DEPENDS += "qtbase-native" +inherit ptest # LGPL-3.0 is used only in src/plugins/platforms/android/extract.cpp # for syncqt RDEPENDS_${PN}-tools += "perl" +# workaround for gold bug: +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842304 +# https://sourceware.org/bugzilla/show_bug.cgi?id=21712 +# it's triggered only in combination of gold and security_flags.inc, +# because security_flags.inc now enable pie by default. +# Adding -no-pie or changing -fuse-ld=gold to -fuse-ld=bfd +# works around this issue, will use -fuse-ld=bfd as it's considered +# binutils bug. +# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread +# .obj/tst_qmetatype.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file +# collect2: error: ld returned 1 exit status +# +# with -no-pie: +# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -no-pie -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread +# +# with -fuse-ld=gold replaced with -fuse-ld=bfd: +# OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=bfd -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread +# +# http://errors.yoctoproject.org/Errors/Details/150329/ +QT_CONFIG_FLAGS_GOLD_x86 = "-no-use-gold-linker" +LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + # separate some parts of PACKAGECONFIG which are often changed PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" PACKAGECONFIG_FB ?= "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" @@ -42,7 +69,7 @@ PACKAGECONFIG_DISTRO ?= "" PACKAGECONFIG_RELEASE ?= "release" # This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency # PACKAGECONFIG_OPENSSL ?= "openssl" -PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs freetype" +PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs freetype tests" PACKAGECONFIG ?= " \ ${PACKAGECONFIG_RELEASE} \ @@ -118,8 +145,9 @@ PACKAGECONFIG[libproxy] = "-libproxy,-no-libproxy,libproxy" PACKAGECONFIG[libinput] = "-libinput,-no-libinput,libinput" PACKAGECONFIG[journald] = "-journald,-no-journald,systemd" +QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)}" QT_CONFIG_FLAGS += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)} \ + ${QT_CONFIG_FLAGS_GOLD} \ -shared \ -silent \ -no-pch \ @@ -130,7 +158,7 @@ QT_CONFIG_FLAGS += " \ # for qtbase configuration we need default settings # since we cannot set empty set filename to a not existent file -export OE_QMAKE_QTCONF_PATH = "foodummy" +deltask generate_qt_config_file do_configure() { # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" during configuration @@ -164,12 +192,23 @@ do_configure() { ${QT_CONFIG_FLAGS} } +fakeroot do_install_ptest() { + mkdir -p ${D}${PTEST_PATH} + t=${D}${PTEST_PATH} + for var in ` find ${B}/tests/auto/ -name tst_*`; do + if [ not ` echo ${var##*/} | grep '\.'` ]; then + echo ${var##*/} >> ${t}/tst_list + install -m 0644 ${var} ${t} + fi + done +} + do_install_append() { # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" touch ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/oe-device-extra.pri # Replace host paths with qmake built-in properties - sed -i -e 's|${STAGING_DIR_NATIVE}${prefix_native}|$$[QT_HOST_PREFIX/get]|g' \ + sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \ -e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' \ ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/*.pri diff --git a/recipes-qt/qt5/qtcanvas3d_git.bb b/recipes-qt/qt5/qtcanvas3d_git.bb index 733608f3..55104c4c 100644 --- a/recipes-qt/qt5/qtcanvas3d_git.bb +++ b/recipes-qt/qt5/qtcanvas3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "LGPL-3.0 | GPL-3.0" +LICENSE = "LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \ diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb index 69c63e2c..e575bc6c 100644 --- a/recipes-qt/qt5/qtcharts_git.bb +++ b/recipes-qt/qt5/qtcharts_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GPL-3.0" +LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb index 555467f3..d27f5a1b 100644 --- a/recipes-qt/qt5/qtdatavis3d_git.bb +++ b/recipes-qt/qt5/qtdatavis3d_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GPL-3.0" +LICENSE = "GPL-3.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " diff --git a/recipes-qt/qt5/qtdeclarative/run-ptest b/recipes-qt/qt5/qtdeclarative/run-ptest new file mode 100644 index 00000000..6c3f522b --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh + +for x in ` awk '{print $1}' tst_list `;do + ./${x}; +done diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 8830ec50..afc38651 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -1,5 +1,6 @@ require qt5.inc require qt5-git.inc +require qt5-ptest.inc LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ diff --git a/recipes-qt/qt5/qtenginio_git.bb b/recipes-qt/qt5/qtenginio_git.bb index 8b4fb714..1fa8e826 100644 --- a/recipes-qt/qt5/qtenginio_git.bb +++ b/recipes-qt/qt5/qtenginio_git.bb @@ -14,4 +14,3 @@ DEPENDS += "qtbase qtdeclarative qtxmlpatterns" QT_MODULE_BRANCH = "dev" SRCREV = "0555cf73c8b5abd41d8a4ff02457315c9e7c667d" - diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb index d48e1134..20b30c1c 100644 --- a/recipes-qt/qt5/qtgraphicaleffects_git.bb +++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb @@ -3,15 +3,19 @@ require qt5-git.inc LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ + file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtdeclarative" 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)}" + SRCREV = "045174c411f89863165610c1f6135ef4bd3d0889" diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index 0755c60e..93b37f18 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | GPL-2.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ @@ -21,9 +21,13 @@ PACKAGECONFIG[geoservices_mapboxgl] = "-feature-geoservices_mapboxgl,-no-feature 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)}" + SRC_URI += " \ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=upstream/qt-staging;protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ - " +" SRCREV_qtlocation = "2b230b0a10d898979e9d5193f4da2e408b397fe3" SRCREV_qtlocation-mapboxgl = "1c633072fcea7ad153ab6f8ec40dd72d83541ead" diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index deefcaa6..e7d110c1 100644 --- a/recipes-qt/qt5/qtmultimedia_git.bb +++ b/recipes-qt/qt5/qtmultimedia_git.bb @@ -25,8 +25,14 @@ EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" # Disable GStreamer if completely disabled EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', '-no-gstreamer', d)}" +# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.9 +# 5.9.meta-qt5.2 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)}" + SRCREV = "951393508a5068bd999c3225158cbb06872d881c" diff --git a/recipes-qt/qt5/qtquick1/run-ptest b/recipes-qt/qt5/qtquick1/run-ptest new file mode 100644 index 00000000..044f834d --- /dev/null +++ b/recipes-qt/qt5/qtquick1/run-ptest @@ -0,0 +1,6 @@ +#!/bin/sh + +for x in ` awk '{print $1}' tst_list `;do + ./${x}; +done + diff --git a/recipes-qt/qt5/qtquick1_git.bb b/recipes-qt/qt5/qtquick1_git.bb index b8f09c95..9aa358b5 100644 --- a/recipes-qt/qt5/qtquick1_git.bb +++ b/recipes-qt/qt5/qtquick1_git.bb @@ -1,5 +1,6 @@ require qt5.inc require qt5-git.inc +require qt5-ptest.inc LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ @@ -23,4 +24,8 @@ do_configure_prepend() { } QT_MODULE_BRANCH = "dev" + +# one commit behind: +# 8a7b80eb Use QRandomGenerator instead of q?rand +# because QRandomGenerator is only since Qt 5.10 SRCREV = "9bf0edd9bd46ecb900bcdc3349d14869b87ab7de" diff --git a/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch b/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch index 85fcc158..2e644803 100644 --- a/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch +++ b/recipes-qt/qt5/qtquickcontrols/0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch @@ -1,4 +1,4 @@ -From fca6212d5ebc5851f28e820e4ff0ebe04a9d44d7 Mon Sep 17 00:00:00 2001 +From 3248edbde8859f62f453215876fbcb89dd788513 Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko <denys@ti.com> Date: Thu, 31 Mar 2016 19:57:01 -0400 Subject: [PATCH] texteditor: fix invalid use of incomplete type 'class QDebug' @@ -11,7 +11,7 @@ Signed-off-by: Denys Dmytriyenko <denys@ti.com> 1 file changed, 1 insertion(+) diff --git a/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp b/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp -index bdecf5b..811a761 100644 +index 69da88f0..9039191e 100644 --- a/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp +++ b/examples/quickcontrols/controls/texteditor/src/documenthandler.cpp @@ -54,6 +54,7 @@ diff --git a/recipes-qt/qt5/qtquickcontrols2_git.bb b/recipes-qt/qt5/qtquickcontrols2_git.bb index ac93db9a..2ce8b250 100644 --- a/recipes-qt/qt5/qtquickcontrols2_git.bb +++ b/recipes-qt/qt5/qtquickcontrols2_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0" +LICENSE = "GFDL-1.3 & BSD & LGPL-3.0 | GPL-3.0 | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.LGPLv3;md5=382747d0119037529ec2b98b24038eb0 \ diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb index b9499513..7bec39ac 100644 --- a/recipes-qt/qt5/qtquickcontrols_git.bb +++ b/recipes-qt/qt5/qtquickcontrols_git.bb @@ -20,6 +20,8 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \ " +# Patches from https://github.com/meta-qt5/qtquickcontrols/commits/b5.9 +# 5.9.meta-qt5.2 SRC_URI += " \ file://0001-texteditor-fix-invalid-use-of-incomplete-type-class-.patch \ " diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb index d430a359..7a539685 100644 --- a/recipes-qt/qt5/qtremoteobjects_git.bb +++ b/recipes-qt/qt5/qtremoteobjects_git.bb @@ -11,6 +11,8 @@ require qt5-git.inc DEPENDS += "qtbase qtdeclarative qtremoteobjects-native" +# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.9 +# 5.9.meta-qt5.2 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ " diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index 668a2f30..b0bddc78 100644 --- a/recipes-qt/qt5/qtscript_git.bb +++ b/recipes-qt/qt5/qtscript_git.bb @@ -25,4 +25,8 @@ 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)}" + SRCREV = "3d44bf7ce2a45d461f1d74a3f1dbdff313845898" 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 0b90a66b..dc988fa6 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 210049f0e53f7fb8e5c44325b13947add9618f89 Mon Sep 17 00:00:00 2001 +From 89c9f60679b21629412503a17358426bf211a81b 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..c2f8be8 100644 +index edb320a..ce7f2df 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 301ed0ab..8a190417 100644 --- a/recipes-qt/qt5/qtscxml_git.bb +++ b/recipes-qt/qt5/qtscxml_git.bb @@ -12,6 +12,8 @@ DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native" SRCREV = "3ba4176568867cb146c2b758cd39461367ad22d1" +# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.9 +# 5.9.meta-qt5.2 SRC_URI += "file://0001-Use-external-host-bin-path-for-cmake-file.patch" do_install_append_class-nativesdk() { diff --git a/recipes-qt/qt5/qtsensors_git.bb b/recipes-qt/qt5/qtsensors_git.bb index fb4c496f..4010a518 100644 --- a/recipes-qt/qt5/qtsensors_git.bb +++ b/recipes-qt/qt5/qtsensors_git.bb @@ -3,11 +3,11 @@ require qt5-git.inc LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ + file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtbase qtdeclarative" diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb index 114d6d5a..0a28a960 100644 --- a/recipes-qt/qt5/qtserialbus_git.bb +++ b/recipes-qt/qt5/qtserialbus_git.bb @@ -1,7 +1,7 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & (LGPL-3.0 | GPL-2.0+)" +LICENSE = "GFDL-1.3 & (LGPL-3.0 | GPL-2.0+) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ file://LICENSE.GPLv2;md5=c96076271561b0e3785dad260634eaa8 \ diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb index b0efbd68..113f1e9c 100644 --- a/recipes-qt/qt5/qtserialport_git.bb +++ b/recipes-qt/qt5/qtserialport_git.bb @@ -3,7 +3,7 @@ require qt5-git.inc # text of LGPL_EXCEPTION.txt and LICENSE.FDL is slightly different than what # other qt* components use :/ -LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" +LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0) | The-Qt-Company-Commercial" LIC_FILES_CHKSUM = " \ file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \ file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \ diff --git a/recipes-qt/qt5/qtsystems_git.bb b/recipes-qt/qt5/qtsystems_git.bb index 7c155a28..911a7098 100644 --- a/recipes-qt/qt5/qtsystems_git.bb +++ b/recipes-qt/qt5/qtsystems_git.bb @@ -30,4 +30,4 @@ do_install_append() { QT_MODULE_BRANCH = "dev" -SRCREV = "434af789f0d56ca7a521ca2d9ec8cf3b1057fd37" +SRCREV = "f364358a817ba57fa5aa9c67e731241249e704f8" diff --git a/recipes-qt/qt5/qttools/0003-add-noqtwebkit-configuration.patch b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch index 88c39c74..7549ce9c 100644 --- a/recipes-qt/qt5/qttools/0003-add-noqtwebkit-configuration.patch +++ b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch @@ -1,4 +1,4 @@ -From a798e469e69e31248610a3b5f29c63c5d12cda26 Mon Sep 17 00:00:00 2001 +From 0098107f710e363d41b4913758302b43adccf2bd 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 @@ -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 ef5c595..9c2dc1c 100644 +index 82f55092..ef07ee03 100644 --- a/src/assistant/assistant/assistant.pro +++ b/src/assistant/assistant/assistant.pro @@ -1,4 +1,4 @@ @@ -35,7 +35,7 @@ index ef5c595..9c2dc1c 100644 QT += webkitwidgets SOURCES += helpviewer_qwv.cpp diff --git a/src/designer/src/plugins/plugins.pro b/src/designer/src/plugins/plugins.pro -index 500a153..b60fa2d 100644 +index 500a1534..b60fa2d9 100644 --- a/src/designer/src/plugins/plugins.pro +++ b/src/designer/src/plugins/plugins.pro @@ -1,6 +1,6 @@ diff --git a/recipes-qt/qt5/qttools/0004-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 1a201de9..80f2ae73 100644 --- a/recipes-qt/qt5/qttools/0004-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,4 +1,4 @@ -From f805a2bf4a0d35a01726d214279ba1caa81b278f Mon Sep 17 00:00:00 2001 +From 105277d4878ee1627bfb3be3d10833020e6923fc Mon Sep 17 00:00:00 2001 From: Cody P Schafer <dev@codyps.com> Date: Thu, 9 Jul 2015 11:28:19 -0400 Subject: [PATCH] linguist-tools cmake: allow overriding the location for @@ -9,7 +9,7 @@ Subject: [PATCH] linguist-tools cmake: allow overriding the location for 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in -index 4318b16..2e3b70f 100644 +index 4318b16f..2e3b70fa 100644 --- a/src/linguist/Qt5LinguistToolsConfig.cmake.in +++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in @@ -26,6 +26,9 @@ get_filename_component(_qt5_linguisttools_install_prefix \"${CMAKE_CURRENT_LIST_ diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 920341d1..e4ba6eda 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -14,9 +14,12 @@ inherit ptest DEPENDS += "qtbase qtdeclarative qtxmlpatterns" +# Patches from https://github.com/meta-qt5/qttools/commits/b5.9 +# 5.9.meta-qt5.2 SRC_URI += " \ file://run-ptest \ - file://0004-linguist-tools-cmake-allow-overriding-the-location-f.patch \ + file://0001-add-noqtwebkit-configuration.patch \ + file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \ " FILES_${PN}-tools += "${datadir}${QT_DIR_NAME}/phrasebooks" diff --git a/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch b/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch new file mode 100644 index 00000000..c74854f3 --- /dev/null +++ b/recipes-qt/qt5/qtvirtualkeyboard/0001-include-sys-time.h-for-timeval.patch @@ -0,0 +1,25 @@ +From 2e76f24615766593ad6eb182627fa9d0bdba3c2d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 12 Jul 2017 23:59:52 -0700 +Subject: [PATCH] include sys/time.h for timeval + +Musl exposes this issue since its not indirectly +including sys/time.h like glibc + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/virtualkeyboard/3rdparty/pinyin/include/userdict.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h b/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h +index 1b9673f..924be7b 100644 +--- a/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h ++++ b/src/virtualkeyboard/3rdparty/pinyin/include/userdict.h +@@ -24,6 +24,7 @@ + // Debug performance for operations + // #define ___DEBUG_PERF___ + ++#include <sys/time.h> + #ifdef _WIN32 + #include <winsock.h> // timeval + #else diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb index 243646ac..ce3908d4 100644 --- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb +++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb @@ -6,6 +6,10 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ " +# Patches from https://github.com/meta-qt5/qtvirtualkeyboard/commits/b5.9 +# 5.9.meta-qt5.2 +SRC_URI += "file://0001-include-sys-time.h-for-timeval.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: diff --git a/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch b/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch index 555bb28f..11acd5fd 100644 --- a/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch +++ b/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch @@ -1,4 +1,4 @@ -From 2b72ad7955fe19abb4a0b4ebb6bc7aa498e454bc Mon Sep 17 00:00:00 2001 +From c4fae91b3d2b2b0f64e3fafac456a6a917c69e88 Mon Sep 17 00:00:00 2001 From: Raphael Freudiger <laser_b@gmx.ch> Date: Tue, 10 Jan 2017 15:49:55 +0100 Subject: [PATCH] fix build without xkbcommon-evdev @@ -16,17 +16,17 @@ Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com> 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/client/client.pro b/src/client/client.pro -index 7482cfd..cb3578c 100644 +index eae7ad52..0bb7b188 100644 --- a/src/client/client.pro +++ b/src/client/client.pro -@@ -120,3 +120,5 @@ MODULE_PLUGIN_TYPES = \ +@@ -147,3 +147,5 @@ MODULE_PLUGIN_TYPES = \ wayland-decoration-client \ wayland-shell-integration load(qt_module) + +LIBS += -lxkbcommon diff --git a/src/compositor/compositor.pro b/src/compositor/compositor.pro -index dc9000d..4eebfd6 100644 +index dc9000d9..4eebfd64 100644 --- a/src/compositor/compositor.pro +++ b/src/compositor/compositor.pro @@ -32,3 +32,5 @@ include ($$PWD/extensions/extensions.pri) @@ -36,10 +36,10 @@ index dc9000d..4eebfd6 100644 + +LIBS += -lxkbcommon diff --git a/src/compositor/compositor_api/qwaylandkeyboard.cpp b/src/compositor/compositor_api/qwaylandkeyboard.cpp -index 55381b4..5c054c6 100644 +index c30f7b18..e6f1a0b3 100644 --- a/src/compositor/compositor_api/qwaylandkeyboard.cpp +++ b/src/compositor/compositor_api/qwaylandkeyboard.cpp -@@ -338,12 +338,6 @@ void QWaylandKeyboardPrivate::createXKBState(xkb_keymap *keymap) +@@ -349,12 +349,6 @@ void QWaylandKeyboardPrivate::createXKBState(xkb_keymap *keymap) xkb_state = xkb_state_new(keymap); } @@ -52,7 +52,7 @@ index 55381b4..5c054c6 100644 void QWaylandKeyboardPrivate::createXKBKeymap() { -@@ -373,6 +367,13 @@ void QWaylandKeyboardPrivate::createXKBKeymap() +@@ -384,6 +378,13 @@ void QWaylandKeyboardPrivate::createXKBKeymap() } #endif @@ -66,6 +66,3 @@ index 55381b4..5c054c6 100644 void QWaylandKeyboardPrivate::sendRepeatInfo() { Q_FOREACH (Resource *resource, resourceMap()) { --- -2.9.3 - diff --git a/recipes-qt/qt5/qtwayland/0002-Fix-initial-window-property-values-being-propagated.patch b/recipes-qt/qt5/qtwayland/0002-Fix-initial-window-property-values-being-propagated.patch deleted file mode 100644 index 29c9180c..00000000 --- a/recipes-qt/qt5/qtwayland/0002-Fix-initial-window-property-values-being-propagated.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3d30fd8df9b55449844207295ad3d51cc8bb44b1 Mon Sep 17 00:00:00 2001 -From: Robert Griebl <robert.griebl@pelagicore.com> -Date: Thu, 15 Dec 2016 17:43:00 +0100 -Subject: [PATCH 2/2] Fix initial window property values being propagated -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This was broken since the the shell-surface refactoring. - -Change-Id: I130b7396e85c570a9d11d609af6b3016e3f706f0 -Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> -Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> -Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com> ---- - src/client/qwaylandwindow.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index c8be9c1..b6f16f0 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -176,6 +176,9 @@ void QWaylandWindow::initWindow() - mShellSurface->setAppId(appId); - } - } -+ // the user may have already set some window properties, so make sure to send them out -+ for (auto it = m_properties.cbegin(); it != m_properties.cend(); ++it) -+ mShellSurface->sendProperty(it.key(), it.value()); - } - - // Enable high-dpi rendering. Scale() returns the screen scale factor and will --- -2.9.3 - diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index ea2a8a53..25191a02 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb @@ -39,10 +39,15 @@ EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" SRCREV = "04f6ff77ef0c8858629766e191ecc3d4ef056848" +# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.9 +# 5.9.meta-qt5.2 # From https://bugreports.qt.io/browse/QTBUG-57767 SRC_URI += " \ file://0001-fix-build-without-xkbcommon-evdev.patch \ - file://0002-Fix-initial-window-property-values-being-propagated.patch \ " BBCLASSEXTEND =+ "native nativesdk" + +# The same issue as in qtbase: +# http://errors.yoctoproject.org/Errors/Details/152641/ +LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" diff --git a/recipes-qt/qt5/qtwebchannel_git.bb b/recipes-qt/qt5/qtwebchannel_git.bb index bf9b2a27..c64f6157 100644 --- a/recipes-qt/qt5/qtwebchannel_git.bb +++ b/recipes-qt/qt5/qtwebchannel_git.bb @@ -3,11 +3,11 @@ require qt5-git.inc LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ - file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ + file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtdeclarative qtwebsockets" diff --git a/recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch b/recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch new file mode 100644 index 00000000..a5fb1d84 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0001-Build-accessibility-tests-only-when-Qt-is-configured.patch @@ -0,0 +1,41 @@ +From 4649f2a11fe4b87e9b79f50ff8ac99ba9a2344f4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io> +Date: Wed, 25 Oct 2017 09:47:47 +0200 +Subject: [PATCH] Build accessibility tests only when Qt is configured with + accessibility + +Original patch by Daniel Mack <daniel@zonque.org> + +Task-number: QTBUG-64015 +Change-Id: I7dd0a1aa9bff08c6d19e818acf0e1b8b4b701f5b +Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> +--- + tests/auto/widgets/widgets.pro | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tests/auto/widgets/widgets.pro b/tests/auto/widgets/widgets.pro +index 441eea0..7bab18f 100644 +--- a/tests/auto/widgets/widgets.pro ++++ b/tests/auto/widgets/widgets.pro +@@ -1,7 +1,6 @@ + TEMPLATE = subdirs + + SUBDIRS += \ +- qwebengineaccessibility \ + qwebenginedefaultsurfaceformat \ + qwebenginedownloads \ + qwebenginefaviconmanager \ +@@ -14,6 +13,10 @@ SUBDIRS += \ + qwebenginesettings \ + qwebengineview + ++qtConfig(accessibility) { ++ SUBDIRS += qwebengineaccessibility ++} ++ + contains(WEBENGINE_CONFIG, use_spellchecker):!cross_compile { + !contains(WEBENGINE_CONFIG, use_native_spellchecker) { + SUBDIRS += qwebenginespellcheck +-- +2.7.4 + diff --git a/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch b/recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch index 34f58ded..0e9ea724 100644 --- a/recipes-qt/qt5/qtwebengine/0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch +++ b/recipes-qt/qt5/qtwebengine/0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch @@ -1,4 +1,4 @@ -From de6311b4d556abbe131462a3cd962ae87da59522 Mon Sep 17 00:00:00 2001 +From d559da6ab0834aeb7307008015b6232e586fea00 Mon Sep 17 00:00:00 2001 From: Cleiton Bueno <cleitonrbueno@gmail.com> Date: Thu, 24 Dec 2015 12:46:58 -0200 Subject: [PATCH] chromium: Change false to FALSE and 1 to TRUE, FIX @@ -10,11 +10,11 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> chromium/ui/gfx/codec/jpeg_codec.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -diff --git a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc -index 8a08fe0..32b2a05 100644 ---- a/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc -+++ b/src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc -@@ -120,7 +120,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) { +diff --git a/chromium/ui/gfx/codec/jpeg_codec.cc b/chromium/ui/gfx/codec/jpeg_codec.cc +index 6d926378be..738d3fdedf 100644 +--- a/chromium/ui/gfx/codec/jpeg_codec.cc ++++ b/chromium/ui/gfx/codec/jpeg_codec.cc +@@ -121,7 +121,7 @@ boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) { // tell libjpeg where to write the next data cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used]; cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used; @@ -23,7 +23,7 @@ index 8a08fe0..32b2a05 100644 } // Cleans up the JpegEncoderState to prepare for returning in the final form. -@@ -261,7 +261,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, +@@ -262,7 +262,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, cinfo.data_precision = 8; jpeg_set_defaults(&cinfo); @@ -32,7 +32,7 @@ index 8a08fe0..32b2a05 100644 // set up the destination manager jpeg_destination_mgr destmgr; -@@ -273,7 +273,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, +@@ -274,7 +274,7 @@ bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format, JpegEncoderState state(output); cinfo.client_data = &state; @@ -41,7 +41,7 @@ index 8a08fe0..32b2a05 100644 // feed it the rows, doing necessary conversions for the color format #ifdef JCS_EXTENSIONS -@@ -359,7 +359,7 @@ void InitSource(j_decompress_ptr cinfo) { +@@ -360,7 +360,7 @@ void InitSource(j_decompress_ptr cinfo) { // set to a positive value if TRUE is returned. A FALSE return should only // be used when I/O suspension is desired." boolean FillInputBuffer(j_decompress_ptr cinfo) { @@ -50,7 +50,7 @@ index 8a08fe0..32b2a05 100644 } // Skip data in the buffer. Since we have all the data at once, this operation -@@ -487,8 +487,8 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size, +@@ -488,8 +488,8 @@ bool JPEGCodec::Decode(const unsigned char* input, size_t input_size, cinfo.client_data = &state; // fill the file metadata into our buffer diff --git a/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch b/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch new file mode 100644 index 00000000..275ef9e8 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch @@ -0,0 +1,30 @@ +From 96746f09947cc36f6c9fc8631bc6a6e7f59efe24 Mon Sep 17 00:00:00 2001 +From: Frieder Schrempf <frieder.schrempf@online.de> +Date: Mon, 1 Dec 2014 14:34:40 +0000 +Subject: [PATCH] functions.prf: allow build for linux-oe-g++ platform + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Frieder Schrempf <frieder.schrempf@online.de> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + mkspecs/features/functions.prf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf +index 56894e58..ef418a4c 100644 +--- a/mkspecs/features/functions.prf ++++ b/mkspecs/features/functions.prf +@@ -21,6 +21,12 @@ defineTest(isPlatformSupported) { + return(false) + } + gcc:!clang:!isGCCVersionSupported(): return(false) ++ } else:linux-oe-g++* { ++ !gcc:!clang { ++ skipBuild("Qt WebEngine on Linux requires clang or GCC.") ++ return(false) ++ } ++ gcc:!clang:!isGCCVersionSupported(): return(false) + } else:win32 { + winrt { + skipBuild("WinRT is not supported.") diff --git a/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch b/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch new file mode 100644 index 00000000..6ada3f94 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch @@ -0,0 +1,23 @@ +From 06e9e7844ffa2b6985e5fa7a1c475c8a54ca252a Mon Sep 17 00:00:00 2001 +From: Cleiton Bueno <cleitonrbueno@gmail.com> +Date: Fri, 25 Dec 2015 18:16:05 -0200 +Subject: [PATCH] WebEngine qquickwebengineview_p_p.h add include QColor + +Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com> +--- + src/webengine/api/qquickwebengineview_p_p.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h +index 19ecf5e1..f6f638ee 100644 +--- a/src/webengine/api/qquickwebengineview_p_p.h ++++ b/src/webengine/api/qquickwebengineview_p_p.h +@@ -59,6 +59,8 @@ + #include <QString> + #include <QtCore/qcompilerdetection.h> + #include <QtGui/qaccessibleobject.h> ++#include <QColor> ++ + + namespace QtWebEngineCore { + class WebContentsAdapter; diff --git a/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch new file mode 100644 index 00000000..4a1a975f --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0002-chromium-Force-host-toolchain-configuration.patch @@ -0,0 +1,40 @@ +From a0b1a742813d0846472fab4aada2388bf2d42d80 Mon Sep 17 00:00:00 2001 +From: Samuli Piippo <samuli.piippo@qt.io> +Date: Wed, 15 Mar 2017 13:53:28 +0200 +Subject: [PATCH] chromium: Force host toolchain configuration + +Force gcc/g++ to be used for parts using host toolchain, since +the option(host_build) does not work in yocto builds. + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + chromium/tools/gn/bootstrap/bootstrap.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/chromium/tools/gn/bootstrap/bootstrap.py b/chromium/tools/gn/bootstrap/bootstrap.py +index 43d252b43e..e58347848e 100755 +--- a/chromium/tools/gn/bootstrap/bootstrap.py ++++ b/chromium/tools/gn/bootstrap/bootstrap.py +@@ -298,14 +298,14 @@ def write_gn_ninja(path, root_gen_dir, options): + ld = os.environ.get('LD', 'link.exe') + ar = os.environ.get('AR', 'lib.exe') + else: +- cc = os.environ.get('CC', 'cc') +- cxx = os.environ.get('CXX', 'c++') ++ cc = os.environ.get('CC_host', 'gcc') ++ cxx = os.environ.get('CXX_host', 'g++') + ld = cxx +- ar = os.environ.get('AR', 'ar') ++ ar = os.environ.get('AR_host', 'ar') + +- cflags = os.environ.get('CFLAGS', '').split() +- cflags_cc = os.environ.get('CXXFLAGS', '').split() +- ldflags = os.environ.get('LDFLAGS', '').split() ++ cflags = os.environ.get('CFLAGS_host', '').split() ++ cflags_cc = os.environ.get('CXXFLAGS_host', '').split() ++ ldflags = os.environ.get('LDFLAGS_host', '').split() + include_dirs = [root_gen_dir, SRC_ROOT] + libs = [] + diff --git a/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch b/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch new file mode 100644 index 00000000..8c0484bd --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch @@ -0,0 +1,23 @@ +From bfd5e19fea1315d10b3217acaf92dfc32018ad03 Mon Sep 17 00:00:00 2001 +From: Cleiton Bueno <cleitonrbueno@gmail.com> +Date: Thu, 24 Dec 2015 15:59:51 -0200 +Subject: [PATCH] Include dependency to QCoreApplication::translate() + +Signed-off-by: Cleiton Bueno <cleitonrbueno@gmail.com> +--- + src/core/media_capture_devices_dispatcher.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/core/media_capture_devices_dispatcher.h b/src/core/media_capture_devices_dispatcher.h +index c378c327..1d33d956 100644 +--- a/src/core/media_capture_devices_dispatcher.h ++++ b/src/core/media_capture_devices_dispatcher.h +@@ -45,6 +45,8 @@ + #include <list> + #include <map> + ++#include <QCoreApplication> ++ + #include "web_contents_adapter_client.h" + + #include "base/callback.h" diff --git a/recipes-qt/qt5/qtwebengine/0001-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch index 42ceeacf..ed897ea2 100644 --- a/recipes-qt/qt5/qtwebengine/0001-chromium-workaround-for-too-long-.rps-file-name.patch +++ b/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch @@ -1,4 +1,4 @@ -From c72097e8790553771daf3231124c3fbe1a438379 Mon Sep 17 00:00:00 2001 +From 5c31bc4a7ae6133fe4cb60fa71465c6706a071c8 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 @@ -14,13 +14,13 @@ le.rsp): Unable to create file. File name too long Task-number: QTBUG-59769 Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1 --- - src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ + chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ 1 file changed, 9 insertions(+) -diff --git a/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc b/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc -index a5bc6cd..5cefbfe 100644 ---- a/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc -+++ b/src/3rdparty/chromium/tools/gn/ninja_action_target_writer.cc +diff --git a/chromium/tools/gn/ninja_action_target_writer.cc b/chromium/tools/gn/ninja_action_target_writer.cc +index a5bc6cd526..5cefbfe77c 100644 +--- a/chromium/tools/gn/ninja_action_target_writer.cc ++++ b/chromium/tools/gn/ninja_action_target_writer.cc @@ -115,9 +115,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { // strictly necessary for regular one-shot actions, but it's easier to // just always define unique_name. diff --git a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch index 148b0629..bda0ba1a 100644 --- a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch +++ b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch @@ -1,4 +1,4 @@ -From e7d1e5dfdece59f247a1d71ad0ca1b0c8cadda21 Mon Sep 17 00:00:00 2001 +From 9bdd03ad0bbb221ad7bffe0e570605c21c28b1b5 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 @@ -10,7 +10,6 @@ Don't use QT_ARCH for the host architecture, since that's always the target architecture in bitbake builds, instead ask specifically for the qmakes's host architecture. -Change-Id: I38329d545e527dbc5892547b6951822171ab761f Upstream-Status: Inappropriate [OE specific] Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> --- @@ -19,7 +18,7 @@ Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro -index f1b3d47..1212372 100644 +index f1b3d47b..12123729 100644 --- a/src/buildtools/configure_host.pro +++ b/src/buildtools/configure_host.pro @@ -4,7 +4,7 @@ TEMPLATE = aux @@ -58,7 +57,7 @@ index f1b3d47..1212372 100644 " nm = \"$$which(nm)\" " \ " toolchain_args = { " \ diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri -index 714c864..f66ca55 100644 +index 714c864d..f66ca551 100644 --- a/src/core/config/linux.pri +++ b/src/core/config/linux.pri @@ -98,7 +98,7 @@ contains(QT_ARCH, "mips"):!host_build { @@ -70,28 +69,3 @@ index 714c864..f66ca55 100644 gn_args += host_cpu=\"$$GN_HOST_CPU\" # Don't bother trying to use system libraries in this case gn_args += use_glib=false -diff --git a/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py b/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py -index 75b9690..601f688 100755 ---- a/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py -+++ b/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py -@@ -298,14 +298,14 @@ def write_gn_ninja(path, root_gen_dir, options): - ld = os.environ.get('LD', 'link.exe') - ar = os.environ.get('AR', 'lib.exe') - else: -- cc = os.environ.get('CC', 'cc') -- cxx = os.environ.get('CXX', 'c++') -+ cc = os.environ.get('CC_host', 'gcc') -+ cxx = os.environ.get('CXX_host', 'g++') - ld = cxx -- ar = os.environ.get('AR', 'ar') -+ ar = os.environ.get('AR_host', 'ar') - -- cflags = os.environ.get('CFLAGS', '').split() -- cflags_cc = os.environ.get('CXXFLAGS', '').split() -- ldflags = os.environ.get('LDFLAGS', '').split() -+ cflags = os.environ.get('CFLAGS_host', '').split() -+ cflags_cc = os.environ.get('CXXFLAGS_host', '').split() -+ ldflags = os.environ.get('LDFLAGS_host', '').split() - include_dirs = [root_gen_dir, SRC_ROOT] - libs = [] - diff --git a/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch b/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch new file mode 100644 index 00000000..68ffb6ce --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch @@ -0,0 +1,33 @@ +From 71b3c3d4160c5e98cc0a0797710bdd121a79e8b8 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 + +Musl does not define this Macro + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + 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 b655d1c79c..3de34e36f2 100644 +--- a/chromium/sandbox/linux/suid/sandbox.c ++++ b/chromium/sandbox/linux/suid/sandbox.c +@@ -44,6 +44,15 @@ static bool DropRoot(); + + #define HANDLE_EINTR(x) TEMP_FAILURE_RETRY(x) + ++#ifndef TEMP_FAILURE_RETRY ++# define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + static void FatalError(const char* msg, ...) + __attribute__((noreturn, format(printf, 1, 2))); + diff --git a/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch b/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch new file mode 100644 index 00000000..bf1f1891 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch @@ -0,0 +1,45 @@ +From e695f37fc52defd1b96664b003444692e9b6cb65 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 7 Jul 2017 14:09:06 -0700 +Subject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/base/trace_event/malloc_dump_provider.cc | 3 ++- + chromium/content/child/content_child_helpers.cc | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc +index 7d0cb57931..10be59ebad 100644 +--- a/chromium/base/trace_event/malloc_dump_provider.cc ++++ b/chromium/base/trace_event/malloc_dump_provider.cc +@@ -210,6 +210,7 @@ MallocDumpProvider::~MallocDumpProvider() {} + // the current process. + bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, + ProcessMemoryDump* pmd) { ++#if defined(__GLIBC__) + size_t total_virtual_size = 0; + size_t resident_size = 0; + size_t allocated_objects_size = 0; +@@ -321,7 +322,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, + pmd->DumpHeapUsage(metrics_by_context, overhead, "malloc"); + } + tid_dumping_heap_ = kInvalidThreadId; +- ++#endif // __GLIBC__ + return true; + } + +diff --git a/chromium/content/child/content_child_helpers.cc b/chromium/content/child/content_child_helpers.cc +index 7ddeb4d16a..b8c73b09c5 100644 +--- a/chromium/content/child/content_child_helpers.cc ++++ b/chromium/content/child/content_child_helpers.cc +@@ -25,7 +25,7 @@ namespace content { + // though, this provides only a partial and misleading value. + // Unfortunately some telemetry benchmark rely on it and these need to + // be refactored before getting rid of this. See crbug.com/581365 . +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(__GLIBC__) || defined(OS_ANDROID) + size_t GetMemoryUsageKB() { + struct mallinfo minfo = mallinfo(); + uint64_t mem_usage = diff --git a/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch b/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch new file mode 100644 index 00000000..b39ab2c5 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0006-chromium-musl-include-fcntl.h-for-loff_t.patch @@ -0,0 +1,22 @@ +From ee6aec4439a7ee320d7700d7f10cd3948a73f3e3 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> +--- + chromium/third_party/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 b29ec2d29a..91f77dd88d 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ++++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +@@ -150,6 +150,7 @@ extern "C" { + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#include <fcntl.h> + #include <sys/ptrace.h> + #include <sys/resource.h> + #include <sys/time.h> diff --git a/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch b/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch new file mode 100644 index 00000000..65f709d5 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch @@ -0,0 +1,62 @@ +From 90ebe616e563ab1224234281ea7b1a478f42ca92 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 + +- 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> +--- + .../third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +index 715c045f66..edc8cf2db7 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h ++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +@@ -77,7 +77,7 @@ typedef off64_t __off64_t; + + static inline void* do_mmap64(void *start, size_t length, + int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + // The original gperftools uses sys_mmap() here. But, it is not allowed by + // Chromium's sandbox. + return (void *)syscall(SYS_mmap, start, length, prot, flags, fd, offset); +@@ -90,7 +90,7 @@ static inline void* do_mmap64(void *start, size_t length, + + static inline void* do_mmap64(void *start, size_t length, + int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + void *result; + + // Try mmap2() unless it's not supported +@@ -161,7 +161,7 @@ static inline void* do_mmap64(void *start, size_t length, + + extern "C" { + void* mmap64(void *start, size_t length, int prot, int flags, +- int fd, __off64_t offset ) __THROW ++ int fd, off64_t offset ) __THROW + ATTRIBUTE_SECTION(malloc_hook); + void* mmap(void *start, size_t length,int prot, int flags, + int fd, off_t offset) __THROW +@@ -178,7 +178,7 @@ extern "C" { + } + + extern "C" void* mmap64(void *start, size_t length, int prot, int flags, +- int fd, __off64_t offset) __THROW { ++ int fd, off64_t offset) __THROW { + MallocHook::InvokePreMmapHook(start, length, prot, flags, fd, offset); + void *result; + if (!MallocHook::InvokeMmapReplacement( +@@ -189,7 +189,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, + return result; + } + +-# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH) ++# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)) + + extern "C" void* mmap(void *start, size_t length, int prot, int flags, + int fd, off_t offset) __THROW { diff --git a/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch b/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch new file mode 100644 index 00000000..7a778c22 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0008-chromium-musl-linux-glibc-make-the-distinction.patch @@ -0,0 +1,23 @@ +From d0621f9278ddd04c05b6ab3ef638be65f96f1bd6 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> +--- + 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 5a0564d2f3..8c2dc6491d 100644 +--- a/chromium/base/allocator/allocator_check.cc ++++ b/chromium/base/allocator/allocator_check.cc +@@ -21,7 +21,7 @@ bool IsAllocatorInitialized() { + #if defined(OS_WIN) && defined(ALLOCATOR_SHIM) + // Set by allocator_shim_win.cc when the shimmed _set_new_mode() is called. + 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) + // 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/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch b/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch new file mode 100644 index 00000000..2bc79932 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch @@ -0,0 +1,24 @@ +From e8f8e7aa48e97b9b91858ef94f1940464a9178a3 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 95480ea4b6..1de3d1a532 100644 +--- a/chromium/base/allocator/allocator_shim.cc ++++ b/chromium/base/allocator/allocator_shim.cc +@@ -266,7 +266,7 @@ void ShimFree(void* address) { + // In the case of tcmalloc we also want to plumb into the glibc hooks + // to avoid that allocations made in glibc itself (e.g., strdup()) get + // accidentally performed on the glibc heap instead of the tcmalloc one. +-#if defined(USE_TCMALLOC) ++#if defined(USE_TCMALLOC) && defined(__GLIBC__) + #include "base/allocator/allocator_shim_override_glibc_weak_symbols.h" + #endif + diff --git a/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch b/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch new file mode 100644 index 00000000..82e85f94 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch @@ -0,0 +1,24 @@ +From ab272bfc9aef6d50c44e1c1bdfdb8a325aebaefc 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 003708d2c8..0fef3148f9 100644 +--- a/chromium/sandbox/linux/seccomp-bpf/trap.cc ++++ b/chromium/sandbox/linux/seccomp-bpf/trap.cc +@@ -168,7 +168,7 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) { + // most versions of glibc don't include this information in siginfo_t. So, + // we need to explicitly copy it into a arch_sigsys structure. + struct arch_sigsys sigsys; +- memcpy(&sigsys, &info->_sifields, sizeof(sigsys)); ++ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys)); + + #if defined(__mips__) + // When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the diff --git a/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch b/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch new file mode 100644 index 00000000..e4e35efc --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0011-chromium-musl-Match-syscalls-to-match-musl.patch @@ -0,0 +1,44 @@ +From bd3d6bd46e792e312435897e925cca5ccedc1dda Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 7 Jul 2017 15:24:49 -0700 +Subject: [PATCH] chromium: musl: Match syscalls to match musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/third_party/lss/linux_syscall_support.h | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/chromium/third_party/lss/linux_syscall_support.h b/chromium/third_party/lss/linux_syscall_support.h +index 9dbd2391b2..a715de177c 100644 +--- a/chromium/third_party/lss/linux_syscall_support.h ++++ b/chromium/third_party/lss/linux_syscall_support.h +@@ -793,6 +793,14 @@ struct kernel_statfs { + #endif + + ++#undef stat64 ++#undef fstat64 ++ ++#ifndef __NR_fstatat ++#define __NR_fstatat __NR_fstatat64 ++#endif ++ ++ + #if defined(__x86_64__) + #ifndef ARCH_SET_GS + #define ARCH_SET_GS 0x1001 +@@ -1210,6 +1218,14 @@ struct kernel_statfs { + #ifndef __NR_fallocate + #define __NR_fallocate 285 + #endif ++ ++#ifndef __NR_pread ++#define __NR_pread __NR_pread64 ++#endif ++#ifndef __NR_pwrite ++#define __NR_pwrite __NR_pwrite64 ++#endif ++ + /* End of x86-64 definitions */ + #elif defined(__mips__) + #if _MIPS_SIM == _MIPS_SIM_ABI32 diff --git a/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch b/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch new file mode 100644 index 00000000..65adde3e --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch @@ -0,0 +1,79 @@ +From 505fcfa52c49c9975e63066f631244ace6061d3c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 7 Jul 2017 15:27:50 -0700 +Subject: [PATCH] chromium: musl: Define res_ninit and res_nclose for non-glibc + platforms + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/net/dns/dns_config_service_posix.cc | 4 ++++ + chromium/net/dns/dns_reloader.cc | 4 ++++ + chromium/net/dns/resolv_compat.h | 29 ++++++++++++++++++++++++++++ + 3 files changed, 37 insertions(+) + create mode 100644 chromium/net/dns/resolv_compat.h + +diff --git a/chromium/net/dns/dns_config_service_posix.cc b/chromium/net/dns/dns_config_service_posix.cc +index ba8a369133..e9b40d07fc 100644 +--- a/chromium/net/dns/dns_config_service_posix.cc ++++ b/chromium/net/dns/dns_config_service_posix.cc +@@ -25,6 +25,10 @@ + #include "net/dns/notify_watcher_mac.h" + #include "net/dns/serial_worker.h" + ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#include "net/dns/resolv_compat.h" ++#endif ++ + #if defined(OS_MACOSX) && !defined(OS_IOS) + #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 74534e6b1b..2780a776e4 100644 +--- a/chromium/net/dns/dns_reloader.cc ++++ b/chromium/net/dns/dns_reloader.cc +@@ -9,6 +9,10 @@ + + #include <resolv.h> + ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#include "net/dns/resolv_compat.h" ++#endif ++ + #include "base/lazy_instance.h" + #include "base/logging.h" + #include "base/macros.h" +diff --git a/chromium/net/dns/resolv_compat.h b/chromium/net/dns/resolv_compat.h +new file mode 100644 +index 0000000000..4f0e852a19 +--- /dev/null ++++ b/chromium/net/dns/resolv_compat.h +@@ -0,0 +1,29 @@ ++#if !defined(__GLIBC__) ++/*************************************************************************** ++ * resolv_compat.h ++ * ++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc ++ * Note: res_init() is actually deprecated according to ++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html ++ **************************************************************************/ ++#include <string.h> ++ ++static inline int res_ninit(res_state statp) ++{ ++ int rc = res_init(); ++ if (statp != &_res) { ++ memcpy(statp, &_res, sizeof(*statp)); ++ } ++ return rc; ++} ++ ++static inline int res_nclose(res_state statp) ++{ ++ if (!statp) ++ return -1; ++ if (statp != &_res) { ++ memset(statp, 0, sizeof(*statp)); ++ } ++ return 0; ++} ++#endif diff --git a/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch b/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch new file mode 100644 index 00000000..6c864285 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch @@ -0,0 +1,26 @@ +From e4d5b6ccd77506edb7d52f3857c4a5f22bea2437 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 + +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> +--- + chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +index edc8cf2db7..a868b50d30 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h ++++ b/chromium/third_party/tcmalloc/chromium/src/malloc_hook_mmap_linux.h +@@ -233,7 +233,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, + } + + // Don't hook sbrk() in Android, since it doesn't expose __sbrk. +-#if !defined(__ANDROID__) ++#if !defined(__ANDROID__) && defined(__GLIBC__) + // libc's version: + extern "C" void* __sbrk(ptrdiff_t increment); + diff --git a/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch b/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch new file mode 100644 index 00000000..f1cc205b --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0014-chromium-musl-Adjust-default-pthread-stack-size.patch @@ -0,0 +1,47 @@ +From 72a77c994434ecb708b2790ba9efaf1decc02503 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 7 Jul 2017 16:41:23 -0700 +Subject: [PATCH] chromium: musl: Adjust default pthread stack size + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/base/threading/platform_thread_linux.cc | 3 ++- + chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/chromium/base/threading/platform_thread_linux.cc b/chromium/base/threading/platform_thread_linux.cc +index 92fbda5ee1..c41579d4ed 100644 +--- a/chromium/base/threading/platform_thread_linux.cc ++++ b/chromium/base/threading/platform_thread_linux.cc +@@ -175,7 +175,8 @@ void TerminateOnThread() {} + + size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { + #if !defined(THREAD_SANITIZER) +- return 0; ++ // use 8mb like glibc to avoid running out of space ++ return (1 << 23); + #else + // ThreadSanitizer bloats the stack heavily. Evidence has been that the + // default stack size isn't enough for some browser tests. +diff --git a/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp b/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp +index 1d164f510a..3358deb256 100644 +--- a/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp ++++ b/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp +@@ -68,7 +68,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize() { + // FIXME: On Mac OSX and Linux, this method cannot estimate stack size + // correctly for the main thread. + +-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) ++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD) + // pthread_getattr_np() can fail if the thread is not invoked by + // pthread_create() (e.g., the main thread of webkit_unit_tests). + // If so, a conservative size estimate is returned. +@@ -135,7 +135,7 @@ size_t StackFrameDepth::getUnderestimatedStackSize() { + } + + void* StackFrameDepth::getStackStart() { +-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) ++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD) + pthread_attr_t attr; + int error; + #if OS(FREEBSD) diff --git a/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch b/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch new file mode 100644 index 00000000..58cd0a76 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch @@ -0,0 +1,22 @@ +From f2e66acda4934e4c0f56a58ba107cc208f09b7ef Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 7 Jul 2017 17:15:34 -0700 +Subject: [PATCH] chromium: musl: include asm-generic/ioctl.h for TCGETS2 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/device/serial/serial_io_handler_posix.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chromium/device/serial/serial_io_handler_posix.cc b/chromium/device/serial/serial_io_handler_posix.cc +index a2ca2e2309..e139cdf9e9 100644 +--- a/chromium/device/serial/serial_io_handler_posix.cc ++++ b/chromium/device/serial/serial_io_handler_posix.cc +@@ -6,6 +6,7 @@ + + #include <sys/ioctl.h> + #include <termios.h> ++#include <asm-generic/ioctls.h> + + #include "base/files/file_util.h" + #include "base/posix/eintr_wrapper.h" diff --git a/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch b/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch new file mode 100644 index 00000000..acc2c78a --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch @@ -0,0 +1,23 @@ +From 2141914268b26507d52cc7541cf268478ddc0bdf Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 8 Jul 2017 09:08:23 -0700 +Subject: [PATCH] chromium: musl: tcmalloc: Use off64_t insread of __off64_t + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +index 91f77dd88d..bb84a0b305 100644 +--- a/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ++++ b/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +@@ -1929,7 +1929,7 @@ typedef unsigned long int ulong; + #if defined(__x86_64__) + /* Need to make sure __off64_t isn't truncated to 32-bits under x32. */ + LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d, +- __off64_t o) { ++ off64_t o) { + LSS_BODY(6, void*, mmap, LSS_SYSCALL_ARG(s), LSS_SYSCALL_ARG(l), + LSS_SYSCALL_ARG(p), LSS_SYSCALL_ARG(f), + LSS_SYSCALL_ARG(d), (uint64_t)(o)); diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index c044c602..deef5737 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -16,7 +16,7 @@ DEPENDS += " \ ninja-native \ yasm-native \ qtwebchannel \ - qtbase qtdeclarative qtxmlpatterns qtquickcontrols \ + qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtquickcontrols2 \ qtlocation \ libdrm fontconfig pixman openssl pango cairo icu pciutils \ libcap \ @@ -24,9 +24,23 @@ DEPENDS += " \ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ " -EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm GYP_CONFIG+=generate_character_data=0" +DEPENDS_append_libc-musl = " libexecinfo" + +EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm \ + GYP_CONFIG+=generate_character_data=0 \ + GYP_CONFIG+=use_allocator=none \ + GYP_CONFIG+=use_experimental_allocator_shim=false \ +" EXTRA_QMAKEVARS_CONFIGURE += "-feature-system-ninja -no-feature-system-gn" +# 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, vpx # Only depenedencies available in oe-core are enabled by default PACKAGECONFIG ??= "libwebp flac libevent libxslt speex nss" @@ -39,6 +53,7 @@ PACKAGECONFIG[libevent] = "WEBENGINE_CONFIG+=use_system_libevent,,libevent" PACKAGECONFIG[libxslt] = "WEBENGINE_CONFIG+=use_system_libxslt,,libxslt" PACKAGECONFIG[speex] = "WEBENGINE_CONFIG+=use_system_speex,,speex" PACKAGECONFIG[vpx] = "WEBENGINE_CONFIG+=use_system_vpx,,libvpx" +PACKAGECONFIG[webrtc] = "WEBENGINE_CONFIG+=use_webrtc,,libvpx" PACKAGECONFIG[nss] = "WEBENGINE_CONFIG+=use_nss,,nss" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" @@ -88,6 +103,13 @@ do_configure() { ${EXTRA_QMAKEVARS_CONFIGURE} } +do_configure_prepend_libc-musl() { + for f in `find ${S}/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/ -name config.h -o -name config.asm`; do + sed -i -e "s:define HAVE_SYSCTL 1:define HAVE_SYSCTL 0:g" $f + done + sed -i -e "s:define HAVE_STRUCT_MALLINFO 1:/*undef HAVE_STRUCT_MALLINFO */:g" ${S}/src/3rdparty/chromium/third_party/tcmalloc/chromium/src/config_linux.h +} + do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" do_install_append() { @@ -106,11 +128,39 @@ RDEPENDS_${PN}-examples += " \ QT_MODULE_BRANCH_CHROMIUM = "58-based" +# Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.9 +# 5.9.meta-qt5.3 SRC_URI += " \ ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ - file://0001-Force-host-toolchain-configuration.patch \ - file://0001-chromium-workaround-for-too-long-.rps-file-name.patch \ - file://0002-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch \ + file://0001-functions.prf-allow-build-for-linux-oe-g-platform.patch \ + file://0001-Build-accessibility-tests-only-when-Qt-is-configured.patch \ + file://0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch \ + file://0003-Include-dependency-to-QCoreApplication-translate.patch \ + file://0004-Force-host-toolchain-configuration.patch \ +" + +# Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/56-based +# 56-based.meta-qt5.2 +SRC_URI += " \ + file://0001-chromium-Change-false-to-FALSE-and-1-to-TRUE-FIX-qtw.patch;patchdir=src/3rdparty \ + file://0002-chromium-Force-host-toolchain-configuration.patch;patchdir=src/3rdparty \ + file://0003-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ +" + +SRC_URI_append_libc-musl = "\ + file://0004-chromium-musl-sandbox-Define-TEMP_FAILURE_RETRY-if-n.patch;patchdir=src/3rdparty \ + file://0005-chromium-musl-Avoid-mallinfo-APIs-on-non-glibc-linux.patch;patchdir=src/3rdparty \ + file://0006-chromium-musl-include-fcntl.h-for-loff_t.patch;patchdir=src/3rdparty \ + file://0007-chromium-musl-use-off64_t-instead-of-the-internal-__.patch;patchdir=src/3rdparty \ + file://0008-chromium-musl-linux-glibc-make-the-distinction.patch;patchdir=src/3rdparty \ + file://0009-chromium-musl-allocator-Do-not-include-glibc_weak_sy.patch;patchdir=src/3rdparty \ + file://0010-chromium-musl-Use-correct-member-name-__si_fields-fr.patch;patchdir=src/3rdparty \ + file://0011-chromium-musl-Match-syscalls-to-match-musl.patch;patchdir=src/3rdparty \ + file://0012-chromium-musl-Define-res_ninit-and-res_nclose-for-no.patch;patchdir=src/3rdparty \ + file://0013-chromium-musl-Do-not-define-__sbrk-on-musl.patch;patchdir=src/3rdparty \ + file://0014-chromium-musl-Adjust-default-pthread-stack-size.patch;patchdir=src/3rdparty \ + file://0015-chromium-musl-include-asm-generic-ioctl.h-for-TCGETS.patch;patchdir=src/3rdparty \ + file://0016-chromium-musl-tcmalloc-Use-off64_t-insread-of-__off6.patch;patchdir=src/3rdparty \ " SRCREV_qtwebengine = "f32b3514a5186bc4f5452f004324bdb7782d30a3" diff --git a/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch index d96636e6..764b0305 100644 --- a/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch +++ b/recipes-qt/qt5/qtwebkit/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch @@ -1,4 +1,4 @@ -From 86bdd059606252b16c24432fbe4bba461406c1e4 Mon Sep 17 00:00:00 2001 +From c4e691a8dd2037d9b359e0de9d4790da9078f74e Mon Sep 17 00:00:00 2001 From: Trevor Woerner <trevor.woerner@linaro.org> Date: Fri, 7 Feb 2014 04:07:17 +0100 Subject: [PATCH] qtwebkit: fix QA issue (bad RPATH) @@ -14,7 +14,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 1 file changed, 1 deletion(-) diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf -index fd66af6..ef754c3 100644 +index fd66af670..ef754c367 100644 --- a/Tools/qmake/mkspecs/features/unix/default_post.prf +++ b/Tools/qmake/mkspecs/features/unix/default_post.prf @@ -61,7 +61,6 @@ linux-*g++* { diff --git a/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch b/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch index a16801b5..cec6376d 100644 --- a/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch +++ b/recipes-qt/qt5/qtwebkit/0002-Exclude-backtrace-API-for-non-glibc-libraries.patch @@ -1,4 +1,4 @@ -From ed626df67e8287fadbfe2801c241c9717472dcf4 Mon Sep 17 00:00:00 2001 +From fc2773961eaa536e6a617ded7c1a972d979fa2e4 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 5 Jun 2015 19:55:05 -0700 Subject: [PATCH] Exclude backtrace() API for non-glibc libraries @@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp -index 1b2091f..ba03a28 100644 +index 1b2091f53..ba03a28ec 100644 --- a/Source/WTF/wtf/Assertions.cpp +++ b/Source/WTF/wtf/Assertions.cpp @@ -61,7 +61,7 @@ diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 0446bef9..9fc931e9 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -18,10 +18,12 @@ DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf- ARM_INSTRUCTION_SET_armv4 = "arm" ARM_INSTRUCTION_SET_armv5 = "arm" +# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.9 +# 5.9.meta-qt5.2 SRC_URI += "\ file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \ - file://0003-Exclude-backtrace-API-for-non-glibc-libraries.patch \ file://0001-Remove-unused-check-for-private_tests.patch \ + file://0002-Exclude-backtrace-API-for-non-glibc-libraries.patch \ " PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors qtwebchannel \ diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index 5393ad48..28951057 100644 --- a/recipes-qt/qt5/qtwebsockets_git.bb +++ b/recipes-qt/qt5/qtwebsockets_git.bb @@ -1,12 +1,12 @@ require qt5.inc require qt5-git.inc -LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 ) & ( GPL-2.0+ | LGPL-3.0 ) | The-Qt-Company-Commercial" +LICENSE = "GFDL-1.3 & (GPL-3 | LGPL-3.0) | 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.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " DEPENDS += "qtbase qtdeclarative" diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb index 4b9e0be8..57abc40d 100644 --- a/recipes-qt/qt5/qtwebview_git.bb +++ b/recipes-qt/qt5/qtwebview_git.bb @@ -11,4 +11,12 @@ require qt5-git.inc DEPENDS += "qtbase qtwebengine" +COMPATIBLE_MACHINE = "(-)" +COMPATIBLE_MACHINE_x86 = "(.*)" +COMPATIBLE_MACHINE_x86-64 = "(.*)" +COMPATIBLE_MACHINE_armv6 = "(.*)" +COMPATIBLE_MACHINE_armv7a = "(.*)" +COMPATIBLE_MACHINE_armv7ve = "(.*)" +COMPATIBLE_MACHINE_aarch64 = "(.*)" + SRCREV = "7e71daf48c2ee3c3518cbfe6103d212772ccf414" diff --git a/recipes-qt/qt5/qtxmlpatterns/run-ptest b/recipes-qt/qt5/qtxmlpatterns/run-ptest new file mode 100644 index 00000000..044f834d --- /dev/null +++ b/recipes-qt/qt5/qtxmlpatterns/run-ptest @@ -0,0 +1,6 @@ +#!/bin/sh + +for x in ` awk '{print $1}' tst_list `;do + ./${x}; +done + diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb index af6a539b..9fc1b5e9 100644 --- a/recipes-qt/qt5/qtxmlpatterns_git.bb +++ b/recipes-qt/qt5/qtxmlpatterns_git.bb @@ -1,5 +1,6 @@ require qt5.inc require qt5-git.inc +require qt5-ptest.inc LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )" LIC_FILES_CHKSUM = " \ @@ -19,3 +20,4 @@ DEPENDS += "qtbase" SRCREV = "9e26cfa167778f3d9444aedcb23c8476683b3785" BBCLASSEXTEND =+ "native nativesdk" + |