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>
next 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