aboutsummaryrefslogtreecommitdiff
blob: e54d8aaef532b6fe1c7216b9e381eab741a9991d (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

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

inherit cmake-multilib multibuild ${SCM_ECLASS}

DESCRIPTION="KDE multimedia API"
HOMEPAGE="https://projects.kde.org/projects/kdesupport/phonon"

LICENSE="LGPL-2.1"
SLOT="0"
IUSE="aqua debug designer +gstreamer pulseaudio +qt4 qt5 vlc zeitgeist"

REQUIRED_USE="
	|| ( aqua gstreamer vlc )
	|| ( qt4 qt5 )
	zeitgeist? ( qt4 )
"

# FIXME: multilibutize qt5 section when applicable
# FIXME: multilibutize libqzeitgeist
RDEPEND="
	!!dev-qt/qtphonon:4
	qt4? (
		>=dev-qt/qtcore-4.8.5-r2:4[${MULTILIB_USEDEP}]
		>=dev-qt/qtdbus-4.8.5-r1:4[${MULTILIB_USEDEP}]
		>=dev-qt/qtgui-4.8.5-r3:4[${MULTILIB_USEDEP}]
		designer? ( >=dev-qt/designer-4.8.5-r1:4[${MULTILIB_USEDEP}] )
	)
	qt5? (
		dev-qt/qtcore:5[${MULTILIB_USEDEP}]
		dev-qt/qtdbus:5[${MULTILIB_USEDEP}]
		dev-qt/qtgui:5[${MULTILIB_USEDEP}]
		dev-qt/qtwidgets:5[${MULTILIB_USEDEP}]
		designer? ( dev-qt/designer:5[${MULTILIB_USEDEP}] )
	)
	pulseaudio? (
		>=dev-libs/glib-2.38.2-r1:2[${MULTILIB_USEDEP}]
		>=media-sound/pulseaudio-5.0[glib,${MULTILIB_USEDEP}]
	)
	zeitgeist? ( dev-libs/libqzeitgeist[${MULTILIB_USEDEP}] )
	abi_x86_32? (
		!<=app-emulation/emul-linux-x86-qtlibs-20140508-r8
		!app-emulation/emul-linux-x86-qtlibs[-abi_x86_32(-)]
	)
"
DEPEND="${RDEPEND}
	qt4? ( >=dev-util/automoc-0.9.87 )
	virtual/pkgconfig
"

# FIXME: multilibutize phonon-qt7
PDEPEND="
	aqua? ( media-libs/phonon-qt7[${MULTILIB_USEDEP}] )
	gstreamer? ( >=media-libs/phonon-gstreamer-4.7.0[qt4?,qt5?,${MULTILIB_USEDEP}] )
	vlc? ( >=media-libs/phonon-vlc-0.7.0[qt4?,qt5?,${MULTILIB_USEDEP}] )
"

PATCHES=( "${FILESDIR}/${PN}-4.7.0-plugin-install.patch" )

pkg_setup() {
	MULTIBUILD_VARIANTS=()
	if use qt4; then
		MULTIBUILD_VARIANTS+=(qt4)
	fi
	if use qt5; then
		MULTIBUILD_VARIANTS+=(qt5)
	fi
}

src_configure() {
	myconfigure() {
		local mycmakeargs=(
			-DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=TRUE
			$(cmake-utils_use designer PHONON_BUILD_DESIGNER_PLUGIN)
			$(cmake-utils_use_with pulseaudio GLIB2)
			$(cmake-utils_use_with pulseaudio PulseAudio)
			$(cmake-utils_use_with zeitgeist QZeitgeist)
		)
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			mycmakeargs+=(-DPHONON_BUILD_PHONON4QT5=OFF)
		fi
		if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
			mycmakeargs+=(-DPHONON_BUILD_PHONON4QT5=ON)
		fi
		cmake-multilib_src_configure
	}

	multibuild_foreach_variant myconfigure
}

src_compile() {
	multibuild_foreach_variant cmake-multilib_src_compile
}

src_install() {
	multibuild_foreach_variant cmake-multilib_src_install
}

src_test() {
	multibuild_foreach_variant cmake-multilib_src_test
}