dev-qt/qtwebengine: Fix x86 build with GCC-8 (again)
[gentoo.git] / dev-qt / qtwebengine / qtwebengine-5.11.2.ebuild
1 # Copyright 1999-2018 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5 PYTHON_COMPAT=( python2_7 )
6 inherit multiprocessing pax-utils python-any-r1 qt5-build
7
8 DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
9
10 if [[ ${QT5_BUILD_TYPE} == release ]]; then
11         KEYWORDS="~amd64 ~arm ~arm64 ~x86"
12 fi
13
14 IUSE="alsa bindist designer geolocation +jumbo-build pax_kernel pulseaudio
15         +system-ffmpeg +system-icu widgets"
16 REQUIRED_USE="designer? ( widgets )"
17
18 RDEPEND="
19         app-arch/snappy:=
20         dev-libs/glib:2
21         dev-libs/nspr
22         dev-libs/nss
23         ~dev-qt/qtcore-${PV}
24         ~dev-qt/qtdeclarative-${PV}
25         ~dev-qt/qtgui-${PV}
26         ~dev-qt/qtnetwork-${PV}
27         ~dev-qt/qtprintsupport-${PV}
28         ~dev-qt/qtwebchannel-${PV}[qml]
29         dev-libs/expat
30         dev-libs/libevent:=
31         dev-libs/libxml2[icu]
32         dev-libs/libxslt
33         dev-libs/re2:=
34         media-libs/fontconfig
35         media-libs/freetype
36         media-libs/harfbuzz:=
37         media-libs/libjpeg-turbo:=
38         media-libs/libpng:0=
39         >=media-libs/libvpx-1.5:=[svc]
40         media-libs/libwebp:=
41         media-libs/mesa[egl]
42         media-libs/opus
43         sys-apps/dbus
44         sys-apps/pciutils
45         sys-libs/libcap
46         sys-libs/zlib[minizip]
47         virtual/libudev
48         x11-libs/libdrm
49         x11-libs/libX11
50         x11-libs/libXcomposite
51         x11-libs/libXcursor
52         x11-libs/libXdamage
53         x11-libs/libXext
54         x11-libs/libXfixes
55         x11-libs/libXi
56         x11-libs/libXrandr
57         x11-libs/libXrender
58         x11-libs/libXScrnSaver
59         x11-libs/libXtst
60         alsa? ( media-libs/alsa-lib )
61         designer? ( ~dev-qt/designer-${PV} )
62         geolocation? ( ~dev-qt/qtpositioning-${PV} )
63         pulseaudio? ( media-sound/pulseaudio:= )
64         system-ffmpeg? ( media-video/ffmpeg:0= )
65         system-icu? ( >=dev-libs/icu-60.2:= )
66         widgets? (
67                 ~dev-qt/qtdeclarative-${PV}[widgets]
68                 ~dev-qt/qtwidgets-${PV}
69         )
70 "
71 DEPEND="${RDEPEND}
72         ${PYTHON_DEPS}
73         >=app-arch/gzip-1.7
74         dev-util/gperf
75         dev-util/ninja
76         dev-util/re2c
77         sys-devel/bison
78         pax_kernel? ( sys-apps/elfix )
79 "
80
81 PATCHES+=(
82         "${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124
83         "${FILESDIR}/${PN}-5.11.1-nouveau-disable-gpu.patch" # bug 609752
84 )
85
86 src_prepare() {
87         use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" )
88
89         if ! use jumbo-build; then
90                 sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
91                         src/core/config/common.pri || die
92         fi
93
94         # bug 620444 - ensure local headers are used
95         find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die
96
97         qt_use_disable_config alsa webengine-alsa src/core/config/linux.pri
98         qt_use_disable_config pulseaudio webengine-pulseaudio src/core/config/linux.pri
99
100         qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro
101
102         qt_use_disable_mod geolocation positioning \
103                 mkspecs/features/configure.prf \
104                 src/core/core_chromium.pri \
105                 src/core/core_common.pri
106
107         qt_use_disable_mod widgets widgets src/src.pro
108
109         qt5-build_src_prepare
110 }
111
112 src_configure() {
113         export NINJA_PATH=/usr/bin/ninja
114         export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
115
116         local myqmakeargs=(
117                 --
118                 -opus
119                 -printing-and-pdf
120                 -webp
121                 $(usex alsa '-alsa' '')
122                 $(usex bindist '' '-proprietary-codecs')
123                 $(usex pulseaudio '-pulseaudio' '')
124                 $(usex system-ffmpeg '-ffmpeg' '')
125                 $(usex system-icu '-webengine-icu' '')
126         )
127         qt5-build_src_configure
128 }
129
130 src_install() {
131         qt5-build_src_install
132
133         # bug 601472
134         if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
135                 die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
136         fi
137
138         pax-mark m "${D%/}${QT5_LIBEXECDIR}"/QtWebEngineProcess
139 }