media-libs/phonon: ppc64 stable wrt bug #620368
[gentoo.git] / media-libs / phonon / phonon-4.9.1-r1.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 if [[ ${PV} != *9999* ]]; then
7         SRC_URI="mirror://kde/stable/phonon/${PV}/${P}.tar.xz"
8         KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
9 else
10         EGIT_REPO_URI=( "git://anongit.kde.org/${PN}" )
11         inherit git-r3
12 fi
13
14 inherit cmake-multilib multibuild qmake-utils
15
16 DESCRIPTION="KDE multimedia API"
17 HOMEPAGE="https://phonon.kde.org/"
18
19 LICENSE="|| ( LGPL-2.1 LGPL-3 )"
20 SLOT="0"
21 IUSE="aqua debug designer gstreamer pulseaudio qt4 +qt5 +vlc zeitgeist"
22
23 REQUIRED_USE="
24         || ( qt4 qt5 )
25         zeitgeist? ( qt4 )
26 "
27
28 RDEPEND="
29         !!dev-qt/qtphonon:4
30         pulseaudio? (
31                 dev-libs/glib:2[${MULTILIB_USEDEP}]
32                 >=media-sound/pulseaudio-0.9.21[glib,${MULTILIB_USEDEP}]
33         )
34         qt4? (
35                 >=dev-qt/qtcore-4.8.7-r2:4[${MULTILIB_USEDEP}]
36                 >=dev-qt/qtdbus-4.8.7:4[${MULTILIB_USEDEP}]
37                 >=dev-qt/qtgui-4.8.7:4[${MULTILIB_USEDEP}]
38                 designer? ( >=dev-qt/designer-4.8.7:4[${MULTILIB_USEDEP}] )
39         )
40         qt5? (
41                 dev-qt/qtcore:5
42                 dev-qt/qtdbus:5
43                 dev-qt/qtgui:5
44                 dev-qt/qtwidgets:5
45                 designer? ( dev-qt/designer:5 )
46         )
47         zeitgeist? ( dev-libs/libqzeitgeist )
48 "
49 DEPEND="${RDEPEND}
50         virtual/pkgconfig[${MULTILIB_USEDEP}]
51         qt5? ( kde-frameworks/extra-cmake-modules:5 )
52 "
53 PDEPEND="
54         aqua? ( media-libs/phonon-qt7 )
55         gstreamer? ( >=media-libs/phonon-gstreamer-4.9.0[qt4?,qt5?] )
56         vlc? ( >=media-libs/phonon-vlc-0.9.0[qt4?,qt5?] )
57 "
58
59 PATCHES=( "${FILESDIR}/${PN}-4.7.0-plugin-install.patch" )
60
61 pkg_setup() {
62         if use qt4 && [[ $(gcc-major-version) -lt 5 ]] ; then
63                 ewarn "A GCC version older than 5 was detected. There may be trouble. See also Gentoo bug #595618"
64         fi
65
66         MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
67 }
68
69 multilib_src_configure() {
70         local mycmakeargs=(
71                 -DPHONON_BUILD_DESIGNER_PLUGIN=$(usex designer)
72                 -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=TRUE
73                 -DWITH_GLIB2=$(usex pulseaudio)
74                 -DWITH_PulseAudio=$(usex pulseaudio)
75                 $(multilib_is_native_abi && echo -DWITH_QZeitgeist=$(usex zeitgeist) || echo -DWITH_QZeitgeist=OFF)
76                 -DQT_QMAKE_EXECUTABLE="$(${QT_MULTIBUILD_VARIANT}_get_bindir)"/qmake
77         )
78
79         if [[ ${QT_MULTIBUILD_VARIANT} = qt4 ]]; then
80                 mycmakeargs+=( -DPHONON_BUILD_PHONON4QT5=OFF )
81         fi
82         if [[ ${QT_MULTIBUILD_VARIANT} = qt5 ]]; then
83                 mycmakeargs+=( -DPHONON_BUILD_PHONON4QT5=ON )
84         fi
85
86         cmake-utils_src_configure
87 }
88
89 src_configure() {
90         myconfigure() {
91                 local QT_MULTIBUILD_VARIANT=${MULTIBUILD_VARIANT}
92                 if [[ ${QT_MULTIBUILD_VARIANT} = qt4 ]]; then
93                         cmake-multilib_src_configure
94                 elif [[ ${QT_MULTIBUILD_VARIANT} = qt5 ]]; then
95                         multilib_src_configure
96                 fi
97         }
98
99         multibuild_foreach_variant myconfigure
100 }
101
102 src_compile() {
103         mycompile() {
104                 if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
105                         cmake-multilib_src_compile
106                 elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
107                         cmake-utils_src_compile
108                 fi
109         }
110
111         multibuild_foreach_variant mycompile
112 }
113
114 src_test() {
115         mytest() {
116                 if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
117                         cmake-multilib_src_test
118                 elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
119                         cmake-utils_src_test
120                 fi
121         }
122
123         multibuild_foreach_variant mytest
124 }
125
126 src_install() {
127         myinstall() {
128                 if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
129                         cmake-multilib_src_install
130                 elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
131                         cmake-utils_src_install
132                 fi
133         }
134
135         multibuild_foreach_variant myinstall
136 }