aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase_git.bb
diff options
context:
space:
mode:
authorMikko Gronoff <mikko.gronoff@qt.io>2017-09-21 12:49:50 +0300
committerMikko Gronoff <mikko.gronoff@qt.io>2017-09-25 12:14:50 +0300
commit6269d8a5bc402e6dafd8ee8499481d29792d1c4a (patch)
tree604131cc4f8a02426006aa728178540d9e76f303 /recipes-qt/qt5/qtbase_git.bb
parent65172464082a07301fd46a8bc34d78860d2bc5ef (diff)
parent268429962056a12e0e899612dafb433c257af5cf (diff)
Merge remote-tracking branch 'qtyocto/upstream/master' into 5.9
* qtyocto/upstream/master: qtwebengine: add patch for long paths qtwebengine: update 0004-Force-host-toolchain-configuration.patch qtwebengine: fix build with glibc-2.26 qt: upgrade to latest revision in 5.9 branch qt: refresh remaining patches and add links to meta-qt5 repos qtwebengine: add a fix for building demobrowser without printing support Upgrade to Qt 5.9.0 qtbase, qtgraphicaleffect, qtmultimedia, qtscript, qtlocation, qtwayland: disable gold to work around binutils bug qtwebengine: disable SECURITY_STRINGFORMAT to fix the build meta-toolchain-qt5: don't rely on COREBASE/LICENSE qtbase: fix Krogoth build regression from efa8aaf qt3d: refresh patches qtwebengine: refresh patches qtbase: refresh the patches gstreamer1.0-plugins-bad: add qt5 packageconfig qtbase: remove qtbase-native from DEPENDS qt3d: Fix build with clang qtwebkit: Backport a patch to fix build with icu-59 quazip: update to 0.7.3 and add missing metadata qtbase: Use sched_yield instead of pthread_yield qtbase: Fix ptests with clang qt5-ptest: fix build with yocto < 2.3 (pyro) qtbase: add ptest qwt-qt5.inc: fix QA warning qt5-git.inc: set CVE_PRODUCT to qt python-pyqt5: include QtWidgets module qt5-creator: Link with libexecinfo on musl qtvirtualkeyboard: Include sys/time.h qtwebengine: Fix build on musl qt5-creator: Fix build with NO_ACCESSIBILITY maliit-framework-qt5: Always have optimize flags qtbase-native: Fix qdbuscpp2xml segfault qt5-ptest.inc: append do_populate_sysroot only for target qtwebengine: fix build with gcc7 qwt-qt5: Fix rpath issues qtquickcontrols2: fix compilation of examples/texteditor qtquick1: add ptest qtdeclarative: add ptest qtxmlpatterns: add ptest qt5: add qt5-ptest.inc QtSystems module not updated as newer version fails to build with Yocto. Conflicts: recipes-qt/qt5/nativesdk-qtbase_git.bb recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch recipes-qt/qt5/qt3d_git.bb recipes-qt/qt5/qtbase-native_git.bb recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch recipes-qt/qt5/qtbase/0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch recipes-qt/qt5/qtbase_git.bb recipes-qt/qt5/qtcharts_git.bb recipes-qt/qt5/qtdeclarative_git.bb recipes-qt/qt5/qtenginio_git.bb recipes-qt/qt5/qtgraphicaleffects_git.bb recipes-qt/qt5/qtlocation/0001-Make-mapbox-gl-build-configurable.patch recipes-qt/qt5/qtlocation_git.bb recipes-qt/qt5/qtmultimedia_git.bb recipes-qt/qt5/qtquick1_git.bb recipes-qt/qt5/qtquickcontrols_git.bb recipes-qt/qt5/qtremoteobjects_git.bb recipes-qt/qt5/qtscript_git.bb recipes-qt/qt5/qtsensors_git.bb recipes-qt/qt5/qtsvg_git.bb recipes-qt/qt5/qttools_git.bb recipes-qt/qt5/qtwayland_git.bb recipes-qt/qt5/qtwebchannel_git.bb recipes-qt/qt5/qtwebengine/0001-functions.prf-allow-build-for-linux-oe-g-platform.patch recipes-qt/qt5/qtwebengine/0002-WebEngine-qquickwebengineview_p_p.h-add-include-QCol.patch recipes-qt/qt5/qtwebengine/0003-Include-dependency-to-QCoreApplication-translate.patch recipes-qt/qt5/qtwebengine_git.bb recipes-qt/qt5/qtwebkit-examples_git.bb recipes-qt/qt5/qtwebkit_git.bb recipes-qt/qt5/qtwebsockets_git.bb recipes-qt/qt5/qtwebview_git.bb Task-number: QTBUG-62635 Change-Id: I32dbc0b9c26916d57865a08ec6d55cd175c28fd0
Diffstat (limited to 'recipes-qt/qt5/qtbase_git.bb')
-rw-r--r--recipes-qt/qt5/qtbase_git.bb52
1 files changed, 46 insertions, 6 deletions
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