summaryrefslogtreecommitdiff
path: root/media-sound/amarok
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/amarok')
-rw-r--r--media-sound/amarok/Manifest4
-rw-r--r--media-sound/amarok/amarok-3.2.2.ebuild158
-rw-r--r--media-sound/amarok/files/amarok-3.2.2-gpodder-qt6.patch163
-rw-r--r--media-sound/amarok/metadata.xml19
4 files changed, 344 insertions, 0 deletions
diff --git a/media-sound/amarok/Manifest b/media-sound/amarok/Manifest
new file mode 100644
index 000000000000..a5f74d23df07
--- /dev/null
+++ b/media-sound/amarok/Manifest
@@ -0,0 +1,4 @@
+AUX amarok-3.2.2-gpodder-qt6.patch 6346 BLAKE2B c8f9b0a417c224c9448c5d9054f84f76a47a5ac98ef0d494e34c3af35901db282d01c0c30e7f4149f7d1ee29999274244ffd2b19d021c9a186a84e6da7a85170 SHA512 496953ee0740a8773030ee263aab2d3a899ce100b5e40152f3b919a712953019d9f850db4d0825932ede935f06b68ea43e67653cacefc0e0ce46cbe76ea8c9cf
+DIST amarok-3.2.2.tar.xz 47693388 BLAKE2B 011a925163ebd113de15826bdc4165ed001896ce99c8fa49496b208318bb24c339069f99f7d7097d506e0caf437909c8cd0e0babc52b28bceff2a6def07d0fe0 SHA512 918b4fd03a2de717cb1f5968e4ba3eda391c881de384ebabeec423303e84ac6f5a8dbbb8816668d3de52c77d57f1ab9fef6580a8111a9507c9082a8ca25097aa
+EBUILD amarok-3.2.2.ebuild 5120 BLAKE2B 8955e0b75c3c9ed7dfb3fbde748e8ae1dbf692383328a43694ba9585d31863dfed18c6947fc69d9b5a4915415ef4288c6fe71812cc5ee2810b0f181fc6bfed0c SHA512 f985078707ffa255431a7520f1a5d248745e0de27875f6c3055076f686cb5b5677d1cd0efff349c206f4f9e10c07d7976801215d063e5254bdc1c8fbba83e3ed
+MISC metadata.xml 939 BLAKE2B 27c31fe95dbc89d1c80a0b63189f7676190f894c31c2c44496625eb499a57bcae6c6ae0b8cdbd722f08d69f8216d58a7ee2f360c3b862e344681f4c424897d26 SHA512 da3ae21f0a1baf4690208f63069890a2557c6f3eac384e0f43967076d2348d31bcd4cc67cee905bb3bb4844eac1931d66212da3ed69e7a0ee077516ab1bf0ce3
diff --git a/media-sound/amarok/amarok-3.2.2.ebuild b/media-sound/amarok/amarok-3.2.2.ebuild
new file mode 100644
index 000000000000..d9dce07d1baf
--- /dev/null
+++ b/media-sound/amarok/amarok-3.2.2.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.9.0
+QTMIN=6.7.2
+PYTHON_COMPAT=( python3_{10..13} )
+inherit ecm kde.org optfeature python-any-r1 xdg
+
+if [[ ${KDE_BUILD_TYPE} == release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Advanced audio player based on KDE Frameworks"
+HOMEPAGE="https://amarok.kde.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="ipod lastfm mariadb mtp podcast webengine X"
+
+# ipod requires gdk enabled and also gtk compiled in libgpod
+DEPEND="
+ >=app-crypt/qca-2.3.9:2[qt6(+)]
+ >=dev-qt/qt5compat-${QTMIN}:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,sql,widgets,xml]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=dev-qt/qttools-${QTMIN}:6[designer]
+ >=kde-frameworks/attica-${KFMIN}:6
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kcmutils-${KFMIN}:6
+ >=kde-frameworks/kcodecs-${KFMIN}:6
+ >=kde-frameworks/kcolorscheme-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdeclarative-${KFMIN}:6
+ >=kde-frameworks/kdnssd-${KFMIN}:6
+ >=kde-frameworks/kglobalaccel-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kitemviews-${KFMIN}:6
+ >=kde-frameworks/knewstuff-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kpackage-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/ktexteditor-${KFMIN}:6
+ >=kde-frameworks/ktextwidgets-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6[X?]
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ >=kde-frameworks/threadweaver-${KFMIN}:6
+ >=media-libs/phonon-4.12.0[qt6(+)]
+ >=media-libs/taglib-1.12:=
+ sci-libs/fftw:3.0
+ sys-libs/zlib
+ virtual/opengl
+ ipod? (
+ dev-libs/glib:2
+ media-libs/libgpod[gtk]
+ )
+ lastfm? ( >=media-libs/liblastfm-1.1.0_pre20241124 )
+ mariadb? ( dev-db/mariadb-connector-c:= )
+ !mariadb? ( dev-db/mysql-connector-c:= )
+ mtp? ( media-libs/libmtp )
+ podcast? ( >=media-libs/libmygpo-qt-1.1.0_pre20240811 )
+ webengine? ( >=dev-qt/qtwebengine-${QTMIN}:6[widgets] )
+"
+RDEPEND="${DEPEND}
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ media-video/ffmpeg
+"
+BDEPEND="${PYTHON_DEPS}
+ >=dev-qt/qttools-${QTMIN}:6[linguist]
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}/${P}-gpodder-qt6.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_WITH_QT6=ON
+ -DWITH_MP3Tunes=OFF
+ -DWITH_PLAYER=ON
+ -DWITH_UTILITIES=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Googlemock=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibOFA=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_MySQLe=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Taglib-Extras=ON
+ -DWITH_IPOD=$(usex ipod)
+ $(cmake_use_find_package lastfm LibLastFm)
+ $(cmake_use_find_package !mariadb MySQL)
+ $(cmake_use_find_package mtp Mtp)
+ $(cmake_use_find_package podcast Mygpo-qt6)
+ $(cmake_use_find_package webengine Qt6WebEngineWidgets)
+ -DWITH_X11=$(usex X)
+ )
+ use ipod && mycmakeargs+=( -DWITH_GDKPixBuf=ON )
+
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ pkg_is_installed() {
+ echo "${1} ($(has_version ${1} || echo "not ")installed)"
+ }
+
+ db_name() {
+ use mariadb && echo "MariaDB" || echo "MySQL"
+ }
+
+ optfeature "Audio CD support" "kde-apps/audiocd-kio:6"
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "You must configure ${PN} to use an external database server."
+ elog " 1. Make sure either MySQL or MariaDB is installed and configured"
+ elog " Checking local system:"
+ elog " $(pkg_is_installed dev-db/mariadb)"
+ elog " $(pkg_is_installed dev-db/mysql)"
+ elog " For preliminary configuration of $(db_name) Server refer to"
+ elog " https://wiki.gentoo.org/wiki/$(db_name)#Configuration"
+ elog " 2. Ensure 'mysql' service is started and run:"
+ elog " # emerge --config amarok"
+ elog " 3. Run ${PN} and go to 'Configure Amarok - Database' menu page"
+ elog " Check 'Use external MySQL database' and press OK"
+ elog
+ elog "For more information please read:"
+ elog " https://community.kde.org/Amarok/Community/MySQL"
+ fi
+}
+
+pkg_config() {
+ # Create external mysql database with amarok default user/password
+ local AMAROK_DB_NAME="amarokdb"
+ local AMAROK_DB_USER_NAME="amarokuser"
+ local AMAROK_DB_USER_PWD="password"
+
+ einfo "Initializing ${PN} MySQL database 'amarokdb':"
+ einfo "If prompted for a password, please enter your MySQL root password."
+ einfo
+
+ if [[ -e "${EROOT}"/usr/bin/mysql ]]; then
+ "${EROOT}"/usr/bin/mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS ${AMAROK_DB_NAME}; GRANT ALL PRIVILEGES ON ${AMAROK_DB_NAME}.* TO '${AMAROK_DB_USER_NAME}' IDENTIFIED BY '${AMAROK_DB_USER_PWD}'; FLUSH PRIVILEGES;"
+ fi
+ einfo "${PN} MySQL database 'amarokdb' successfully initialized!"
+}
diff --git a/media-sound/amarok/files/amarok-3.2.2-gpodder-qt6.patch b/media-sound/amarok/files/amarok-3.2.2-gpodder-qt6.patch
new file mode 100644
index 000000000000..0568e2c9ee19
--- /dev/null
+++ b/media-sound/amarok/files/amarok-3.2.2-gpodder-qt6.patch
@@ -0,0 +1,163 @@
+From 973ab984b6c289dd2c88abbdf1b29c48abb4dbc7 Mon Sep 17 00:00:00 2001
+From: Tuomas Nurmi <tuomas@norsumanageri.org>
+Date: Sat, 22 Feb 2025 10:56:38 +0200
+Subject: [PATCH] Make lastfm and gpodder parts compile with strict flags, too
+
+---
+ .../applets/similarartists/plugin/SimilarArtistModel.cpp | 6 +++---
+ src/services/gpodder/GpodderPodcastMeta.h | 2 +-
+ src/services/gpodder/GpodderPodcastRequestHandler.h | 2 +-
+ src/services/gpodder/GpodderPodcastTreeItem.h | 2 +-
+ src/services/gpodder/GpodderProvider.h | 4 ++--
+ src/services/gpodder/GpodderService.cpp | 4 ++--
+ src/services/gpodder/GpodderServiceModel.h | 4 ++--
+ src/services/gpodder/GpodderTagTreeItem.h | 2 +-
+ src/services/gpodder/GpodderTreeItem.h | 4 ++--
+ 9 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/src/context/applets/similarartists/plugin/SimilarArtistModel.cpp b/src/context/applets/similarartists/plugin/SimilarArtistModel.cpp
+index 333cc85e45..eec964b8c1 100644
+--- a/src/context/applets/similarartists/plugin/SimilarArtistModel.cpp
++++ b/src/context/applets/similarartists/plugin/SimilarArtistModel.cpp
+@@ -185,7 +185,7 @@ SimilarArtistModel::fillArtistInfoFromXml( QXmlStreamReader &xml )
+ QString plays;
+ QString ownPlays;
+ QString tags;
+- QString bio=" ";
++ QString bio=QLatin1String(" ");
+
+ while( xml.name() != QLatin1String("name") )
+ xml.readNextStartElement();
+@@ -242,7 +242,7 @@ SimilarArtistModel::fillArtistInfoFromXml( QXmlStreamReader &xml )
+ {
+ bio = xml.readElementText().replace( QStringLiteral("\n"), QStringLiteral("<br>") );
+ if(bio == QString())
+- bio = " ";
++ bio = QLatin1String(" ");
+ }
+ else
+ xml.skipCurrentElement();
+@@ -256,7 +256,7 @@ SimilarArtistModel::fillArtistInfoFromXml( QXmlStreamReader &xml )
+ {
+ if( auto artist = dynamic_cast< SimilarArtistItem *>( i ) )
+ {
+- artist->m_bioText = bio.isNull() ? " " : bio;
++ artist->m_bioText = bio.isNull() ? QLatin1String(" ") : bio;
+ artist->m_listenerCount = listeners;
+ artist->m_playCount = plays;
+ artist->m_ownPlayCount = ownPlays;
+diff --git a/src/services/gpodder/GpodderPodcastMeta.h b/src/services/gpodder/GpodderPodcastMeta.h
+index abe2c9f2b6..b929173a24 100644
+--- a/src/services/gpodder/GpodderPodcastMeta.h
++++ b/src/services/gpodder/GpodderPodcastMeta.h
+@@ -22,7 +22,7 @@
+
+ #include "core/playlists/PlaylistProvider.h"
+ #include "core/podcasts/PodcastMeta.h"
+-#include <mygpo-qt5/ApiRequest.h>
++#include <mygpo-qt6/ApiRequest.h>
+
+ namespace Podcasts {
+
+diff --git a/src/services/gpodder/GpodderPodcastRequestHandler.h b/src/services/gpodder/GpodderPodcastRequestHandler.h
+index c56ec1942f..ce787f4cb3 100644
+--- a/src/services/gpodder/GpodderPodcastRequestHandler.h
++++ b/src/services/gpodder/GpodderPodcastRequestHandler.h
+@@ -20,7 +20,7 @@
+ #define GPODDERPODCASTREQUESTHANDLER_H_
+
+ #include "GpodderServiceModel.h"
+-#include <mygpo-qt5/PodcastList.h>
++#include <mygpo-qt6/PodcastList.h>
+
+ #include <QModelIndex>
+
+diff --git a/src/services/gpodder/GpodderPodcastTreeItem.h b/src/services/gpodder/GpodderPodcastTreeItem.h
+index 91323fb770..16b0f8c6b2 100644
+--- a/src/services/gpodder/GpodderPodcastTreeItem.h
++++ b/src/services/gpodder/GpodderPodcastTreeItem.h
+@@ -20,7 +20,7 @@
+ #define GPODDERPODCASTTREEITEM_H_
+
+ #include "GpodderTreeItem.h"
+-#include <mygpo-qt5/Podcast.h>
++#include <mygpo-qt6/Podcast.h>
+
+ class GpodderPodcastTreeItem: public GpodderTreeItem
+ {
+diff --git a/src/services/gpodder/GpodderProvider.h b/src/services/gpodder/GpodderProvider.h
+index 9551a97a69..61e6642b01 100644
+--- a/src/services/gpodder/GpodderProvider.h
++++ b/src/services/gpodder/GpodderProvider.h
+@@ -23,8 +23,8 @@
+ #include "core/podcasts/PodcastProvider.h"
+ #include "core/podcasts/PodcastReader.h"
+ #include "GpodderPodcastMeta.h"
+-#include <mygpo-qt5/ApiRequest.h>
+-#include <mygpo-qt5/EpisodeActionList.h>
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/EpisodeActionList.h>
+ #include "playlistmanager/file/KConfigSyncRelStore.h"
+ #include "playlistmanager/PlaylistManager.h"
+
+diff --git a/src/services/gpodder/GpodderService.cpp b/src/services/gpodder/GpodderService.cpp
+index b2d51ea807..4c43ea7b4a 100644
+--- a/src/services/gpodder/GpodderService.cpp
++++ b/src/services/gpodder/GpodderService.cpp
+@@ -27,8 +27,8 @@
+ #include "GpodderServiceModel.h"
+ #include "GpodderServiceView.h"
+ #include "GpodderSortFilterProxyModel.h"
+-#include <mygpo-qt5/ApiRequest.h>
+-#include <mygpo-qt5/Podcast.h>
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/Podcast.h>
+ #include "playlistmanager/PlaylistManager.h"
+ #include "widgets/SearchWidget.h"
+
+diff --git a/src/services/gpodder/GpodderServiceModel.h b/src/services/gpodder/GpodderServiceModel.h
+index 6eb979ca07..59c67d2fde 100644
+--- a/src/services/gpodder/GpodderServiceModel.h
++++ b/src/services/gpodder/GpodderServiceModel.h
+@@ -20,8 +20,8 @@
+ #define GPODDERSERVICEMODEL_H_
+
+ #include "GpodderTreeItem.h"
+-#include <mygpo-qt5/ApiRequest.h>
+-#include <mygpo-qt5/TagList.h>
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/TagList.h>
+ #include "NetworkAccessManagerProxy.h"
+
+ #include <QAbstractItemModel>
+diff --git a/src/services/gpodder/GpodderTagTreeItem.h b/src/services/gpodder/GpodderTagTreeItem.h
+index 63cc965d89..16a8b95cf3 100644
+--- a/src/services/gpodder/GpodderTagTreeItem.h
++++ b/src/services/gpodder/GpodderTagTreeItem.h
+@@ -20,7 +20,7 @@
+ #define GPODDERTAGTREEITEM_H_
+
+ #include "GpodderTreeItem.h"
+-#include <mygpo-qt5/Tag.h>
++#include <mygpo-qt6/Tag.h>
+
+ #include <QObject>
+
+diff --git a/src/services/gpodder/GpodderTreeItem.h b/src/services/gpodder/GpodderTreeItem.h
+index 642e1cb371..7b311b659e 100644
+--- a/src/services/gpodder/GpodderTreeItem.h
++++ b/src/services/gpodder/GpodderTreeItem.h
+@@ -19,8 +19,8 @@
+ #ifndef GPODDERTREEITEM_H_
+ #define GPODDERTREEITEM_H_
+
+-#include <mygpo-qt5/ApiRequest.h>
+-#include <mygpo-qt5/TagList.h>
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/TagList.h>
+
+ #include <QList>
+ #include <QModelIndex>
+--
+GitLab
+
diff --git a/media-sound/amarok/metadata.xml b/media-sound/amarok/metadata.xml
new file mode 100644
index 000000000000..27433610de3b
--- /dev/null
+++ b/media-sound/amarok/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/enter_bug.cgi?product=amarok</bugs-to>
+ <remote-id type="kde-invent">multimedia/amarok</remote-id>
+ </upstream>
+ <use>
+ <flag name="lastfm">Enable Last.fm streaming services support through <pkg>media-libs/liblastfm</pkg></flag>
+ <flag name="mariadb">Prefer <pkg>dev-db/mariadb-connector-c</pkg> over <pkg>dev-db/mysql-connector-c</pkg></flag>
+ <flag name="mtp">Enable support for libMTP (Plays4Sure) devices access through libmtp</flag>
+ <flag name="podcast">Enable gpodder.net podcast support via <pkg>media-libs/libmygpo-qt</pkg></flag>
+ <flag name="webengine">Enable wikipedia widget using <pkg>dev-qt/qtwebengine</pkg></flag>
+ </use>
+</pkgmetadata>