commit:     5959cfdb7a736cd0ac83bfb13e6fdfb987ac0217
Author:     Anthony Ryan <anthonyryan1 <AT> gmail <DOT> com>
AuthorDate: Fri Nov 25 03:49:17 2016 +0000
Commit:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Fri Nov 25 17:47:25 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5959cfdb

qt4-build-multilib.eclass: explicitly build with -std=gnu++98

While some of the Qt4 packages build correctly with -std=gnu++14,
others rely upon std::tr1 and other renamed library items. Because
most of these issues have been resolved upstream in Qt5, the easiest
solution is to ensure Qt4 is always built with -std=gnu++98.

Gentoo-Bug: 582522, 582618, 583744, 583662
Closes: https://github.com/gentoo/gentoo/pull/2908

 eclass/qt4-build-multilib.eclass | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/eclass/qt4-build-multilib.eclass b/eclass/qt4-build-multilib.eclass
index 2a84bc5..d0b11af 100644
--- a/eclass/qt4-build-multilib.eclass
+++ b/eclass/qt4-build-multilib.eclass
@@ -158,6 +158,12 @@ qt4-build-multilib_src_prepare() {
                        || die "sed failed (skip X11 tests)"
        fi
 
+       # Qt4 is not safe to build with C++14 (the new gcc-6 default).
+       # Upstream has addressed this for Qt5, but while we continue to
+       # support Qt4, we need to ensure everything is built in C++98 mode.
+       # See bugs 582522, 582618, 583662, 583744.
+       append-cxxflags -std=gnu++98
+
        if [[ ${PN} == qtcore ]]; then
                # Bug 373061
                # qmake bus errors with -O2 or -O3 but -O1 works

Reply via email to