Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 624404 | Differences between
and this patch

Collapse All | Expand All

(-)a/dev-qt/qtwebkit/qtwebkit-5.9.1.ebuild (-65 / +86 lines)
Lines 2-47 Link Here
2
# Distributed under the terms of the GNU General Public License v2
2
# Distributed under the terms of the GNU General Public License v2
3
3
4
EAPI=6
4
EAPI=6
5
6
COMMIT=72cfbd7664f21fcc0e62b869a6b01bf73eb5e7da
7
CMAKE_MAKEFILE_GENERATOR="ninja"
5
PYTHON_COMPAT=( python2_7 )
8
PYTHON_COMPAT=( python2_7 )
6
QT_MIN_VER="5.9.1:5"
9
USE_RUBY="ruby23 ruby24 ruby25"
7
inherit python-any-r1 qt5-build
10
inherit check-reqs cmake-utils flag-o-matic python-any-r1 qmake-utils ruby-single toolchain-funcs
8
11
9
DESCRIPTION="WebKit rendering library for the Qt5 framework (deprecated)"
12
DESCRIPTION="WebKit rendering library for the Qt5 framework (deprecated)"
13
HOMEPAGE="https://www.qt.io/"
14
SRC_URI="http://code.qt.io/cgit/qt/${PN}.git/snapshot/${COMMIT}.tar.gz -> ${P}.tar.gz"
10
15
11
if [[ ${QT5_BUILD_TYPE} == release ]]; then
16
LICENSE="BSD LGPL-2+"
12
	KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86"
17
SLOT="5/5.212"
13
fi
18
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
14
19
IUSE="geolocation gles2 +gstreamer +hyphen +jit multimedia nsplugin opengl orientation +printsupport qml webp X"
15
# TODO: qttestlib
20
16
21
REQUIRED_USE="
17
IUSE="geolocation gstreamer gles2 +jit multimedia opengl orientation printsupport qml test webchannel webp"
22
	nsplugin? ( X )
18
REQUIRED_USE="?? ( gstreamer multimedia )"
23
	qml? ( opengl )
24
	?? ( gstreamer multimedia )
25
"
19
26
27
QT_MIN_VER="5.9.1:5"
28
# Dependencies found at Source/cmake/OptionsQt.cmake
20
RDEPEND="
29
RDEPEND="
21
	dev-db/sqlite:3
30
	dev-db/sqlite:3
22
	dev-libs/icu:=
31
	dev-libs/icu:=
23
	>=dev-libs/leveldb-1.18-r1:=
24
	dev-libs/libxml2:2
32
	dev-libs/libxml2:2
25
	dev-libs/libxslt
33
	dev-libs/libxslt
26
	>=dev-qt/qtcore-${QT_MIN_VER}[icu]
34
	>=dev-qt/qtcore-${QT_MIN_VER}
27
	>=dev-qt/qtgui-${QT_MIN_VER}
35
	>=dev-qt/qtgui-${QT_MIN_VER}
28
	>=dev-qt/qtnetwork-${QT_MIN_VER}
36
	>=dev-qt/qtnetwork-${QT_MIN_VER}
29
	>=dev-qt/qtsql-${QT_MIN_VER}
30
	>=dev-qt/qtwidgets-${QT_MIN_VER}
37
	>=dev-qt/qtwidgets-${QT_MIN_VER}
31
	media-libs/fontconfig:1.0
32
	media-libs/libpng:0=
38
	media-libs/libpng:0=
33
	>=sys-libs/zlib-1.2.5
34
	virtual/jpeg:0
39
	virtual/jpeg:0
35
	virtual/opengl
36
	x11-libs/libX11
37
	x11-libs/libXcomposite
38
	x11-libs/libXrender
39
	geolocation? ( >=dev-qt/qtpositioning-${QT_MIN_VER} )
40
	geolocation? ( >=dev-qt/qtpositioning-${QT_MIN_VER} )
40
	gstreamer? (
41
	gstreamer? (
41
		dev-libs/glib:2
42
		dev-libs/glib:2
42
		media-libs/gstreamer:1.0
43
		media-libs/gstreamer:1.0
43
		media-libs/gst-plugins-base:1.0
44
		media-libs/gst-plugins-base:1.0
45
		media-libs/gst-plugins-bad:1.0
44
	)
46
	)
47
	hyphen? ( dev-libs/hyphen )
45
	multimedia? ( >=dev-qt/qtmultimedia-${QT_MIN_VER}[widgets] )
48
	multimedia? ( >=dev-qt/qtmultimedia-${QT_MIN_VER}[widgets] )
46
	opengl? (
49
	opengl? (
47
		>=dev-qt/qtgui-${QT_MIN_VER}[gles2=]
50
		>=dev-qt/qtgui-${QT_MIN_VER}[gles2=]
Lines 49-119 Link Here
49
	)
52
	)
50
	orientation? ( >=dev-qt/qtsensors-${QT_MIN_VER} )
53
	orientation? ( >=dev-qt/qtsensors-${QT_MIN_VER} )
51
	printsupport? ( >=dev-qt/qtprintsupport-${QT_MIN_VER} )
54
	printsupport? ( >=dev-qt/qtprintsupport-${QT_MIN_VER} )
52
	qml? ( >=dev-qt/qtdeclarative-${QT_MIN_VER} )
55
	qml? (
53
	webchannel? ( >=dev-qt/qtwebchannel-${QT_MIN_VER} )
56
		>=dev-qt/qtdeclarative-${QT_MIN_VER}
57
		>=dev-qt/qtwebchannel-${QT_MIN_VER}[qml]
58
	)
54
	webp? ( media-libs/libwebp:0= )
59
	webp? ( media-libs/libwebp:0= )
60
	X? (
61
		x11-libs/libX11
62
		x11-libs/libXcomposite
63
		x11-libs/libXrender
64
	)
55
"
65
"
66
67
# Need real bison, not yacc
56
DEPEND="${RDEPEND}
68
DEPEND="${RDEPEND}
57
	${PYTHON_DEPS}
69
	${PYTHON_DEPS}
58
	dev-lang/ruby
70
	${RUBY_DEPS}
71
	dev-lang/perl
59
	dev-util/gperf
72
	dev-util/gperf
60
	sys-devel/bison
73
	>=sys-devel/bison-2.4.3
61
	sys-devel/flex
74
	sys-devel/flex
62
	virtual/rubygems
75
	virtual/pkgconfig
63
	test? ( >=dev-qt/qttest-${QT_MIN_VER} )
64
"
76
"
65
77
66
PATCHES=(
78
CHECKREQS_DISK_BUILD="16G" # Debug build requires much more see bug #417307
67
	"${FILESDIR}/${PN}-5.4.2-system-leveldb.patch"
68
)
69
70
src_prepare() {
71
	# ensure bundled library cannot be used
72
	rm -r Source/ThirdParty/leveldb || die
73
74
	# force using system library
75
	sed -i -e 's/qtConfig(system-jpeg)/true/' \
76
		-e 's/qtConfig(system-png)/true/' \
77
		Tools/qmake/mkspecs/features/features.prf || die
78
79
	# bug 466216
80
	sed -i -e '/CONFIG +=/s/rpath//' \
81
		Source/WebKit/qt/declarative/{experimental/experimental,public}.pri \
82
		Tools/qmake/mkspecs/features/{force_static_libs_as_shared,unix/default_post}.prf \
83
		|| die
84
85
	qt_use_disable_config opengl opengl Tools/qmake/mkspecs/features/features.prf
86
87
	qt_use_disable_mod geolocation positioning Tools/qmake/mkspecs/features/features.prf
88
	qt_use_disable_mod multimedia multimediawidgets Tools/qmake/mkspecs/features/features.prf
89
	qt_use_disable_mod orientation sensors Tools/qmake/mkspecs/features/features.prf
90
	qt_use_disable_mod printsupport printsupport Tools/qmake/mkspecs/features/features.prf
91
	qt_use_disable_mod qml quick Tools/qmake/mkspecs/features/features.prf
92
	qt_use_disable_mod webchannel webchannel \
93
		Source/WebKit2/Target.pri \
94
		Source/WebKit2/WebKit2.pri
95
79
96
	if ! use gstreamer; then
80
S="${WORKDIR}/${COMMIT}"
97
		PATCHES+=("${FILESDIR}/${PN}-5.8.0-disable-gstreamer.patch")
81
82
PATCHES=( "${FILESDIR}/${P}-functional.patch" )
83
84
_check_reqs() {
85
	if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
86
		einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
87
		check-reqs_pkg_pretend
98
	fi
88
	fi
89
}
90
91
pkg_pretend() {
92
	_check_reqs
93
}
99
94
100
	# bug 562396
95
pkg_setup() {
101
	use jit || PATCHES+=("${FILESDIR}/${PN}-5.5.1-disable-jit.patch")
96
	_check_reqs
97
	python-any-r1_pkg_setup
98
}
102
99
103
	use webp || sed -i -e '/config_libwebp: WEBKIT_CONFIG += use_webp/d' \
100
src_configure() {
104
		Tools/qmake/mkspecs/features/features.prf || die
101
	# Respect CC, otherwise fails on prefix #395875
102
	tc-export CC
103
104
	# Multiple rendering bugs on youtube, github, etc without this, bug #547224
105
	append-flags $(test-flags -fno-strict-aliasing)
106
107
	local mycmakeargs=(
108
		-DPORT=Qt
109
		-DENABLE_API_TESTS=OFF
110
		-DENABLE_GEOLOCATION=$(usex geolocation)
111
		-DUSE_GSTREAMER=$(usex gstreamer)
112
		-DENABLE_JIT=$(usex jit)
113
		-DUSE_QT_MULTIMEDIA=$(usex multimedia)
114
		-DENABLE_NETSCAPE_PLUGIN_API=$(usex nsplugin)
115
		-DENABLE_OPENGL=$(usex opengl)
116
		-DENABLE_DEVICE_ORIENTATION=$(usex orientation)
117
		-DENABLE_WEBKIT2=$(usex qml)
118
		$(cmake-utils_use_find_package webp WebP)
119
		-DENABLE_X11_TARGET=$(usex X)
120
	)
105
121
106
	# bug 458222
122
	if has_version "virtual/rubygems[ruby_targets_ruby25]"; then
107
	sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die
123
		mycmakeargs+=( -DRUBY_EXECUTABLE=$(type -P ruby25) )
124
	elif has_version "virtual/rubygems[ruby_targets_ruby24]"; then
125
		mycmakeargs+=( -DRUBY_EXECUTABLE=$(type -P ruby24) )
126
	else
127
		mycmakeargs+=( -DRUBY_EXECUTABLE=$(type -P ruby23) )
128
	fi
108
129
109
	qt5-build_src_prepare
130
	cmake-utils_src_configure
110
}
131
}
111
132
112
src_install() {
133
src_install() {
113
	qt5-build_src_install
134
	cmake-utils_src_install
114
135
115
	# bug 572056
136
	# bug 572056
116
	if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebKit.so ]]; then
137
	if [[ ! -f ${D%/}$(qt5_get_libdir)/libQt5WebKit.so ]]; then
117
		eerror "${CATEGORY}/${PF} could not build due to a broken ruby environment."
138
		eerror "${CATEGORY}/${PF} could not build due to a broken ruby environment."
118
		die 'Check "eselect ruby" and ensure you have a working ruby in your $PATH'
139
		die 'Check "eselect ruby" and ensure you have a working ruby in your $PATH'
119
	fi
140
	fi

Return to bug 624404