[yocto] [meta-qt4][krogoth][PATCH] qt4-native: fix gcc-6 build; inhibit debug stripping
Tim Orling
timothy.t.orling at linux.intel.com
Sat Jul 23 14:44:29 PDT 2016
[YOCTO #9897] (Fedora-24 host is gcc-6)
Fix native build only, "krogoth" does not have gcc-6 for target.
Add patches from master:
(Khem Raj) commit 9ec17d2113a8bf9e829ce94c0927036cea100625
(Richard Purdie) commit 8b346c465a5efb280f8d0d23f8660f68bf9af59f
Also, apply patch to inhibit debug stripping to avoid QA warning.
Signed-off-by: Tim Orling <timothy.t.orling at linux.intel.com>
---
...6-qt-everywhere-opensource-src-4.8.7-gcc6.patch | 24 ++++++++++++++++++++++
recipes-qt4/qt4/qt4-4.8.7/gcc-6.patch | 19 +++++++++++++++++
recipes-qt4/qt4/qt4-native.inc | 6 ++++++
3 files changed, 49 insertions(+)
create mode 100644 recipes-qt4/qt4/qt4-4.8.7/0036-qt-everywhere-opensource-src-4.8.7-gcc6.patch
create mode 100644 recipes-qt4/qt4/qt4-4.8.7/gcc-6.patch
diff --git a/recipes-qt4/qt4/qt4-4.8.7/0036-qt-everywhere-opensource-src-4.8.7-gcc6.patch b/recipes-qt4/qt4/qt4-4.8.7/0036-qt-everywhere-opensource-src-4.8.7-gcc6.patch
new file mode 100644
index 0000000..6e0f18d
--- /dev/null
+++ b/recipes-qt4/qt4/qt4-4.8.7/0036-qt-everywhere-opensource-src-4.8.7-gcc6.patch
@@ -0,0 +1,24 @@
+Avoid implicit conversions, which are now flagged by gcc6
+
+| api/qcoloroutput_p.h:74:60: error: shift expression '(1048575 << 20)' overflows [-fpermissive]
+| api/qcoloroutput_p.h:74:63: error: enumerator value for 'BackgroundMask' is not an integer constant
+| BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
+
+
+Upstream-Status: Inappropriate [Frozen upstream]
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+
+diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.than qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
+--- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.than 2016-02-03 11:43:04.567757448 +0100
++++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-02-04 13:12:26.394350271 +0100
+@@ -70,8 +70,8 @@ namespace QPatternist
+ ForegroundShift = 10,
+ BackgroundShift = 20,
+ SpecialShift = 20,
+- ForegroundMask = ((1 << ForegroundShift) - 1) << ForegroundShift,
+- BackgroundMask = ((1 << BackgroundShift) - 1) << BackgroundShift
++ ForegroundMask = 0x1f << ForegroundShift,
++ BackgroundMask = 0x7 << BackgroundShift
+ };
+
+ public:
diff --git a/recipes-qt4/qt4/qt4-4.8.7/gcc-6.patch b/recipes-qt4/qt4/qt4-4.8.7/gcc-6.patch
new file mode 100644
index 0000000..b0ce9cd
--- /dev/null
+++ b/recipes-qt4/qt4/qt4-4.8.7/gcc-6.patch
@@ -0,0 +1,19 @@
+Allow gcc v6 to build webkit. Without this, webkit isn't built
+when gcc v6 is used (silently but then python-pyqt fails to build).
+
+Upstream-Status: Inappropriate [no development on qt4 now]
+RP 2016/5/26
+
+Index: qt-everywhere-opensource-src-4.8.7/configure
+===================================================================
+--- qt-everywhere-opensource-src-4.8.7.orig/configure
++++ qt-everywhere-opensource-src-4.8.7/configure
+@@ -7756,7 +7756,7 @@ case "$XPLATFORM" in
+ *-g++*)
+ # Check gcc's version
+ case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
+- 5*|4*|3.4*)
++ 6*|5*|4*|3.4*)
+ ;;
+ 3.3*)
+ canBuildWebKit="no"
diff --git a/recipes-qt4/qt4/qt4-native.inc b/recipes-qt4/qt4/qt4-native.inc
index 58acac8..8310fcf 100644
--- a/recipes-qt4/qt4/qt4-native.inc
+++ b/recipes-qt4/qt4/qt4-native.inc
@@ -15,7 +15,10 @@ SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever
file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
file://0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch \
file://0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch \
+ file://0015-configure-add-nostrip-for-debug-packages.patch \
file://0021-configure-make-qt4-native-work-with-long-building-pa.patch \
+ file://0036-qt-everywhere-opensource-src-4.8.7-gcc6.patch \
+ file://gcc-6.patch \
file://g++.conf \
file://linux.conf \
"
@@ -25,6 +28,9 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+# workaround for class std::auto_ptr is deprecated with gcc-6
+CXXFLAGS += "-std=gnu++98 -Wno-deprecated"
+
EXTRA_OECONF = "-prefix ${prefix} \
-bindir ${bindir} \
-libdir ${libdir} \
--
2.7.4
More information about the yocto
mailing list