diff options
88 files changed, 1470 insertions, 242 deletions
diff --git a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb index 3ceb3558..9605777d 100644 --- a/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb +++ b/recipes-connectivity/libconnman-qt/libconnman-qt5_git.bb @@ -5,9 +5,9 @@ HOMEPAGE = "https://git.merproject.org/mer-core/libconnman-qt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://libconnman-qt/clockmodel.h;endline=8;md5=ea9f724050803f15d2d900ce3c5dac88" DEPENDS += "qtbase qtdeclarative" -PV = "1.0.98+git${SRCPV}" +PV = "1.1.10+git${SRCPV}" -SRCREV = "8d4580a55ca02b84fc3db374c6530e39c94e0d92" +SRCREV = "4d6def3053eaccaac04e4f9e03ee24dea8b9e8d8" SRC_URI = "git://git.merproject.org/mer-core/libconnman-qt.git;protocol=https \ file://0001-Don-t-use-MeeGo-as-prefix-in-order-to-make-this-a-co.patch \ " diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend new file mode 100644 index 00000000..b42338ab --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend @@ -0,0 +1,15 @@ +inherit qmake5_paths + +PACKAGECONFIG[qt5] = '--enable-qt \ + --with-moc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc" \ + --with-uic="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic" \ + --with-rcc="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc" \ + ,--disable-qt,qtbase qtdeclarative qtbase-native' + +# The GStreamer Qt5 plugin needs desktop OpenGL or OpenGL ES to work, so make sure it is enabled +python() { + cur_packageconfig = d.getVar('PACKAGECONFIG',True).split() + if 'qt5' in cur_packageconfig and not (('opengl' in cur_packageconfig) or ('gles2' in cur_packageconfig)): + gl_packageconfig = d.getVar('PACKAGECONFIG_GL',True) + d.appendVar('PACKAGECONFIG', ' ' + gl_packageconfig) +} diff --git a/recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch b/recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch new file mode 100644 index 00000000..7e1c7bf4 --- /dev/null +++ b/recipes-python/pyqt5/files/0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch @@ -0,0 +1,35 @@ +From 8a2f852417414e19d060da66cd7c5cba76e43c7d Mon Sep 17 00:00:00 2001 +From: Diego Rondini <diego.rondini@kynetics.com> +Date: Wed, 19 Jul 2017 14:17:51 +0200 +Subject: [PATCH] qtabbar.sip: fix build with accessibility disabled + +Upstream-Status: Submitted + +Signed-off-by: Diego Rondini <diego.rondini@kynetics.com> +--- + sip/QtWidgets/qtabbar.sip | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/sip/QtWidgets/qtabbar.sip b/sip/QtWidgets/qtabbar.sip +index ffe2d3b..80ad816 100644 +--- a/sip/QtWidgets/qtabbar.sip ++++ b/sip/QtWidgets/qtabbar.sip +@@ -166,11 +166,15 @@ protected: + + public: + %If (Qt_5_8_0 -) ++%If (PyQt_Accessibility) + QString accessibleTabName(int index) const; + %End ++%End + %If (Qt_5_8_0 -) ++%If (PyQt_Accessibility) + void setAccessibleTabName(int index, const QString &name); + %End ++%End + + private: + QTabBar(const QTabBar &); +-- +2.7.4 + diff --git a/recipes-python/pyqt5/python-pyqt5_5.8.2.bb b/recipes-python/pyqt5/python-pyqt5_5.8.2.bb index 3fa3d644..fdfa1205 100644 --- a/recipes-python/pyqt5/python-pyqt5_5.8.2.bb +++ b/recipes-python/pyqt5/python-pyqt5_5.8.2.bb @@ -11,6 +11,7 @@ DEPENDS = "sip sip-native qtbase python" SRC_URI = "\ ${SOURCEFORGE_MIRROR}/pyqt/PyQt5_gpl-${PV}.tar.gz \ file://fix-sm.patch \ + file://0001-qtabbar.sip-fix-build-with-accessibility-disabled.patch \ " SRC_URI[md5sum] = "c3048e9d242f3e72fd393630da1d971a" SRC_URI[sha256sum] = "ebd70515b30bbd6098fee29e6271a6696b1183c5530ee30e6ba9aaab195536e8" @@ -31,8 +32,8 @@ DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager" DISABLED_FEATURES_append_arm = " PyQt_qreal_double" -PYQT_MODULES = "QtCore QtGui QtNetwork" -PYQT_MODULES_aarch64 = "QtCore QtGui QtNetwork" +PYQT_MODULES = "QtCore QtGui QtNetwork QtWidgets" +PYQT_MODULES_aarch64 = "QtCore QtGui QtNetwork QtWidgets" do_configure_prepend() { cd ${S} diff --git a/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch b/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch new file mode 100644 index 00000000..73560340 --- /dev/null +++ b/recipes-qt/maliit/maliit-framework-qt5/0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch @@ -0,0 +1,34 @@ +From cb38c078fa34a3d0cff6bc195edd9f507477d2e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 12 Jul 2017 11:45:06 -0700 +Subject: [PATCH] config.pri: Use -O1 optimization in DEBUG flags + +when building wit FORTIFY_SOURCES we need some level of +optimization turned on for the compile to succeed + +O1 is a good compromise between debug quality and +optimization level. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + config.pri | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/config.pri b/config.pri +index 1505f9d..7cc196a 100644 +--- a/config.pri ++++ b/config.pri +@@ -13,8 +13,8 @@ include(defines.pri) + # Linker optimization for release build + QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed + # Compiler warnings are error if the build type is debug +-QMAKE_CXXFLAGS_DEBUG+=-Werror -O0 +-QMAKE_CFLAGS_DEBUG+=-Werror -O0 ++QMAKE_CXXFLAGS_DEBUG+=-Werror -O1 ++QMAKE_CFLAGS_DEBUG+=-Werror -O1 + + OBJECTS_DIR = .obj + MOC_DIR = .moc +-- +2.13.2 + diff --git a/recipes-qt/maliit/maliit-framework-qt5_git.bb b/recipes-qt/maliit/maliit-framework-qt5_git.bb index 62a7209b..e0a0e0e1 100644 --- a/recipes-qt/maliit/maliit-framework-qt5_git.bb +++ b/recipes-qt/maliit/maliit-framework-qt5_git.bb @@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad" inherit qmake5 qmake5_paths SRC_URI = "git://github.com/maliit/framework.git;branch=master \ - file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \ - file://maliit-server.desktop \ -" + file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \ + file://maliit-server.desktop \ + file://0001-config.pri-Use-O1-optimization-in-DEBUG-flags.patch \ + " SRCREV = "60b1b10de14f932420313c547ab801daf522d539" PV = "0.99.0+git${SRCPV}" @@ -57,7 +58,6 @@ EXTRA_QMAKEVARS_PRE = "\ CONFIG+=enable-dbus-activation \ CONFIG+=qt5-inputcontext \ " - EXTRA_OEMAKE += "INSTALL_ROOT=${D}" do_install_append() { diff --git a/recipes-qt/meta/meta-toolchain-qt5.bb b/recipes-qt/meta/meta-toolchain-qt5.bb index 89911765..2027b54e 100644 --- a/recipes-qt/meta/meta-toolchain-qt5.bb +++ b/recipes-qt/meta/meta-toolchain-qt5.bb @@ -1,7 +1,6 @@ SUMMARY = "Meta package for building an installable Qt5 toolchain and SDK" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ - file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" inherit populate_sdk populate_sdk_qt5 diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 5a7783c2..57e6093d 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 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 796658f4..7ffc6a49 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -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 86e9f385..ffa70e53 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.9" @@ -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.9.2+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 60307e77..4ff86522 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -20,19 +20,24 @@ 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://0009-Always-build-uic.patch \ " CLEANBROKEN = "1" 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..a8fe4338 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 @@ -30,10 +30,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h diff --git a/configure b/configure -index 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,7 +78,7 @@ 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 0000000000..c1837e6d55 --- /dev/null +++ b/mkspecs/linux-oe-g++/qmake.conf @@ -0,0 +1,43 @@ @@ -127,7 +127,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 fb3d316f..2a1d534b 100644 --- a/recipes-qt/qt5/qtbase/0011-Always-build-uic.patch +++ b/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch @@ -1,4 +1,4 @@ -From 1b94b0f2579edcf870bc953f820af8fb2ec4376f Mon Sep 17 00:00:00 2001 +From bf173918731c626b6c8b84eb826c921e5c6d44f5 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Sat, 16 Nov 2013 00:32:30 +0100 Subject: [PATCH] Always build uic @@ -14,10 +14,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src.pro b/src/src.pro -index 3d18540..d128b3a 100644 +index 43fc06f2e5..1e9d4dcc0d 100644 --- a/src/src.pro +++ b/src/src.pro -@@ -195,7 +195,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent +@@ -203,7 +203,7 @@ qtConfig(gui) { } } } 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 b13766d4..89e1b4ca 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,7 +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 += " \ + ${QT_CONFIG_FLAGS_GOLD} \ -shared \ -silent \ -no-pch \ @@ -163,6 +192,17 @@ 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 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 bc16fdfd..c409ae6c 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 b62a9340..6c6f3aef 100644 --- a/recipes-qt/qt5/qtgraphicaleffects_git.bb +++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb @@ -3,13 +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 = "b6ff12df5496f3d296bb438ae343d5f771e93fec" diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index e9f686cf..268bea1d 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -13,7 +13,9 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtxmlpatterns qtdeclarative qtquickcontrols" -SRC_URI += "file://0001-Make-mapbox-gl-build-configurable.patch" +SRC_URI += " \ + file://0001-Make-mapbox-gl-build-configurable.patch \ +" PACKAGECONFIG ??= "" # older geoclue 0.12.99 is needed @@ -24,9 +26,13 @@ PACKAGECONFIG[mapboxgl] = "" EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'mapboxgl', 'CONFIG+=mapboxgl', '', d)}" 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 = "d22e6d09f1607e694694d2ae5b2f447605a8782e" SRCREV_qtlocation-mapboxgl = "1c633072fcea7ad153ab6f8ec40dd72d83541ead" diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index 44303462..729b3ffd 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 = "343e281f0e7cc7fd9e1558e4d92f5019fa565181" 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 2f16a36f..eaa36611 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,7 @@ do_configure_prepend() { } QT_MODULE_BRANCH = "dev" -SRCREV = "695460401d9a89d2f156016d51601b2e59b64105" +# 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/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb index 438e3086..fd6d5954 100644 --- a/recipes-qt/qt5/qtquickcontrols_git.bb +++ b/recipes-qt/qt5/qtquickcontrols_git.bb @@ -20,6 +20,13 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \ " +FILES_${PN}-qmlplugins += " \ + ${OE_QMAKE_PATH_QML}/QtQuick/Controls/Shaders \ + ${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 221e4977..1e90323b 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 ccb83c8a..9061c3c7 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 = "86ee61734e0331459f9cfeb1ad56f773b7e994be" 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 0200f51f..36ca665d 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 = "a1dff1a11ad303a1f82f181e6386194de90ec08f" +# 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 f2abd153..6b2c28e3 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/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 fd4d3bf1..4becdbb6 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 6f2738a4..122d0681 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 491ea542..04de8292 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 = "a97b4f8504cd4bccebed60934e5b842610454b39" +# 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 97eda8b5..7e12a337 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/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/0003-chromium-workaround-for-too-long-.rps-file-name.patch b/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch new file mode 100644 index 00000000..ed897ea2 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0003-chromium-workaround-for-too-long-.rps-file-name.patch @@ -0,0 +1,42 @@ +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 + +Ninja may fail when the build directory is too long: + +ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_\ +interfaces_info_individual_modules__home_qt_work_build_build-nitrogen\ +6x_tmp_work_cortexa9hf-neon-mx6qdl-poky-linux-gnueabi_qtwebengine_5.9\ +.0_gitAUTOINC_29afdb0a34_049134677a-r0_build_src_toolchain_target__ru\ +le.rsp): Unable to create file. File name too long + +Task-number: QTBUG-59769 +Change-Id: I73c5e64ae5174412be2a675e35b0b6047f2bf4c1 +--- + chromium/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ + 1 file changed, 9 insertions(+) + +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. + std::string rspfile = custom_rule_name; ++ ++ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end ++ //please note ".$unique_name" is not used at the moment ++ int pos = 0; ++ std::string delimiter("_"); ++ while (rspfile.length() > 251 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos) ++ rspfile = rspfile.substr(0,pos); ++ + if (!target_->sources().empty()) + rspfile += ".$unique_name"; + rspfile += ".rsp"; ++ + out_ << " rspfile = " << rspfile << std::endl; + + // Response file contents. diff --git a/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch new file mode 100644 index 00000000..bda0ba1a --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0004-Force-host-toolchain-configuration.patch @@ -0,0 +1,71 @@ +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 + +Force gcc/g++ to be used for parts using host toolchain, since +the option(host_build) does not work in yocto builds. + +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. + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> +--- + src/buildtools/configure_host.pro | 14 +++++++------- + src/core/config/linux.pri | 2 +- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/buildtools/configure_host.pro b/src/buildtools/configure_host.pro +index f1b3d47b..12123729 100644 +--- a/src/buildtools/configure_host.pro ++++ b/src/buildtools/configure_host.pro +@@ -4,7 +4,7 @@ TEMPLATE = aux + # Pick up the host toolchain + option(host_build) + +-GN_HOST_CPU = $$gnArch($$QT_ARCH) ++GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch) + !isEmpty(QT_TARGET_ARCH): GN_TARGET_CPU = $$gnArch($$QT_TARGET_ARCH) + else: GN_TARGET_CPU = $$GN_HOST_CPU + GN_OS = $$gnOS() +@@ -29,9 +29,9 @@ GN_CONTENTS = \ + "import(\"//build/config/sysroot.gni\")" \ + "import(\"//build/toolchain/gcc_toolchain.gni\")" \ + "gcc_toolchain(\"host\") {" \ +-" cc = \"$$which($$QMAKE_CC)\" " \ +-" cxx = \"$$which($$QMAKE_CXX)\" " \ +-" ld = \"$$which($$QMAKE_LINK)\" " \ ++" cc = \"$$which(gcc)\" " \ ++" cxx = \"$$which(g++)\" " \ ++" ld = \"$$which(g++)\" " \ + " ar = \"$$which(ar)\" " \ + " nm = \"$$which(nm)\" " \ + " toolchain_args = { " \ +@@ -42,9 +42,9 @@ GN_CONTENTS = \ + " } " \ + "}" \ + "gcc_toolchain(\"v8_snapshot\") {" \ +-" cc = \"$$which($$QMAKE_CC)\" " \ +-" cxx = \"$$which($$QMAKE_CXX)\" " \ +-" ld = \"$$which($$QMAKE_LINK)\" " \ ++" cc = \"$$which(gcc)\" " \ ++" cxx = \"$$which(g++)\" " \ ++" ld = \"$$which(g++)\" " \ + " ar = \"$$which(ar)\" " \ + " nm = \"$$which(nm)\" " \ + " toolchain_args = { " \ +diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri +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 { + + host_build { + gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\" +- GN_HOST_CPU = $$gnArch($$QT_ARCH) ++ GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch) + gn_args += host_cpu=\"$$GN_HOST_CPU\" + # Don't bother trying to use system libraries in this case + gn_args += use_glib=false diff --git a/recipes-qt/qt5/qtwebengine/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/0005-qtbug-61521.cpp-use-free-instead-of-cfree.patch b/recipes-qt/qt5/qtwebengine/0005-qtbug-61521.cpp-use-free-instead-of-cfree.patch new file mode 100644 index 00000000..d8d89b8e --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0005-qtbug-61521.cpp-use-free-instead-of-cfree.patch @@ -0,0 +1,25 @@ +From 331de4be615b8552e498ac2f3deff4b49b4b0fc0 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Sun, 20 Aug 2017 20:37:38 +0200 +Subject: [PATCH] qtbug-61521.cpp: use free instead of cfree + +* as cfree man says: + This function should never be used. Use free(3) instead. + Starting with version 2.26, it has been removed from glibc. +--- + src/core/api/qtbug-61521.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/api/qtbug-61521.cpp b/src/core/api/qtbug-61521.cpp +index 86d5998e..1dcc4cfa 100644 +--- a/src/core/api/qtbug-61521.cpp ++++ b/src/core/api/qtbug-61521.cpp +@@ -100,7 +100,7 @@ SHIM_HIDDEN void* ShimCalloc(size_t n, size_t size) { + } + + SHIM_HIDDEN void ShimCFree(void* ptr) { +- cfree(ptr); ++ free(ptr); + } + + SHIM_HIDDEN void* ShimMemalign(size_t align, size_t s) { 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 0b559174..6e5a34cc 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 = "56-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://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 \ + file://0005-qtbug-61521.cpp-use-free-instead-of-cfree.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 = "0f6908b5f9eca09cf086410344a862b9d59ef727" diff --git a/recipes-qt/qt5/qtwebkit-examples_git.bb b/recipes-qt/qt5/qtwebkit-examples_git.bb index 460ff0c7..3e3e4a0b 100644 --- a/recipes-qt/qt5/qtwebkit-examples_git.bb +++ b/recipes-qt/qt5/qtwebkit-examples_git.bb @@ -17,4 +17,4 @@ DEPENDS += "qtwebkit qtxmlpatterns" RDEPENDS_${PN}-examples += "qtwebkit-qmlplugins" RDEPENDS_${PN}-examples += "${@bb.utils.contains('PACKAGECONFIG_OPENSSL', 'openssl', 'ca-certificates', '', d)}" -SRCREV = "f544b2eec0c18b7674ac4df629ae98e8cacce5c7" +SRCREV = "a24c780b60d7d8bc00c4a48042cf7f32db777d55" 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 86460595..8b3c3f50 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -18,9 +18,11 @@ 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://0002-Exclude-backtrace-API-for-non-glibc-libraries.patch \ " PACKAGECONFIG ??= "gstreamer qtlocation qtmultimedia qtsensors qtwebchannel \ @@ -85,4 +87,4 @@ PACKAGES_remove = "${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-db RUBY_SYS = "${@ '${BUILD_SYS}'.replace('i486', 'i386').replace('i586', 'i386').replace('i686', 'i386') }" export RUBYLIB="${STAGING_DATADIR_NATIVE}/rubygems:${STAGING_LIBDIR_NATIVE}/ruby:${STAGING_LIBDIR_NATIVE}/ruby/${RUBY_SYS}" -SRCREV = "821eaaadc9d63d03aca65cf757230b520daaaa7c" +SRCREV = "97c4a80a1282c8c3eaa343011286b76fd4838c5f" diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index 89501de0..3bb690b4 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 6d27a419..0bbb09ea 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 = "e4016a67bbffefed71a407494e249e978d212b3d" 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 4336c129..7c18079a 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 = "fcfa824402bb4edaf644fad786dac3560c743ebe" BBCLASSEXTEND =+ "native nativesdk" + diff --git a/recipes-qt/quazip/quazip_0.7.2.bb b/recipes-qt/quazip/quazip_0.7.2.bb deleted file mode 100644 index 6b09cf9c..00000000 --- a/recipes-qt/quazip/quazip_0.7.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Qt/C++ wrapper for ZIP/UNZIP package" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4" -DEPENDS = "qtbase" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" -SRC_URI[md5sum] = "84163487a4c3470781c93e5f56c4ca43" -SRC_URI[sha256sum] = "91d827fbcafd099ae814cc18a8dd3bb709da6b8a27c918ee1c6c03b3f29440f4" - -inherit qmake5 - -EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}" -EXTRA_QMAKEVARS_POST += "SUBDIRS=${BPN}" diff --git a/recipes-qt/quazip/quazip_0.7.3.bb b/recipes-qt/quazip/quazip_0.7.3.bb new file mode 100644 index 00000000..970204e5 --- /dev/null +++ b/recipes-qt/quazip/quazip_0.7.3.bb @@ -0,0 +1,15 @@ +SUMMARY = "Qt/C++ wrapper for ZIP/UNZIP package" +HOMEPAGE = "http://quazip.sourceforge.net/" +BUGTRACKER = "https://sourceforge.net/p/quazip/bugs/" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=910d778aab53617cbaf13c4e1810e289" +DEPENDS = "qtbase" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "2ba7dd8b1d6dd588374c9fab5c46e76e" +SRC_URI[sha256sum] = "2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5" + +inherit qmake5 + +EXTRA_QMAKEVARS_PRE += "PREFIX=${prefix}" +EXTRA_QMAKEVARS_POST += "SUBDIRS=${BPN}" diff --git a/recipes-qt/qwt/qwt-qt5.inc b/recipes-qt/qwt/qwt-qt5.inc index ee4fbd77..f3ece399 100644 --- a/recipes-qt/qwt/qwt-qt5.inc +++ b/recipes-qt/qwt/qwt-qt5.inc @@ -8,9 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dac2743472b0462ff3cfb4af42051c88" DEPENDS = "qtbase qtsvg qttools" SRC_URI = "${SOURCEFORGE_MIRROR}/qwt/qwt-${PV}.tar.bz2;name=qwt \ + file://remove_rpath.patch \ " -# file://qwt6.patch -# file://qwt6-fix-linking-with-ld-gold.patch" S = "${WORKDIR}/qwt-${PV}" @@ -45,3 +44,5 @@ FILES_${PN}-plugins = "${prefix}/plugins/designer/*.so" FILES_${PN}-dbg += "${prefix}/plugins/designer/.debug" FILES_${PN}-doc += "${prefix}/doc" +INSANE_SKIP_${PN}-plugins += "libdir" +INSANE_SKIP_${PN}-dbg += "libdir" diff --git a/recipes-qt/qwt/qwt-qt5/remove_rpath.patch b/recipes-qt/qwt/qwt-qt5/remove_rpath.patch new file mode 100644 index 00000000..14b65d6a --- /dev/null +++ b/recipes-qt/qwt/qwt-qt5/remove_rpath.patch @@ -0,0 +1,17 @@ +Remove rpath from library, it points to build area which is not +ok + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: qwt-6.1.3/designer/designer.pro +=================================================================== +--- qwt-6.1.3.orig/designer/designer.pro ++++ qwt-6.1.3/designer/designer.pro +@@ -83,7 +83,6 @@ contains(QWT_CONFIG, QwtDesigner) { + # compile the path for finding the Qwt library + # into the plugin. Not supported on Windows ! + +- QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS} + qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt) + + contains(QWT_CONFIG, QwtDll) { |