media-libs/phonon: add patch by Ryan Hill <rhill@gentoo.org> to fix build with GCC5.
[gentoo.git] / media-libs / phonon / phonon-4.8.3-r1.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6
7 if [[ ${PV} != *9999* ]]; then
8         SRC_URI="mirror://kde/stable/phonon/${PV}/src/${P}.tar.xz"
9         KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
10 else
11         SCM_ECLASS="git-r3"
12         EGIT_REPO_URI=( "git://anongit.kde.org/${PN}" )
13         KEYWORDS=""
14 fi
15
16 inherit multibuild qmake-utils cmake-multilib ${SCM_ECLASS}
17
18 DESCRIPTION="KDE multimedia API"
19 HOMEPAGE="https://projects.kde.org/projects/kdesupport/phonon"
20
21 LICENSE="LGPL-2.1"
22 SLOT="0"
23 IUSE="aqua debug designer gstreamer pulseaudio +qt4 qt5 +vlc zeitgeist"
24
25 REQUIRED_USE="
26         || ( qt4 qt5 )
27         zeitgeist? ( qt4 )
28 "
29
30 RDEPEND="
31         !!dev-qt/qtphonon:4
32         qt4? (
33                 dev-qt/qtcore:4[${MULTILIB_USEDEP}]
34                 dev-qt/qtdbus:4[${MULTILIB_USEDEP}]
35                 dev-qt/qtgui:4[${MULTILIB_USEDEP}]
36                 designer? ( dev-qt/designer:4[${MULTILIB_USEDEP}] )
37         )
38         qt5? (
39                 dev-qt/qtcore:5
40                 dev-qt/qtdbus:5
41                 dev-qt/qtgui:5
42                 dev-qt/qtwidgets:5
43                 designer? ( dev-qt/designer:5 )
44         )
45         pulseaudio? (
46                 dev-libs/glib:2[${MULTILIB_USEDEP}]
47                 >=media-sound/pulseaudio-0.9.21[glib,${MULTILIB_USEDEP}]
48         )
49         zeitgeist? ( dev-libs/libqzeitgeist )
50 "
51 DEPEND="${RDEPEND}
52         qt4? ( >=dev-util/automoc-0.9.87 )
53         virtual/pkgconfig[${MULTILIB_USEDEP}]
54 "
55 PDEPEND="
56         aqua? ( media-libs/phonon-qt7 )
57         gstreamer? ( >=media-libs/phonon-gstreamer-4.8.0[qt4?,qt5?] )
58         vlc? ( >=media-libs/phonon-vlc-0.8.0[qt4?,qt5?] )
59 "
60
61 PATCHES=(
62         "${FILESDIR}/${PN}-4.7.0-plugin-install.patch"
63         "${FILESDIR}/${P}-gcc5.patch"
64 )
65
66 pkg_setup() {
67         MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
68 }
69
70 multilib_src_configure() {
71         local mycmakeargs=(
72                 -DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=TRUE
73                 $(cmake-utils_use designer PHONON_BUILD_DESIGNER_PLUGIN)
74                 $(cmake-utils_use_with pulseaudio GLIB2)
75                 $(cmake-utils_use_with pulseaudio PulseAudio)
76                 $(multilib_is_native_abi && cmake-utils_use_with zeitgeist QZeitgeist)
77                 -DQT_QMAKE_EXECUTABLE="$(${QT_MULTIBUILD_VARIANT}_get_bindir)"/qmake
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         cmake-utils_src_configure
86 }
87
88 src_configure() {
89         myconfigure() {
90                 local QT_MULTIBUILD_VARIANT=${MULTIBUILD_VARIANT}
91                 if [[ ${QT_MULTIBUILD_VARIANT} = qt4 ]]; then
92                         cmake-multilib_src_configure
93                 elif [[ ${QT_MULTIBUILD_VARIANT} = qt5 ]]; then
94                         multilib_src_configure
95                 fi
96         }
97
98         multibuild_foreach_variant myconfigure
99 }
100
101 src_compile() {
102         mycompile() {
103                 if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
104                         cmake-multilib_src_compile
105                 elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
106                         cmake-utils_src_compile
107                 fi
108         }
109         multibuild_foreach_variant mycompile
110 }
111
112 src_test() {
113         mytest() {
114                 if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
115                         cmake-multilib_src_test
116                 elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
117                         cmake-utils_src_test
118                 fi
119         }
120         multibuild_foreach_variant mytest
121 }
122
123 src_install() {
124         myinstall() {
125                 if [[ ${MULTIBUILD_VARIANT} = qt4 ]]; then
126                         cmake-multilib_src_install
127                 elif [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
128                         cmake-utils_src_install
129                 fi
130         }
131         multibuild_foreach_variant myinstall
132 }