summaryrefslogtreecommitdiff
blob: c24ca2f0c163f8e305f18774040ac4708ca0e8fe (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
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

MY_PN="phonon-backend-gstreamer"
MY_P=${MY_PN}-${PV}

if [[ ${PV} != *9999* ]]; then
	SRC_URI="mirror://kde/stable/phonon/${MY_PN}/${PV}/${MY_P}.tar.xz"
	KEYWORDS="alpha amd64 arm ~arm64 ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
else
	EGIT_REPO_URI=( "git://anongit.kde.org/${PN}" )
	inherit git-r3
fi

inherit cmake-utils multibuild

DESCRIPTION="Phonon GStreamer backend"
HOMEPAGE="https://phonon.kde.org/"

LICENSE="LGPL-2.1+ || ( LGPL-2.1 LGPL-3 )"
SLOT="0"
IUSE="alsa debug +network qt4 +qt5"

REQUIRED_USE="|| ( qt4 qt5 )"

RDEPEND="
	dev-libs/glib:2
	dev-libs/libxml2:2
	media-libs/gstreamer:1.0
	media-libs/gst-plugins-base:1.0
	>=media-libs/phonon-4.9.0[qt4?,qt5?]
	media-plugins/gst-plugins-meta:1.0[alsa?,ogg,vorbis]
	virtual/opengl
	network? ( media-plugins/gst-plugins-soup:1.0 )
	qt4? (
		>=dev-qt/qtcore-4.8.7-r2:4[glib]
		>=dev-qt/qtgui-4.8.7:4[glib]
		>=dev-qt/qtopengl-4.8.7:4
		!<dev-qt/qtwebkit-4.10.4:4[gstreamer]
	)
	qt5? (
		dev-qt/qtcore:5
		dev-qt/qtgui:5
		dev-qt/qtopengl:5
		dev-qt/qtwidgets:5
		dev-qt/qtx11extras:5
	)
"
DEPEND="${RDEPEND}
	virtual/pkgconfig
"

pkg_setup() {
	if use qt4 && [[ $(gcc-major-version) -lt 5 ]] ; then
		ewarn "A GCC version older than 5 was detected. There may be trouble. See also Gentoo bug #595618"
	fi

	MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
}

src_configure() {
	myconfigure() {
		local mycmakeargs=()
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			mycmakeargs+=( -DPHONON_BUILD_PHONON4QT5=OFF )
		fi
		if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
			mycmakeargs+=( -DPHONON_BUILD_PHONON4QT5=ON )
		fi
		cmake-utils_src_configure
	}

	multibuild_foreach_variant myconfigure
}

src_compile() {
	multibuild_foreach_variant cmake-utils_src_compile
}

src_test() {
	multibuild_foreach_variant cmake-utils_src_test
}

src_install() {
	multibuild_foreach_variant cmake-utils_src_install
}