diff --git a/.gitignore b/.gitignore index 9d86dbb..039c87c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,3 @@ /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 new file mode 100644 index 0000000..9f3b871 --- /dev/null +++ b/amarok-2.8.0-no_kdewebkit.patch @@ -0,0 +1,117 @@ +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 new file mode 100644 index 0000000..a4d1df8 --- /dev/null +++ b/amarok-2.8.0-onlinedoc.patch @@ -0,0 +1,91 @@ +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 new file mode 100644 index 0000000..44a94ff --- /dev/null +++ b/amarok-2.8.90-mysql_found.patch @@ -0,0 +1,12 @@ +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 12dbcb0..3006f0e 100644 --- a/amarok.spec +++ b/amarok.spec @@ -1,127 +1,101 @@ -%global __provides_exclude_from ^%{_kf6_qmldir}/org/kde/amarok/.*\.so$ + +%define kdewebkit 1 Name: amarok Summary: Media player -Version: 3.3.1 -Release: 4%{?dist} +Version: 2.9.0 +Release: 9%{?dist} # KDE e.V. may determine that future GPL versions are accepted -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 +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 -# partially revert https://invent.kde.org/multimedia/amarok/-/commit/c095ebf8780b693605ab23efa4eae6f4dd18fc5e -# it causes amarok to crash on launch for some reason -Patch1: revert.patch +# 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 -# 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 +# try to allow build without kdewebkit (like rhel), use QWeb* instead of KWeb* +Patch1: amarok-2.8.0-no_kdewebkit.patch -# Needed because not every distro installs mygpo-qt6 under the same path. -# For instance, Fedora namespaces qt6 -Patch10: fix-mygpo-qt6-compilation.patch +## upstreamable patches +# make mysql_found non-fatal +Patch100: amarok-2.8.90-mysql_found.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: kf6-rpm-macros +BuildRequires: kdelibs4-devel >= 4.9 +%if 0%{?kdewebkit} +BuildRequires: kdelibs4-webkit-devel +%endif +%if 0%{?fedora} > 21 BuildRequires: libappstream-glib -BuildRequires: perl-generators - -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} -# 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 -# only used together with libgpod -BuildRequires: pkgconfig(gdk-pixbuf-2.0) -# MP3Tunes -BuildRequires: pkgconfig(libcurl) -BuildRequires: pkgconfig(libxml-2.0) +%if 0%{?fedora} > 27 +BuildRequires: mariadb-connector-c-devel +%else +BuildRequires: mysql-devel +%endif +BuildRequires: mysql-embedded-devel BuildRequires: libgcrypt-devel -BuildRequires: pkgconfig(loudmouth-1.0) +BuildRequires: perl-generators +BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(glib-2.0) pkgconfig(gobject-2.0) -%endif +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 -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 +BuildRequires: kf5-rpm-macros +Requires: kf5-filesystem +BuildRequires: liblastfm-devel >= 1.0.3 +BuildRequires: pkgconfig(libmygpo-qt) >= 1.0.7 +# loudmouth orphaned/unsupported f33+ +%if 0%{?fedora} < 33 +%global loudmouth 1 +BuildRequires: pkgconfig(loudmouth-1.0) %endif +BuildRequires: pkgconfig(libmtp) >= 0.3.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 +%endif +%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: @@ -133,17 +107,19 @@ 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 -Requires: %{name}-libs = %{version}-%{release} -%description utils +%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 @@ -151,184 +127,173 @@ BuildArch: noarch %prep -%autosetup %{?commitdate:-n %{name}-%{commit}} -p1 +%setup -q -sed -i -e 's|/usr/bin/mysqld|%{_libexecdir}/mysqld|' src/importers/amarok/AmarokConfigWidget.cpp +%patch0 -p1 -b .onlinedoc +%if ! 0%{?kdewebkit} +%patch1 -p1 -b .no_kdewebkit +%endif + +## upstream + +## upstreamable %build -%if 0%{?flatpak} -# find /app-built libmygpo-qt headers -CXXFLAGS="$CXXFLAGS -I%{_includedir}/qt6" -%endif +mkdir %{_target_platform} +pushd %{_target_platform} # force non-use of MYSQLCONFIG, to avoid (potential bogus) stuff from: mysql_config --libmysqld-libs -%{cmake_kf6} \ -%if ! 0%{?fedora} - -DWITH_GPODDER=OFF -DWITH_IPOD=OFF -DWITH_LASTFM=OFF \ -%endif - -DMYSQLCONFIG_EXECUTABLE:BOOL=OFF -DWITH_X11=OFF -%{cmake_build} +%{cmake_kde4} .. \ + -DMYSQLCONFIG_EXECUTABLE:BOOL=OFF +popd + +%make_build -C %{_target_platform} %install -%cmake_install +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} -%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 +# 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 %check -appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.%{name}.appdata.xml -desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.%{name}*.desktop +%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 %files -f amarok.lang %doc AUTHORS ChangeLog README %license COPYING -%{_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} -%{_kf6_qtplugindir}/amarok_collection-ipodcollection.so -%{_kf6_qtplugindir}/amarok_collection-mtpcollection.so +%{_kde4_bindir}/amarok +%{_kde4_bindir}/amarokpkg +%{_kde4_bindir}/amarok_afttagger +%if 0%{?loudmouth} +%{_kde4_bindir}/amarokmp3tunesharmonydaemon %endif -%{_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 +%if 0%{?fedora} +%{_kf5_datadir}/solid/actions/amarok-play-audiocd.desktop +%{_kf5_datadir}/kservices5/ServiceMenus/amarok_append.desktop +%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 %files 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 +%{_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 %if 0%{?fedora} -%{_kf6_libdir}/libamarok_service_lastfm_config.so -%{_kf6_libdir}/libgpodder_service_config.so +%{_kde4_libdir}/libamarok_service_lastfm_shared.so %endif +%{_kde4_libdir}/libampache_account_login.so %files utils -f amarokcollectionscanner_qt.lang -%{_kf6_bindir}/amarokcollectionscanner +%{_kde4_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 diff --git a/fix-mygpo-qt6-compilation.patch b/fix-mygpo-qt6-compilation.patch deleted file mode 100644 index 3b3d7e7..0000000 --- a/fix-mygpo-qt6-compilation.patch +++ /dev/null @@ -1,125 +0,0 @@ -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 deleted file mode 100644 index 9073072..0000000 --- a/liblastfm-version.patch +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index 9460816..0000000 --- a/revert.patch +++ /dev/null @@ -1,31 +0,0 @@ -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 6e33561..291ed11 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (amarok-3.3.1.tar.xz) = d39f974f05d71ea11d5aab71fb5f51ac8273f989f10a79d8b630f54c4011b791f8e8e7bc958d529d6a1cfa8f0f6b323b6ffb9707e7bf10dc1cd375b3092a4821 +SHA512 (amarok-2.9.0.tar.xz) = 6db9a2635725c87280956ad0c4ca199b585c65c688fa5199c6e6ebe238548f47ffa4e465fde8edb415f159828ec5102d394dbfcdd15ae9999f9c378e7bce8846