diff --git a/.gitignore b/.gitignore index 039c87c..9d86dbb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,14 @@ /amarok-2.8.0.tar.bz2 /amarok-2.8.90.tar.xz /amarok-2.9.0.tar.xz +/amarok-387c30de482522774c28dc02c2636cd41c8334e9.tar.bz2 +/amarok-7ec45dddb109fd391b900dad8705dacd4088a3c3.tar.gz +/amarok-7ec45dddb109fd391b900dad8705dacd4088a3c3.tar.bz2 +/amarok-3.0.0.tar.xz +/amarok-3.0.1.tar.xz +/amarok-3.0.81.tar.xz +/amarok-3.1.1.tar.xz +/amarok-3.2.0.tar.xz +/amarok-3.2.1.tar.xz +/amarok-3.2.2.tar.xz +/amarok-3.3.1.tar.xz diff --git a/amarok-2.8.0-no_kdewebkit.patch b/amarok-2.8.0-no_kdewebkit.patch deleted file mode 100644 index 9f3b871..0000000 --- a/amarok-2.8.0-no_kdewebkit.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff -up amarok-2.8.0/src/context/applets/CMakeLists.txt.webkit amarok-2.8.0/src/context/applets/CMakeLists.txt -diff -up amarok-2.8.0/src/context/applets/info/CMakeLists.txt.webkit amarok-2.8.0/src/context/applets/info/CMakeLists.txt ---- amarok-2.8.0/src/context/applets/info/CMakeLists.txt.webkit 2013-08-14 15:22:52.000000000 -0500 -+++ amarok-2.8.0/src/context/applets/info/CMakeLists.txt 2014-06-18 13:35:31.496217418 -0500 -@@ -16,7 +16,6 @@ target_link_libraries(amarok_context_app - amarokcore - amaroklib - ${KDE4_PLASMA_LIBS} -- ${KDE4_KDEWEBKIT_LIBS} - ${QT_QTWEBKIT_LIBRARY} - ) - -diff -up amarok-2.8.0/src/context/applets/info/InfoApplet.cpp.webkit amarok-2.8.0/src/context/applets/info/InfoApplet.cpp ---- amarok-2.8.0/src/context/applets/info/InfoApplet.cpp.webkit 2013-08-14 15:22:52.000000000 -0500 -+++ amarok-2.8.0/src/context/applets/info/InfoApplet.cpp 2014-06-18 14:10:15.337284616 -0500 -@@ -26,7 +26,7 @@ - #include "PaletteHandler.h" - #include "playlist/PlaylistController.h" - --#include -+#include - #include - - #include -@@ -63,7 +63,7 @@ void InfoApplet::init() - - dataEngine( "amarok-info" )->connectSource( "info", this ); - -- m_webView = new KGraphicsWebView( this ); -+ m_webView = new QGraphicsWebView( this ); - - QPalette p = m_webView->palette(); - p.setColor( QPalette::Dark, QColor( 255, 255, 255, 0) ); -diff -up amarok-2.8.0/src/context/applets/info/InfoApplet.h.webkit amarok-2.8.0/src/context/applets/info/InfoApplet.h ---- amarok-2.8.0/src/context/applets/info/InfoApplet.h.webkit 2013-08-14 15:22:52.000000000 -0500 -+++ amarok-2.8.0/src/context/applets/info/InfoApplet.h 2014-06-18 13:35:31.496217418 -0500 -@@ -27,7 +27,7 @@ - - #include - --class KGraphicsWebView; -+class QGraphicsWebView; - - class InfoApplet : public Context::Applet - { -@@ -47,7 +47,7 @@ private slots: - void linkClicked( const QUrl & url ); - - private: -- KGraphicsWebView *m_webView; -+ QGraphicsWebView *m_webView; - bool m_initialized; - - static QString s_defaultHtml; -diff -up amarok-2.8.0/src/context/applets/wikipedia/CMakeLists.txt.webkit amarok-2.8.0/src/context/applets/wikipedia/CMakeLists.txt ---- amarok-2.8.0/src/context/applets/wikipedia/CMakeLists.txt.webkit 2014-06-18 14:07:24.355163151 -0500 -+++ amarok-2.8.0/src/context/applets/wikipedia/CMakeLists.txt 2014-06-18 14:07:34.347695400 -0500 -@@ -18,7 +18,6 @@ target_link_libraries(amarok_context_app - amaroklib - ${KDE4_PLASMA_LIBS} - ${KDE4_KIO_LIBS} -- ${KDE4_KDEWEBKIT_LIBS} - ${QT_QTWEBKIT_LIBRARY} - ) - -diff -up amarok-2.8.0/src/context/applets/wikipedia/WikipediaApplet_p.h.webkit amarok-2.8.0/src/context/applets/wikipedia/WikipediaApplet_p.h ---- amarok-2.8.0/src/context/applets/wikipedia/WikipediaApplet_p.h.webkit 2013-08-14 15:22:52.000000000 -0500 -+++ amarok-2.8.0/src/context/applets/wikipedia/WikipediaApplet_p.h 2014-06-18 13:56:15.446760436 -0500 -@@ -23,7 +23,7 @@ - #include "ui_wikipediaGeneralSettings.h" - #include "ui_wikipediaLanguageSettings.h" - --#include -+#include - #include - #include - -@@ -180,13 +180,13 @@ protected: - } - }; - --class WikipediaWebView : public KGraphicsWebView -+class WikipediaWebView : public QGraphicsWebView - { - Q_OBJECT - - public: - WikipediaWebView( QGraphicsItem *parent = 0 ) -- : KGraphicsWebView( parent ) -+ : QGraphicsWebView( parent ) - { - m_lineEdit = new WikipediaSearchLineEdit( this ); - m_lineEdit->setContentsMargins( 0, 0, 0, 0 ); -@@ -242,7 +242,7 @@ protected: - } - return false; - } -- return KGraphicsWebView::eventFilter( obj, event ); -+ return QGraphicsWebView::eventFilter( obj, event ); - } - - void keyPressEvent( QKeyEvent *event ) -@@ -258,12 +258,12 @@ protected: - event->accept(); - } - else -- KGraphicsWebView::keyPressEvent( event ); -+ QGraphicsWebView::keyPressEvent( event ); - } - - void resizeEvent( QGraphicsSceneResizeEvent *event ) - { -- KGraphicsWebView::resizeEvent( event ); -+ QGraphicsWebView::resizeEvent( event ); - if( m_topBorder ) - { - m_topBorder->resize( event->newSize().width(), m_topBorder->size().height() ); diff --git a/amarok-2.8.0-onlinedoc.patch b/amarok-2.8.0-onlinedoc.patch deleted file mode 100644 index a4d1df8..0000000 --- a/amarok-2.8.0-onlinedoc.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -up amarok-2.8.0/src/ActionClasses.cpp.onlinedoc amarok-2.8.0/src/ActionClasses.cpp ---- amarok-2.8.0/src/ActionClasses.cpp.onlinedoc 2013-08-14 15:22:51.000000000 -0500 -+++ amarok-2.8.0/src/ActionClasses.cpp 2013-08-15 10:40:40.656472890 -0500 -@@ -33,10 +33,12 @@ - #include "widgets/Osd.h" - #include "KNotificationBackend.h" - -+#include - #include - #include - #include - #include -+#include - - extern OcsData ocsData; - -@@ -62,6 +64,7 @@ namespace Amarok - using namespace Amarok; - - KHelpMenu *Menu::s_helpMenu = 0; -+OnlineHelpHandler *Menu::s_onlineHelpHandler = 0; - - static void - safePlug( KActionCollection *ac, const char *name, QWidget *w ) -@@ -151,6 +154,20 @@ Menu::helpMenu( QWidget *parent ) //STAT - - KMenu* menu = s_helpMenu->menu(); - -+ // If amarok-doc is not installed, bring up the online version instead. -+ if ( !QFile::exists( "/usr/share/doc/HTML/en/amarok/index.docbook" ) ) { -+ QAction *contentsAction = s_helpMenu->action( KHelpMenu::menuHelpContents ); -+ // disconnect the default slot which fires up KHelpCenter -+ disconnect( contentsAction, SIGNAL(triggered(bool)), s_helpMenu, SLOT(appHelpActivated()) ); -+ if ( s_onlineHelpHandler == 0 ) -+ s_onlineHelpHandler = new OnlineHelpHandler( parent ); -+ else -+ // ensure no duplicate connection -+ disconnect( contentsAction, SIGNAL(triggered(bool)), s_onlineHelpHandler, SLOT(onlineHelpActivated()) ); -+ // connect our custom slot which fires up a browser on UserBase instead -+ connect( contentsAction, SIGNAL(triggered(bool)), s_onlineHelpHandler, SLOT(onlineHelpActivated()) ); -+ } -+ - // "What's This" isn't currently defined for anything in Amarok, so let's remove it - s_helpMenu->action( KHelpMenu::menuWhatsThis )->setVisible( false ); - -@@ -160,6 +177,17 @@ Menu::helpMenu( QWidget *parent ) //STAT - return menu; - } - -+OnlineHelpHandler::OnlineHelpHandler( QObject* parent ) -+ : QObject( parent ) -+{ -+} -+ -+void -+OnlineHelpHandler::onlineHelpActivated() -+{ -+ KToolInvocation::invokeBrowser( "http://userbase.kde.org/Amarok/Manual" ); -+} -+ - ////////////////////////////////////////////////////////////////////////////////////////// - // PlayPauseAction - ////////////////////////////////////////////////////////////////////////////////////////// -diff -up amarok-2.8.0/src/ActionClasses.h.onlinedoc amarok-2.8.0/src/ActionClasses.h ---- amarok-2.8.0/src/ActionClasses.h.onlinedoc 2013-08-14 15:22:51.000000000 -0500 -+++ amarok-2.8.0/src/ActionClasses.h 2013-08-15 10:38:12.378047150 -0500 -@@ -34,6 +34,16 @@ class KHelpMenu; - - namespace Amarok - { -+ class OnlineHelpHandler : public QObject -+ { -+ Q_OBJECT -+ public: -+ OnlineHelpHandler( QObject* parent ); -+ -+ public slots: -+ void onlineHelpActivated(); -+ }; -+ - class Menu : public KMenu - { - Q_OBJECT -@@ -45,6 +55,7 @@ namespace Amarok - private: - static Menu *s_instance; - static KHelpMenu *s_helpMenu; -+ static OnlineHelpHandler *s_onlineHelpHandler; - }; - - class MenuAction : public KAction diff --git a/amarok-2.8.90-mysql_found.patch b/amarok-2.8.90-mysql_found.patch deleted file mode 100644 index 44a94ff..0000000 --- a/amarok-2.8.90-mysql_found.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up amarok-2.8.90/CMakeLists.txt.mysql_embedded amarok-2.8.90/CMakeLists.txt ---- amarok-2.8.90/CMakeLists.txt.mysql_embedded 2015-12-10 11:44:35.094776255 -0600 -+++ amarok-2.8.90/CMakeLists.txt 2015-12-10 11:43:04.047091677 -0600 -@@ -142,7 +142,7 @@ if( WITH_PLAYER ) - else( WITH_MYSQL_EMBEDDED ) - add_definitions( "-DNO_MYSQL_EMBEDDED" ) - endif( WITH_MYSQL_EMBEDDED ) -- macro_log_feature( MYSQL_FOUND "mysql" "MySQL Server Libraries" "http://www.mysql.com" TRUE "" "" ) -+ macro_log_feature( MYSQL_EMBEDDED_FOUND "mysql" "MySQL Server Libraries" "http://www.mysql.com" FALSE "" "" ) - - # zlib is required for mysql embedded - find_package(ZLIB REQUIRED) diff --git a/amarok.spec b/amarok.spec index 4265608..12dbcb0 100644 --- a/amarok.spec +++ b/amarok.spec @@ -1,97 +1,127 @@ - -%define kdewebkit 1 +%global __provides_exclude_from ^%{_kf6_qmldir}/org/kde/amarok/.*\.so$ Name: amarok Summary: Media player -Version: 2.9.0 +Version: 3.3.1 Release: 4%{?dist} # KDE e.V. may determine that future GPL versions are accepted -License: GPLv2 or GPLv3 -Url: http://amarok.kde.org/ -#global revision %(echo %{version} | cut -d. -f3) -#if %{revision} >= 50 -#global stable unstable -#else -%global stable stable -#endif -Source0: http://download.kde.org/%{stable}/amarok/%{version}/src/amarok-%{version}.tar.xz +License: GPL-2.0-only OR GPL-3.0-only +Url: https://amarok.kde.org/ +%if 0%{?commitdate} +Source0: https://invent.kde.org/multimedia/amarok/-/archive/%{commit}/amarok-%{commit}.tar.bz2 +%else +Source0: https://download.kde.org/%{stable_kf6}/amarok/%{version}/amarok-%{version}.tar.xz +%endif -# Invoke a browser on the online UserBase documentation instead of KHelpCenter -# for the help contents if the amarok-doc subpackage is not installed. -Patch0: amarok-2.8.0-onlinedoc.patch +# partially revert https://invent.kde.org/multimedia/amarok/-/commit/c095ebf8780b693605ab23efa4eae6f4dd18fc5e +# it causes amarok to crash on launch for some reason +Patch1: revert.patch -# try to allow build without kdewebkit (like rhel), use QWeb* instead of KWeb* -Patch1: amarok-2.8.0-no_kdewebkit.patch +# Version 1.2.0 is a new fork which just bumps the version for Qt6 and includes +# one patch. Fedora's 1.1.0 is a snapshot from the old fork which includes Qt6 +# and applies the same patch. +Patch2: liblastfm-version.patch -## upstreamable patches -# make mysql_found non-fatal -Patch100: amarok-2.8.90-mysql_found.patch +# Needed because not every distro installs mygpo-qt6 under the same path. +# For instance, Fedora namespaces qt6 +Patch10: fix-mygpo-qt6-compilation.patch -BuildRequires: curl-devel BuildRequires: desktop-file-utils +BuildRequires: extra-cmake-modules BuildRequires: gcc-c++ -## non-modular MusicBrainz-based audio fingerprint tag lookup support :( -#BuildRequires: ffmpeg-devel libofa-devel BuildRequires: gettext -BuildRequires: kdelibs4-devel >= 4.9 -%if 0%{?kdewebkit} -BuildRequires: kdelibs4-webkit-devel -%endif -%if 0%{?fedora} > 21 +BuildRequires: kf6-rpm-macros BuildRequires: libappstream-glib -%endif -%if 0%{?fedora} > 27 -BuildRequires: mariadb-connector-c-devel -%else -BuildRequires: mysql-devel -%endif -BuildRequires: mysql-embedded-devel -BuildRequires: libgcrypt-devel BuildRequires: perl-generators -BuildRequires: pkgconfig(gdk-pixbuf-2.0) -BuildRequires: pkgconfig(glib-2.0) pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(phonon) >= 4.5.0 -BuildRequires: pkgconfig(qca2) -BuildRequires: pkgconfig(QJson) -BuildRequires: pkgconfig(QtWebKit) -BuildRequires: pkgconfig(taglib) >= 1.6 -BuildRequires: pkgconfig(taglib-extras) >= 1.0.1 +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6QuickWidgets) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6Sql) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6Test) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6Xml) +BuildRequires: cmake(Qt6QuickControls2) +BuildRequires: cmake(Qt6SvgWidgets) +%ifarch %{qt6_qtwebengine_arches} +BuildRequires: cmake(Qt6WebEngineWidgets) +%endif +BuildRequires: cmake(Qt6UiTools) + +BuildRequires: cmake(KF6Archive) +BuildRequires: cmake(KF6Codecs) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6DNSSD) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6GlobalAccel) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Notifications) +BuildRequires: cmake(KF6Package) +BuildRequires: cmake(KF6Solid) +BuildRequires: cmake(KF6TextEditor) +BuildRequires: cmake(KF6TextWidgets) +BuildRequires: cmake(KF6ThreadWeaver) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6WindowSystem) +BuildRequires: cmake(KF6ColorScheme) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6StatusNotifierItem) +BuildRequires: cmake(KF6Kirigami) +# gpodder, lastfm +BuildRequires: cmake(KF6Wallet) + +BuildRequires: pkgconfig(gstreamer-audio-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(taglib) >= 1.12 +BuildRequires: pkgconfig(libmariadb) +BuildRequires: pkgconfig(mariadb) +BuildRequires: mariadb-embedded-devel +BuildRequires: ffmpeg-free-devel +BuildRequires: fftw-devel %if 0%{?fedora} -BuildRequires: kf5-rpm-macros -Requires: kf5-filesystem -BuildRequires: liblastfm-devel >= 1.0.3 -BuildRequires: pkgconfig(libmygpo-qt) >= 1.0.7 -BuildRequires: pkgconfig(loudmouth-1.0) -BuildRequires: pkgconfig(libmtp) >= 0.3.0 +# dependencies not available in RHEL or EPEL +BuildRequires: liblastfm-qt6-devel >= 1.1.0 +BuildRequires: cmake(Mygpo-qt6) >= 1.2.0 +BuildRequires: pkgconfig(libmtp) >= 1.0.0 BuildRequires: pkgconfig(libgpod-1.0) >= 0.7.0 -Requires: ifuse -# not strictly required at buildtime, but if it's not available here, -# then you're hosed at runtime anyway -BuildRequires: clamz -Requires: clamz -%if 0%{?fedora} > 23 -Recommends: audiocd-kio -Recommends: kio_mtp -Recommends: kio-upnp-ms -%else -Requires: audiocd-kio -Requires: kio_mtp -Requires: kio-upnp-ms +# only used together with libgpod +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +# MP3Tunes +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: libgcrypt-devel +BuildRequires: pkgconfig(loudmouth-1.0) +BuildRequires: pkgconfig(glib-2.0) pkgconfig(gobject-2.0) %endif + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-utils = %{version}-%{release} +Requires: kf6-filesystem +# QML module dependencies +Requires: kf6-kirigami%{?_isa} + +Recommends: audiocd-kio +Recommends: kio-extras +%ifarch %{qt6_qtwebengine_arches} +# Wikipedia QML plugin +Recommends: qt6-qtwebengine%{?_isa} +%endif +%if 0%{?fedora} +Recommends: ifuse +Recommends: media-player-info %endif -BuildRequires: qtscriptbindings -Requires: qtscriptbindings%{?_isa} -Requires: %{name}-utils = %{version}-%{release} -Requires: kde-runtime -Requires: media-player-info - -Requires: %{name}-libs%{?_isa} = %{version}-%{release} - -BuildConflicts: nepomuk-core-devel -Obsoletes: amarok-nepomukcollection < %{version}-%{release} %description Amarok is a multimedia player with: @@ -103,19 +133,17 @@ Amarok is a multimedia player with: %package libs Summary: Runtime libraries for %{name} -Requires: %{name} = %{version}-%{release} %description libs %{summary}. %package utils Summary: Amarok standalone utilities -%description utils +Requires: %{name}-libs = %{version}-%{release} +%description utils %{summary}, including amarokcollectionscanner. %package doc Summary: Application handbook, documentation, translations -# for upgrade path -Obsoletes: amarok < 2.5.0-4 Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc @@ -123,171 +151,200 @@ BuildArch: noarch %prep -%setup -q +%autosetup %{?commitdate:-n %{name}-%{commit}} -p1 -%patch0 -p1 -b .onlinedoc -%if ! 0%{?kdewebkit} -%patch1 -p1 -b .no_kdewebkit -%endif - -## upstream - -## upstreamable +sed -i -e 's|/usr/bin/mysqld|%{_libexecdir}/mysqld|' src/importers/amarok/AmarokConfigWidget.cpp %build -mkdir %{_target_platform} -pushd %{_target_platform} +%if 0%{?flatpak} +# find /app-built libmygpo-qt headers +CXXFLAGS="$CXXFLAGS -I%{_includedir}/qt6" +%endif # force non-use of MYSQLCONFIG, to avoid (potential bogus) stuff from: mysql_config --libmysqld-libs -%{cmake_kde4} .. \ - -DMYSQLCONFIG_EXECUTABLE:BOOL=OFF -popd - -%make_build -C %{_target_platform} +%{cmake_kf6} \ +%if ! 0%{?fedora} + -DWITH_GPODDER=OFF -DWITH_IPOD=OFF -DWITH_LASTFM=OFF \ +%endif + -DMYSQLCONFIG_EXECUTABLE:BOOL=OFF -DWITH_X11=OFF +%{cmake_build} %install -make install/fast DESTDIR=%{buildroot} -C %{_target_platform} +%cmake_install -# appdata/metainfo -%if "%{_kde4_datadir}/metainfo" != "%{_kf5_metainfodir}" -mkdir -p %{buildroot}%{_kf5_metainfodir} -mv %{buildroot}%{_kde4_datadir}/metainfo/*.xml \ - %{buildroot}%{_kf5_metainfodir} -%endif - -# NoDisplay Amazon Downloader in menus -desktop-file-edit \ - --set-key=NoDisplay --set-value=true \ - %{buildroot}%{_kde4_datadir}/applications/kde4/amzdownloader.desktop - -%if 0%{?fedora} -mkdir -p %{buildroot}%{_kf5_datadir}/solid/actions/ -cp -alf \ - %{buildroot}%{_kde4_appsdir}/solid/actions/amarok-play-audiocd.desktop \ - %{buildroot}%{_kf5_datadir}/solid/actions/ -mkdir -p %{buildroot}%{_kf5_datadir}/kservices5/ServiceMenus -cp -alf \ - %{buildroot}%{_kde4_datadir}/kde4/services/ServiceMenus/amarok_append.desktop \ - %{buildroot}%{_kf5_datadir}/kservices5/ServiceMenus/ -%endif - -%find_lang amarok --with-kde --without-mo && mv amarok.lang amarok-doc.lang -%find_lang amarok -%find_lang amarokcollectionscanner_qt -%find_lang amarokpkg && cat amarokpkg.lang >> amarok.lang -%find_lang amarok_scriptengine_qscript && cat amarok_scriptengine_qscript.lang >> amarok.lang - -# unpackaged files -rm -fv %{buildroot}%{_kde4_libdir}/libamarok{-sqlcollection,_taglib,core,lib,plasma,pud,ocsclient,shared,-transcoding}.so +%find_lang amarokcollectionscanner_qt --with-qt --without-mo --all-name +%find_lang amarok --all-name +%find_lang amarok-doc --with-html --without-mo --all-name %check -%if 0%{?fedora} > 20 -appstream-util validate-relax --nonet %{buildroot}%{_kf5_metainfodir}/org.kde.%{name}.appdata.xml -%endif -desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/*amarok.desktop -desktop-file-validate %{buildroot}%{_kde4_datadir}/applications/kde4/*amarok_containers.desktop -grep '^NoDisplay' %{buildroot}%{_kde4_datadir}/applications/kde4/amzdownloader.desktop +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.%{name}.appdata.xml +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.%{name}*.desktop %files -f amarok.lang %doc AUTHORS ChangeLog README %license COPYING -%{_kde4_bindir}/amarok -%{_kde4_bindir}/amarokpkg -%{_kde4_bindir}/amarok_afttagger +%{_qt6_settingsdir}/amarok_homerc +%{_kf6_bindir}/amarok +%{_kf6_bindir}/amarok_afttagger +%{_kf6_datadir}/amarok/ +%{_kf6_datadir}/applications/org.kde.amarok.desktop +%{_kf6_datadir}/applications/org.kde.amarok_containers.desktop +%{_kf6_datadir}/config.kcfg/amarokconfig.kcfg +%{_kf6_datadir}/dbus-1/interfaces/*.xml +%{_kf6_datadir}/dbus-1/services/org.kde.amarok.service +%{_kf6_datadir}/icons/hicolor/*/*/* +%{_kf6_datadir}/kio/servicemenus/amarok_append.desktop +%{_kf6_datadir}/knotifications6/amarok.notifyrc +%{_kf6_datadir}/kpackage/amarok +%{_kf6_datadir}/kpackage/genericqml/org.kde.amarok.context +%{_kf6_datadir}/solid/actions/amarok-play-audiocd.desktop +%{_kf6_metainfodir}/org.kde.amarok.*.xml +%{_kf6_qmldir}/org/kde/amarok +%{_kf6_qtplugindir}/amarok_collection-audiocdcollection.so +%{_kf6_qtplugindir}/amarok_collection-daapcollection.so %if 0%{?fedora} -%{_kde4_bindir}/amarokmp3tunesharmonydaemon -%{_kf5_datadir}/solid/actions/amarok-play-audiocd.desktop -%{_kf5_datadir}/kservices5/ServiceMenus/amarok_append.desktop +%{_kf6_qtplugindir}/amarok_collection-ipodcollection.so +%{_kf6_qtplugindir}/amarok_collection-mtpcollection.so %endif -%{_kde4_bindir}/amzdownloader -%{_kde4_appsdir}/amarok/ -%{_kde4_appsdir}/kconf_update/amarok* -%{_kde4_appsdir}/desktoptheme/default/widgets/* -%{_kde4_appsdir}/solid/actions/amarok-play-audiocd.desktop -%{_kde4_configdir}/amarok.knsrc -%{_kde4_configdir}/amarok_homerc -%{_kde4_configdir}/amarokapplets.knsrc -%{_kf5_metainfodir}/org.kde.%{name}.appdata.xml -%{_kde4_datadir}/applications/kde4/*amarok.desktop -%{_kde4_datadir}/applications/kde4/*amarok_containers.desktop -%{_kde4_datadir}/applications/kde4/amzdownloader.desktop -%{_kde4_datadir}/config.kcfg/amarokconfig.kcfg -%{_kde4_datadir}/kde4/services/amarok-containment-*.desktop -%{_kde4_datadir}/kde4/services/amarok-context-applet-*.desktop -%{_kde4_datadir}/kde4/services/amarok-data-engine-*.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-audiocdcollection.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-daapcollection.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-mysqlcollection.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-playdarcollection.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-umscollection.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-upnpcollection.desktop -%{_kde4_datadir}/kde4/services/amarok_importer-amarok.desktop -%{_kde4_datadir}/kde4/services/amarok_importer-banshee.desktop -%{_kde4_datadir}/kde4/services/amarok_importer-clementine.desktop -%{_kde4_datadir}/kde4/services/amarok_importer-fastforward.desktop -%{_kde4_datadir}/kde4/services/amarok_importer-itunes.desktop -%{_kde4_datadir}/kde4/services/amarok_importer-rhythmbox.desktop -%{_kde4_datadir}/kde4/services/amarok_service_*.desktop -%{_kde4_datadir}/kde4/services/amarok_storage-mysqlestorage.desktop -%{_kde4_datadir}/kde4/services/amarok_storage-mysqlserverstorage.desktop -%{_kde4_datadir}/kde4/services/*.protocol -%{_kde4_datadir}/kde4/services/ServiceMenus/amarok_append.desktop -%{_kde4_datadir}/kde4/servicetypes/*.desktop -%{_kde4_iconsdir}/hicolor/*/*/* -%{_kde4_libdir}/kde4/amarok_collection-audiocdcollection.so -%{_kde4_libdir}/kde4/amarok_collection-daapcollection.so -%if 0%{?fedora} -%{_kde4_datadir}/kde4/services/amarok_collection-ipodcollection.desktop -%{_kde4_datadir}/kde4/services/amarok_collection-mtpcollection.desktop -%{_kde4_libdir}/kde4/amarok_collection-ipodcollection.so -%{_kde4_libdir}/kde4/amarok_collection-mtpcollection.so -%endif -%{_kde4_libdir}/kde4/amarok_collection-mysqlcollection.so -%{_kde4_libdir}/kde4/amarok_collection-playdarcollection.so -%{_kde4_libdir}/kde4/amarok_collection-umscollection.so -%{_kde4_libdir}/kde4/amarok_collection-upnpcollection.so -%{_kde4_libdir}/kde4/amarok_containment_*.so -%{_kde4_libdir}/kde4/amarok_context_applet_*.so -%{_kde4_libdir}/kde4/amarok_data_engine_*.so -%{_kde4_libdir}/kde4/amarok_importer-amarok.so -%{_kde4_libdir}/kde4/amarok_importer-banshee.so -%{_kde4_libdir}/kde4/amarok_importer-clementine.so -%{_kde4_libdir}/kde4/amarok_importer-fastforward.so -%{_kde4_libdir}/kde4/amarok_importer-itunes.so -%{_kde4_libdir}/kde4/amarok_importer-rhythmbox.so -%{_kde4_libdir}/kde4/amarok_service_*.so -%{_kde4_libdir}/kde4/amarok_storage-mysqlestorage.so -%{_kde4_libdir}/kde4/amarok_storage-mysqlserverstorage.so -%{_kde4_libdir}/kde4/kcm_amarok_service*.so -%{_datadir}/dbus-1/interfaces/*.xml -%{_datadir}/mime/packages/amzdownloader.xml - -%ldconfig_scriptlets libs +%{_kf6_qtplugindir}/amarok_collection-mysqlcollection.so +%{_kf6_qtplugindir}/amarok_collection-playdarcollection.so +%{_kf6_qtplugindir}/amarok_collection-umscollection.so +%{_kf6_qtplugindir}/amarok_importer-amarok.so +%{_kf6_qtplugindir}/amarok_importer-banshee.so +%{_kf6_qtplugindir}/amarok_importer-clementine.so +%{_kf6_qtplugindir}/amarok_importer-fastforward.so +%{_kf6_qtplugindir}/amarok_importer-itunes.so +%{_kf6_qtplugindir}/amarok_importer-rhythmbox.so +%{_kf6_qtplugindir}/amarok_service_*.so +%{_kf6_qtplugindir}/amarok_storage-mysqlestorage.so +%{_kf6_qtplugindir}/amarok_storage-mysqlserverstorage.so +%{_kf6_qtplugindir}/kcm_amarok_service*.so %files libs -%{_kde4_libdir}/libamarokcore.so.1* -%{_kde4_libdir}/libamaroklib.so.1* -%{_kde4_libdir}/libamarokocsclient.so.4* -%{_kde4_libdir}/libamarokpud.so.1* -%{_kde4_libdir}/libamarokshared.so.1* -%{_kde4_libdir}/libamarok-sqlcollection.so.1* -%{_kde4_libdir}/libamarok-transcoding.so.1* -# private libs +%{_kf6_libdir}/libamarokcore.so.1* +%{_kf6_libdir}/libamaroklib.so.1* +%{_kf6_libdir}/libamarokshared.so.1* +%{_kf6_libdir}/libamarok-sqlcollection.so.1* +%{_kf6_libdir}/libamarok-transcoding.so.1* +%{_kf6_libdir}/libampache_account_login.so +%{_kf6_libdir}/libamarok-sqlcollection.so +%{_kf6_libdir}/libamarok-transcoding.so +%{_kf6_libdir}/libamarokcore.so +%{_kf6_libdir}/libamaroklib.so +%{_kf6_libdir}/libamarokpud.so +%{_kf6_libdir}/libamarokshared.so %if 0%{?fedora} -%{_kde4_libdir}/libamarok_service_lastfm_shared.so +%{_kf6_libdir}/libamarok_service_lastfm_config.so +%{_kf6_libdir}/libgpodder_service_config.so %endif -%{_kde4_libdir}/libampache_account_login.so %files utils -f amarokcollectionscanner_qt.lang -%{_kde4_bindir}/amarokcollectionscanner +%{_kf6_bindir}/amarokcollectionscanner %files doc -f amarok-doc.lang %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 3.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Sat Nov 01 2025 Dominik Mierzejewski - 3.3.1-3 +- Rebuilt for FFmpeg 8 + +* Thu Oct 30 2025 Steve Cossette - 3.3.1-2 +- Bump for Qt 6.10 rebuild + +* Thu Oct 23 2025 Yaakov Selkowitz - 3.3.1-1 +- 3.3.1 + +* Wed Jul 23 2025 Fedora Release Engineering - 3.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon May 05 2025 Than Ngo - 3.2.2-2 +- Fix rhbz#2290341 - Directory is missing in RPM database + +* Sat Feb 15 2025 Marc Deop i Argemí - 3.2.2-1 +- 3.2.2 + +* Thu Jan 16 2025 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jan 12 2025 Marc Deop i Argemí - 3.2.1-1 +- 3.2.1 + +* Mon Dec 30 2024 Steve Cossette - 3.2.0-1 +- 3.2.0 + +* Sun Sep 29 2024 Marc Deop i Argemí - 3.1.1-1 +- 3.1.1 + +* Wed Sep 25 2024 Dominik Mierzejewski - 3.0.81-2 +- Rebuilt for FFmpeg 7 + +* Wed Jul 24 2024 Marc Deop i Argemí - 3.0.81-1 +- 3.1 Beta + +* Wed Jul 17 2024 Fedora Release Engineering - 3.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jul 07 2024 Marc Deop i Argemí - 3.0.1-1 +- 3.0.1 + +* Wed May 01 2024 Marc Deop i Argemí - 3.0.0-1 +- Update to 3.0.0 + +* Sun Mar 31 2024 Marc Deop i Argemí - 2.9.71^git20240330.7ec45dd-1 +- Update to snapshot 7ec45dddb109fd391b900dad8705dacd4088a3c3 + +* Mon Jan 22 2024 Fedora Release Engineering - 2.9.71^git20231231.387c30d-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.9.71^git20231231.387c30d-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 02 2024 Yaakov Selkowitz - 2.9.71^20231231git387c30d-1 +- Update to KF5-based git snapshot + +* Wed Jul 19 2023 Fedora Release Engineering - 2.9.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 2.9.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 2.9.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 2.9.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 2.9.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 2.9.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 25 2021 Honza Horak - 2.9.0-10 +- Use correct name for the mariadb package + +* Fri Jul 31 2020 Fedora Release Engineering - 2.9.0-9 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 2.9.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jun 23 2020 Rex Dieter - 2.9.0-7 +- drop loudmouth support f33+ + +* Tue Jan 28 2020 Fedora Release Engineering - 2.9.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 2.9.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Mon Apr 22 2019 Rex Dieter - 2.9.0-4 - rebuild diff --git a/fix-mygpo-qt6-compilation.patch b/fix-mygpo-qt6-compilation.patch new file mode 100644 index 0000000..3b3d7e7 --- /dev/null +++ b/fix-mygpo-qt6-compilation.patch @@ -0,0 +1,125 @@ +diff --git a/src/services/gpodder/GpodderPodcastMeta.h b/src/services/gpodder/GpodderPodcastMeta.h +index abe2c9f2b6..8bd28f82c1 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 ++#include + + namespace Podcasts { + +diff --git a/src/services/gpodder/GpodderPodcastRequestHandler.h b/src/services/gpodder/GpodderPodcastRequestHandler.h +index c56ec1942f..2b65e5d5df 100644 +--- a/src/services/gpodder/GpodderPodcastRequestHandler.h ++++ b/src/services/gpodder/GpodderPodcastRequestHandler.h +@@ -20,7 +20,7 @@ + #define GPODDERPODCASTREQUESTHANDLER_H_ + + #include "GpodderServiceModel.h" +-#include ++#include + + #include + +diff --git a/src/services/gpodder/GpodderPodcastTreeItem.h b/src/services/gpodder/GpodderPodcastTreeItem.h +index 91323fb770..1c5fd45c0c 100644 +--- a/src/services/gpodder/GpodderPodcastTreeItem.h ++++ b/src/services/gpodder/GpodderPodcastTreeItem.h +@@ -20,7 +20,7 @@ + #define GPODDERPODCASTTREEITEM_H_ + + #include "GpodderTreeItem.h" +-#include ++#include + + class GpodderPodcastTreeItem: public GpodderTreeItem + { +diff --git a/src/services/gpodder/GpodderProvider.h b/src/services/gpodder/GpodderProvider.h +index 9551a97a69..bfddcb1ff7 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 +-#include ++#include ++#include + #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..841942e9d7 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 +-#include ++#include ++#include + #include "playlistmanager/PlaylistManager.h" + #include "widgets/SearchWidget.h" + +diff --git a/src/services/gpodder/GpodderServiceModel.h b/src/services/gpodder/GpodderServiceModel.h +index 6eb979ca07..76bc61da7b 100644 +--- a/src/services/gpodder/GpodderServiceModel.h ++++ b/src/services/gpodder/GpodderServiceModel.h +@@ -20,8 +20,8 @@ + #define GPODDERSERVICEMODEL_H_ + + #include "GpodderTreeItem.h" +-#include +-#include ++#include ++#include + #include "NetworkAccessManagerProxy.h" + + #include +diff --git a/src/services/gpodder/GpodderServiceSettings.h b/src/services/gpodder/GpodderServiceSettings.h +index 5d75f07e52..e7f773ae02 100644 +--- a/src/services/gpodder/GpodderServiceSettings.h ++++ b/src/services/gpodder/GpodderServiceSettings.h +@@ -22,7 +22,7 @@ + + #include "GpodderServiceConfig.h" + +-#include ++#include + + #include + +diff --git a/src/services/gpodder/GpodderTagTreeItem.h b/src/services/gpodder/GpodderTagTreeItem.h +index 63cc965d89..8941cb8fc3 100644 +--- a/src/services/gpodder/GpodderTagTreeItem.h ++++ b/src/services/gpodder/GpodderTagTreeItem.h +@@ -20,7 +20,7 @@ + #define GPODDERTAGTREEITEM_H_ + + #include "GpodderTreeItem.h" +-#include ++#include + + #include + +diff --git a/src/services/gpodder/GpodderTreeItem.h b/src/services/gpodder/GpodderTreeItem.h +index 642e1cb371..ce1d4d070a 100644 +--- a/src/services/gpodder/GpodderTreeItem.h ++++ b/src/services/gpodder/GpodderTreeItem.h +@@ -19,8 +19,8 @@ + #ifndef GPODDERTREEITEM_H_ + #define GPODDERTREEITEM_H_ + +-#include +-#include ++#include ++#include + + #include + #include diff --git a/liblastfm-version.patch b/liblastfm-version.patch new file mode 100644 index 0000000..9073072 --- /dev/null +++ b/liblastfm-version.patch @@ -0,0 +1,14 @@ +diff -up ./CMakeLists.txt.orig ./CMakeLists.txt +--- ./CMakeLists.txt.orig 2025-10-23 13:37:33.366264984 -0400 ++++ ./CMakeLists.txt 2025-10-23 14:05:34.305924931 -0400 +@@ -199,8 +199,8 @@ endif() + add_definitions(-DQT_NO_URL_CAST_FROM_STRING -DQT_NO_CAST_TO_ASCII) + + if( WITH_LASTFM ) +- find_package( LibLastFm 1.2.0 ) +- set( LIBLASTFM_MIN_VERSION "1.2.0" ) ++ find_package( LibLastFm 1.1.0 ) ++ set( LIBLASTFM_MIN_VERSION "1.1.0" ) + if( LIBLASTFM_FOUND ) + if ( ${LIBLASTFM_MIN_VERSION} VERSION_LESS ${LIBLASTFM_VERSION} ) + set( LIBLASTFM_FOUND TRUE ) diff --git a/revert.patch b/revert.patch new file mode 100644 index 0000000..9460816 --- /dev/null +++ b/revert.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f7e78371b0..25f567ef9c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -220,8 +220,13 @@ if( CMAKE_BUILD_TYPE_TOLOWER MATCHES debug ) + endif() + endif() + ++# this needs to be here because also code in shared/ needs config.h. This is also the ++# reason why various checks are above why they belong under if( WITH_PLAYER ) ++configure_file( shared/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/shared/config.h ) ++ + add_subdirectory( data ) + add_subdirectory( images ) ++add_subdirectory( shared ) + + if( WITH_PLAYER ) + find_package(Threads REQUIRED) +@@ -365,12 +370,6 @@ if( WITH_PLAYER ) + kdoctools_install( po ) + endif() + +-# this needs to be here because also code in shared/ needs config.h. This is also the +-# reason why various checks are above why they belong under if( WITH_PLAYER ) +-configure_file( shared/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/shared/config.h ) +- +-add_subdirectory( shared ) +- + if( WITH_UTILITIES ) + add_subdirectory( utilities ) + ecm_install_po_files_as_qm( poqm ) diff --git a/sources b/sources index 291ed11..6e33561 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (amarok-2.9.0.tar.xz) = 6db9a2635725c87280956ad0c4ca199b585c65c688fa5199c6e6ebe238548f47ffa4e465fde8edb415f159828ec5102d394dbfcdd15ae9999f9c378e7bce8846 +SHA512 (amarok-3.3.1.tar.xz) = d39f974f05d71ea11d5aab71fb5f51ac8273f989f10a79d8b630f54c4011b791f8e8e7bc958d529d6a1cfa8f0f6b323b6ffb9707e7bf10dc1cd375b3092a4821