commit:     ebc4ced4ab9c6fa933629b28874c3e443ed76efb
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Wed Dec  3 15:32:39 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec  4 13:10:15 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebc4ced4

media-sound/cantata: add 3.4.0

update license to GPL-3+ (since a while)
upstream allows external libs for karchive (replace qtiocompressor) and
kitemviews
use of fontawesome has been reworked, closing an old bug
remove cdparanoia as a fallback for cdda, upstream prefers libcdio

use optfeature instead of has_version, remove mpd

Closes: https://bugs.gentoo.org/641880
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/44893
Closes: https://github.com/gentoo/gentoo/pull/44893
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-sound/cantata/Manifest                       |   1 +
 media-sound/cantata/cantata-3.4.0.ebuild           |  99 ++++++++++++++++
 .../files/cantata-3.4.0-unbundle_solid.patch       | 131 +++++++++++++++++++++
 3 files changed, 231 insertions(+)

diff --git a/media-sound/cantata/Manifest b/media-sound/cantata/Manifest
index b52ff379550a..a0683dbfe465 100644
--- a/media-sound/cantata/Manifest
+++ b/media-sound/cantata/Manifest
@@ -1 +1,2 @@
 DIST cantata-3.3.1.tar.gz 4787884 BLAKE2B 
0769ddc8e19370694d5a4cde9bf50c4563dd132e6471478bcd2842d15fc73b47e6f542096e907da6b162d9408a495ccf4af04d6def61cf751ef0f45e5459269e
 SHA512 
1d70f5be223d20e75faedefcb2db3833d77ef28fab2ba747ebb77fdb20b45416c19e453b49f61bcd7dbbc77c166e640adf474c40b80e71fdbd0f05b653e02c81
+DIST cantata-3.4.0.tar.gz 4798821 BLAKE2B 
ddb14fb4bda6c579113f9e0f9e86f26ef36dad236dcabdd671cec259019a61f69ac3370d4f18f329dda71171169e5c367e845b395b25b7fa47d483682044abec
 SHA512 
d855dd8106b762d7c96a8e3c81da76cc2c8437e02c6e7ba25e918860c372f35a04b3f12b6866bf9fcd8f9051d10e1576d1934787d07b2f92c4f32390de7bad86

diff --git a/media-sound/cantata/cantata-3.4.0.ebuild 
b/media-sound/cantata/cantata-3.4.0.ebuild
new file mode 100644
index 000000000000..f0c78e9d7b15
--- /dev/null
+++ b/media-sound/cantata/cantata-3.4.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake optfeature 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-3+"
+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
+       kde-frameworks/karchive:6
+       kde-frameworks/kitemviews:6
+       virtual/zlib:=
+       cdda? ( dev-libs/libcdio-paranoia:= )
+       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]
+       media-fonts/fontawesome:0/6
+"
+DEPEND="${COMMON_DEPEND}
+       dev-qt/qtbase:6[concurrent]
+"
+BDEPEND="
+       dev-qt/qttools:6[linguist]
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       # unbundle KF6Solid
+       "${FILESDIR}"/${PN}-3.4.0-unbundle_solid.patch
+)
+
+src_prepare() {
+       cmake_src_prepare
+
+       # Unbundle 3rd party libs
+       # keep knotifications : 
https://github.com/nullobsi/cantata/commit/719adb5
+       rm -r 
3rdparty/{karchive,kcategorizedview,qtsingleapplication,solid-lite} || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUNDLED_FONTAWESOME=OFF
+               -DBUNDLED_KARCHIVE=OFF
+               -DBUNDLED_KCATEGORIZEDVIEW=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
+
+       optfeature "identification and querying of portable media players" 
app-misc/media-player-info
+}

diff --git a/media-sound/cantata/files/cantata-3.4.0-unbundle_solid.patch 
b/media-sound/cantata/files/cantata-3.4.0-unbundle_solid.patch
new file mode 100644
index 000000000000..7b2478a3d907
--- /dev/null
+++ b/media-sound/cantata/files/cantata-3.4.0-unbundle_solid.patch
@@ -0,0 +1,131 @@
+upstream uses a bundled version for win/macos
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -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)
+--- a/devices/audiocddevice.cpp
++++ b/devices/audiocddevice.cpp
+@@ -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>
+--- a/devices/audiocddevice.h
++++ b/devices/audiocddevice.h
+@@ -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;
+--- a/devices/device.cpp
++++ b/devices/device.cpp
+@@ -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
+--- a/devices/device.h
++++ b/devices/device.h
+@@ -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;
+--- a/devices/mtpdevice.h
++++ b/devices/mtpdevice.h
+@@ -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;
+--- a/devices/umsdevice.cpp
++++ b/devices/umsdevice.cpp
+@@ -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>
+--- a/devices/umsdevice.h
++++ b/devices/umsdevice.h
+@@ -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
+--- a/models/devicesmodel.cpp
++++ b/models/devicesmodel.cpp
+@@ -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>

Reply via email to