diff options
Diffstat (limited to 'media-sound/amarok')
-rw-r--r-- | media-sound/amarok/Manifest | 4 | ||||
-rw-r--r-- | media-sound/amarok/amarok-3.2.2.ebuild | 158 | ||||
-rw-r--r-- | media-sound/amarok/files/amarok-3.2.2-gpodder-qt6.patch | 163 | ||||
-rw-r--r-- | media-sound/amarok/metadata.xml | 19 |
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> |