blob: 4c30fd0864c58c7dd65d9cd8012e64003bd8f8f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
QT_MIN_VER="5.9.1:5"
inherit python-any-r1 qt5-build
DESCRIPTION="WebKit rendering library for the Qt5 framework (deprecated)"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
# TODO: qttestlib
IUSE="geolocation gstreamer gles2 +jit multimedia opengl orientation printsupport qml test webchannel webp"
REQUIRED_USE="?? ( gstreamer multimedia )"
RDEPEND="
dev-db/sqlite:3
dev-libs/icu:=
>=dev-libs/leveldb-1.18-r1
dev-libs/libxml2:2
dev-libs/libxslt
>=dev-qt/qtcore-${QT_MIN_VER}[icu]
>=dev-qt/qtgui-${QT_MIN_VER}
>=dev-qt/qtnetwork-${QT_MIN_VER}
>=dev-qt/qtsql-${QT_MIN_VER}
>=dev-qt/qtwidgets-${QT_MIN_VER}
media-libs/fontconfig:1.0
media-libs/libpng:0=
>=sys-libs/zlib-1.2.5
virtual/jpeg:0
virtual/opengl
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXrender
geolocation? ( >=dev-qt/qtpositioning-${QT_MIN_VER} )
gstreamer? (
dev-libs/glib:2
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
multimedia? ( >=dev-qt/qtmultimedia-${QT_MIN_VER}[widgets] )
opengl? (
>=dev-qt/qtgui-${QT_MIN_VER}[gles2=]
>=dev-qt/qtopengl-${QT_MIN_VER}
)
orientation? ( >=dev-qt/qtsensors-${QT_MIN_VER} )
printsupport? ( >=dev-qt/qtprintsupport-${QT_MIN_VER} )
qml? ( >=dev-qt/qtdeclarative-${QT_MIN_VER} )
webchannel? ( >=dev-qt/qtwebchannel-${QT_MIN_VER} )
webp? ( media-libs/libwebp:0= )
"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
dev-lang/ruby
dev-util/gperf
sys-devel/bison
sys-devel/flex
virtual/rubygems
test? ( >=dev-qt/qttest-${QT_MIN_VER} )
"
PATCHES=(
"${FILESDIR}/${PN}-5.4.2-system-leveldb.patch"
"${FILESDIR}/${PN}-5.5.0-fix-backtrace-detection-musl.patch"
"${FILESDIR}/${PN}-5.5.1-fix-stack-size-musl.patch"
)
src_prepare() {
# ensure bundled library cannot be used
rm -r Source/ThirdParty/leveldb || die
# force using system library
sed -i -e 's/qtConfig(system-jpeg)/true/' \
-e 's/qtConfig(system-png)/true/' \
Tools/qmake/mkspecs/features/features.prf || die
# bug 466216
sed -i -e '/CONFIG +=/s/rpath//' \
Source/WebKit/qt/declarative/{experimental/experimental,public}.pri \
Tools/qmake/mkspecs/features/{force_static_libs_as_shared,unix/default_post}.prf \
|| die
qt_use_disable_config opengl opengl Tools/qmake/mkspecs/features/features.prf
qt_use_disable_mod geolocation positioning Tools/qmake/mkspecs/features/features.prf
qt_use_disable_mod multimedia multimediawidgets Tools/qmake/mkspecs/features/features.prf
qt_use_disable_mod orientation sensors Tools/qmake/mkspecs/features/features.prf
qt_use_disable_mod printsupport printsupport Tools/qmake/mkspecs/features/features.prf
qt_use_disable_mod qml quick Tools/qmake/mkspecs/features/features.prf
qt_use_disable_mod webchannel webchannel \
Source/WebKit2/Target.pri \
Source/WebKit2/WebKit2.pri
if ! use gstreamer; then
PATCHES+=("${FILESDIR}/${PN}-5.8.0-disable-gstreamer.patch")
fi
# bug 562396
use jit || PATCHES+=("${FILESDIR}/${PN}-5.5.1-disable-jit.patch")
use webp || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \
Tools/qmake/mkspecs/features/features.prf || die
# bug 458222
sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die
qt5-build_src_prepare
}
src_install() {
qt5-build_src_install
# bug 572056
if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebKit.so ]]; then
eerror "${CATEGORY}/${PF} could not build due to a broken ruby environment."
die 'Check "eselect ruby" and ensure you have a working ruby in your $PATH'
fi
}
|