summaryrefslogtreecommitdiff
blob: b16a70f4b3c988dff1aa74b98840b2a87b4b9c9f (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

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

inherit cmake-multilib multibuild qmake-utils

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

LICENSE="|| ( LGPL-2.1 LGPL-3 )"
SLOT="0"
IUSE="debug designer gstreamer pulseaudio qt4 +vlc"

RDEPEND="
	!!dev-qt/qtphonon:4
	dev-qt/qtcore:5
	dev-qt/qtdbus:5
	dev-qt/qtgui:5
	dev-qt/qtwidgets:5
	designer? ( dev-qt/designer:5 )
	pulseaudio? (
		dev-libs/glib:2[${MULTILIB_USEDEP}]
		>=media-sound/pulseaudio-0.9.21[glib,${MULTILIB_USEDEP}]
	)
	qt4? (
		>=dev-qt/qtcore-4.8.7-r2:4[${MULTILIB_USEDEP}]
		>=dev-qt/qtdbus-4.8.7:4[${MULTILIB_USEDEP}]
		>=dev-qt/qtgui-4.8.7:4[${MULTILIB_USEDEP}]
		designer? ( >=dev-qt/designer-4.8.7:4[${MULTILIB_USEDEP}] )
	)
"
DEPEND="${RDEPEND}
	virtual/pkgconfig[${MULTILIB_USEDEP}]
	kde-frameworks/extra-cmake-modules:5
"
PDEPEND="
	gstreamer? ( >=media-libs/phonon-gstreamer-4.9.0[qt4?,qt5(+)] )
	vlc? ( >=media-libs/phonon-vlc-0.9.0[qt4?,qt5(+)] )
"

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

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

multilib_src_configure() {
	local mycmakeargs=(
		-DPHONON_BUILD_DESIGNER_PLUGIN=$(usex designer)
		-DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=TRUE
		-DWITH_GLIB2=$(usex pulseaudio)
		-DWITH_PulseAudio=$(usex pulseaudio)
		-DQT_QMAKE_EXECUTABLE="$(${QT_MULTIBUILD_VARIANT}_get_bindir)"/qmake
	)

	if [[ ${QT_MULTIBUILD_VARIANT} = qt4 ]]; then
		mycmakeargs+=(
			-DPHONON_BUILD_PHONON4QT5=OFF
			-DWITH_QZeitgeist=OFF
		)
	fi
	if [[ ${QT_MULTIBUILD_VARIANT} = qt5 ]]; then
		mycmakeargs+=(
			-DPHONON_BUILD_PHONON4QT5=ON
			-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Declarative=ON
		)
	fi

	cmake-utils_src_configure
}

src_configure() {
	myconfigure() {
		local QT_MULTIBUILD_VARIANT=${MULTIBUILD_VARIANT}
		if [[ ${QT_MULTIBUILD_VARIANT} = qt4 ]]; then
			cmake-multilib_src_configure
		elif [[ ${QT_MULTIBUILD_VARIANT} = qt5 ]]; then
			multilib_src_configure
		fi
	}

	multibuild_foreach_variant myconfigure
}

src_compile() {
	mycompile() {
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			cmake-multilib_src_compile
		elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
			cmake-utils_src_compile
		fi
	}

	multibuild_foreach_variant mycompile
}

src_test() {
	mytest() {
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			cmake-multilib_src_test
		elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
			cmake-utils_src_test
		fi
	}

	multibuild_foreach_variant mytest
}

src_install() {
	myinstall() {
		if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
			cmake-multilib_src_install
		elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
			cmake-utils_src_install
		fi
	}

	multibuild_foreach_variant myinstall
}