public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/kde:master commit in: media-libs/phonon/
Date: Sun,  3 Mar 2024 16:16:33 +0000 (UTC)	[thread overview]
Message-ID: <1709482533.38dfeae0ee38f55f0bc1d98f8372a5d4f80ba8d6.asturm@gentoo> (raw)

commit:     38dfeae0ee38f55f0bc1d98f8372a5d4f80ba8d6
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:15:33 2024 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=38dfeae0

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.

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

 media-libs/phonon/phonon-9999.ebuild | 71 ++++++++++++++++++++++++++++--------
 1 file changed, 56 insertions(+), 15 deletions(-)

diff --git a/media-libs/phonon/phonon-9999.ebuild b/media-libs/phonon/phonon-9999.ebuild
index 8c92513a04..8f8d0cf724 100644
--- a/media-libs/phonon/phonon-9999.ebuild
+++ b/media-libs/phonon/phonon-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit desktop ecm kde.org
+inherit cmake desktop flag-o-matic kde.org multibuild
 
 DESCRIPTION="KDE multimedia abstraction library"
 HOMEPAGE="https://community.kde.org/Phonon"
@@ -15,7 +15,7 @@ fi
 
 LICENSE="|| ( LGPL-2.1 LGPL-3 ) !pulseaudio? ( || ( GPL-2 GPL-3 ) )"
 SLOT="0"
-IUSE="designer pulseaudio +qt5 qt6 +vlc"
+IUSE="debug designer pulseaudio +qt5 qt6 +vlc"
 REQUIRED_USE="|| ( qt5 qt6 )"
 
 DEPEND="
@@ -24,6 +24,7 @@ DEPEND="
 		media-libs/libpulse[glib]
 	)
 	qt5? (
+		dev-qt/qtcore:5
 		dev-qt/qtgui:5
 		dev-qt/qtwidgets:5
 		designer? ( dev-qt/designer:5 )
@@ -34,30 +35,70 @@ DEPEND="
 		designer? ( dev-qt/qttools:6[designer] )
 	)
 "
-RDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}
+	|| (
+		kde-frameworks/breeze-icons:*
+		kde-frameworks/oxygen-icons:*
+	)
+"
 BDEPEND="
-	qt5? ( dev-qt/linguist-tools:5 )
-	qt6? ( dev-qt/qttools:6[linguist] )
+	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() {
-	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
+	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() {
-	ecm_src_install
+	multibuild_foreach_variant cmake_src_install
 	make_desktop_entry "${PN}settings" \
 		"Phonon Audio and Video" preferences-desktop-sound
 }


             reply	other threads:[~2024-03-03 16:16 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-03 16:16 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-09 14:39 [gentoo-commits] proj/kde:master commit in: media-libs/phonon/ Andreas Sturmlechner
2024-07-07 20:42 Andreas Sturmlechner
2024-07-07 20:37 Andreas Sturmlechner
2024-07-01 19:10 Andreas Sturmlechner
2023-12-22  9:26 Andreas Sturmlechner
2023-11-28 22:57 Andreas Sturmlechner
2023-11-27 23:22 Andreas Sturmlechner
2022-07-14 14:51 Andreas Sturmlechner
2019-11-22 13:00 Andreas Sturmlechner
2019-10-24 18:37 Andreas Sturmlechner
2019-08-31  6:39 Andreas Sturmlechner
2019-08-30  7:21 Andreas Sturmlechner
2019-08-26  1:15 Andreas Sturmlechner
2013-11-09 17:40 Johannes Huber
2013-10-13 17:03 Johannes Huber
2013-05-10 17:40 Michael Palimaka
2013-01-20 16:06 Michael Palimaka
2012-05-02 22:16 Johannes Huber
2012-01-31 11:40 Johannes Huber
2011-12-23 13:17 Johannes Huber
2011-12-23 13:17 Johannes Huber
2011-10-25  0:31 Alexey Shvetsov
2011-03-27 13:22 Andreas K. Huettel
2011-03-27 12:47 Andreas K. Huettel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1709482533.38dfeae0ee38f55f0bc1d98f8372a5d4f80ba8d6.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox