media-libs/phonon: DEPEND on >=Qt-4.8.7, warn on <GCC-5
authorAndreas Sturmlechner <asturm@gentoo.org>
Thu, 1 Jun 2017 22:54:43 +0000 (00:54 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Fri, 2 Jun 2017 00:37:48 +0000 (02:37 +0200)
Sort DEPENDs, switch Qt default

Gentoo-bug: 595618

Package-Manager: Portage-2.3.5, Repoman-2.3.1

media-libs/phonon/phonon-4.9.1-r1.ebuild [new file with mode: 0644]
media-libs/phonon/phonon-9999.ebuild

diff --git a/media-libs/phonon/phonon-4.9.1-r1.ebuild b/media-libs/phonon/phonon-4.9.1-r1.ebuild
new file mode 100644 (file)
index 0000000..cd5697c
--- /dev/null
@@ -0,0 +1,136 @@
+# 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 ~hppa ~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="aqua debug designer gstreamer pulseaudio qt4 +qt5 +vlc zeitgeist"
+
+REQUIRED_USE="
+       || ( qt4 qt5 )
+       zeitgeist? ( qt4 )
+"
+
+RDEPEND="
+       !!dev-qt/qtphonon:4
+       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}] )
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtdbus:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+               designer? ( dev-qt/designer:5 )
+       )
+       zeitgeist? ( dev-libs/libqzeitgeist )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig[${MULTILIB_USEDEP}]
+       qt5? ( kde-frameworks/extra-cmake-modules:5 )
+"
+PDEPEND="
+       aqua? ( media-libs/phonon-qt7 )
+       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() {
+       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) )
+}
+
+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)
+               $(multilib_is_native_abi && echo -DWITH_QZeitgeist=$(usex zeitgeist) || echo -DWITH_QZeitgeist=OFF)
+               -DQT_QMAKE_EXECUTABLE="$(${QT_MULTIBUILD_VARIANT}_get_bindir)"/qmake
+       )
+
+       if [[ ${QT_MULTIBUILD_VARIANT} = qt4 ]]; then
+               mycmakeargs+=( -DPHONON_BUILD_PHONON4QT5=OFF )
+       fi
+       if [[ ${QT_MULTIBUILD_VARIANT} = qt5 ]]; then
+               mycmakeargs+=( -DPHONON_BUILD_PHONON4QT5=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
+}
index eb135e7f669282f15e60c45f044361cd27117baf..e905c36b5079f3bb20aeb5f2012e7a44acb84f86 100644 (file)
@@ -28,10 +28,10 @@ REQUIRED_USE="
 RDEPEND="
        !!dev-qt/qtphonon:4
        qt4? (
-               dev-qt/qtcore:4[${MULTILIB_USEDEP}]
-               dev-qt/qtdbus:4[${MULTILIB_USEDEP}]
-               dev-qt/qtgui:4[${MULTILIB_USEDEP}]
-               designer? ( dev-qt/designer:4[${MULTILIB_USEDEP}] )
+               >=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}] )
        )
        qt5? (
                dev-qt/qtcore:5
@@ -59,6 +59,10 @@ PDEPEND="
 PATCHES=( "${FILESDIR}/${PN}-4.7.0-plugin-install.patch" )
 
 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) )
 }