summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebkit/qtwebkit-5.212.0_alpha2-r1000.ebuild
blob: 58678f2f60705b648e640a3e957b7556d3dcf7c4 (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
123
124
125
126
127
128
# 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.3:5"
inherit cmake-utils python-any-r1 qt5-build-r10000 versionator

DESCRIPTION="WebKit rendering library for the Qt5 framework (deprecated)"

if [[ ${QT5_BUILD_TYPE} == release ]]; then
	KEYWORDS="amd64"
fi

SRC_URI="https://github.com/annulen/webkit/releases/download/${P/_/-}/${P/_/-}.tar.xz"

# 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}-fixes.patch"
)

S=${WORKDIR}/${P/_/-}

src_prepare() {
	# force using system library
	sed -i -e 's/qtConfig(system-jpeg)/true/' \
		-e 's/qtConfig(system-png)/true/' \
		Tools/qmake/mkspecs/features/functions.prf || die

	qt_use_disable_config opengl opengl Tools/qmake/mkspecs/features/functions.prf

	qt_use_disable_mod geolocation positioning Tools/qmake/mkspecs/features/functions.prf
	qt_use_disable_mod multimedia multimediawidgets Tools/qmake/mkspecs/features/functions.prf
	qt_use_disable_mod orientation sensors Tools/qmake/mkspecs/features/functions.prf
	qt_use_disable_mod printsupport printsupport Tools/qmake/mkspecs/features/functions.prf
	qt_use_disable_mod qml quick Tools/qmake/mkspecs/features/functions.prf

	use webp || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \
		Tools/qmake/mkspecs/features/functions.prf || die

	qt5-build-r10000_src_prepare
}

src_configure() {
	local mycmakeargs=(
		-DENABLE_DEVICE_ORIENTATION=$(usex orientation)
		-DENABLE_GAMEPAD_DEPRECATED=OFF
		-DENABLE_GEOLOCATION=$(usex geolocation)
		-DENABLE_PRINT_SUPPORT=$(usex printsupport)
		-DENABLE_QT_GESTURE_EVENTS=$(usex printsupport)
		-DENABLE_QT_WEBCHANNEL=$(usex webchannel)
		-DENABLE_WEBKIT2=$(usex qml)
		-DENABLE_JIT=$(usex jit)
		-DUSE_GSTREAMER=$(usex gstreamer)
		-DUSE_MEDIA_FOUNDATION=$(usex multimedia)
		-DUSE_QT_MULTIMEDIA=$(usex multimedia)
		-DCMAKE_BUILD_TYPE=Release
		-DPORT=Qt
		-DENABLE_TOOLS=OFF
		-DENABLE_API_TESTS=OFF
	)

	cmake-utils_src_configure
}

src_compile() {
	cmake-utils_src_compile
}

src_install() {
	qt5-build-r10000_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
}