From ebc4ced4ab9c6fa933629b28874c3e443ed76efb Mon Sep 17 00:00:00 2001 From: Nicolas PARLANT Date: Wed, 3 Dec 2025 16:32:39 +0100 Subject: [PATCH] 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 Part-of: https://github.com/gentoo/gentoo/pull/44893 Closes: https://github.com/gentoo/gentoo/pull/44893 Signed-off-by: Sam James --- 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(+) create mode 100644 media-sound/cantata/cantata-3.4.0.ebuild create mode 100644 media-sound/cantata/files/cantata-3.4.0-unbundle_solid.patch 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 + #include "support/utils.h" + #include "widgets/icons.h" + #include +--- 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 + #include + + 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 ++#include ++#include ++#include ++#include + #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 + #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 + #include + + 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 + #include "support/icon.h" + #include "support/utils.h" + #include +--- a/devices/umsdevice.h ++++ b/devices/umsdevice.h +@@ -25,7 +25,7 @@ + #define UMSDEVICE_H + + #include "fsdevice.h" +-#include "solid-lite/storageaccess.h" ++#include + + 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 ++#include ++#include ++#include ++#include ++#include ++#include ++#include + #include "support/globalstatic.h" + #include "support/utils.h" + #include