dev-qt/qtwebengine: Fix x86 build with GCC-8
authorAndreas Sturmlechner <asturm@gentoo.org>
Tue, 26 Jun 2018 13:31:32 +0000 (15:31 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 27 Jun 2018 19:00:20 +0000 (21:00 +0200)
Closes: https://bugs.gentoo.org/657124
Package-Manager: Portage-2.3.40, Repoman-2.3.9

dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch [new file with mode: 0644]
dev-qt/qtwebengine/qtwebengine-5.11.1.ebuild
dev-qt/qtwebengine/qtwebengine-5.9.6.ebuild

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch
new file mode 100644 (file)
index 0000000..ba6a49f
--- /dev/null
@@ -0,0 +1,24 @@
+From: Fedora
+Subject: Fix build for 32-bit platforms
+
+Apparently not upstream, can't find this anywhere. So I assume Fedora is the actual source?
+https://src.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium-66.0.3359.170-gcc8-alignof.patch
+
+diff -up chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h
+--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h      2018-05-15 14:58:46.448912634 -0400
++++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h      2018-05-15 14:58:52.041784613 -0400
+@@ -18,7 +18,13 @@
+ #endif
+ // Like the C++11 |alignof| operator.
+-#if __cplusplus >= 201103L
++#if defined(__GNUC__) && __GNUC__ >= 8
++// GCC 8 has changed the alignof operator to return the minimal alignment
++// required by the target ABI, instead of the preferred alignment.
++// This means that on 32-bit x86, it will return 4 instead of 8.
++// Use __alignof__ instead to avoid this.
++#define MOJO_ALIGNOF(type) __alignof__(type)
++#elif __cplusplus >= 201103L
+ #define MOJO_ALIGNOF(type) alignof(type)
+ #elif defined(__GNUC__)
+ #define MOJO_ALIGNOF(type) __alignof__(type)
index 05007972333e22878c48d25b3c53a933b1d778e6..495c4d06013efc63c12ddfa967791bd08944c77a 100644 (file)
@@ -80,6 +80,7 @@ DEPEND="${RDEPEND}
 "
 
 PATCHES+=(
+       "${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
        "${FILESDIR}/${P}-libxml2-disable-catalogs.patch" # bug 653078
        "${FILESDIR}/${P}-ffmpeg4.patch"
        "${FILESDIR}/${P}-eglGetProcAddress-fallback-lookup.patch" # 5.11 branch
index 6788f042ae3dfe16dcce771ec6b269489b3dae61..0ee631f3821415ce41980d1d0d21ca82b30f41aa 100644 (file)
@@ -82,6 +82,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
        "${FILESDIR}/${PN}-5.9.4-jpeg-9-1.patch"
        "${FILESDIR}/${PN}-5.9.4-jpeg-9-2.patch"
+       "${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
 )
 
 src_prepare() {