public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/amarok] epel10: amarok-2.9.0
@ 2026-07-06 18:05 Rex Dieter
  0 siblings, 0 replies; only message in thread
From: Rex Dieter @ 2026-07-06 18:05 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/amarok
Branch : epel10
Commit : fb086649336fe14e0783d6ff42f5383df1e5eadf
Author : Rex Dieter <rdieter@gmail.com>
Date   : 2018-03-07T14:39:25-06:00
Stats  : +8/-1879 in 27 file(s)
URL    : https://src.fedoraproject.org/rpms/amarok/c/fb086649336fe14e0783d6ff42f5383df1e5eadf?branch=epel10

Log:
amarok-2.9.0

---
diff --git a/.gitignore b/.gitignore
index b64c787..039c87c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /amarok-2.8.0.tar.bz2
 /amarok-2.8.90.tar.xz
+/amarok-2.9.0.tar.xz

diff --git a/0003-Fix-TagLib-version-check.patch b/0003-Fix-TagLib-version-check.patch
deleted file mode 100644
index 550e842..0000000
--- a/0003-Fix-TagLib-version-check.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From fec8817c530ce42b6485fdabff6051784b8d9904 Mon Sep 17 00:00:00 2001
-From: Omar Plummer <omarplummer@imergetechnologies.com>
-Date: Fri, 7 Aug 2015 00:24:27 +0200
-Subject: [PATCH 03/16] Fix TagLib version check.
-
-The version check compared version strings lexicographically, so "1.7"
-(the min version) compared as greater than "1.10.0".
-
-BUG: 351013
-REVIEW: 124639
----
- cmake/modules/FindTaglib.cmake | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/modules/FindTaglib.cmake b/cmake/modules/FindTaglib.cmake
-index 76b83ac..f485a42 100644
---- a/cmake/modules/FindTaglib.cmake
-+++ b/cmake/modules/FindTaglib.cmake
-@@ -29,10 +29,10 @@ if(TAGLIBCONFIG_EXECUTABLE)
- 
-   exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
- 
--  if(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+  if("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
-      message(STATUS "TagLib version too old: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
-      set(TAGLIB_FOUND FALSE)
--  else(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}")
-+  else("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
- 
-      exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
- 
-@@ -42,7 +42,7 @@ if(TAGLIBCONFIG_EXECUTABLE)
-         set(TAGLIB_FOUND TRUE)
-      endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
-      string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
--  endif(TAGLIB_VERSION STRLESS "${TAGLIB_MIN_VERSION}") 
-+  endif("${TAGLIB_MIN_VERSION}" VERSION_GREATER TAGLIB_VERSION)
-   mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
- 
- else(TAGLIBCONFIG_EXECUTABLE)
--- 
-2.7.4
-

diff --git a/0009-fix-apparent-obvious-error-typo-in-find_library-MYSQ.patch b/0009-fix-apparent-obvious-error-typo-in-find_library-MYSQ.patch
deleted file mode 100644
index f63815d..0000000
--- a/0009-fix-apparent-obvious-error-typo-in-find_library-MYSQ.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 745b2e18c5b58cfabcbf6e7863572122d673692e Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Fri, 11 Dec 2015 07:12:09 -0600
-Subject: [PATCH 09/16] fix apparent/obvious error (typo?) in
- find_library(MYSQL_LIBRARIES...
-
----
- cmake/modules/FindMySQLAmarok.cmake | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/cmake/modules/FindMySQLAmarok.cmake b/cmake/modules/FindMySQLAmarok.cmake
-index dffce31..275005c 100644
---- a/cmake/modules/FindMySQLAmarok.cmake
-+++ b/cmake/modules/FindMySQLAmarok.cmake
-@@ -63,15 +63,15 @@ else(MYSQLCONFIG_EXECUTABLE)
-       PATHS
-         ~/usr/lib/mysql
-         /opt/mysql/mysql/lib 
--        usr/mysql/lib/mysql
--        opt/local/lib/mysql5/mysql
--        opt/mysqle/lib/mysql
--        usr/lib/mysql
--        usr/lib64/mysql
--        usr/lib64
--        usr/local/lib/mysql
--        opt/local/lib/mysql
--        opt/ports/lib/mysql5/mysql
-+        /usr/mysql/lib/mysql
-+        /opt/local/lib/mysql5/mysql
-+        /opt/mysqle/lib/mysql
-+        /usr/lib/mysql
-+        /usr/lib64/mysql
-+        /usr/lib64
-+        /usr/local/lib/mysql
-+        /opt/local/lib/mysql
-+        /opt/ports/lib/mysql5/mysql
-     )
- 
-     find_library(MYSQL_EMBEDDED_LIBRARIES NAMES mysqld_pic mysqld libmysqld
--- 
-2.7.4
-

diff --git a/0010-Fix-tabs-applet.patch b/0010-Fix-tabs-applet.patch
deleted file mode 100644
index d54e30d..0000000
--- a/0010-Fix-tabs-applet.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e017e7c501d4966d92653e4845a4f5c348547b82 Mon Sep 17 00:00:00 2001
-From: Myriam Schweingruber <myriam@kde.org>
-Date: Sun, 24 Jan 2016 13:58:24 +0100
-Subject: [PATCH 10/16] Fix tabs applet Change to https to allow fetching
- guitar tabs again
-
-BUG: 358408
-FIXED-IN: 2.9
----
- src/context/engines/tabs/TabsEngine.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/context/engines/tabs/TabsEngine.cpp b/src/context/engines/tabs/TabsEngine.cpp
-index 24a89df..9a6f047 100644
---- a/src/context/engines/tabs/TabsEngine.cpp
-+++ b/src/context/engines/tabs/TabsEngine.cpp
-@@ -244,7 +244,7 @@ TabsEngine::queryUltimateGuitar( const QString &artist, const QString &title )
- {
-     // Query UltimateGuitar.com (filtering guitar (tabs + chords) and bass tabs)
-     KUrl ultimateGuitarUrl;
--    ultimateGuitarUrl.setScheme( "http" );
-+    ultimateGuitarUrl.setScheme( "https";
-     ultimateGuitarUrl.setHost( "www.ultimate-guitar.com" );
-     ultimateGuitarUrl.setPath( "/search.php" );
-     ultimateGuitarUrl.addQueryItem( "view_state", "advanced" );
--- 
-2.7.4
-

diff --git a/0012-tabs-applet-Add-missing-to-fix-the-build.patch b/0012-tabs-applet-Add-missing-to-fix-the-build.patch
deleted file mode 100644
index c9ecd3b..0000000
--- a/0012-tabs-applet-Add-missing-to-fix-the-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f6ec3098cde95eeb5fe4bb965cebd4e773b12840 Mon Sep 17 00:00:00 2001
-From: Heiko Becker <heirecka@exherbo.org>
-Date: Tue, 26 Jan 2016 15:05:06 +0100
-Subject: [PATCH 12/16] [tabs applet] Add missing ')' to fix the build
-
----
- src/context/engines/tabs/TabsEngine.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/context/engines/tabs/TabsEngine.cpp b/src/context/engines/tabs/TabsEngine.cpp
-index 9a6f047..6c0504c 100644
---- a/src/context/engines/tabs/TabsEngine.cpp
-+++ b/src/context/engines/tabs/TabsEngine.cpp
-@@ -244,7 +244,7 @@ TabsEngine::queryUltimateGuitar( const QString &artist, const QString &title )
- {
-     // Query UltimateGuitar.com (filtering guitar (tabs + chords) and bass tabs)
-     KUrl ultimateGuitarUrl;
--    ultimateGuitarUrl.setScheme( "https";
-+    ultimateGuitarUrl.setScheme( "https" );
-     ultimateGuitarUrl.setHost( "www.ultimate-guitar.com" );
-     ultimateGuitarUrl.setPath( "/search.php" );
-     ultimateGuitarUrl.addQueryItem( "view_state", "advanced" );
--- 
-2.7.4
-

diff --git a/0013-Fix-for-the-infinite-loop-in-case-a-home-burned-or-o.patch b/0013-Fix-for-the-infinite-loop-in-case-a-home-burned-or-o.patch
deleted file mode 100644
index 07a446a..0000000
--- a/0013-Fix-for-the-infinite-loop-in-case-a-home-burned-or-o.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From aaff3348862a1999069feff93d9e1e4d995b7225 Mon Sep 17 00:00:00 2001
-From: Stefano Pettini <stefano.pettini@gmail.com>
-Date: Fri, 25 Mar 2016 10:15:18 +0100
-Subject: [PATCH 13/16] Fix for the infinite loop in case a home-burned or old
- audio CD is inserted
-
-Home-burned or old audio CDs usually don't have CDTEXT, that is what
-was triggering the bug. The bug was releted to poor management of
-track names, that are generated using the pattern "Track%1.wav". The
-audiocd:/ KIO protocol requires that a device is also added to the
-URL, and this was not done everywhere. Lack of device was triggering
-an unexpected/strange behaviour in some KDE function making Amarok
-enter an infinite loop.
-
-REVIEW: 127468
-BUG: 339190
----
- .../collections/audiocd/AudioCdCollection.cpp      | 49 ++++++++++++++++------
- .../collections/audiocd/AudioCdCollection.h        |  7 ++++
- 2 files changed, 44 insertions(+), 12 deletions(-)
-
-diff --git a/src/core-impl/collections/audiocd/AudioCdCollection.cpp b/src/core-impl/collections/audiocd/AudioCdCollection.cpp
-index 3dfa7c3..3af6e36 100644
---- a/src/core-impl/collections/audiocd/AudioCdCollection.cpp
-+++ b/src/core-impl/collections/audiocd/AudioCdCollection.cpp
-@@ -91,7 +91,9 @@ KUrl
- AudioCdCollection::audiocdUrl( const QString &path ) const
- {
-     KUrl url("audiocd:/");
--    url.addPath( path );
-+
-+    if( !path.isEmpty() )
-+        url.addPath( path );
- 
-     if( !m_device.isEmpty() )
-         url.addQueryItem( "device", m_device );
-@@ -346,10 +348,32 @@ AudioCdCollection::checkForStartPlayRequest()
-     }
- }
- 
-+
-+QString
-+AudioCdCollection::trackBaseFileName( int i ) const
-+{
-+    return QString( "Track%1" ).arg( i, 2, 10, QChar('0') );
-+}
-+
-+
-+QString
-+AudioCdCollection::trackWavFileName( int i ) const
-+{
-+    return trackBaseFileName( i ) + ".wav";
-+}
-+
-+
-+QString
-+AudioCdCollection::trackDisplayName( int i ) const
-+{
-+    return i18n( "Track" ) + ' ' + QString::number( i );
-+}
-+
-+
- qint64
--AudioCdCollection::trackLength(int i) const
-+AudioCdCollection::trackLength( int i ) const
- {
--    KUrl kioUrl = audiocdUrl( QString("Track%1.wav").arg(i, 2, 10, QChar('0') ) );
-+    KUrl kioUrl = audiocdUrl( trackWavFileName( i ) );
-     KIO::UDSEntry uds;
-     if ( KIO::NetAccess::stat(kioUrl, uds, NULL) )
-     {
-@@ -480,19 +504,21 @@ AudioCdCollection::noInfoAvailable()
- 
- 
-     int i = 1;
--    QString prefix( "0" );
--    QString trackName = "Track " + prefix + QString::number( i );
-+    QString trackWav = trackWavFileName( i );
- 
--    while( KIO::NetAccess::exists( QString( "audiocd:/" + trackName + ".wav" ), KIO::NetAccess::SourceSide, 0 ) )
-+    // This will find also data tracks on mixed CDs:
-+    // a better way to discover the available audio tracks should be found
-+    while( KIO::NetAccess::exists( audiocdUrl( trackWav ), KIO::NetAccess::SourceSide, 0 ) )
-     {
--        debug() << "got track: " << "audiocd:/" + trackName + ".wav";
-+        debug() << "got track url: " << audiocdUrl( trackWav );
- 
--        QString baseUrl = "audiocd:/" + m_discCddbId + '/' + QString::number( i );
-+        //we hack the url so the engine controller knows what track on the CD to play..
-+        KUrl baseUrl = audiocdUrl( m_discCddbId + '/' + QString::number( i ) );
- 
--        Meta::AudioCdTrackPtr trackPtr = Meta::AudioCdTrackPtr( new Meta::AudioCdTrack( this, trackName, baseUrl ) );
-+        Meta::AudioCdTrackPtr trackPtr = Meta::AudioCdTrackPtr( new Meta::AudioCdTrack( this, trackDisplayName( i ), baseUrl ) );
- 
-         trackPtr->setTrackNumber( i );
--        trackPtr->setFileNameBase( trackName );
-+        trackPtr->setFileNameBase( trackBaseFileName( i ) );
-         trackPtr->setLength( trackLength( i ) );
- 
-         memoryCollection()->addTrack( Meta::TrackPtr::staticCast( trackPtr ) );
-@@ -513,8 +539,7 @@ AudioCdCollection::noInfoAvailable()
-         trackPtr->setYear( yearPtr );
- 
-         i++;
--        prefix = i < 10 ? "0" : "";
--        trackName = "Track " + prefix + QString::number( i );
-+        trackWav = trackWavFileName( i );
-     }
- 
-     updateProxyTracks();
-diff --git a/src/core-impl/collections/audiocd/AudioCdCollection.h b/src/core-impl/collections/audiocd/AudioCdCollection.h
-index dc2cad7..e829368 100644
---- a/src/core-impl/collections/audiocd/AudioCdCollection.h
-+++ b/src/core-impl/collections/audiocd/AudioCdCollection.h
-@@ -103,6 +103,13 @@ private:
- 
-     // Helper function to build the audiocd url.
-     KUrl audiocdUrl( const QString &path = "" ) const;
-+    // The file name of the track without extension
-+    QString trackBaseFileName( int i ) const;
-+    // The file name of the track in .wav format
-+    QString trackWavFileName( int i ) const;
-+    // The name of the track that should be displayed
-+    QString trackDisplayName( int i ) const;
-+    // The length of the track in milliseconds
-     qint64 trackLength( int i ) const;
- 
-     /**
--- 
-2.7.4
-

diff --git a/0014-Only-link-with-MYSQL_EMBEDDED_LIBRARIES-if-WITH_MYSQ.patch b/0014-Only-link-with-MYSQL_EMBEDDED_LIBRARIES-if-WITH_MYSQ.patch
deleted file mode 100644
index b2e3921..0000000
--- a/0014-Only-link-with-MYSQL_EMBEDDED_LIBRARIES-if-WITH_MYSQ.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 048ca3d57228759f05af7b9553200fd362aeaa8b Mon Sep 17 00:00:00 2001
-From: Matt Whitlock <kde@mattwhitlock.name>
-Date: Tue, 29 Mar 2016 12:22:41 -0400
-Subject: [PATCH 14/16] Only link with MYSQL_EMBEDDED_LIBRARIES if
- WITH_MYSQL_EMBEDDED
-
-REVIEW: 127523
----
- src/core-impl/collections/db/sql/mysqlcollection/CMakeLists.txt | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/core-impl/collections/db/sql/mysqlcollection/CMakeLists.txt b/src/core-impl/collections/db/sql/mysqlcollection/CMakeLists.txt
-index 244cde1..4c618fc 100644
---- a/src/core-impl/collections/db/sql/mysqlcollection/CMakeLists.txt
-+++ b/src/core-impl/collections/db/sql/mysqlcollection/CMakeLists.txt
-@@ -21,11 +21,14 @@ target_link_libraries(amarok_collection-mysqlcollection
-     ${KDE4_KDECORE_LIBS}
-     ${QT_QTCORE_LIBRARY}
-     ${QT_QTGUI_LIBRARY}
--    ${MYSQL_EMBEDDED_LIBRARIES}
-     ${CMAKE_DL_LIBS}
-     ${ZLIB_LIBRARIES}
- )
- 
-+if(WITH_MYSQL_EMBEDDED)
-+    target_link_libraries( amarok_collection-mysqlcollection ${MYSQL_EMBEDDED_LIBRARIES} )
-+endif(WITH_MYSQL_EMBEDDED)
-+
- if(NOT WIN32 AND NOT APPLE)
-     target_link_libraries( amarok_collection-mysqlcollection crypt pthread )
- endif(NOT WIN32 AND NOT APPLE)
--- 
-2.7.4
-

diff --git a/0015-Fix-a-crash-in-amarok-when-opening-the-Script-Consol.patch b/0015-Fix-a-crash-in-amarok-when-opening-the-Script-Consol.patch
deleted file mode 100644
index fe84565..0000000
--- a/0015-Fix-a-crash-in-amarok-when-opening-the-Script-Consol.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 2900fe47adde10999a6c0f907d73b00a1c1bd5b1 Mon Sep 17 00:00:00 2001
-From: Myriam Schweingruber <myriam@kde.org>
-Date: Wed, 18 May 2016 21:59:17 +0200
-Subject: [PATCH 15/16] Fix a crash in amarok when opening the Script Console
-
-The script console tries to write to a system folder instead of a user
- folder. Note to devs: always make sure to test a system installation,
- not just a local build.
-
-Thanks to Johannes Huber for the quick fix suggestion.
-
-BUG: 363176
-FIXED-IN: 2.9
----
- src/scripting/scriptconsole/ScriptConsole.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/scripting/scriptconsole/ScriptConsole.cpp b/src/scripting/scriptconsole/ScriptConsole.cpp
-index 6edd9a2..e4e0fab 100644
---- a/src/scripting/scriptconsole/ScriptConsole.cpp
-+++ b/src/scripting/scriptconsole/ScriptConsole.cpp
-@@ -161,7 +161,7 @@ ScriptConsole::ScriptConsole( QWidget *parent )
-     settings.endGroup();
- 
-     if( m_savePath.isEmpty() )
--        m_savePath = KUrl( KStandardDirs::locate( "data", "amarok/scriptconsole/" ) ).path();
-+        m_savePath = KUrl( KStandardDirs::locateLocal( "data", "amarok/scriptconsole/" ) ).path();
- 
-     slotNewScript();
-     connect( m_debugger, SIGNAL(evaluationSuspended()), SLOT(slotEvaluationSuspended()) );
--- 
-2.7.4
-

diff --git a/0016-Fix-untranslatable-string.patch b/0016-Fix-untranslatable-string.patch
deleted file mode 100644
index 66abc58..0000000
--- a/0016-Fix-untranslatable-string.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a5df287bb855e3cc3555dbc9d5c971021482dac5 Mon Sep 17 00:00:00 2001
-From: Myriam Schweingruber <myriam@kde.org>
-Date: Mon, 30 May 2016 11:25:33 +0200
-Subject: [PATCH 16/16] Fix untranslatable string
-
-Fix untranslatable string in Organize Collection Dialog
-
-BUG: 331443
-FIXED-IN: 2.9
----
- src/dialogs/OrganizeCollectionDialog.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/dialogs/OrganizeCollectionDialog.cpp b/src/dialogs/OrganizeCollectionDialog.cpp
-index 1c14710..973e9cb 100644
---- a/src/dialogs/OrganizeCollectionDialog.cpp
-+++ b/src/dialogs/OrganizeCollectionDialog.cpp
-@@ -108,8 +108,8 @@ OrganizeCollectionWidget::buildFormatTip() const
- {
-     QMap<QString, QString> args;
-     args["albumartist"] = i18n( "%1 or %2", QLatin1String("Album Artist, The") , QLatin1String("The Album Artist") );
--    args["thealbumartist"] = "The Album Artist";
--    args["theartist"] = "The Artist";
-+    args["thealbumartist"] = i18n( "The Album Artist" );
-+    args["theartist"] = i18n( "The Artist" );
-     args["artist"] = i18n( "%1 or %2", QLatin1String("Artist, The") , QLatin1String("The Artist") );
-     args["initial"] = i18n( "Artist's Initial" );
-     args["filetype"] = i18n( "File Extension of Source" );
--- 
-2.7.4
-

diff --git a/0017-gcc6-buildfix.patch b/0017-gcc6-buildfix.patch
deleted file mode 100644
index b6f0abc..0000000
--- a/0017-gcc6-buildfix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9308403e1c8484052f277bf6de32ee07c93a4beb Mon Sep 17 00:00:00 2001
-From: Rex Dieter <rdieter@math.unl.edu>
-Date: Wed, 1 Jun 2016 13:58:26 -0500
-Subject: [PATCH 17/26] gcc6 buildfix
-
-courtesy of opensuse, thx
-
-BUG: 363054
----
- src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp b/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
-index 4bdb9b9..e327354 100644
---- a/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
-+++ b/src/core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
-@@ -28,6 +28,7 @@
- #include "playlist/PlaylistModelStack.h"
- 
- using namespace Playlists;
-+using namespace Playlist;
- 
- XSPFPlaylist::XSPFPlaylist( const KUrl &url, Playlists::PlaylistProvider *provider, OnLoadAction onLoad )
-     : PlaylistFile( url, provider )
-@@ -101,7 +102,7 @@ XSPFPlaylist::load()
-     //FIXME: this needs to be moved to whatever is creating the XSPFPlaylist
-     if( m_autoAppendAfterLoad )
-         The::playlistController()->insertPlaylist(
--                    ::Playlist::ModelStack::instance()->bottom()->rowCount(),
-+                    ModelStack::instance()->bottom()->rowCount(),
-                     Playlists::PlaylistPtr( this )
-                 );
- }
--- 
-2.7.4
-

diff --git a/0019-Disable-non-SSL-connections-in-wikipedia-applet.patch b/0019-Disable-non-SSL-connections-in-wikipedia-applet.patch
deleted file mode 100644
index 84f040d..0000000
--- a/0019-Disable-non-SSL-connections-in-wikipedia-applet.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-From 8c15258b28870b6d9990b24f87ce913e2049bac8 Mon Sep 17 00:00:00 2001
-From: Olivier CHURLAUD <olivier@churlaud.com>
-Date: Tue, 21 Jun 2016 00:06:33 +0200
-Subject: [PATCH 19/26] Disable non SSL connections in wikipedia applet.
-
-REVIEW: 128248
-BUG: 348313
----
- ChangeLog                                              |  3 ++-
- src/context/applets/wikipedia/WikipediaApplet.cpp      |  7 +------
- src/context/applets/wikipedia/WikipediaApplet_p.h      |  1 -
- .../applets/wikipedia/wikipediaGeneralSettings.ui      |  7 -------
- src/context/engines/wikipedia/WikipediaEngine.cpp      | 18 +++---------------
- 5 files changed, 6 insertions(+), 30 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 2cce0f4..d508c6d 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -70,7 +70,8 @@ VERSION 2.8.90
-    * Check for QtBindings at runtime instead. Disable scripts and display error message
-      if missing. (BR 325006)
-    * Print playlist download errors to the debug log. (BR 325120)
--
-+   * Wikipedia Applet only connect with SSL, so that redirects are handled
-+     correctly. (BR 349313)
- 
- VERSION 2.8
-   FEATURES:
-diff --git a/src/context/applets/wikipedia/WikipediaApplet.cpp b/src/context/applets/wikipedia/WikipediaApplet.cpp
-index 2ceb2b0..7f1c732 100644
---- a/src/context/applets/wikipedia/WikipediaApplet.cpp
-+++ b/src/context/applets/wikipedia/WikipediaApplet.cpp
-@@ -250,14 +250,11 @@ WikipediaAppletPrivate::_loadSettings()
-     }
-     langList = list;
-     useMobileWikipedia = (generalSettingsUi.mobileCheckBox->checkState() == Qt::Checked);
--    useSSL = (generalSettingsUi.sslCheckBox->checkState() == Qt::Checked);
-     Amarok::config("Wikipedia Applet").writeEntry( "PreferredLang", list );
-     Amarok::config("Wikipedia Applet").writeEntry( "UseMobile", useMobileWikipedia );
--    Amarok::config( "Wikipedia Applet" ).writeEntry( "UseSSL", useSSL );
-     _paletteChanged( App::instance()->palette() );
-     dataContainer->setData( "lang", langList );
-     dataContainer->setData( "mobile", useMobileWikipedia );
--    dataContainer->setData( "ssl", useSSL );
-     scheduleEngineUpdate();
- }
- 
-@@ -414,7 +411,7 @@ WikipediaAppletPrivate::_getLangMap()
-     languageSettingsUi.progressBar->setValue( 0 );
- 
-     KUrl url;
--    url.setScheme( "http" );
-+    url.setScheme( "https" );
-     url.setHost( "en.wikipedia.org" );
-     url.setPath( "/w/api.php" );
-     url.addQueryItem( "action", "query" );
-@@ -663,7 +660,6 @@ WikipediaApplet::init()
-     d->_paletteChanged( App::instance()->palette() );
-     d->dataContainer->setData( "lang", d->langList );
-     d->dataContainer->setData( "mobile", d->useMobileWikipedia );
--    d->dataContainer->setData( "ssl", d->useSSL );
-     d->scheduleEngineUpdate();
- 
-     updateConstraints();
-@@ -792,7 +788,6 @@ WikipediaApplet::createConfigurationInterface( KConfigDialog *parent )
-     QWidget *genSettings = new QWidget;
-     d->generalSettingsUi.setupUi( genSettings );
-     d->generalSettingsUi.mobileCheckBox->setCheckState( d->useMobileWikipedia ? Qt::Checked : Qt::Unchecked );
--    d->generalSettingsUi.sslCheckBox->setCheckState( d->useSSL ? Qt::Checked : Qt::Unchecked );
- 
-     connect( d->languageSettingsUi.downloadButton, SIGNAL(clicked()), this, SLOT(_getLangMap()) );
-     connect( parent, SIGNAL(okClicked()), this, SLOT(_loadSettings()) );
-diff --git a/src/context/applets/wikipedia/WikipediaApplet_p.h b/src/context/applets/wikipedia/WikipediaApplet_p.h
-index df5ddc3..c52a0bf 100644
---- a/src/context/applets/wikipedia/WikipediaApplet_p.h
-+++ b/src/context/applets/wikipedia/WikipediaApplet_p.h
-@@ -143,7 +143,6 @@ public:
-     bool isForwardHistory;
-     bool isBackwardHistory;
-     bool useMobileWikipedia;
--    bool useSSL;
- };
- 
- class WikipediaSearchLineEdit : public Plasma::LineEdit
-diff --git a/src/context/applets/wikipedia/wikipediaGeneralSettings.ui b/src/context/applets/wikipedia/wikipediaGeneralSettings.ui
-index 84cb5df..b476ff0 100644
---- a/src/context/applets/wikipedia/wikipediaGeneralSettings.ui
-+++ b/src/context/applets/wikipedia/wikipediaGeneralSettings.ui
-@@ -32,13 +32,6 @@
-        </property>
-       </widget>
-      </item>
--     <item row="1" column="1">
--      <widget class="QCheckBox" name="sslCheckBox">
--       <property name="text">
--        <string>Use &amp;SSL</string>
--       </property>
--      </widget>
--     </item>
-     </layout>
-    </item>
-   </layout>
-diff --git a/src/context/engines/wikipedia/WikipediaEngine.cpp b/src/context/engines/wikipedia/WikipediaEngine.cpp
-index 969d8fc..d23a327 100644
---- a/src/context/engines/wikipedia/WikipediaEngine.cpp
-+++ b/src/context/engines/wikipedia/WikipediaEngine.cpp
-@@ -45,7 +45,6 @@ public:
-         : q_ptr( parent )
-         , currentSelection( Artist )
-         , useMobileVersion( false )
--        , useSSL( true )
-         , dataContainer( 0 )
-     {}
-     ~WikipediaEnginePrivate() {}
-@@ -89,7 +88,6 @@ public:
-         }
-     } m_previousTrackMetadata;
-     bool useMobileVersion;
--    bool useSSL;
- 
-     Plasma::DataContainer *dataContainer;
- 
-@@ -171,16 +169,6 @@ WikipediaEnginePrivate::_dataContainerUpdated( const QString &source, const Plas
-         }
-     }
- 
--    if( data.contains( QLatin1String("ssl") ) )
--    {
--        const bool ssl = data.value( QLatin1String("ssl") ).toBool();
--        if( ssl != useSSL )
--        {
--            useSSL = ssl;
--            updateEngine();
--        }
--    }
--
-     if( data.contains( QLatin1String("lang") ) )
-     {
-         QStringList langList = data.value( QLatin1String("lang") ).toStringList();
-@@ -544,7 +532,7 @@ WikipediaEnginePrivate::fetchWikiUrl( const QString &title, const QString &urlPr
-     Q_Q( WikipediaEngine );
-     KUrl pageUrl;
-     QString host( ".wikipedia.org" );
--    pageUrl.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) );
-+    pageUrl.setScheme( QLatin1String( "https" ) );
- 
-     if( useMobileVersion )
-     {
-@@ -582,7 +570,7 @@ WikipediaEnginePrivate::fetchLangLinks( const QString &title,
- {
-     Q_Q( WikipediaEngine );
-     KUrl url;
--    url.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) );
-+    url.setScheme( QLatin1String( "https" ) );
-     url.setHost( hostLang + QLatin1String(".wikipedia.org") );
-     url.setPath( QLatin1String("/w/api.php") );
-     url.addQueryItem( QLatin1String("action"), QLatin1String("query") );
-@@ -604,7 +592,7 @@ WikipediaEnginePrivate::fetchListing( const QString &title, const QString &hostL
- {
-     Q_Q( WikipediaEngine );
-     KUrl url;
--    url.setScheme( useSSL ? QLatin1String( "https" ) : QLatin1String( "http" ) );
-+    url.setScheme( QLatin1String( "https" ) );
-     url.setHost( hostLang + QLatin1String(".wikipedia.org") );
-     url.setPath( QLatin1String("/w/api.php") );
-     url.addQueryItem( QLatin1String("action"), QLatin1String("query") );
--- 
-2.7.4
-

diff --git a/0020-Wikipedia-applet-Remove-last-trace-of-no-SSL-possibi.patch b/0020-Wikipedia-applet-Remove-last-trace-of-no-SSL-possibi.patch
deleted file mode 100644
index 110c802..0000000
--- a/0020-Wikipedia-applet-Remove-last-trace-of-no-SSL-possibi.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 333315d68755dc5dcf549386a4d50d8a15ebfbea Mon Sep 17 00:00:00 2001
-From: Olivier CHURLAUD <olivier@churlaud.com>
-Date: Tue, 21 Jun 2016 00:47:49 +0200
-Subject: [PATCH 20/26] Wikipedia applet: Remove last trace of no SSL
- possibility
-
----
- src/context/applets/wikipedia/WikipediaApplet.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/context/applets/wikipedia/WikipediaApplet.cpp b/src/context/applets/wikipedia/WikipediaApplet.cpp
-index 7f1c732..705b9db 100644
---- a/src/context/applets/wikipedia/WikipediaApplet.cpp
-+++ b/src/context/applets/wikipedia/WikipediaApplet.cpp
-@@ -656,7 +656,6 @@ WikipediaApplet::init()
-     // Read config and inform the engine.
-     d->langList = Amarok::config("Wikipedia Applet").readEntry( "PreferredLang", QStringList() << "en" );
-     d->useMobileWikipedia = Amarok::config("Wikipedia Applet").readEntry( "UseMobile", false );
--    d->useSSL = Amarok::config( "Wikipedia Applet" ).readEntry( "UseSSL", true );
-     d->_paletteChanged( App::instance()->palette() );
-     d->dataContainer->setData( "lang", d->langList );
-     d->dataContainer->setData( "mobile", d->useMobileWikipedia );
--- 
-2.7.4
-

diff --git a/0024-Substitute-deprecated-MySQL-option-myisam-recover.patch b/0024-Substitute-deprecated-MySQL-option-myisam-recover.patch
deleted file mode 100644
index b8b1f26..0000000
--- a/0024-Substitute-deprecated-MySQL-option-myisam-recover.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a07f44ddcd61bac1bb2f1e17cfc07d40a940bb5a Mon Sep 17 00:00:00 2001
-From: Terje Rosten <terje.rosten@oracle.com>
-Date: Fri, 23 Oct 2015 12:11:43 +0200
-Subject: [PATCH 24/26] Substitute deprecated MySQL option --myisam-recover
-
-Deprecated MySQL option --myisam-recover has been removed in MySQL 5.7,
-replacement is --myisam-recover-options.
-
-Use MYSQL_VERSION_ID to handle this.
-
-Signed-off-by: Terje Rosten <terje.rosten@oracle.com>
-Signed-off-by: Stefano Pettini <stefano.pettini@gmail.com>
-
-CCMAIL: Terje Rosten <terje.rosten@oracle.com>
-BUG: 354255
-REVIEW: 128157
-FIXED-IN: 2.9
----
- src/core-impl/storage/sql/mysqlestorage/MySqlEmbeddedStorage.cpp | 4 ++++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/core-impl/storage/sql/mysqlestorage/MySqlEmbeddedStorage.cpp b/src/core-impl/storage/sql/mysqlestorage/MySqlEmbeddedStorage.cpp
-index 4a9568f..9fa791b 100644
---- a/src/core-impl/storage/sql/mysqlestorage/MySqlEmbeddedStorage.cpp
-+++ b/src/core-impl/storage/sql/mysqlestorage/MySqlEmbeddedStorage.cpp
-@@ -70,7 +70,11 @@ MySqlEmbeddedStorage::init( const QString &storageLocation )
-                << "--default-storage-engine=MyISAM"
-                << "--innodb=OFF"
-                << "--skip-grant-tables"
-+#if (defined(MYSQL_VERSION_ID)) && (MYSQL_VERSION_ID >= 50700)
-+               << "--myisam-recover-options=FORCE"
-+#else
-                << "--myisam-recover=FORCE"
-+#endif
-                << "--key-buffer-size=16777216" // (16Mb)
-                << "--character-set-server=utf8"
-                << "--collation-server=utf8_bin";
--- 
-2.7.4
-

diff --git a/0025-Handle-numeric-fields-properly-in-filter-creation-di.patch b/0025-Handle-numeric-fields-properly-in-filter-creation-di.patch
deleted file mode 100644
index 718367e..0000000
--- a/0025-Handle-numeric-fields-properly-in-filter-creation-di.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6c49cfdfd97faa146ce7b0d8e95ce2bf596f2b0d Mon Sep 17 00:00:00 2001
-From: Stefano Pettini <stefano.pettini@gmail.com>
-Date: Sun, 19 Jun 2016 00:13:13 +0200
-Subject: [PATCH 25/26] Handle numeric fields properly in filter creation
- dialogs
-
-Every numeric field, like length, disc number and track number, were
-not properly parsed by the filter dialog or by the dynamic playlist
-dialog into the textual query string used to then apply the filter.
-
-The bug was due to what sounds like an "optimization" that swapped the
-first and second value of a "between" condition, to make sure the
-smaller value was always the first value and the larger always the
-second. The problem was that this was applied also to non-between
-conditions, actually swapping the lenth or disc number with 0, making
-0 appear in the textual representation of the condition.
-
-The fix makes sure that "optimization" is applied only in case of
-actual "between" conditions, leaving the values "unoptimized" for any
-other kind of condition (=, <, > and similar).
-
-REVIEW: 128245
-BUG: 341661
----
- src/widgets/MetaQueryWidget.cpp | 6 +++++-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/widgets/MetaQueryWidget.cpp b/src/widgets/MetaQueryWidget.cpp
-index abce6b7..40f15d6 100644
---- a/src/widgets/MetaQueryWidget.cpp
-+++ b/src/widgets/MetaQueryWidget.cpp
-@@ -1081,7 +1081,11 @@ QString MetaQueryWidget::Filter::toString( bool invert ) const
-     }
-     else if( isNumeric() )
-     {
--        if (numValue < numValue2) // two values are only used for "between". We want to order them by size
-+        if ( condition != Between )
-+        {
-+            strValue1 = QString::number( numValue );
-+        }
-+        else if (numValue < numValue2) // two values are only used for "between". We want to order them by size
-         {
-             strValue1 = QString::number( numValue );
-             strValue2 = QString::number( numValue2 );
--- 
-2.7.4
-

diff --git a/0026-Use-transparent-background-for-lyrics-browser.patch b/0026-Use-transparent-background-for-lyrics-browser.patch
deleted file mode 100644
index 5bc4ab2..0000000
--- a/0026-Use-transparent-background-for-lyrics-browser.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From bdbb3a27f556c41910d3b814e5a4c73a2a93362f Mon Sep 17 00:00:00 2001
-From: Stefano Pettini <stefano.pettini@gmail.com>
-Date: Sun, 19 Jun 2016 02:54:24 +0200
-Subject: [PATCH 26/26] Use transparent background for lyrics browser
-
-This makes the lyrics browser similar to every other context applet.
-Please note that, when editing lyrics, the default textbox background
-is still used.
-
-REVIEW: 128246
-BUG: 314854
----
- src/context/applets/lyrics/LyricsBrowser.cpp | 12 +++++-------
- 2 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/src/context/applets/lyrics/LyricsBrowser.cpp b/src/context/applets/lyrics/LyricsBrowser.cpp
-index abcfe64..d948fea 100644
---- a/src/context/applets/lyrics/LyricsBrowser.cpp
-+++ b/src/context/applets/lyrics/LyricsBrowser.cpp
-@@ -41,7 +41,6 @@ LyricsBrowser::LyricsBrowser( QGraphicsWidget *parent )
-     native->setWordWrapMode( QTextOption::WordWrap );
-     native->setCursorWidth( 0 );
-     native->document()->setDocumentMargin( 10 );
--    native->viewport()->setAutoFillBackground( true );
-     native->setTextInteractionFlags( Qt::TextBrowserInteraction | Qt::TextSelectableByKeyboard );
- 
-     Plasma::Svg *borderSvg = new Plasma::Svg( this );
-@@ -105,10 +104,11 @@ void LyricsBrowser::setLyrics( const QString &lyrics )
- 
- void LyricsBrowser::setReadOnly( bool readOnly )
- {
--    QPalette::ColorRole bg = readOnly ? QPalette::Base : QPalette::AlternateBase;
--    nativeWidget()->viewport()->setBackgroundRole( bg );
--    nativeWidget()->setReadOnly( readOnly );
--    nativeWidget()->setCursorWidth( !readOnly ? 1 : 0 );
-+    KTextBrowser *native = nativeWidget();
-+
-+    native->viewport()->setAutoFillBackground( !readOnly );
-+    native->setReadOnly( readOnly );
-+    native->setCursorWidth( !readOnly ? 1 : 0 );
- }
- 
- void LyricsBrowser::setRichText( bool richText )
-@@ -122,8 +122,6 @@ void LyricsBrowser::paletteChanged( const QPalette &palette )
-     // set text color using app theme instead of plasma theme
-     p.setColor( QPalette::Text, qApp->palette().text().color() );
- 
--    QPalette::ColorRole bg = isReadOnly() ? QPalette::Base : QPalette::AlternateBase;
--    nativeWidget()->viewport()->setBackgroundRole( bg );
-     nativeWidget()->setPalette( p );
- }
- 
--- 
-2.7.4
-

diff --git a/0027-Organize-tracks-Guess-tags-presets-persisted-properl.patch b/0027-Organize-tracks-Guess-tags-presets-persisted-properl.patch
deleted file mode 100644
index c84ef51..0000000
--- a/0027-Organize-tracks-Guess-tags-presets-persisted-properl.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-From 0e760e5f8d06d00e084c14b64875f58bb42bd8f1 Mon Sep 17 00:00:00 2001
-From: Stefano Pettini <stefano.pettini@gmail.com>
-Date: Sun, 31 Jul 2016 22:32:11 +0200
-Subject: [PATCH 27/47] Organize tracks / Guess tags presets persisted
- properly.
-
-FilenameLayoutWidget is reworked to fix an old bug regarding the presets
-not being saved properly, that I was also able to reproduce.
-
-Logic is not a bit more "linear". Presets are shared between "Organize tracks"
-and "Guess tags" dialog. If this is not what is wanted, it can be easily changed,
-just let me know. Presets are saved as soon as they are added, updated or deleted.
-It is not anymore necessary to accept the dialog to save eventual changes.
-
-The preset used is not saved with the marker "#DELIM#selected" anymore.
-Presets are just presets. The one used is matched on the fly using the custom
-preset field. If a preset matches the custom preset field, it's considered
-selected. Users can of course create custom presets as before.
-While presets are shared between the two dialogs, custom presets are not.
-
-Add/Update/Remove work properly. Clicking on a preset name in the combobox
-resets the custom pattern to the preset value, this is a new feature,
-before it was not possible.
-
-It's a bit difficult to explain, but UX is more natural, just give it a try.
-
-A lot of testing was done (by Stefano), like:
-- adding/updating/removing presets.
-- if settings are persisted and shared when dialogs are cancelled or accepted.
-- if custom patterns are persisted and not shared.
-- resetting a modified pattern to its defualt.
-- cancelling dialogs, modified presets are kept but custom patterns are not.
-
-REVIEW: 128565
-BUG: 226144
----
- ChangeLog                                |   4 +-
- src/amarokconfig.kcfg                    |   2 +-
- src/dialogs/OrganizeCollectionDialog.cpp |   5 --
- src/dialogs/OrganizeCollectionDialog.h   |   2 -
- src/widgets/FilenameLayoutWidget.cpp     | 102 ++++++++++++++++---------------
- src/widgets/FilenameLayoutWidget.h       |  10 ++-
- 6 files changed, 61 insertions(+), 64 deletions(-)
-
-diff --git a/src/amarokconfig.kcfg b/src/amarokconfig.kcfg
-index c35140c..b41ca5b 100644
---- a/src/amarokconfig.kcfg
-+++ b/src/amarokconfig.kcfg
-@@ -183,7 +183,7 @@
-     <entry key="Format Presets" type="StringList">
-         <label>Format Presets</label>
-         <whatsthis>A list of preset formats (token schemas).</whatsthis>
--        <default>Default#DELIM#%artist%/%album%/%track%_-_%title%#DELIM#selected</default>
-+        <default>Default#DELIM#%artist%/%album%/%track%_-_%title%</default>
-     </entry>
- </group>
- 
-diff --git a/src/dialogs/OrganizeCollectionDialog.cpp b/src/dialogs/OrganizeCollectionDialog.cpp
-index 973e9cb..ffeabc9 100644
---- a/src/dialogs/OrganizeCollectionDialog.cpp
-+++ b/src/dialogs/OrganizeCollectionDialog.cpp
-@@ -139,8 +139,6 @@ OrganizeCollectionDialog::OrganizeCollectionDialog( const Meta::TrackList &track
-                                                     QFlags<KDialog::ButtonCode> buttonMask )
-     : KDialog( parent )
-     , ui( new Ui::OrganizeCollectionDialogBase )
--    , m_detailed( true )
--    , m_schemeModified( false )
-     , m_conflict( false )
- {
-     Q_UNUSED( name )
-@@ -196,7 +194,6 @@ OrganizeCollectionDialog::OrganizeCollectionDialog( const Meta::TrackList &track
-     // to show the conflict error
-     connect( ui->overwriteCheck, SIGNAL(stateChanged(int)), SLOT(slotOverwriteModeChanged()) );
- 
--    connect( this, SIGNAL(finished(int)), ui->organizeCollectionWidget, SLOT(slotSaveFormatList()) );
-     connect( this, SIGNAL(accepted()), ui->organizeCollectionWidget, SLOT(onAccept()) );
-     connect( this, SIGNAL(accepted()), SLOT(slotDialogAccepted()) );
-     connect( ui->folderCombo, SIGNAL(currentIndexChanged(QString)),
-@@ -397,8 +394,6 @@ OrganizeCollectionDialog::slotDialogAccepted()
-     AmarokConfig::setAsciiOnly( ui->optionsWidget->asciiOnly() );
-     AmarokConfig::setReplacementRegexp( ui->optionsWidget->regexpText() );
-     AmarokConfig::setReplacementString( ui->optionsWidget->replaceText() );
--
--    ui->organizeCollectionWidget->onAccept();
- }
- 
- //The Ok button should be disabled when there's no collection root selected, and when there is no .%filetype in format string
-diff --git a/src/dialogs/OrganizeCollectionDialog.h b/src/dialogs/OrganizeCollectionDialog.h
-index 88fa08d..8d57f4a 100644
---- a/src/dialogs/OrganizeCollectionDialog.h
-+++ b/src/dialogs/OrganizeCollectionDialog.h
-@@ -116,10 +116,8 @@ class AMAROK_EXPORT OrganizeCollectionDialog : public KDialog
-         Ui::OrganizeCollectionDialogBase *ui;
- 
-         TrackOrganizer *m_trackOrganizer;
--        bool m_detailed;
-         Meta::TrackList m_allTracks;
-         QString m_targetFileExtension;
--        bool m_schemeModified;
- 
-         QStringList m_originals;
-         QStringList m_previews;
-diff --git a/src/widgets/FilenameLayoutWidget.cpp b/src/widgets/FilenameLayoutWidget.cpp
-index 8d189cf..6d01743 100644
---- a/src/widgets/FilenameLayoutWidget.cpp
-+++ b/src/widgets/FilenameLayoutWidget.cpp
-@@ -90,14 +90,15 @@ FilenameLayoutWidget::FilenameLayoutWidget( QWidget *parent )
- 
-     // - the preset buttons
-     m_addPresetButton = new QPushButton( i18n("Add preset"), this );
--    m_addPresetButton->setToolTip( i18n("Saves the current scheme/format above as a preset.") );
-+    m_addPresetButton->setToolTip( i18n("Saves the current scheme/format as new preset.") );
-     presetLayout1->addWidget( m_addPresetButton, 0 );
- 
-     m_updatePresetButton = new QPushButton( i18n("Update preset"), this );
-+    m_updatePresetButton->setToolTip( i18n("Updates the preset with the current scheme/format.") );
-     presetLayout1->addWidget( m_updatePresetButton, 0 );
- 
-     m_removePresetButton = new QPushButton( i18n("Remove preset"), this );
--    m_removePresetButton->setToolTip( i18n("Removes the currently selected format preset") );
-+    m_removePresetButton->setToolTip( i18n("Removes the currently selected preset.") );
-     presetLayout1->addWidget( m_removePresetButton, 0 );
- 
-     schemeGroupLayout->addLayout( presetLayout1 );
-@@ -167,7 +168,8 @@ FilenameLayoutWidget::FilenameLayoutWidget( QWidget *parent )
- 
-     connect( m_filenameLayoutEdit, SIGNAL(textChanged(QString)),
-              this, SIGNAL(schemeChanged()) );
--debug() << "st3.1";
-+    connect( m_filenameLayoutEdit, SIGNAL(textChanged(QString)),
-+             this, SLOT(slotUpdatePresetButton()) );
- }
- 
- Token*
-@@ -233,16 +235,17 @@ FilenameLayoutWidget::createStaticToken(qint64 value) const
- void
- FilenameLayoutWidget::onAccept()    //SLOT
- {
--    slotSaveFormatList();
-+    QString custom = getParsableScheme();
-+
-+    // Custom scheme is stored per dialog
-+    debug() << "--- saving custom scheme for" << m_configCategory << custom;
-+    Amarok::config( m_configCategory ).writeEntry( "Custom Scheme", custom );
- }
- 
- QString
- FilenameLayoutWidget::getParsableScheme() const
- {
--    QString scheme = m_advancedMode ? m_filenameLayoutEdit->text() : dropTargetScheme();
--
--    Amarok::config( m_configCategory ).writeEntry( "Custom Scheme", scheme );
--    return scheme;
-+    return m_advancedMode ? m_filenameLayoutEdit->text() : dropTargetScheme();
- }
- 
- // attempts to set the scheme
-@@ -255,8 +258,6 @@ void FilenameLayoutWidget::setScheme(const QString& scheme)
-     emit schemeChanged();
- }
- 
--
--
- //Handles the modifications to the dialog to toggle between advanced and basic editing mode.
- void
- FilenameLayoutWidget::toggleAdvancedMode()
-@@ -287,7 +288,6 @@ FilenameLayoutWidget::setAdvancedMode( bool isAdvanced )
-     Amarok::config( m_configCategory ).writeEntry( "Mode", entryValue );
- }
- 
--
- QString
- FilenameLayoutWidget::dropTargetScheme() const
- {
-@@ -342,28 +342,34 @@ FilenameLayoutWidget::populateConfiguration()
-     QString mode = Amarok::config( m_configCategory ).readEntry( "Mode" );
-     setAdvancedMode( mode == QLatin1String( "Advanced" ) );
- 
--    setScheme( Amarok::config( m_configCategory ).readEntryUntranslated( "Custom Scheme" ) );
-+    // Custom scheme is stored per dialog
-+    QString custom = Amarok::config( m_configCategory ).readEntryUntranslated( "Custom Scheme" );
-+    debug() << "--- got custom scheme for" << m_configCategory << custom;
- 
--    populateFormatList();
--}
-+    populateFormatList( custom );
- 
-+    setScheme( custom );
-+}
- 
- void
--FilenameLayoutWidget::populateFormatList()
-+FilenameLayoutWidget::populateFormatList( const QString& custom )
- {
-     DEBUG_BLOCK
- 
-+    // Configuration is not symmetric: dialog-specific settings are saved
-+    // using m_configCategory, that is different per dialog. The presets are saved
-+    // only in one single place, so these can be shared. This place is the "default" one,
-+    // that is the configuration for OrganizeCollectionDialog.
-+
-     // items are stored in the config list in the following format:
--    // Label#DELIM#format string#DELIM#selected
--    // the last item to have the third parameter is the default selected preset
--    // the third param isnis optional
-+    // Label#DELIM#format string
-     QStringList presets_raw;
-     int selected_index = -1;
-     m_presetCombo->clear();
--    presets_raw = AmarokConfig::formatPresets();
-+    presets_raw = AmarokConfig::formatPresets(); // Always use the one in OrganizeCollectionDialog
-     // presets_raw = Amarok::config( m_configCategory ).readEntry( QString::fromLatin1( "Format Presets" ), QStringList() );
- 
--    debug() << "--- got preset for" << m_configCategory << presets_raw;
-+    debug() << "--- got presets" << presets_raw;
- 
-     foreach( const QString &str, presets_raw )
-     {
-@@ -372,49 +378,44 @@ FilenameLayoutWidget::populateFormatList()
-         if( items.size() < 2 )
-             continue;
-         m_presetCombo->addItem( items.at( 0 ), items.at( 1 ) ); // Label, format string
--        if( items.size() == 3 )
-+        if( items.at( 1 ) == custom )
-             selected_index = m_presetCombo->findData( items.at( 1 ) );
-     }
- 
--    if( selected_index > 0 )
-+    if( selected_index >= 0 )
-         m_presetCombo->setCurrentIndex( selected_index );
- 
--    slotFormatPresetSelected( selected_index );
-+    connect( m_presetCombo, SIGNAL(activated(int)), this, SLOT(slotFormatPresetSelected(int)) );
-     connect( m_presetCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(slotFormatPresetSelected(int)) );
- }
- 
- void
--FilenameLayoutWidget::slotUpdatePresetButton()
--{
--    QString comboScheme = m_presetCombo->itemData( m_presetCombo->currentIndex() ).  toString();
--    m_updatePresetButton->setEnabled( comboScheme != getParsableScheme() );
--}
--
--void
--FilenameLayoutWidget::slotSaveFormatList()
-+FilenameLayoutWidget::saveFormatList() const
- {
--    if( !m_formatListModified )
--        return;
-+    DEBUG_BLOCK
- 
--    QStringList presets;
-+    QStringList presets_raw;
-     int n = m_presetCombo->count();
--    int current_idx = m_presetCombo->currentIndex();
- 
-     for( int i = 0; i < n; ++i )
-     {
--        QString item;
--        if( i == current_idx )
--            item = "%1#DELIM#%2#DELIM#selected";
--        else
--            item = "%1#DELIM#%2";
--
-+        QString item = "%1#DELIM#%2";
-         QString scheme = m_presetCombo->itemData( i ).toString();
-         QString label = m_presetCombo->itemText( i );
-         item = item.arg( label, scheme );
--        presets.append( item );
-+        presets_raw.append( item );
-     }
- 
--   Amarok::config( m_configCategory ).writeEntry( QString::fromLatin1( "Format Presets" ), presets );
-+   debug() << "--- saving presets" << presets_raw;
-+   AmarokConfig::setFormatPresets( presets_raw ); // Always use the one in OrganizeCollectionDialog
-+   // Amarok::config( m_configCategory ).writeEntry( QString::fromLatin1( "Format Presets" ), presets_raw );
-+}
-+
-+void
-+FilenameLayoutWidget::slotUpdatePresetButton()
-+{
-+    QString comboScheme = m_presetCombo->itemData( m_presetCombo->currentIndex() ).toString();
-+    m_updatePresetButton->setEnabled( comboScheme != getParsableScheme() );
- }
- 
- void
-@@ -428,14 +429,15 @@ void
- FilenameLayoutWidget::slotAddFormat()
- {
-     bool ok = false;
--    QString name = KInputDialog::getText( i18n( "New Format Preset" ), i18n( "Preset Name" ), i18n( "New Preset" ),  &ok, this );
-+    QString name = KInputDialog::getText( i18n( "New Preset" ), i18n( "Preset Name" ), i18n( "New Preset" ), &ok, this );
-     if( !ok )
-         return; // user canceled.
- 
-     QString format = getParsableScheme();
--    m_presetCombo->insertItem(0, name, format);
--    m_presetCombo->setCurrentIndex( 0 );
--    m_formatListModified = true;
-+    m_presetCombo->addItem( name, format );
-+    m_presetCombo->setCurrentIndex( m_presetCombo->count() - 1 );
-+
-+    saveFormatList();
- }
- 
- void
-@@ -443,7 +445,8 @@ FilenameLayoutWidget::slotRemoveFormat()
- {
-     int idx = m_presetCombo->currentIndex();
-     m_presetCombo->removeItem( idx );
--    m_formatListModified = true;
-+
-+    saveFormatList();
- }
- 
- void
-@@ -453,5 +456,6 @@ FilenameLayoutWidget::slotUpdateFormat()
-     QString formatString = getParsableScheme();
-     m_presetCombo->setItemData( idx, formatString );
-     m_updatePresetButton->setEnabled( false );
--    m_formatListModified = true;
-+
-+    saveFormatList();
- }
-diff --git a/src/widgets/FilenameLayoutWidget.h b/src/widgets/FilenameLayoutWidget.h
-index 9fb2678..8f6e35a 100644
---- a/src/widgets/FilenameLayoutWidget.h
-+++ b/src/widgets/FilenameLayoutWidget.h
-@@ -70,7 +70,6 @@ class AMAROK_EXPORT FilenameLayoutWidget : public QWidget
-             , CollectionRoot
-         };
- 
--
-         explicit FilenameLayoutWidget( QWidget *parent = 0 );
-         virtual ~FilenameLayoutWidget() {}
- 
-@@ -78,7 +77,6 @@ class AMAROK_EXPORT FilenameLayoutWidget : public QWidget
- 
-         void setScheme( const QString &scheme );
- 
--
-     public slots:
-         virtual void onAccept();
- 
-@@ -91,7 +89,6 @@ class AMAROK_EXPORT FilenameLayoutWidget : public QWidget
- 
-         /* Updates the update preset button */
-         void slotUpdatePresetButton();
--        void slotSaveFormatList();
-         void slotFormatPresetSelected( int );
-         void slotAddFormat();
-         void slotRemoveFormat();
-@@ -109,7 +106,6 @@ class AMAROK_EXPORT FilenameLayoutWidget : public QWidget
-         /** Fills the m_dropTarget according to the given string scheme. */
-         void inferScheme( const QString &scheme );
- 
--        bool m_formatListModified;
-         bool m_advancedMode;
- 
-     protected:
-@@ -119,7 +115,10 @@ class AMAROK_EXPORT FilenameLayoutWidget : public QWidget
-         void populateConfiguration();
- 
-         /** Populates the preset combo box */
--        void populateFormatList();
-+        void populateFormatList( const QString &custom );
-+
-+        /** Saves the preset combo box */
-+        void saveFormatList() const;
- 
-         virtual Token* createToken(qint64 value) const;
- 
-@@ -145,7 +144,6 @@ class AMAROK_EXPORT FilenameLayoutWidget : public QWidget
-         QFrame *m_filenameLayout;
-         KLineEdit *m_filenameLayoutEdit;
- 
--
-         /** The name of the category used for storing the configuration */
-         QString m_configCategory;
- };
--- 
-2.9.3
-

diff --git a/0028-Fix-for-C-warnings-about-unused-variables-and-deprec.patch b/0028-Fix-for-C-warnings-about-unused-variables-and-deprec.patch
deleted file mode 100644
index 411f5a1..0000000
--- a/0028-Fix-for-C-warnings-about-unused-variables-and-deprec.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 970e985d6100070aa105dd602da8c294687385ac Mon Sep 17 00:00:00 2001
-From: Stefano Pettini <stefano.pettini@gmail.com>
-Date: Fri, 17 Jun 2016 23:44:16 +0200
-Subject: [PATCH 28/47] Fix for C++ warnings about unused variables and
- deprecated functions
-
-Thank you, Stefano!
-
-REVIEW: 127458
----
- src/configdialog/dialogs/DatabaseConfig.cpp                        | 2 --
- src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp        | 2 +-
- .../storage/sql/mysqlserverstorage/MySqlServerStorageFactory.cpp   | 1 +
- src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp      | 7 +++++--
- src/services/mp3tunes/libmp3tunes/harmony.c                        | 4 ++--
- src/statemanagement/DefaultApplicationController.cpp               | 2 ++
- 6 files changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/src/configdialog/dialogs/DatabaseConfig.cpp b/src/configdialog/dialogs/DatabaseConfig.cpp
-index 1cb2d97..ff4f6c5 100644
---- a/src/configdialog/dialogs/DatabaseConfig.cpp
-+++ b/src/configdialog/dialogs/DatabaseConfig.cpp
-@@ -82,7 +82,6 @@ DatabaseConfig::testDatabaseConnection() //SLOT
-     factories = Plugins::PluginManager::instance()->factories( Plugins::PluginManager::Storage );
- 
-     // try if they have a testSettings slot that we can call
--    bool tested = false;
-     foreach( Plugins::PluginFactory* factory, factories )
-     {
-         bool callSucceeded = false;
-@@ -100,7 +99,6 @@ DatabaseConfig::testDatabaseConnection() //SLOT
- 
-         if( callSucceeded )
-         {
--            tested = true;
-             if( connectionErrors.isEmpty() )
-                 KMessageBox::messageBox( this, KMessageBox::Information,
-                                          i18n( "Amarok was able to establish a successful connection to the database." ),
-diff --git a/src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp b/src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp
-index 71589a0..367c02a 100644
---- a/src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp
-+++ b/src/core-impl/collections/db/sql/SqlScanResultProcessor.cpp
-@@ -301,7 +301,7 @@ SqlScanResultProcessor::commitTrack( CollectionScanner::Track *track,
-     metaTrack->setType( track->filetype() );
- 
-     if( m_type == GenericScanManager::FullScan ||
--        !track->bpm() >= 0 )
-+        track->bpm() >= 0 )
-         metaTrack->setBpm( track->bpm() );
- 
-     if( m_type == GenericScanManager::FullScan ||
-diff --git a/src/core-impl/storage/sql/mysqlserverstorage/MySqlServerStorageFactory.cpp b/src/core-impl/storage/sql/mysqlserverstorage/MySqlServerStorageFactory.cpp
-index 5cdb693..6f9ee59 100644
---- a/src/core-impl/storage/sql/mysqlserverstorage/MySqlServerStorageFactory.cpp
-+++ b/src/core-impl/storage/sql/mysqlserverstorage/MySqlServerStorageFactory.cpp
-@@ -69,6 +69,7 @@ MySqlServerStorageFactory::testSettings( const QString &host, const QString &use
- 
-     MySqlServerStorage* storage = new MySqlServerStorage();
-     bool initResult = storage->init( host, user, password, port, databaseName );
-+    Q_UNUSED( initResult );
- 
-     // we are just interested in the errors.
-     errors = storage->getLastErrors();
-diff --git a/src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp b/src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp
-index 5b09f07..d8ae295 100644
---- a/src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp
-+++ b/src/services/mp3tunes/harmonydaemon/Mp3tunesHarmonyDaemon.cpp
-@@ -155,8 +155,11 @@ Mp3tunesHarmonyDaemon::init()
- {
- 
-     qDebug()  << "Begin initing";
--        /* g_type_init required for using the GObjects for Harmony. */
--    g_type_init();
-+
-+#if !GLIB_CHECK_VERSION(2,36,0)
-+    /* g_type_init required for using the GObjects in versions of glib older than 2.36. */
-+    g_type_init ();
-+#endif
- 
-     m_harmony = mp3tunes_harmony_new();
- 
-diff --git a/src/services/mp3tunes/libmp3tunes/harmony.c b/src/services/mp3tunes/libmp3tunes/harmony.c
-index ead0345..df00be2 100644
---- a/src/services/mp3tunes/libmp3tunes/harmony.c
-+++ b/src/services/mp3tunes/libmp3tunes/harmony.c
-@@ -643,7 +643,7 @@ gboolean mp3tunes_harmony_disconnect(MP3tunesHarmony *harmony, GError** err) {
-     gboolean success = close_connection(harmony);
-     harmony->connected = FALSE;
-     if (success == FALSE) {
--        err = &harmony->error;
-+        *err = harmony->error;
-         return success;
-     }
-     return success;
-@@ -658,7 +658,7 @@ gboolean mp3tunes_harmony_connect(MP3tunesHarmony* harmony, GError** err) {
-     success = open_connection(harmony);
- 
-     if (success == FALSE) {
--        err = &harmony->error;
-+        *err = harmony->error;
-         mp3tunes_harmony_disconnect(harmony, err);
-         return success;
-     }
-diff --git a/src/statemanagement/DefaultApplicationController.cpp b/src/statemanagement/DefaultApplicationController.cpp
-index 5886789..acc4213 100644
---- a/src/statemanagement/DefaultApplicationController.cpp
-+++ b/src/statemanagement/DefaultApplicationController.cpp
-@@ -32,6 +32,7 @@ DefaultApplicationController::DefaultApplicationController( QObject *parent )
-     //there can be only one applicationcontroller
-     ApplicationController *oldController = Components::setApplicationController( this );
-     Q_ASSERT( !oldController );
-+    Q_UNUSED( oldController );
- }
- 
- DefaultApplicationController::~DefaultApplicationController()
-@@ -88,6 +89,7 @@ DefaultApplicationController::initEngineController()
-     Components::setEngineController( controller );
-     bool invoked = QMetaObject::invokeMethod( controller, "initializePhonon", Qt::DirectConnection );
-     Q_ASSERT( invoked );
-+    Q_UNUSED( invoked );
- }
- 
- void
--- 
-2.9.3
-

diff --git a/0029-Fix-MPRIS2-DesktopEntry-value.patch b/0029-Fix-MPRIS2-DesktopEntry-value.patch
deleted file mode 100644
index 111b9fd..0000000
--- a/0029-Fix-MPRIS2-DesktopEntry-value.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 9449ec56d1fd77a0bfa1f7134a2bf4f91ffd14d3 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sat, 20 Aug 2016 13:09:02 +0200
-Subject: [PATCH 29/47] Fix MPRIS2 DesktopEntry value
-
-According to the MPRIS2 spec, the DesktopEntry value should be
-"the basename of the .desktop file" [1], not the desktop-file-id. So
-for amarok it should be "amarok" and not "kde4-amarok", regardless of
-where the desktop file is installed. This fixes displaying MPRIS
-controls in the Amarok taskbar tooltip in Plasma 5.7
-
-[1] https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html#Property:DesktopEntry
-
-Testing done by Antonio:
-
-Player controls are displayed again in the Amarok taskbar tooltip in Plasma 5.7.
-
-REVIEW: 128418
-BUG: 365275
-FIXED-IN: 2.9
----
- ChangeLog                        | 2 ++
- src/dbus/mpris2/MediaPlayer2.cpp | 6 +-----
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/src/dbus/mpris2/MediaPlayer2.cpp b/src/dbus/mpris2/MediaPlayer2.cpp
-index cbe1a2a..a1d1bda 100644
---- a/src/dbus/mpris2/MediaPlayer2.cpp
-+++ b/src/dbus/mpris2/MediaPlayer2.cpp
-@@ -94,11 +94,7 @@ QString MediaPlayer2::Identity() const
- 
- QString MediaPlayer2::DesktopEntry() const
- {
--    // Amarok desktop file is installed in $prefix/share/applications/kde4/
--    // rather than in $prefix/share/applications. The standard way to
--    // represent this dir is with a "kde4-" prefix. See:
--    // http://standards.freedesktop.org/menu-spec/1.0/go01.html#term-desktop-file-id
--    return QLatin1String("kde4-amarok");
-+    return QLatin1String("amarok");
- }
- 
- QStringList MediaPlayer2::SupportedUriSchemes() const
--- 
-2.9.3
-

diff --git a/0030-Fix-Collection-Browser-auto-expand-after-search-expa.patch b/0030-Fix-Collection-Browser-auto-expand-after-search-expa.patch
deleted file mode 100644
index ae568bd..0000000
--- a/0030-Fix-Collection-Browser-auto-expand-after-search-expa.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 9fb00e5a97574af3f0cb22d740da7e0cd0761d78 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Mat=C4=9Bj=20Laitl?= <matej@laitl.cz>
-Date: Mon, 17 Oct 2016 00:03:13 +0200
-Subject: [PATCH 30/47] Fix Collection Browser auto-expand after search
- expanding too little
-
-Underlying model is asynchronous, we need to cope with that. Do it
-using a RAII self-destructing object AutoExpander.
-
-As a side-effect, Amarok no longer expands collection after start in
-split collection mode. If this is desired, we may expand them
-explicitly upon start.
-
-BUG: 335217
-FIXED-IN: 2.9
-CCBUG: 300557
----
- ChangeLog                           |  1 +
- src/browsers/CollectionTreeView.cpp | 88 ++++++++++++++++++++++++++++---------
- 2 files changed, 69 insertions(+), 20 deletions(-)
-
-diff --git a/src/browsers/CollectionTreeView.cpp b/src/browsers/CollectionTreeView.cpp
-index 816d2e1..4b96543 100644
---- a/src/browsers/CollectionTreeView.cpp
-+++ b/src/browsers/CollectionTreeView.cpp
-@@ -110,6 +110,72 @@ class DelayedScroller : public QObject
-         int m_topOffset;
- };
- 
-+/**
-+ * RAII class to auto-expand collection tree entries after filtering.
-+ * AutoExpander auto-deletes itself once its job is over (or if it finds
-+ * it is useless).
-+ */
-+class AutoExpander : public QObject
-+{
-+    Q_OBJECT
-+
-+    public:
-+        AutoExpander( CollectionTreeView *treeView,
-+                      CollectionTreeItemModelBase *treeModel,
-+                      QAbstractItemModel *filterModel)
-+            : QObject( treeView )
-+            , m_treeView( treeView )
-+            , m_filterModel( filterModel )
-+        {
-+            connect( filterModel, SIGNAL(destroyed(QObject*)), SLOT(deleteLater()) );
-+            connect( treeModel, SIGNAL(allQueriesFinished(bool)), SLOT(slotExpandMore()) );
-+
-+            // start with the root index
-+            m_indicesToCheck.enqueue( QModelIndex() );
-+            slotExpandMore();
-+        }
-+
-+    private slots:
-+        void slotExpandMore()
-+        {
-+            const int maxChildrenToExpand = 3;
-+
-+            QQueue<QModelIndex> pendingIndices;
-+            while( !m_indicesToCheck.isEmpty() )
-+            {
-+                QModelIndex current = m_indicesToCheck.dequeue();
-+
-+                if( m_filterModel->canFetchMore( current ) )
-+                {
-+                    m_filterModel->fetchMore( current );
-+                    pendingIndices.enqueue( current );
-+                    continue;
-+                }
-+
-+                if( m_filterModel->rowCount( current ) <= maxChildrenToExpand )
-+                {
-+                    m_treeView->expand( current );
-+                    for( int i = 0; i < m_filterModel->rowCount( current ); i++ )
-+                        m_indicesToCheck.enqueue( m_filterModel->index( i, 0, current ) );
-+                }
-+            }
-+
-+            if( pendingIndices.isEmpty() )
-+                // nothing left to do
-+                deleteLater();
-+            else
-+                // process pending indices when queries finish
-+                m_indicesToCheck.swap( pendingIndices );
-+        }
-+
-+    private:
-+        Q_DISABLE_COPY(AutoExpander)
-+
-+        CollectionTreeView *m_treeView;
-+        QAbstractItemModel *m_filterModel;
-+        QQueue<QModelIndex> m_indicesToCheck;
-+};
-+
- CollectionTreeView::CollectionTreeView( QWidget *parent)
-     : Amarok::PrettyTreeView( parent )
-     , m_filterModel( 0 )
-@@ -708,26 +774,8 @@ CollectionTreeView::slotCheckAutoExpand( bool reallyExpand )
-     if( !m_filterModel || !reallyExpand )
-         return;
- 
--    // Cases where root is not collections but
--    // for example magnatunes's plethora of genres, don't expand by default
--    if( m_filterModel->rowCount() > 6 )
--        return;
--
--    QModelIndexList indicesToCheck;
--    for( int i = 0; i < m_filterModel->rowCount(); i++ ) //need something to start for'ing with
--        indicesToCheck += m_filterModel->index( i, 0 ); //lowest level is fine for that
--
--    QModelIndex current;
--    for( int j = 0; j < indicesToCheck.size(); j++)
--    {
--        current = indicesToCheck.at( j );
--        if( m_filterModel->rowCount( current ) < 4 )
--        { //don't expand if many results
--            expand( current );
--            for( int i = 0; i < m_filterModel->rowCount( current ); i++ )
--                indicesToCheck += m_filterModel->index( i, 0, current );
--        }
--    }
-+    // auto-deletes itself:
-+    new AutoExpander( this, m_treeModel, m_filterModel );
- }
- 
- void
--- 
-2.9.3
-

diff --git a/0036-Fix-Bug-302299-Autoscrolling-Lyrics-are-scrolling-do.patch b/0036-Fix-Bug-302299-Autoscrolling-Lyrics-are-scrolling-do.patch
deleted file mode 100644
index 9049e5d..0000000
--- a/0036-Fix-Bug-302299-Autoscrolling-Lyrics-are-scrolling-do.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 2a8cb3785e50ccb0d551442e3133ac1cc6c2e8f7 Mon Sep 17 00:00:00 2001
-From: Yash Ladia <yashladia1@gmail.com>
-Date: Sat, 4 Feb 2017 11:33:48 +0100
-Subject: [PATCH 36/47] Fix Bug 302299 - Autoscrolling Lyrics are scrolling
- down if a song is rated via Context Browser's Current Track
-
-The bug was occuring since 'userAutoScrollOffset' and 'oldSliderPosition' were being reset when track metadata was changed. This should not happen.
-
-I split the function: 'void _trackDataChanged( Meta::TrackPtr )' into 'void _trackChanged( Meta::TrackPtr )' and 'void _trackMetadataChanged( Meta::TrackPtr )'
-
-REVIEW: 116641
-BUGS: 302299
----
- src/context/applets/lyrics/LyricsApplet.cpp | 18 +++++++++++++-----
- src/context/applets/lyrics/LyricsApplet.h   |  4 +++-
- 2 files changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/src/context/applets/lyrics/LyricsApplet.cpp b/src/context/applets/lyrics/LyricsApplet.cpp
-index 829a166..896a042 100644
---- a/src/context/applets/lyrics/LyricsApplet.cpp
-+++ b/src/context/applets/lyrics/LyricsApplet.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************************
-  * Copyright (c) 2007 Leo Franchi <lfranchi@gmail.com>                                  *
-  * Copyright (c) 2009 simon.esneault <simon.esneault@gmail.com>                         *
-+ * Copyright (c) 2014 Yash Ladia <yashladia1@gmail.com>                                 *
-  *                                                                                      *
-  * This program is free software; you can redistribute it and/or modify it under        *
-  * the terms of the GNU General Public License as published by the Free Software        *
-@@ -80,7 +81,8 @@ public:
-     void _toggleAutoScroll();
-     void _suggestionChosen( const LyricsSuggestion &suggestion );
-     void _unsetCursor();
--    void _trackDataChanged( Meta::TrackPtr );
-+    void _trackChanged( Meta::TrackPtr );
-+    void _trackMetadataChanged( Meta::TrackPtr );
-     void _trackPositionChanged( qint64 position, bool userSeek );
- 
-     void _lyricsChangedMessageButtonPressed( const Plasma::MessageButton button );
-@@ -369,11 +371,17 @@ LyricsAppletPrivate::_unsetCursor()
- }
- 
- void
--LyricsAppletPrivate::_trackDataChanged( Meta::TrackPtr track )
-+LyricsAppletPrivate::_trackChanged( Meta::TrackPtr track )
- {
-     userAutoScrollOffset = 0;
-     oldSliderPosition = 0;
-+    // meta data also changed, so to avoid code duplication
-+    _trackMetadataChanged( track );
-+}
- 
-+void
-+LyricsAppletPrivate::_trackMetadataChanged( Meta::TrackPtr track )
-+{
-     // Check if we previously had a track.
-     // If the lyrics currently shown in the browser (which
-     // additionally is in edit mode) are different from the
-@@ -512,15 +520,15 @@ LyricsApplet::init()
- 
-     EngineController* engine = The::engineController();
- 
--    connect( engine, SIGNAL(trackChanged(Meta::TrackPtr)), this, SLOT(_trackDataChanged(Meta::TrackPtr)) );
--    connect( engine, SIGNAL(trackMetadataChanged(Meta::TrackPtr)), this, SLOT(_trackDataChanged(Meta::TrackPtr)) );
-+    connect( engine, SIGNAL(trackChanged(Meta::TrackPtr)), this, SLOT(_trackChanged(Meta::TrackPtr)) );
-+    connect( engine, SIGNAL(trackMetadataChanged(Meta::TrackPtr)), this, SLOT(_trackMetadataChanged(Meta::TrackPtr)) );
-     connect( engine, SIGNAL(trackPositionChanged(qint64,bool)), this, SLOT(_trackPositionChanged(qint64,bool)) );
-     connect( d->suggestView, SIGNAL(selected(LyricsSuggestion)), SLOT(_suggestionChosen(LyricsSuggestion)) );
-     connect( dataEngine("amarok-lyrics"), SIGNAL(sourceAdded(QString)), this, SLOT(connectSource(QString)) );
- 
-     // This is needed as a track might be playing when the lyrics applet
-     // is added to the ContextView.
--    d->_trackDataChanged( engine->currentTrack() );
-+    d->_trackChanged( engine->currentTrack() );
-     d->_trackPositionChanged( engine->trackPositionMs(), false );
- 
-     d->determineActionIconsState();
-diff --git a/src/context/applets/lyrics/LyricsApplet.h b/src/context/applets/lyrics/LyricsApplet.h
-index 20c71d8..528a323 100644
---- a/src/context/applets/lyrics/LyricsApplet.h
-+++ b/src/context/applets/lyrics/LyricsApplet.h
-@@ -1,6 +1,7 @@
- /****************************************************************************************
-  * Copyright (c) 2007 Leo Franchi <lfranchi@gmail.com>                                  *
-  * Copyright (c) 2009 simon.esneault <simon.esneault@gmail.com>                         *
-+ * Copyright (c) 2014 Yash Ladia <yashladia1@gmail.com>                                 *
-  *                                                                                      *
-  * This program is free software; you can redistribute it and/or modify it under        *
-  * the terms of the GNU General Public License as published by the Free Software        *
-@@ -57,7 +58,8 @@ private:
-     Q_PRIVATE_SLOT( d_ptr, void _toggleAutoScroll() )
-     Q_PRIVATE_SLOT( d_ptr, void _suggestionChosen(LyricsSuggestion) )
-     Q_PRIVATE_SLOT( d_ptr, void _unsetCursor() )
--    Q_PRIVATE_SLOT( d_ptr, void _trackDataChanged( Meta::TrackPtr ) )
-+    Q_PRIVATE_SLOT( d_ptr, void _trackChanged( Meta::TrackPtr ) )
-+    Q_PRIVATE_SLOT( d_ptr, void _trackMetadataChanged( Meta::TrackPtr ) )
-     Q_PRIVATE_SLOT( d_ptr, void _trackPositionChanged( qint64 position, bool userSeek ) )
-     Q_PRIVATE_SLOT( d_ptr, void _lyricsChangedMessageButtonPressed(const Plasma::MessageButton) )
-     Q_PRIVATE_SLOT( d_ptr, void _refetchMessageButtonPressed(const Plasma::MessageButton) )
--- 
-2.9.3
-

diff --git a/0037-Fix-minor-typo.patch b/0037-Fix-minor-typo.patch
deleted file mode 100644
index eb632dc..0000000
--- a/0037-Fix-minor-typo.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0feb6251925fe049c46ccf5153db4b467f3544fb Mon Sep 17 00:00:00 2001
-From: Robert Marshall <robert@capuchin.co.uk>
-Date: Sat, 4 Feb 2017 18:49:41 +0100
-Subject: [PATCH 37/47] Fix minor typo
-
-add the word 'specify' to text
-
-REVIEW: 123635
----
- src/playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui | 2 +-
- src/playlistgenerator/constraints/PlaylistLengthEditWidget.ui   | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui b/src/playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui
-index fce5c54..40a9ab2 100644
---- a/src/playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui
-+++ b/src/playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui
-@@ -12,7 +12,7 @@
-    </rect>
-   </property>
-   <property name="whatsThis">
--   <string>An editor for a Playlist Length constraint.  The user can the target number of tracks and whether the playlist contain fewer than, equal to, or more than that number of tracks; and the strictness with which the APG should match the target number of tracks.</string>
-+   <string>An editor for a Playlist Length constraint.  The user can specify the target number of tracks and whether the playlist contain fewer than, equal to, or more than that number of tracks; and the strictness with which the APG should match the target number of tracks.</string>
-   </property>
-   <layout class="QVBoxLayout" name="verticalLayout">
-    <item>
-diff --git a/src/playlistgenerator/constraints/PlaylistLengthEditWidget.ui b/src/playlistgenerator/constraints/PlaylistLengthEditWidget.ui
-index f97697a..206c91f 100644
---- a/src/playlistgenerator/constraints/PlaylistLengthEditWidget.ui
-+++ b/src/playlistgenerator/constraints/PlaylistLengthEditWidget.ui
-@@ -12,7 +12,7 @@
-    </rect>
-   </property>
-   <property name="whatsThis">
--   <string>An editor for a Playlist Length constraint.  The user can the target number of tracks and whether the playlist contain fewer than, equal to, or more than that number of tracks; and the strictness with which the APG should match the target number of tracks.</string>
-+   <string>An editor for a Playlist Length constraint.  The user can specify the target number of tracks and whether the playlist contain fewer than, equal to, or more than that number of tracks; and the strictness with which the APG should match the target number of tracks.</string>
-   </property>
-   <layout class="QVBoxLayout" name="verticalLayout">
-    <item>
--- 
-2.9.3
-

diff --git a/0038-Fix-amarok-build-with-LibOFA-using-ffmpeg-3.patch b/0038-Fix-amarok-build-with-LibOFA-using-ffmpeg-3.patch
deleted file mode 100644
index 49a74c8..0000000
--- a/0038-Fix-amarok-build-with-LibOFA-using-ffmpeg-3.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 5535be8635d3f74ccc774ee28e0804d7aaeeec41 Mon Sep 17 00:00:00 2001
-From: Alexis BALLIER <aballier@gentoo.org>
-Date: Sun, 12 Feb 2017 17:42:50 +0100
-Subject: [PATCH 38/47] Fix amarok build with LibOFA using ffmpeg 3+
-
-Testing Done:
-https://bugs.gentoo.org/show_bug.cgi?id=601800
-
-REVIEW: 129626
----
- src/musicbrainz/MusicDNSAudioDecoder.cpp | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/musicbrainz/MusicDNSAudioDecoder.cpp b/src/musicbrainz/MusicDNSAudioDecoder.cpp
-index ea39a1b..43767d5 100644
---- a/src/musicbrainz/MusicDNSAudioDecoder.cpp
-+++ b/src/musicbrainz/MusicDNSAudioDecoder.cpp
-@@ -223,7 +223,7 @@ MusicDNSAudioDecoder::decode( const QString &fileName, DecodedAudioData *data, c
-             {
-                 if( !decodedFrame )
-                 {
--                    decodedFrame = avcodec_alloc_frame();
-+                    decodedFrame = av_frame_alloc();
-                     if( !decodedFrame )
-                     {
-                         warning() << "Unable to allocate enough memory to decode file.";
-@@ -231,7 +231,7 @@ MusicDNSAudioDecoder::decode( const QString &fileName, DecodedAudioData *data, c
-                         break;
-                     }
-                     else
--                        avcodec_get_frame_defaults( decodedFrame );
-+		         av_frame_unref( decodedFrame );
-                 }
- 
-                 decoderRet = avcodec_decode_audio4( pCodecCtx, decodedFrame, &gotFrame, &avpkt );
-@@ -341,7 +341,7 @@ MusicDNSAudioDecoder::decode( const QString &fileName, DecodedAudioData *data, c
-             {
-                 if( !decodedFrame )
-                 {
--                    decodedFrame = avcodec_alloc_frame();
-+                    decodedFrame = av_frame_alloc();
-                     if( !decodedFrame )
-                     {
-                         warning() << "Unable to allocate enough memory to decode file.";
-@@ -349,7 +349,7 @@ MusicDNSAudioDecoder::decode( const QString &fileName, DecodedAudioData *data, c
-                         break;
-                     }
-                     else
--                        avcodec_get_frame_defaults( decodedFrame );
-+		         av_frame_unref( decodedFrame );
-                 }
- 
-                 decoderRet = avcodec_decode_audio4( pCodecCtx, decodedFrame, &gotFrame, &avpkt );
-@@ -459,7 +459,7 @@ MusicDNSAudioDecoder::decode( const QString &fileName, DecodedAudioData *data, c
-             {
-                 if( !decodedFrame )
-                 {
--                    decodedFrame = avcodec_alloc_frame();
-+                    decodedFrame = av_frame_alloc();
-                     if( !decodedFrame )
-                     {
-                         warning() << "Unable to allocate enough memory to decode file.";
-@@ -467,7 +467,7 @@ MusicDNSAudioDecoder::decode( const QString &fileName, DecodedAudioData *data, c
-                         break;
-                     }
-                     else
--                        avcodec_get_frame_defaults( decodedFrame );
-+		         av_frame_unref( decodedFrame );
-                 }
- 
-                 decoderRet = avcodec_decode_audio4( pCodecCtx, decodedFrame, &gotFrame, &avpkt );
--- 
-2.9.3
-

diff --git a/0039-Fix-Gpodder-credential-service-without-kwallet.patch b/0039-Fix-Gpodder-credential-service-without-kwallet.patch
deleted file mode 100644
index 0f20daa..0000000
--- a/0039-Fix-Gpodder-credential-service-without-kwallet.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 32de657700902551f600de836021361ef965bb36 Mon Sep 17 00:00:00 2001
-From: Giuseppe Silletti <sillettig@gmail.com>
-Date: Fri, 17 Feb 2017 11:14:39 +0100
-Subject: [PATCH 39/47] Fix Gpodder credential service without kwallet
-
-Before to fix this bug, the gpodder plugin had problems with saving username and password in plain text.
-
-There were two problems:
-
-1) A useless space for the variable m_ignoreWallet was saved in the config file
-2) The saving of the credential in plain text where made in the wrong way.
-Now it is called the function askAboutMissingKWallet(), that make the use see a dialog windows where is asked to save the credential in plain text.
-Credential are now saved in the textDialogYes slot.
-
-REVIEW: 122797
----
- src/services/gpodder/GpodderServiceConfig.cpp | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/src/services/gpodder/GpodderServiceConfig.cpp b/src/services/gpodder/GpodderServiceConfig.cpp
-index 9098d59..47ebd39 100644
---- a/src/services/gpodder/GpodderServiceConfig.cpp
-+++ b/src/services/gpodder/GpodderServiceConfig.cpp
-@@ -131,11 +131,6 @@ GpodderServiceConfig::save()
-         if( m_wallet->writePassword( "gpodder_password", m_password ) != 0 )
-             debug() << "Failed to save gpodder.net pw to kwallet!";
-     }
--    else if( m_ignoreWallet )
--    {
--        config.writeEntry( "username", m_username );
--        config.writeEntry( "password", m_password );
--    }
-     else
-     {
-         if( m_enableProvider )
-@@ -212,7 +207,9 @@ GpodderServiceConfig::textDialogYes() //SLOT
-         KConfigGroup config = KGlobal::config()->group( configSectionName() );
- 
-         m_ignoreWallet = true;
--        config.writeEntry( "ignoreWallet ", m_ignoreWallet );
-+        config.writeEntry( "ignoreWallet", m_ignoreWallet );
-+        config.writeEntry( "username", m_username );
-+        config.writeEntry( "password", m_password );
- 
-         config.sync();
-     }
-@@ -228,7 +225,9 @@ GpodderServiceConfig::textDialogNo() //SLOT
-         KConfigGroup config = KGlobal::config()->group( configSectionName() );
- 
-         m_ignoreWallet = false;
--        config.writeEntry( "ignoreWallet ", m_ignoreWallet );
-+        config.writeEntry( "ignoreWallet", m_ignoreWallet );
-+        config.writeEntry( "username", QString() );
-+        config.writeEntry( "password", QString() );
- 
-         config.sync();
-     }
--- 
-2.9.3
-

diff --git a/0041-Add-namespace-to-desktop-and-appdata-files.patch b/0041-Add-namespace-to-desktop-and-appdata-files.patch
deleted file mode 100644
index c195b82..0000000
--- a/0041-Add-namespace-to-desktop-and-appdata-files.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 22e0ac2baf0975a1dabbfa7892f8c52c38990235 Mon Sep 17 00:00:00 2001
-From: Luigi Toscano <luigi.toscano@tiscali.it>
-Date: Sun, 16 Oct 2016 16:11:27 +0200
-Subject: [PATCH 41/47] Add namespace to desktop and appdata files
-
-- add the organization namespace to the desktop and then appdata files,
-  according the specification;
-- use the new directory for metadata (metainfo) files.
-
-REVIEW: 129192
----
- src/CMakeLists.txt                                                  | 6 +++---
- src/dbus/mpris2/MediaPlayer2.cpp                                    | 2 +-
- src/{amarok.appdata.xml => org.kde.amarok.appdata.xml}              | 2 +-
- src/{amarok.desktop => org.kde.amarok.desktop}                      | 0
- ...{amarok_containers.desktop => org.kde.amarok_containers.desktop} | 0
- 5 files changed, 5 insertions(+), 5 deletions(-)
- rename src/{amarok.appdata.xml => org.kde.amarok.appdata.xml} (99%)
- rename src/{amarok.desktop => org.kde.amarok.desktop} (100%)
- rename src/{amarok_containers.desktop => org.kde.amarok_containers.desktop} (100%)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 327ec10..827db36 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -948,9 +948,9 @@ install(TARGETS amarok ${INSTALL_TARGETS_DEFAULT_ARGS})
- 
- ########### install files ###############
- 
--install(PROGRAMS amarok.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
--install(PROGRAMS amarok_containers.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
--install(FILES amarok.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata)
-+install(PROGRAMS org.kde.amarok.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-+install(PROGRAMS org.kde.amarok_containers.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
-+install(FILES org.kde.amarok.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/metainfo)
- 
- install(FILES amarok_plugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
- install(FILES amarok_codecinstall.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
-diff --git a/src/dbus/mpris2/MediaPlayer2.cpp b/src/dbus/mpris2/MediaPlayer2.cpp
-index a1d1bda..1f00827 100644
---- a/src/dbus/mpris2/MediaPlayer2.cpp
-+++ b/src/dbus/mpris2/MediaPlayer2.cpp
-@@ -94,7 +94,7 @@ QString MediaPlayer2::Identity() const
- 
- QString MediaPlayer2::DesktopEntry() const
- {
--    return QLatin1String("amarok");
-+    return QLatin1String("org.kde.amarok");
- }
- 
- QStringList MediaPlayer2::SupportedUriSchemes() const
-diff --git a/src/amarok.appdata.xml b/src/org.kde.amarok.appdata.xml
-similarity index 99%
-rename from src/amarok.appdata.xml
-rename to src/org.kde.amarok.appdata.xml
-index 809e42c..ff06fc7 100644
---- a/src/amarok.appdata.xml
-+++ b/src/org.kde.amarok.appdata.xml
-@@ -1,6 +1,6 @@
- <?xml version="1.0" encoding="utf-8"?>
- <component type="desktop">
--  <id>amarok.desktop</id>
-+  <id>org.kde.amarok.desktop</id>
-   <metadata_license>CC0-1.0</metadata_license>
-   <name>Amarok</name>
-   <name xml:lang="ar">أماروك</name>
-diff --git a/src/amarok.desktop b/src/org.kde.amarok.desktop
-similarity index 100%
-rename from src/amarok.desktop
-rename to src/org.kde.amarok.desktop
-diff --git a/src/amarok_containers.desktop b/src/org.kde.amarok_containers.desktop
-similarity index 100%
-rename from src/amarok_containers.desktop
-rename to src/org.kde.amarok_containers.desktop
--- 
-2.9.3
-

diff --git a/0043-Fix-appdata-add-the-required-summary-tag.patch b/0043-Fix-appdata-add-the-required-summary-tag.patch
deleted file mode 100644
index e798f56..0000000
--- a/0043-Fix-appdata-add-the-required-summary-tag.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 679d8454a72f48c267fe022749ca5f01e227324f Mon Sep 17 00:00:00 2001
-From: Luigi Toscano <luigi.toscano@tiscali.it>
-Date: Thu, 16 Mar 2017 23:03:55 +0100
-Subject: [PATCH 43/47] Fix appdata: add the required <summary/> tag
-
-<summary/> is required to pass the validation even in relaxed mode.
----
- src/org.kde.amarok.appdata.xml | 1 +
- 1 file changed, 1 insertion(+)
-
-diff -up amarok-2.8.90/src/org.kde.amarok.appdata.xml.0043 amarok-2.8.90/src/org.kde.amarok.appdata.xml
---- amarok-2.8.90/src/org.kde.amarok.appdata.xml.0043	2017-04-03 11:44:49.369505851 -0500
-+++ amarok-2.8.90/src/org.kde.amarok.appdata.xml	2017-04-03 11:45:32.915885079 -0500
-@@ -33,6 +33,7 @@
-   <name xml:lang="sv">Amarok</name>
-   <name xml:lang="uk">Amarok</name>
-   <name xml:lang="x-test">xxAmarokxx</name>
-+  <summary>Audio Player</summary>
-   <description>
-     <p>Amarok is a free, versatile and powerful music player.</p>
-     <p xml:lang="ar">أماروك مشغّل موسيقى مجّانيّ، وقويّ متعدّد الاستعمالات.</p>

diff --git a/amarok.spec b/amarok.spec
index c3f9f23..d979919 100644
--- a/amarok.spec
+++ b/amarok.spec
@@ -1,14 +1,10 @@
 
 %define kdewebkit 1
-# define to enable optional -nepomukcollection support
-%if 0%{?fedora} < 22
-%define nepomukcollection 1
-%endif
 
 Name:    amarok
 Summary: Media player
-Version: 2.8.90
-Release: 19%{?dist}
+Version: 2.9.0
+Release: 1%{?dist}
 
 # KDE e.V. may determine that future GPL versions are accepted
 License: GPLv2 or GPLv3
@@ -32,33 +28,6 @@ Patch1: amarok-2.8.0-no_kdewebkit.patch
 # make mysql_found non-fatal
 Patch100: amarok-2.8.90-mysql_found.patch
 
-## upstream patches
-Patch3: 0003-Fix-TagLib-version-check.patch
-Patch9: 0009-fix-apparent-obvious-error-typo-in-find_library-MYSQ.patch
-Patch10: 0010-Fix-tabs-applet.patch
-Patch12: 0012-tabs-applet-Add-missing-to-fix-the-build.patch
-Patch13: 0013-Fix-for-the-infinite-loop-in-case-a-home-burned-or-o.patch
-Patch14: 0014-Only-link-with-MYSQL_EMBEDDED_LIBRARIES-if-WITH_MYSQ.patch
-Patch15: 0015-Fix-a-crash-in-amarok-when-opening-the-Script-Consol.patch
-Patch16: 0016-Fix-untranslatable-string.patch
-Patch17: 0017-gcc6-buildfix.patch
-Patch19: 0019-Disable-non-SSL-connections-in-wikipedia-applet.patch
-Patch20: 0020-Wikipedia-applet-Remove-last-trace-of-no-SSL-possibi.patch
-Patch24: 0024-Substitute-deprecated-MySQL-option-myisam-recover.patch
-Patch25: 0025-Handle-numeric-fields-properly-in-filter-creation-di.patch
-Patch26: 0026-Use-transparent-background-for-lyrics-browser.patch
-Patch27: 0027-Organize-tracks-Guess-tags-presets-persisted-properl.patch
-Patch28: 0028-Fix-for-C-warnings-about-unused-variables-and-deprec.patch
-Patch29: 0029-Fix-MPRIS2-DesktopEntry-value.patch
-Patch30: 0030-Fix-Collection-Browser-auto-expand-after-search-expa.patch
-Patch36: 0036-Fix-Bug-302299-Autoscrolling-Lyrics-are-scrolling-do.patch
-Patch37: 0037-Fix-minor-typo.patch
-Patch38: 0038-Fix-amarok-build-with-LibOFA-using-ffmpeg-3.patch
-Patch39: 0039-Fix-Gpodder-credential-service-without-kwallet.patch
-Patch41: 0041-Add-namespace-to-desktop-and-appdata-files.patch
-Patch43: 0043-Fix-appdata-add-the-required-summary-tag.patch
-
-
 BuildRequires: curl-devel
 BuildRequires: desktop-file-utils
 BuildRequires: gcc-c++
@@ -121,10 +90,8 @@ Requires: media-player-info
 
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
 
-%if ! 0%{?nepomukcollection}
 BuildConflicts: nepomuk-core-devel
 Obsoletes: amarok-nepomukcollection < %{version}-%{release}
-%endif
 
 %description
 Amarok is a multimedia player with:
@@ -154,18 +121,6 @@ BuildArch: noarch
 %description doc
 %{summary}.
 
-%if 0%{?nepomukcollection}
-%package nepomukcollection
-Summary: Nepomuk collection plugin for %{name}
-BuildRequires: nepomuk-core-devel
-BuildRequires: pkgconfig(soprano)
-# for upgrade path
-Obsoletes: amarok < 2.8.0-4
-Requires: %{name} = %{version}-%{release}
-%description nepomukcollection
-%{summary}.
-%endif
-
 
 %prep
 %setup -q 
@@ -176,30 +131,6 @@ Requires: %{name} = %{version}-%{release}
 %endif
 
 ## upstream
-%patch3 -p1 -b .0003
-%patch9 -p1 -b .0009
-%patch10 -p1 -b .0010
-%patch12 -p1 -b .0012
-%patch13 -p1 -b .0013
-%patch14 -p1 -b .0014
-%patch15 -p1 -b .0015
-%patch16 -p1 -b .0016
-%patch17 -p1 -b .0017
-%patch19 -p1 -b .0019
-%patch20 -p1 -b .0020
-%patch24 -p1 -b .0024
-%patch25 -p1 -b .0025
-%patch26 -p1 -b .0026
-%patch27 -p1 -b .0027
-%patch28 -p1 -b .0028
-%patch29 -p1 -b .0029
-%patch30 -p1 -b .0030
-%patch36 -p1 -b .0036
-%patch37 -p1 -b .0037
-%patch38 -p1 -b .0038
-%patch39 -p1 -b .0039
-%patch41 -p1 -b .0041
-%patch43 -p1 -b .0043
 
 ## upstreamable
 
@@ -212,7 +143,7 @@ pushd %{_target_platform}
   -DMYSQLCONFIG_EXECUTABLE:BOOL=OFF
 popd
 
-make %{?_smp_mflags} -C %{_target_platform}
+%make_build -C %{_target_platform}
 
 
 %install
@@ -355,14 +286,11 @@ grep '^NoDisplay' %{buildroot}%{_kde4_datadir}/applications/kde4/amzdownloader.d
 
 %files doc -f amarok-doc.lang
 
-%if 0%{?nepomukcollection}
-%files nepomukcollection
-%{_kde4_libdir}/kde4/amarok_collection-nepomukcollection.so
-%{_kde4_datadir}/kde4/services/amarok_collection-nepomukcollection.desktop
-%endif
-
 
 %changelog
+* Wed Mar 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-1
+- amarok-2.9.0
+
 * Wed Feb 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.8.90-19
 - use %%ldconfig_scriptlets, %%_kf5_metainfodir, BR: gcc-c++
 

diff --git a/sources b/sources
index 40aa601..291ed11 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a1c914cb0dac7cac4d0f7dc1a4c46179  amarok-2.8.90.tar.xz
+SHA512 (amarok-2.9.0.tar.xz) = 6db9a2635725c87280956ad0c4ca199b585c65c688fa5199c6e6ebe238548f47ffa4e465fde8edb415f159828ec5102d394dbfcdd15ae9999f9c378e7bce8846

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-06 18:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-06 18:05 [rpms/amarok] epel10: amarok-2.9.0 Rex Dieter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox