commit:     b18fa15bbb82120ea3df6700db0a4b00bd3258eb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  3 16:04:05 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 16:37:21 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b18fa15b

media-libs/phonon: Use cmake.eclass and multibuild instead of ecm.eclass

Simultanous build of Qt5 and Qt6 is broken, installing Qt6 plugins
in Qt5 paths and vice versa.

ebuild was barely using ecm facilities anyway, this makes sure only those
deps that are needed are also used.

Closes: https://bugs.gentoo.org/923502
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/phonon/phonon-4.12.0-r1.ebuild | 104 ++++++++++++++++++++++++++++++
 media-libs/phonon/phonon-4.12.0.ebuild    |  63 ------------------
 2 files changed, 104 insertions(+), 63 deletions(-)

diff --git a/media-libs/phonon/phonon-4.12.0-r1.ebuild 
b/media-libs/phonon/phonon-4.12.0-r1.ebuild
new file mode 100644
index 000000000000..9efc34081dc0
--- /dev/null
+++ b/media-libs/phonon/phonon-4.12.0-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop flag-o-matic kde.org multibuild
+
+DESCRIPTION="KDE multimedia abstraction library"
+HOMEPAGE="https://community.kde.org/Phonon";
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+       SRC_URI="mirror://kde/stable/phonon/${PV}/${P}.tar.xz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( LGPL-2.1 LGPL-3 ) !pulseaudio? ( || ( GPL-2 GPL-3 ) )"
+SLOT="0"
+IUSE="debug designer pulseaudio +qt5 qt6 +vlc"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+DEPEND="
+       pulseaudio? (
+               dev-libs/glib:2
+               media-libs/libpulse[glib]
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+               designer? ( dev-qt/designer:5 )
+       )
+       qt6? (
+               dev-qt/qt5compat:6
+               dev-qt/qtbase:6[gui,widgets]
+               designer? ( dev-qt/qttools:6[designer] )
+       )
+"
+RDEPEND="${DEPEND}
+       || (
+               kde-frameworks/breeze-icons:*
+               kde-frameworks/oxygen-icons:*
+       )
+"
+BDEPEND="
+       dev-libs/libpcre2:*
+       virtual/pkgconfig
+       qt5? (
+               dev-qt/linguist-tools:5
+               >=kde-frameworks/extra-cmake-modules-5.115.0:*
+       )
+       qt6? (
+               dev-qt/qttools:6[linguist]
+               >=kde-frameworks/extra-cmake-modules-6.0.0:*
+       )
+"
+PDEPEND="
+       vlc? ( >=media-libs/phonon-vlc-0.12.0[qt5?,qt6?] )
+"
+
+pkg_setup() {
+       MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+       use debug || append-cppflags -DQT_NO_DEBUG
+
+       myconfigure() {
+               local mycmakeargs=(
+                       -DQT_MAJOR_VERSION=${MULTIBUILD_VARIANT/qt/}
+                       -DPHONON_BUILD_${MULTIBUILD_VARIANT^^}=ON
+                       -DKDE_INSTALL_USE_QT_SYS_PATHS=ON # ecm.eclass
+                       -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" 
# ecm.eclass
+                       -DPHONON_BUILD_DESIGNER_PLUGIN=$(usex designer)
+                       -DCMAKE_DISABLE_FIND_PACKAGE_GLIB2=$(usex !pulseaudio)
+                       -DCMAKE_DISABLE_FIND_PACKAGE_PulseAudio=$(usex 
!pulseaudio)
+               )
+
+               if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+                       mycmakeargs+=(
+                               -DPHONON_BUILD_QT5=OFF
+                               -DPHONON_BUILD_SETTINGS=ON
+                       )
+               else
+                       mycmakeargs+=(
+                               -DPHONON_BUILD_QT6=OFF
+                               -DPHONON_BUILD_SETTINGS=$(usex !qt6)
+                       )
+               fi
+
+               cmake_src_configure
+       }
+
+       multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+       multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+       multibuild_foreach_variant cmake_src_install
+       make_desktop_entry "${PN}settings" \
+               "Phonon Audio and Video" preferences-desktop-sound
+}

diff --git a/media-libs/phonon/phonon-4.12.0.ebuild 
b/media-libs/phonon/phonon-4.12.0.ebuild
deleted file mode 100644
index 63d504edbc32..000000000000
--- a/media-libs/phonon/phonon-4.12.0.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit desktop ecm kde.org
-
-DESCRIPTION="KDE multimedia abstraction library"
-HOMEPAGE="https://community.kde.org/Phonon";
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
-       SRC_URI="mirror://kde/stable/phonon/${PV}/${P}.tar.xz"
-       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="|| ( LGPL-2.1 LGPL-3 ) !pulseaudio? ( || ( GPL-2 GPL-3 ) )"
-SLOT="0"
-IUSE="designer pulseaudio +qt5 qt6 +vlc"
-REQUIRED_USE="|| ( qt5 qt6 )"
-
-DEPEND="
-       pulseaudio? (
-               dev-libs/glib:2
-               media-libs/libpulse[glib]
-       )
-       qt5? (
-               dev-qt/qtgui:5
-               dev-qt/qtwidgets:5
-               designer? ( dev-qt/designer:5 )
-       )
-       qt6? (
-               dev-qt/qt5compat:6
-               dev-qt/qtbase:6[gui,widgets]
-               designer? ( dev-qt/qttools:6[designer] )
-       )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
-       qt5? ( dev-qt/linguist-tools:5 )
-       qt6? ( dev-qt/qttools:6[linguist] )
-       virtual/pkgconfig
-"
-PDEPEND="
-       vlc? ( >=media-libs/phonon-vlc-0.12.0[qt5?,qt6?] )
-"
-
-src_configure() {
-       local mycmakeargs=(
-               -DPHONON_BUILD_DESIGNER_PLUGIN=$(usex designer)
-               -DCMAKE_DISABLE_FIND_PACKAGE_GLIB2=$(usex !pulseaudio)
-               -DCMAKE_DISABLE_FIND_PACKAGE_PulseAudio=$(usex !pulseaudio)
-               -DPHONON_BUILD_QT5=$(usex qt5)
-               -DPHONON_BUILD_QT6=$(usex qt6)
-               -DPHONON_BUILD_SETTINGS=ON
-       )
-       ecm_src_configure
-}
-
-src_install() {
-       ecm_src_install
-       make_desktop_entry "${PN}settings" \
-               "Phonon Audio and Video" preferences-desktop-sound
-}

Reply via email to