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] repo/gentoo:master commit in: media-sound/cantata/, media-sound/cantata/files/
Date: Sat, 08 Feb 2025 08:17:59 +0000 (UTC)	[thread overview]
Message-ID: <1739002659.2edede5d416650df9c28628d57246a6233d1051e.asturm@gentoo> (raw)

commit:     2edede5d416650df9c28628d57246a6233d1051e
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Fri Dec 20 10:01:50 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Feb  8 08:17:39 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2edede5d

media-sound/cantata: add 3.3.0, qt6 fork

switch to gh-fork nullobsi as initial CDrummond is archived

plocales removed

patches :
* use KF6::solid instead of 'lite-vendored' (so unkeyword ~ppc)
* fix cdparanoia detection

useflags :
* rm cdio. As upstream, use cdda for cdioparanoia with cdparanoia as fallback
* add +taglib as it's required for almost all other useflags

mentions :
* taglib-2.0 is required by upstream, but package may still be built
  with taglib-1.13. Nonetheless, I don't see the real issue as
  there is no obstacle to taglib2's stabilization.
* libvlc has been removed from useflags in the past. I didn’t add it as
  an alternative of qtmultimedia for playing stream.
* breeze or oxygen icons are not strictly required. removed from rdep.

Bug: https://bugs.gentoo.org/927073
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Closes: https://github.com/gentoo/gentoo/pull/40475
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-sound/cantata/Manifest                       |   1 +
 media-sound/cantata/cantata-3.3.0.ebuild           | 105 ++++++++++
 .../cantata/files/cantata-3.3.0-cdparanoia.patch   |  29 +++
 .../cantata/files/cantata-3.3.0-rm-vendor.patch    | 217 +++++++++++++++++++++
 media-sound/cantata/metadata.xml                   |   4 +-
 5 files changed, 354 insertions(+), 2 deletions(-)

diff --git a/media-sound/cantata/Manifest b/media-sound/cantata/Manifest
index b546787031ac..4000e6fa53d0 100644
--- a/media-sound/cantata/Manifest
+++ b/media-sound/cantata/Manifest
@@ -1 +1,2 @@
 DIST cantata-2.5.0.tar.bz2 2487031 BLAKE2B ad77987aae205695393a4fc782dc442a467ca392ce60251efdc68d12d29b3d2f24270f462a0dbfe0c375905f9356b8c649ff139021629ba58fd7de80819fdba0 SHA512 42f28321d01e0bc3a315030066b738dead8f8f8caed8c1115729a3d370d68d9d845f00576fc81ddba694bba6a4ae57c3f7de714b2e39874458548c3e5bb8b2d2
+DIST cantata-3.3.0.tar.gz 4783803 BLAKE2B 78995492080cacf4d5f01e923a71edb2208baa9238d269679f6ea0112cf06066295bbeb40b18439bcd45fea8079ea6c52422f5515ed6f0c1511f7942f3b96f15 SHA512 ec011a2e544a882c68a808d27752457e4702f20b0ed66124dcc10586c8f5cc975690a4fc7368abc2747fd4f603f19b787a45f5a664f3ace8bcc9f1f86369253e

diff --git a/media-sound/cantata/cantata-3.3.0.ebuild b/media-sound/cantata/cantata-3.3.0.ebuild
new file mode 100644
index 000000000000..5d5530e4499d
--- /dev/null
+++ b/media-sound/cantata/cantata-3.3.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Featureful and configurable Qt client for the music player daemon (MPD)"
+HOMEPAGE="https://github.com/nullobsi/cantata"
+SRC_URI="https://github.com/nullobsi/cantata/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="cdda cddb http-server mtp musicbrainz replaygain streaming +taglib udisks zeroconf"
+REQUIRED_USE="
+	cdda? ( taglib udisks || ( cddb musicbrainz ) )
+	cddb? ( cdda taglib )
+	mtp? ( taglib udisks )
+	musicbrainz? ( cdda taglib )
+	replaygain? ( taglib )
+	udisks? ( taglib )
+"
+
+COMMON_DEPEND="
+	dev-qt/qtbase:6[dbus,gui,network,sql,sqlite,widgets,xml]
+	dev-qt/qtsvg:6
+	sys-libs/zlib
+	cdda? ( || (
+		dev-libs/libcdio-paranoia
+		media-sound/cdparanoia
+	) )
+	cddb? ( media-libs/libcddb )
+	mtp? ( media-libs/libmtp:= )
+	musicbrainz? ( media-libs/musicbrainz:5= )
+	replaygain? (
+		media-libs/libebur128:=
+		media-sound/mpg123-base
+		media-video/ffmpeg:0=
+	)
+	streaming? ( dev-qt/qtmultimedia:6 )
+	taglib? ( >=media-libs/taglib-2:= )
+	udisks? ( kde-frameworks/solid:6 )
+	zeroconf? ( net-dns/avahi )
+"
+RDEPEND="${COMMON_DEPEND}
+	dev-lang/perl[perl_features_ithreads]
+"
+DEPEND="${COMMON_DEPEND}
+	dev-qt/qtbase:6[concurrent]
+"
+BDEPEND="
+	dev-qt/qttools:6[linguist]
+	virtual/pkgconfig
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.3.0-rm-vendor.patch
+	# https://github.com/nullobsi/cantata/pull/51.patch
+	"${FILESDIR}"/${PN}-3.3.0-cdparanoia.patch
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	# Unbundle 3rd party libs
+	# keep knotifications : https://github.com/nullobsi/cantata/commit/719adb5
+	rm -r 3rdparty/{ebur128,kcategorizedview,qtsingleapplication,qxt,solid-lite} || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		# Buggy https://github.com/nullobsi/cantata/commit/18236
+		-DENABLE_CATEGORIZED_VIEW=OFF
+		-DENABLE_CDPARANOIA=$(usex cdda)
+		-DENABLE_CDDB=$(usex cddb)
+		-DENABLE_CDIOPARANOIA=$(usex cdda)
+		-DENABLE_HTTP_SERVER=$(usex http-server)
+		-DENABLE_MTP=$(usex mtp)
+		-DENABLE_MUSICBRAINZ=$(usex musicbrainz)
+		-DENABLE_FFMPEG=$(usex replaygain)
+		-DENABLE_MPG123=$(usex replaygain)
+		-DENABLE_HTTP_STREAM_PLAYBACK=$(usex streaming)
+		-DENABLE_TAGLIB=$(usex taglib)
+		-DENABLE_DEVICES_SUPPORT=$(usex udisks)
+		-DENABLE_AVAHI=$(usex zeroconf)
+		-DENABLE_REMOTE_DEVICES=OFF
+		# use solid/udisks2 instead of udisks
+		-DENABLE_UDISKS2=ON
+	)
+
+	cmake_src_configure
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	has_version media-sound/mpd || \
+		elog "An instance of media-sound/mpd, local or remote, is required to set up Cantata."
+
+	if ! has_version app-misc/media-player-info; then
+		elog "Install app-misc/media-player-info to enable identification"
+		elog "and querying of portable media players"
+	fi
+}

diff --git a/media-sound/cantata/files/cantata-3.3.0-cdparanoia.patch b/media-sound/cantata/files/cantata-3.3.0-cdparanoia.patch
new file mode 100644
index 000000000000..a06cc79310ff
--- /dev/null
+++ b/media-sound/cantata/files/cantata-3.3.0-cdparanoia.patch
@@ -0,0 +1,29 @@
+https://github.com/nullobsi/cantata/pull/51.patch
+diff --git a/cmake/FindCDParanoia.cmake b/cmake/FindCDParanoia.cmake
+index c5eaf4a7..d145d78c 100644
+--- a/cmake/FindCDParanoia.cmake
++++ b/cmake/FindCDParanoia.cmake
+@@ -43,6 +43,8 @@ The following cache variables may also be set:
+   The directory containing ``cdda_interface.h``.
+ #]===]
+ 
++include(CheckCSourceCompiles)
++
+ # First use PKG-Config as a starting point.
+ find_package(PkgConfig)
+ if(PKG_CONFIG_FOUND)
+@@ -96,6 +98,7 @@ if(CDParanoia_FOUND)
+     )
+   endif ()
+   if(NOT TARGET CDDA::Interface)
++    add_library(CDDA::Interface UNKNOWN IMPORTED)
+     set_target_properties(CDDA::Interface PROPERTIES
+             IMPORTED_LOCATION "${CDParanoia_INTERFACE_LIBRARY}"
+             INTERFACE_COMPILE_OPTIONS "${PC_CDParanoia_CFLAGS_OTHER}"
+@@ -118,4 +121,4 @@ mark_as_advanced(
+         CDParanoia_INTERFACE_INCLUDE_DIR
+         CDParanoia_PARANOIA_LIBRARY
+         CDParanoia_INTERFACE_LIBRARY
+-)
+\ No newline at end of file
++)

diff --git a/media-sound/cantata/files/cantata-3.3.0-rm-vendor.patch b/media-sound/cantata/files/cantata-3.3.0-rm-vendor.patch
new file mode 100644
index 000000000000..28f09623f38c
--- /dev/null
+++ b/media-sound/cantata/files/cantata-3.3.0-rm-vendor.patch
@@ -0,0 +1,217 @@
+diff '--color=auto' -uNr a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt	2024-12-16 12:38:42.412438061 -0000
++++ b/CMakeLists.txt	2024-12-16 12:42:48.608780120 -0000
+@@ -532,6 +532,9 @@
+ )
+ 
+ if(ENABLE_CATEGORIZED_VIEW)
++    find_package(KF6ItemViews REQUIRED)
++    ADD_COMPILE_DEFINITIONS(cantata CAT_VIEW)
++    target_link_libraries(cantata PRIVATE KF6::ItemViews)
+     target_sources(cantata PRIVATE widgets/categorizedview.cpp)
+ endif()
+ if(ENABLE_SIMPLE_MPD_SUPPORT)
+@@ -628,7 +630,8 @@
+     # Cantata still links to taglib, even if external tag reader/writer is used, because JamendoService uses taglib for ID3 genres.
+     target_link_libraries(cantata PRIVATE TagLib::TagLib)
+     if(ENABLE_DEVICES_SUPPORT)
+-        target_link_libraries(cantata PRIVATE solidlite)
++	    find_package(KF6Solid REQUIRED)
++	    target_link_libraries(cantata PRIVATE KF6::Solid)
+     endif()
+ 
+     if(FFMPEG_FOUND OR MPG123_FOUND)
+@@ -646,7 +649,6 @@
+     add_subdirectory(tags)
+ 
+     if(ENABLE_DEVICES_SUPPORT)
+-        add_subdirectory(3rdparty/solid-lite)
+         if(MTP_FOUND)
+             target_sources(cantata PRIVATE devices/mtpdevice.cpp)
+             target_link_libraries(cantata PRIVATE MTP::MTP)
+@@ -797,11 +799,6 @@
+     install(TARGETS cantata)
+ endif()
+ 
+-if(ENABLE_CATEGORIZED_VIEW)
+-    add_subdirectory(3rdparty/kcategorizedview)
+-    target_link_libraries(cantata PRIVATE kcategorizedview)
+-endif()
+-
+ if(WIN32 OR APPLE OR HAIKU)
+     add_subdirectory(3rdparty/qtsingleapplication)
+     target_link_libraries(cantata PRIVATE qtsingleapplication)
+diff '--color=auto' -uNr a/devices/audiocddevice.cpp b/devices/audiocddevice.cpp
+--- a/devices/audiocddevice.cpp	2024-12-16 12:38:42.416438001 -0000
++++ b/devices/audiocddevice.cpp	2024-12-16 12:39:03.128130278 -0000
+@@ -35,7 +35,7 @@
+ #include "models/musiclibraryitemsong.h"
+ #include "models/playqueuemodel.h"
+ #include "mpd-interface/mpdconnection.h"
+-#include "solid-lite/block.h"
++#include <solid/block.h>
+ #include "support/utils.h"
+ #include "widgets/icons.h"
+ #include <QDir>
+diff '--color=auto' -uNr a/devices/audiocddevice.h b/devices/audiocddevice.h
+--- a/devices/audiocddevice.h	2024-12-16 12:38:42.416438001 -0000
++++ b/devices/audiocddevice.h	2024-12-16 12:39:03.128130278 -0000
+@@ -27,7 +27,7 @@
+ #include "device.h"
+ #include "gui/covers.h"
+ #include "http/httpserver.h"
+-#include "solid-lite/opticaldrive.h"
++#include <solid/opticaldrive.h>
+ #include <QImage>
+ 
+ class CddbInterface;
+diff '--color=auto' -uNr a/devices/device.cpp b/devices/device.cpp
+--- a/devices/device.cpp	2024-12-16 12:38:42.416438001 -0000
++++ b/devices/device.cpp	2024-12-16 12:39:03.128130278 -0000
+@@ -46,11 +46,11 @@
+ #include "models/musiclibrarymodel.h"
+ #include "mpd-interface/mpdparseutils.h"
+ #include "mpd-interface/song.h"
+-#include "solid-lite/genericinterface.h"
+-#include "solid-lite/opticaldisc.h"
+-#include "solid-lite/portablemediaplayer.h"
+-#include "solid-lite/storageaccess.h"
+-#include "solid-lite/storagedrive.h"
++#include <solid/genericinterface.h>
++#include <solid/opticaldisc.h>
++#include <solid/portablemediaplayer.h>
++#include <solid/storageaccess.h>
++#include <solid/storagedrive.h>
+ #include "tags/tags.h"
+ #include "widgets/icons.h"
+ #endif// ENABLE_DEVICES_SUPPORT
+diff '--color=auto' -uNr a/devices/device.h b/devices/device.h
+--- a/devices/device.h	2024-12-16 12:38:42.416438001 -0000
++++ b/devices/device.h	2024-12-16 12:39:03.128130278 -0000
+@@ -30,7 +30,7 @@
+ #include "mpd-interface/song.h"
+ #ifdef ENABLE_DEVICES_SUPPORT
+ #include "deviceoptions.h"
+-#include "solid-lite/device.h"
++#include <solid/device.h>
+ #endif
+ 
+ class QWidget;
+diff '--color=auto' -uNr a/devices/mtpdevice.h b/devices/mtpdevice.h
+--- a/devices/mtpdevice.h	2024-12-16 12:38:42.416438001 -0000
++++ b/devices/mtpdevice.h	2024-12-16 12:39:03.128130278 -0000
+@@ -27,7 +27,7 @@
+ #include "config.h"
+ #include "fsdevice.h"
+ #include "mpd-interface/song.h"
+-#include "solid-lite/portablemediaplayer.h"
++#include <solid/portablemediaplayer.h>
+ #include <libmtp.h>
+ 
+ class MusicLibraryItemRoot;
+diff '--color=auto' -uNr a/devices/umsdevice.cpp b/devices/umsdevice.cpp
+--- a/devices/umsdevice.cpp	2024-12-16 12:38:42.420437942 -0000
++++ b/devices/umsdevice.cpp	2024-12-16 12:39:03.128130278 -0000
+@@ -25,7 +25,7 @@
+ #include "actiondialog.h"
+ #include "devicepropertiesdialog.h"
+ #include "devicepropertieswidget.h"
+-#include "solid-lite/storagedrive.h"
++#include <solid/storagedrive.h>
+ #include "support/icon.h"
+ #include "support/utils.h"
+ #include <QDir>
+diff '--color=auto' -uNr a/devices/umsdevice.h b/devices/umsdevice.h
+--- a/devices/umsdevice.h	2024-12-16 12:38:42.420437942 -0000
++++ b/devices/umsdevice.h	2024-12-16 12:39:03.128130278 -0000
+@@ -25,7 +25,7 @@
+ #define UMSDEVICE_H
+ 
+ #include "fsdevice.h"
+-#include "solid-lite/storageaccess.h"
++#include <solid/storageaccess.h>
+ 
+ class UmsDevice : public FsDevice {
+ 	Q_OBJECT
+diff '--color=auto' -uNr a/models/devicesmodel.cpp b/models/devicesmodel.cpp
+--- a/models/devicesmodel.cpp	2024-12-16 12:38:42.424437883 -0000
++++ b/models/devicesmodel.cpp	2024-12-16 12:39:03.128130278 -0000
+@@ -42,14 +42,14 @@
+ #if defined CDDB_FOUND || defined MusicBrainz5_FOUND
+ #include "devices/audiocddevice.h"
+ #endif
+-#include "solid-lite/device.h"
+-#include "solid-lite/deviceinterface.h"
+-#include "solid-lite/devicenotifier.h"
+-#include "solid-lite/opticaldisc.h"
+-#include "solid-lite/portablemediaplayer.h"
+-#include "solid-lite/storageaccess.h"
+-#include "solid-lite/storagedrive.h"
+-#include "solid-lite/storagevolume.h"
++#include <solid/device.h>
++#include <solid/deviceinterface.h>
++#include <solid/devicenotifier.h>
++#include <solid/opticaldisc.h>
++#include <solid/portablemediaplayer.h>
++#include <solid/storageaccess.h>
++#include <solid/storagedrive.h>
++#include <solid/storagevolume.h>
+ #include "support/globalstatic.h"
+ #include "support/utils.h"
+ #include <QMimeData>
+diff '--color=auto' -uNr a/models/mpdlibrarymodel.cpp b/models/mpdlibrarymodel.cpp
+--- a/models/mpdlibrarymodel.cpp	2024-12-16 12:38:42.424437883 -0000
++++ b/models/mpdlibrarymodel.cpp	2024-12-16 12:48:07.420043294 -0000
+@@ -25,7 +25,9 @@
+ #include "db/mpdlibrarydb.h"
+ #include "gui/covers.h"
+ #include "gui/settings.h"
+-#include "kcategorizedview/kcategorizedsortfilterproxymodel.h"
++#ifdef CAT_VIEW
++#include <kcategorizedsortfilterproxymodel.h>
++#endif
+ #include "roles.h"
+ #include "support/configuration.h"
+ #include "support/globalstatic.h"
+@@ -110,6 +112,7 @@
+ 		}
+ 		return v;
+ 	}
++	#ifdef CAT_VIEW
+ 	case KCategorizedSortFilterProxyModel::CategoryDisplayRole: {
+ 		Item* item = static_cast<Item*>(index.internalPointer());
+ 		if (T_Album == item->getType()) {
+@@ -125,6 +128,7 @@
+ 		}
+ 		break;
+ 	}
++	#endif
+ 	}
+ 	return SqlLibraryModel::data(index, role);
+ }
+diff '--color=auto' -uNr a/widgets/categorizedview.cpp b/widgets/categorizedview.cpp
+--- a/widgets/categorizedview.cpp	2024-12-16 12:38:42.436437705 -0000
++++ b/widgets/categorizedview.cpp	2024-12-16 12:39:03.132130217 -0000
+@@ -24,8 +24,8 @@
+ #include "categorizedview.h"
+ #include "config.h"
+ #include "icons.h"
+-#include "kcategorizedview/kcategorizedsortfilterproxymodel.h"
+-#include "kcategorizedview/kcategorydrawer.h"
++#include <kcategorizedsortfilterproxymodel.h>
++#include <kcategorydrawer.h>
+ #include "support/utils.h"
+ #include <QApplication>
+ #include <QDrag>
+diff '--color=auto' -uNr a/widgets/categorizedview.h b/widgets/categorizedview.h
+--- a/widgets/categorizedview.h	2024-12-16 12:38:42.436437705 -0000
++++ b/widgets/categorizedview.h	2024-12-16 12:39:03.132130217 -0000
+@@ -24,7 +24,7 @@
+ #ifndef CATEGORIZEDVIEW_H
+ #define CATEGORIZEDVIEW_H
+ 
+-#include "kcategorizedview/kcategorizedview.h"
++#include <kcategorizedview.h>
+ #include "treeview.h"
+ 
+ class QIcon;

diff --git a/media-sound/cantata/metadata.xml b/media-sound/cantata/metadata.xml
index a6c3a69db3a1..4c29857ebbda 100644
--- a/media-sound/cantata/metadata.xml
+++ b/media-sound/cantata/metadata.xml
@@ -9,9 +9,9 @@
 		<flag name="cdio">Use <pkg>dev-libs/libcdio-paranoia</pkg> for CD support (instead of cdparanoia)</flag>
 		<flag name="http-server">Enable internal HTTP server to play non-MPD files</flag>
 		<flag name="replaygain">Enable ReplayGain support, for relative volume adjustments</flag>
-		<flag name="streaming">Enable playback of MPD HTTP streams using LibVLC (<pkg>media-video/vlc</pkg>)</flag>
+		<flag name="streaming">Enable playback of MPD HTTP streams using (<pkg>dev-qt/qtmultimedia</pkg>)</flag>
 	</use>
 	<upstream>
-		<remote-id type="github">cdrummond/cantata</remote-id>
+		<remote-id type="github">nullobsi/cantata</remote-id>
 	</upstream>
 </pkgmetadata>


             reply	other threads:[~2025-02-08  8:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-08  8:17 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-03-25 18:20 [gentoo-commits] repo/gentoo:master commit in: media-sound/cantata/, media-sound/cantata/files/ Andreas Sturmlechner
2019-02-17 16:19 Andreas Sturmlechner
2018-09-03 20:15 Andreas Sturmlechner
2018-03-16 21:30 Andreas Sturmlechner
2017-08-02 21:37 Andreas Sturmlechner
2016-11-05 15:43 Michael Palimaka
2016-06-06  7:07 Johannes Huber

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=1739002659.2edede5d416650df9c28628d57246a6233d1051e.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