70eab163de742071826f94adef151b0ad58a983c
[gentoo.git] / dev-qt / qtwebkit / qtwebkit-5.4.2.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6 PYTHON_COMPAT=( python2_7 )
7 inherit python-any-r1 qt5-build
8
9 DESCRIPTION="WebKit rendering library for the Qt5 framework"
10
11 if [[ ${QT5_BUILD_TYPE} == release ]]; then
12         KEYWORDS="amd64 arm ~arm64 ppc64 ~x86"
13 fi
14
15 # TODO: qttestlib, geolocation, orientation/sensors
16
17 IUSE="gstreamer gstreamer010 multimedia opengl printsupport qml udev webp"
18 REQUIRED_USE="?? ( gstreamer gstreamer010 multimedia )"
19
20 RDEPEND="
21         dev-db/sqlite:3
22         dev-libs/icu:=
23         >=dev-libs/leveldb-1.18-r1
24         dev-libs/libxml2:2
25         dev-libs/libxslt
26         >=dev-qt/qtcore-${PV}:5[icu]
27         >=dev-qt/qtgui-${PV}:5
28         >=dev-qt/qtnetwork-${PV}:5
29         >=dev-qt/qtsql-${PV}:5
30         >=dev-qt/qtwidgets-${PV}:5
31         media-libs/fontconfig:1.0
32         media-libs/libpng:0=
33         >=sys-libs/zlib-1.2.5
34         virtual/jpeg:0
35         virtual/opengl
36         x11-libs/libX11
37         x11-libs/libXcomposite
38         x11-libs/libXrender
39         gstreamer? (
40                 dev-libs/glib:2
41                 media-libs/gstreamer:1.0
42                 media-libs/gst-plugins-base:1.0
43         )
44         gstreamer010? (
45                 dev-libs/glib:2
46                 media-libs/gstreamer:0.10
47                 media-libs/gst-plugins-base:0.10
48         )
49         multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[widgets] )
50         opengl? ( >=dev-qt/qtopengl-${PV}:5 )
51         printsupport? ( >=dev-qt/qtprintsupport-${PV}:5 )
52         qml? ( >=dev-qt/qtdeclarative-${PV}:5 )
53         udev? ( virtual/udev )
54         webp? ( media-libs/libwebp:0= )
55 "
56 DEPEND="${RDEPEND}
57         ${PYTHON_DEPS}
58         dev-lang/ruby
59         dev-util/gperf
60         sys-devel/bison
61         sys-devel/flex
62         virtual/rubygems
63 "
64
65 PATCHES=(
66         "${FILESDIR}/${PN}-5.4.2-system-leveldb.patch"
67 )
68
69 src_prepare() {
70         # ensure bundled library cannot be used
71         rm -r Source/ThirdParty/leveldb || die
72
73         # bug 466216
74         sed -i -e '/CONFIG +=/s/rpath//' \
75                 Source/WebKit/qt/declarative/{experimental/experimental,public}.pri \
76                 Tools/qmake/mkspecs/features/{force_static_libs_as_shared,unix/default_post}.prf \
77                 || die
78
79         if use gstreamer010; then
80                 epatch "${FILESDIR}/${PN}-5.3.2-use-gstreamer010.patch"
81         elif ! use gstreamer; then
82                 epatch "${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
83         fi
84         use multimedia   || sed -i -e '/WEBKIT_CONFIG += video use_qt_multimedia/d' \
85                 Tools/qmake/mkspecs/features/features.prf || die
86         use opengl       || sed -i -e '/contains(QT_CONFIG, opengl): WEBKIT_CONFIG += use_3d_graphics/d' \
87                 Tools/qmake/mkspecs/features/features.prf || die
88         use printsupport || sed -i -e '/WEBKIT_CONFIG += have_qtprintsupport/d' \
89                 Tools/qmake/mkspecs/features/features.prf || die
90         use qml          || sed -i -e '/have?(QTQUICK): SUBDIRS += declarative/d' \
91                 Source/QtWebKit.pro || die
92         use udev         || sed -i -e '/linux: WEBKIT_CONFIG += gamepad/d' \
93                 Tools/qmake/mkspecs/features/features.prf || die
94         use webp         || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \
95                 Tools/qmake/mkspecs/features/features.prf || die
96
97         # bug 458222
98         sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die
99
100         qt5-build_src_prepare
101 }