The package rpms/clementine.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/clementine.git/commit/?id=c4f4dc4....
Change:
+%ifnarch s390 s390x
Thanks.
Full change:
============
commit c4f4dc4b3bbec673cee74cb77a10bac91e2555b1
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Tue Oct 23 17:34:48 2018 +0200
Bump to qt5 branch. commit fb00835468295925a6945a286406a2eec6bdb67a
diff --git a/.gitignore b/.gitignore
index 5329f6f..7b2dd82 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/clementine-1.3.0rc1.tar.xz
/clementine-1.3.1.tar.xz
/clementine-1.3.1.tar.gz
+/clementine-fb00835.tar.gz
diff --git a/clementine-38c1f8777.patch b/clementine-38c1f8777.patch
deleted file mode 100644
index 313306d..0000000
--- a/clementine-38c1f8777.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 38c1f8777cecc7b2f91fecbcc48c41479839304b Mon Sep 17 00:00:00 2001
-From: Chocobozzz <me(a)florianbigard.com>
-Date: Thu, 1 Feb 2018 09:07:51 +0100
-Subject: [PATCH] Fix compilation with crypto++ >= 6.0.0 (#5974)
-
----
- src/internet/spotify/spotifyblobdownloader.cpp | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/src/internet/spotify/spotifyblobdownloader.cpp
b/src/internet/spotify/spotifyblobdownloader.cpp
-index e34577f5d..b6e3f2b64 100644
---- a/src/internet/spotify/spotifyblobdownloader.cpp
-+++ b/src/internet/spotify/spotifyblobdownloader.cpp
-@@ -42,6 +42,11 @@
- #ifdef HAVE_CRYPTOPP
- #include <cryptopp/pkcspad.h>
- #include <cryptopp/rsa.h>
-+
-+// Compatibility with cryptocpp >= 6.0.0
-+namespace CryptoPP {
-+ typedef unsigned char byte;
-+}
- #endif // HAVE_CRYPTOPP
-
- const char* SpotifyBlobDownloader::kSignatureSuffix = ".sha512";
-@@ -189,7 +194,7 @@ bool SpotifyBlobDownloader::CheckSignature(
-
- try {
- CryptoPP::ByteQueue bytes;
-- bytes.Put(reinterpret_cast<const byte*>(public_key_data.constData()),
-+ bytes.Put(reinterpret_cast<const
CryptoPP::byte*>(public_key_data.constData()),
- public_key_data.size());
- bytes.MessageEnd();
-
-@@ -204,9 +209,9 @@ bool SpotifyBlobDownloader::CheckSignature(
- actual_filename.remove(kSignatureSuffix);
-
- const bool result = verifier.VerifyMessage(
-- reinterpret_cast<const byte*>(file_data[actual_filename].constData()),
-+ reinterpret_cast<const
CryptoPP::byte*>(file_data[actual_filename].constData()),
- file_data[actual_filename].size(),
-- reinterpret_cast<const byte*>(
-+ reinterpret_cast<const CryptoPP::byte*>(
- file_data[signature_filename].constData()),
- file_data[signature_filename].size());
- qLog(Debug) << "Verifying" << actual_filename <<
"against"
diff --git a/clementine-chromaprint14.patch b/clementine-chromaprint14.patch
deleted file mode 100644
index 0997040..0000000
--- a/clementine-chromaprint14.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From ded312685735fc266d4154d355286eeb86db3bcd Mon Sep 17 00:00:00 2001
-From: Chocobozzz <florian.bigard(a)gmail.com>
-Date: Thu, 8 Dec 2016 23:12:17 +0100
-Subject: [PATCH] Add compatibility with chromaprint >= 1.4
-
----
- src/musicbrainz/chromaprinter.cpp | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/src/musicbrainz/chromaprinter.cpp b/src/musicbrainz/chromaprinter.cpp
-index 9579b62ae..c7ad99e2e 100644
---- a/src/musicbrainz/chromaprinter.cpp
-+++ b/src/musicbrainz/chromaprinter.cpp
-@@ -143,16 +143,24 @@ QString Chromaprinter::CreateFingerprint() {
- ChromaprintContext* chromaprint =
- chromaprint_new(CHROMAPRINT_ALGORITHM_DEFAULT);
- chromaprint_start(chromaprint, kDecodeRate, kDecodeChannels);
-- chromaprint_feed(chromaprint, reinterpret_cast<void*>(data.data()),
-+ chromaprint_feed(chromaprint, reinterpret_cast<int16_t *>(data.data()),
- data.size() / 2);
- chromaprint_finish(chromaprint);
-
-- void* fprint = nullptr;
- int size = 0;
-+
-+#if CHROMAPRINT_VERSION_MAJOR >= 1 && CHROMAPRINT_VERSION_MINOR >= 4
-+ u_int32_t *fprint = nullptr;
-+ char *encoded = nullptr;
-+#else
-+ void *fprint = nullptr;
-+ void *encoded = nullptr;
-+#endif
-+
- int ret = chromaprint_get_raw_fingerprint(chromaprint, &fprint, &size);
-+
- QByteArray fingerprint;
- if (ret == 1) {
-- void* encoded = nullptr;
- int encoded_size = 0;
- chromaprint_encode_fingerprint(fprint, size, CHROMAPRINT_ALGORITHM_DEFAULT,
- &encoded, &encoded_size, 1);
diff --git a/clementine-cpu.patch b/clementine-cpu.patch
deleted file mode 100644
index 65ce3dc..0000000
--- a/clementine-cpu.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/playlist/playlistview.cpp b/src/playlist/playlistview.cpp
-index f776dee3e..86aaaf6b5 100644
---- a/src/playlist/playlistview.cpp
-+++ b/src/playlist/playlistview.cpp
-@@ -120,7 +120,7 @@ PlaylistView::PlaylistView(QWidget* parent)
- last_height_(-1),
- last_width_(-1),
- force_background_redraw_(false),
-- glow_enabled_(true),
-+ glow_enabled_(false),
- currently_glowing_(false),
- glow_intensity_step_(0),
- rating_delegate_(nullptr),
-@@ -1068,7 +1068,7 @@ void PlaylistView::PlaylistDestroyed() {
- void PlaylistView::ReloadSettings() {
- QSettings s;
- s.beginGroup(Playlist::kSettingsGroup);
-- glow_enabled_ = s.value("glow_effect", true).toBool();
-+ glow_enabled_ = s.value("glow_effect", false).toBool();
-
- if (setting_initial_header_layout_ || upgrading_from_qheaderview_) {
- header_->SetStretchEnabled(s.value("stretch", true).toBool());
-diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
-index ba0a22fb9..5668a327b 100644
---- a/src/ui/mainwindow.cpp
-+++ b/src/ui/mainwindow.cpp
-@@ -160,7 +160,7 @@ const char* MainWindow::kSettingsGroup = "MainWindow";
- const char* MainWindow::kAllFilesFilterSpec = QT_TR_NOOP("All Files (*)");
-
- namespace {
--const int kTrackSliderUpdateTimeMs = 40;
-+const int kTrackSliderUpdateTimeMs = 500;
- const int kTrackPositionUpdateTimeMs = 1000;
- }
-
-diff --git a/src/widgets/tracksliderslider.cpp b/src/widgets/tracksliderslider.cpp
-index 5d05e891e..34924d1fa 100644
---- a/src/widgets/tracksliderslider.cpp
-+++ b/src/widgets/tracksliderslider.cpp
-@@ -32,6 +32,7 @@ TrackSliderSlider::TrackSliderSlider(QWidget* parent)
- mouse_hover_seconds_(0) {
- setMouseTracking(true);
-
-+ popup_->hide();
- connect(this, SIGNAL(valueChanged(int)), SLOT(UpdateDeltaTime()));
- }
diff --git a/clementine-disable-systray-gnome.patch
b/clementine-disable-systray-gnome.patch
deleted file mode 100644
index 9362a60..0000000
--- a/clementine-disable-systray-gnome.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -rupN
Clementine-1.3.1.org/src/ui/mainwindow.cpp
Clementine-1.3.1/src/ui/mainwindow.cpp
----
Clementine-1.3.1.org/src/ui/mainwindow.cpp 2016-04-19 11:08:35.000000000 -0400
-+++ Clementine-1.3.1/src/ui/mainwindow.cpp 2018-10-17 21:53:40.168962770 -0400
-@@ -1023,7 +1023,13 @@ MainWindow::~MainWindow() {
-
- void MainWindow::ReloadSettings() {
- #ifndef Q_OS_DARWIN
-- bool show_tray = settings_.value("showtray", true).toBool();
-+ // Fedora patch. Disable systray on Gnome as it prevents Clementine from starting
-+ bool show_tray;
-+ const char* xdg_desktop = std::getenv("XDG_CURRENT_DESKTOP");
-+ if (xdg_desktop &&
std::string(xdg_desktop).find(std::string("GNOME")) != std::string::npos)
-+ show_tray = false;
-+ else
-+ show_tray= settings_.value("showtray", true).toBool();
-
- tray_icon_->SetVisible(show_tray);
- if (!show_tray && !isVisible()) show();
diff --git a/clementine-fix_appdata_install_dir.patch
b/clementine-fix_appdata_install_dir.patch
new file mode 100644
index 0000000..c9d2b53
--- /dev/null
+++ b/clementine-fix_appdata_install_dir.patch
@@ -0,0 +1,12 @@
+diff -up
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/dist/CMakeLists.txt.fix_appdata_install_dir
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/dist/CMakeLists.txt
+---
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/dist/CMakeLists.txt.fix_appdata_install_dir 2018-10-05
11:56:49.000000000 +0200
++++ Clementine-fb00835468295925a6945a286406a2eec6bdb67a/dist/CMakeLists.txt 2018-10-22
03:46:15.842701504 +0200
+@@ -66,7 +66,7 @@ if (NOT APPLE)
+ )
+
+ install(FILES clementine.appdata.xml
+- DESTINATION share/appdata
++ DESTINATION share/metainfo
+ )
+
+ if(INSTALL_UBUNTU_ICONS)
diff --git a/clementine-functional-header.patch b/clementine-functional-header.patch
deleted file mode 100644
index f41147d..0000000
--- a/clementine-functional-header.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From a2f7d018c7bdee96d4cefd5a1ec0c4f710fea226 Mon Sep 17 00:00:00 2001
-From: Morris <hafnermorris(a)gmail.com>
-Date: Sun, 12 Feb 2017 23:41:43 +0100
-Subject: [PATCH] Add missing <functional> includes
-
----
- src/core/mergedproxymodel.cpp | 1 +
- src/devices/giolister.cpp | 1 +
- src/library/groupbydialog.cpp | 2 ++
- 3 files changed, 4 insertions(+)
-
-diff --git a/src/core/mergedproxymodel.cpp b/src/core/mergedproxymodel.cpp
-index 56217f6..8c210d3 100644
---- a/src/core/mergedproxymodel.cpp
-+++ b/src/core/mergedproxymodel.cpp
-@@ -23,6 +23,7 @@
-
- #include <QStringList>
-
-+#include <functional>
- #include <limits>
-
- // boost::multi_index still relies on these being in the global namespace.
-diff --git a/src/devices/giolister.cpp b/src/devices/giolister.cpp
-index aa3bddb..5f63ef2 100644
---- a/src/devices/giolister.cpp
-+++ b/src/devices/giolister.cpp
-@@ -17,6 +17,7 @@
-
- #include "config.h"
-
-+#include <functional>
- #include <memory>
-
- #include <QFile>
-diff --git a/src/library/groupbydialog.cpp b/src/library/groupbydialog.cpp
-index 5efdc9f..e5f711b 100644
---- a/src/library/groupbydialog.cpp
-+++ b/src/library/groupbydialog.cpp
-@@ -20,6 +20,8 @@
-
- #include <QPushButton>
-
-+#include <functional>
-+
- // boost::multi_index still relies on these being in the global namespace.
- using std::placeholders::_1;
- using std::placeholders::_2;
diff --git a/clementine-gvolumemonitor.patch b/clementine-gvolumemonitor.patch
deleted file mode 100644
index df07032..0000000
--- a/clementine-gvolumemonitor.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 948140fab56f593e60b3f623bda5ba1c97f2d6ab Mon Sep 17 00:00:00 2001
-From: Valeriy <jazzvoid(a)gmail.com>
-Date: Wed, 11 May 2016 17:58:12 +0300
-Subject: [PATCH 1/3] disconnect GVolumeMonitor signals from GioLister before
- destroying it fixes #5369
-
----
- src/core/signalchecker.cpp | 9 ++++-----
- src/core/signalchecker.h | 6 +++---
- src/devices/giolister.cpp | 18 +++++++++++++-----
- src/devices/giolister.h | 2 ++
- 4 files changed, 22 insertions(+), 13 deletions(-)
-
-diff --git a/src/core/signalchecker.cpp b/src/core/signalchecker.cpp
-index 20767f284..2b0505638 100644
---- a/src/core/signalchecker.cpp
-+++ b/src/core/signalchecker.cpp
-@@ -21,7 +21,7 @@
-
- #include "core/logging.h"
-
--bool CheckedGConnect(gpointer source, const char* signal, GCallback callback,
-+gulong CheckedGConnect(gpointer source, const char* signal, GCallback callback,
- gpointer data, const int callback_param_count) {
- guint signal_id = 0;
- GQuark detail = 0;
-@@ -29,7 +29,7 @@ bool CheckedGConnect(gpointer source, const char* signal, GCallback
callback,
- if (!g_signal_parse_name(signal, G_OBJECT_TYPE(source), &signal_id, &detail,
- false)) {
- qFatal("Connecting to invalid signal: %s", signal);
-- return false;
-+ return 0;
- }
-
- GSignalQuery query;
-@@ -39,9 +39,8 @@ bool CheckedGConnect(gpointer source, const char* signal, GCallback
callback,
- int signal_params = query.n_params + 2;
- if (signal_params != callback_param_count) {
- qFatal("Connecting callback to signal with different parameters counts");
-- return false;
-+ return 0;
- }
-
-- g_signal_connect(source, signal, G_CALLBACK(callback), data);
-- return true;
-+ return g_signal_connect(source, signal, G_CALLBACK(callback), data);
- }
-diff --git a/src/core/signalchecker.h b/src/core/signalchecker.h
-index 75977e6f5..79b6b5364 100644
---- a/src/core/signalchecker.h
-+++ b/src/core/signalchecker.h
-@@ -25,14 +25,14 @@
- #include <boost/typeof/typeof.hpp>
-
- // Do not call this directly, use CHECKED_GCONNECT instead.
--bool CheckedGConnect(gpointer source, const char* signal, GCallback callback,
-- gpointer data, const int callback_param_count);
-+gulong CheckedGConnect(gpointer source, const char* signal, GCallback callback,
-+ gpointer data, const int callback_param_count);
-
- #define FUNCTION_ARITY(callback) \
- boost::function_types::function_arity<BOOST_TYPEOF(callback)>::value
-
- #define CHECKED_GCONNECT(source, signal, callback, data) \
- CheckedGConnect(source, signal, G_CALLBACK(callback), data, \
-- FUNCTION_ARITY(callback));
-+ FUNCTION_ARITY(callback))
-
- #endif // CORE_SIGNALCHECKER_H_
-diff --git a/src/devices/giolister.cpp b/src/devices/giolister.cpp
-index 1979f189c..d48cc4806 100644
---- a/src/devices/giolister.cpp
-+++ b/src/devices/giolister.cpp
-@@ -94,11 +94,19 @@ void GioLister::Init() {
- g_list_free(mounts);
-
- // Connect signals from the monitor
-- CHECKED_GCONNECT(monitor_, "volume-added", &VolumeAddedCallback, this);
-- CHECKED_GCONNECT(monitor_, "volume-removed", &VolumeRemovedCallback,
this);
-- CHECKED_GCONNECT(monitor_, "mount-added", &MountAddedCallback, this);
-- CHECKED_GCONNECT(monitor_, "mount-changed", &MountChangedCallback,
this);
-- CHECKED_GCONNECT(monitor_, "mount-removed", &MountRemovedCallback,
this);
-+ signals_.append(CHECKED_GCONNECT(monitor_, "volume-added",
&VolumeAddedCallback, this));
-+ signals_.append(CHECKED_GCONNECT(monitor_, "volume-removed",
&VolumeRemovedCallback, this));
-+ signals_.append(CHECKED_GCONNECT(monitor_, "mount-added",
&MountAddedCallback, this));
-+ signals_.append(CHECKED_GCONNECT(monitor_, "mount-changed",
&MountChangedCallback, this));
-+ signals_.append(CHECKED_GCONNECT(monitor_, "mount-removed",
&MountRemovedCallback, this));
-+}
-+
-+GioLister::~GioLister()
-+{
-+ foreach(gulong signal, signals_)
-+ {
-+ g_signal_handler_disconnect(monitor_, signal);
-+ }
- }
-
- QStringList GioLister::DeviceUniqueIDs() {
-diff --git a/src/devices/giolister.h b/src/devices/giolister.h
-index eafa69dc6..c01680bb2 100644
---- a/src/devices/giolister.h
-+++ b/src/devices/giolister.h
-@@ -36,6 +36,7 @@ class GioLister : public DeviceLister {
-
- public:
- GioLister() {}
-+ ~GioLister();
-
- int priority() const { return 50; }
-
-@@ -137,6 +138,7 @@ class GioLister : public DeviceLister {
-
- private:
- ScopedGObject<GVolumeMonitor> monitor_;
-+ QList<gulong> signals_;
-
- QMutex mutex_;
- QMap<QString, DeviceInfo> devices_;
-
-From 806e689d1d4a10ca4012ccfcc770dd7fe98b0107 Mon Sep 17 00:00:00 2001
-From: Valeriy <jazzvoid(a)gmail.com>
-Date: Wed, 11 May 2016 19:00:30 +0300
-Subject: [PATCH 2/3] replace foreach with range-based for
-
----
- src/devices/giolister.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/devices/giolister.cpp b/src/devices/giolister.cpp
-index d48cc4806..f1a776bc0 100644
---- a/src/devices/giolister.cpp
-+++ b/src/devices/giolister.cpp
-@@ -103,7 +103,7 @@ void GioLister::Init() {
-
- GioLister::~GioLister()
- {
-- foreach(gulong signal, signals_)
-+ for (gulong signal : signals_)
- {
- g_signal_handler_disconnect(monitor_, signal);
- }
-
-From cbc7092ed90a5bbf681afd7391cb06d4f2c4ae1e Mon Sep 17 00:00:00 2001
-From: Valeriy <jazzvoid(a)gmail.com>
-Date: Tue, 17 May 2016 14:47:02 +0300
-Subject: [PATCH 3/3] fix code style
-
----
- src/devices/giolister.cpp | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/devices/giolister.cpp b/src/devices/giolister.cpp
-index f1a776bc0..aa3bddb34 100644
---- a/src/devices/giolister.cpp
-+++ b/src/devices/giolister.cpp
-@@ -101,10 +101,8 @@ void GioLister::Init() {
- signals_.append(CHECKED_GCONNECT(monitor_, "mount-removed",
&MountRemovedCallback, this));
- }
-
--GioLister::~GioLister()
--{
-- for (gulong signal : signals_)
-- {
-+GioLister::~GioLister() {
-+ for (gulong signal : signals_) {
- g_signal_handler_disconnect(monitor_, signal);
- }
- }
diff --git a/clementine-lastscope-size.patch b/clementine-lastscope-size.patch
index c43941d..c3899e2 100644
--- a/clementine-lastscope-size.patch
+++ b/clementine-lastscope-size.patch
@@ -1,7 +1,7 @@
-diff -rupN
Clementine-1.3.1.org/src/analyzers/analyzerbase.cpp
Clementine-1.3.1/src/analyzers/analyzerbase.cpp
----
Clementine-1.3.1.org/src/analyzers/analyzerbase.cpp 2016-04-19 11:08:35.000000000
-0400
-+++ Clementine-1.3.1/src/analyzers/analyzerbase.cpp 2018-05-30 02:19:53.938791531 -0400
-@@ -106,6 +106,7 @@ void Analyzer::Base::paintEvent(QPaintEv
+diff -up
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/analyzers/analyzerbase.cpp.lastscope
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/analyzers/analyzerbase.cpp
+---
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/analyzers/analyzerbase.cpp.lastscope 2018-10-05
11:56:49.000000000 +0200
++++
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/analyzers/analyzerbase.cpp 2018-10-21
00:36:34.063123150 +0200
+@@ -107,6 +107,7 @@ void Analyzer::Base::paintEvent(QPaintEv
const Engine::Scope& thescope = engine_->scope(timeout_);
int i = 0;
diff --git a/clementine-moodbar_flags.patch b/clementine-moodbar_flags.patch
index 5eadfec..68ec0af 100644
--- a/clementine-moodbar_flags.patch
+++ b/clementine-moodbar_flags.patch
@@ -1,9 +1,8 @@
-diff --git a/gst/moodbar/CMakeLists.txt b/gst/moodbar/CMakeLists.txt
-index 44c1362..7ed5047 100644
---- a/gst/moodbar/CMakeLists.txt
-+++ b/gst/moodbar/CMakeLists.txt
+diff -up
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/gst/moodbar/CMakeLists.txt.moodbar
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/gst/moodbar/CMakeLists.txt
+---
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/gst/moodbar/CMakeLists.txt.moodbar 2018-10-05
11:56:49.000000000 +0200
++++
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/gst/moodbar/CMakeLists.txt 2018-10-21
00:36:54.065089023 +0200
@@ -1,7 +1,7 @@
- cmake_minimum_required(VERSION 2.6)
+ cmake_minimum_required(VERSION 2.8.11)
-set(CMAKE_C_FLAGS "-Wall")
-set(CMAKE_CXX_FLAGS "-Woverloaded-virtual -Wall --std=c++0x")
diff --git a/clementine-qt5-libraries.patch b/clementine-qt5-libraries.patch
new file mode 100644
index 0000000..d4d8e02
--- /dev/null
+++ b/clementine-qt5-libraries.patch
@@ -0,0 +1,53 @@
+diff -up Clementine-fb00835468295925a6945a286406a2eec6bdb67a/CMakeLists.txt.use_qt5
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/CMakeLists.txt
+--- Clementine-fb00835468295925a6945a286406a2eec6bdb67a/CMakeLists.txt.use_qt5 2018-10-05
11:56:49.000000000 +0200
++++ Clementine-fb00835468295925a6945a286406a2eec6bdb67a/CMakeLists.txt 2018-10-22
22:03:51.464382146 +0200
+@@ -329,9 +329,9 @@ include_directories("3rdparty/qsqlite")
+ # to system installed qtsingleapplication instead.
+ option(USE_SYSTEM_QTSINGLEAPPLICATION "Don't set this option unless your system
QtSingleApplication library has been compiled with the Clementine patches in
3rdparty" OFF)
+ if(USE_SYSTEM_QTSINGLEAPPLICATION)
+- find_path(QTSINGLEAPPLICATION_INCLUDE_DIRS qtsingleapplication.h PATH_SUFFIXES
QtSolutions)
+- find_library(QTSINGLEAPPLICATION_LIBRARIES QtSolutions_SingleApplication-2.6)
+- find_library(QTSINGLECOREAPPLICATION_LIBRARIES QtSolutions_SingleCoreApplication-2.6)
++ find_path(QTSINGLEAPPLICATION_INCLUDE_DIRS qtsingleapplication.h PATH_SUFFIXES
qt5/QtSolutions)
++ find_library(QTSINGLEAPPLICATION_LIBRARIES Qt5Solutions_SingleApplication-2.6)
++ find_library(QTSINGLECOREAPPLICATION_LIBRARIES
Qt5Solutions_SingleCoreApplication-2.6)
+ else(USE_SYSTEM_QTSINGLEAPPLICATION)
+ add_subdirectory(3rdparty/qtsingleapplication)
+ set(QTSINGLEAPPLICATION_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtsingleapplication)
+@@ -340,8 +340,8 @@ endif(USE_SYSTEM_QTSINGLEAPPLICATION)
+
+ # QtIoCompressor isn't patched, so we can use a system version if it's
+ # available
+-find_path(QTIOCOMPRESSOR_INCLUDE_DIRS qtiocompressor.h PATH_SUFFIXES QtSolutions)
+-find_library(QTIOCOMPRESSOR_LIBRARIES QtSolutions_IOCompressor-2.3)
++find_path(QTIOCOMPRESSOR_INCLUDE_DIRS qtiocompressor.h PATH_SUFFIXES qt5/QtSolutions)
++find_library(QTIOCOMPRESSOR_LIBRARIES Qt5Solutions_IOCompressor-2.3)
+ if(NOT QTIOCOMPRESSOR_INCLUDE_DIRS OR NOT QTIOCOMPRESSOR_LIBRARIES)
+ add_subdirectory(3rdparty/qtiocompressor)
+ set(QTIOCOMPRESSOR_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtiocompressor)
+@@ -352,11 +352,11 @@ endif(NOT QTIOCOMPRESSOR_INCLUDE_DIRS OR
+ # used to link to system installed qxt instead.
+ option(USE_SYSTEM_QXT "Don't set this option unless your system Qxt library has
been compiled with the Clementine patches in 3rdparty" OFF)
+ if (USE_SYSTEM_QXT)
+- find_path(QXTCORE_INCLUDE_DIRS qxtglobal.h PATH_SUFFIXES QxtCore)
+- find_path(QXTGUI_INCLUDE_DIRS qxtglobalshortcut.h PATH_SUFFIXES QxtGui)
++ find_path(QXTCORE_INCLUDE_DIRS qxtglobal.h PATH_SUFFIXES qt5/QxtCore)
++ find_path(QXTGUI_INCLUDE_DIRS qxtglobalshortcut.h PATH_SUFFIXES qt5/QxtWidgets)
+ set(QXT_INCLUDE_DIRS ${QXTCORE_INCLUDE_DIRS} ${QXTGUI_INCLUDE_DIRS})
+ # We only need its header. We don't need to link to QxtCore.
+- find_library(QXT_LIBRARIES QxtGui)
++ find_library(QXT_LIBRARIES QxtWidgets-qt5)
+ else (USE_SYSTEM_QXT)
+ add_definitions(-DQXT_STATIC -DBUILD_QXT_GUI -DBUILD_QXT_CORE)
+ set(QXT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qxt)
+diff -up Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt.use_qt5
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt
+---
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt.use_qt5 2018-10-05
11:56:49.000000000 +0200
++++ Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt 2018-10-22
22:03:25.260443980 +0200
+@@ -1238,6 +1238,7 @@ target_link_libraries(clementine_lib
+ ${GSTREAMER_TAG_LIBRARIES}
+ ${GSTREAMER_PBUTILS_LIBRARIES}
+ ${QTSINGLEAPPLICATION_LIBRARIES}
++ ${QTSINGLECOREAPPLICATION_LIBRARIES}
+ ${QTIOCOMPRESSOR_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${SQLITE_LIBRARIES}
diff --git a/clementine-spotify-search.patch b/clementine-spotify-search.patch
deleted file mode 100644
index 8281861..0000000
--- a/clementine-spotify-search.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-diff -rupN
Clementine-1.3.1.org/src/internet/spotify/spotifyservice.cpp
Clementine-1.3.1/src/internet/spotify/spotifyservice.cpp
----
Clementine-1.3.1.org/src/internet/spotify/spotifyservice.cpp 2016-04-19
11:08:35.000000000 -0400
-+++ Clementine-1.3.1/src/internet/spotify/spotifyservice.cpp 2018-01-31
21:48:24.217576170 -0500
-@@ -125,7 +125,7 @@ SpotifyService::~SpotifyService() {
- }
-
- QStandardItem* SpotifyService::CreateRootItem() {
-- root_ = new QStandardItem(IconLoader::Load("spotify", IconLoader::Provider),
-+ root_ = new QStandardItem(IconLoader::Load("spotify",
IconLoader::Provider),
- kServiceName);
- root_->setData(true, InternetModel::Role_CanLazyLoad);
- return root_;
-@@ -395,6 +395,42 @@ void SpotifyService::AddSongsToStarred(c
- server_->AddSongsToStarred(songs_urls);
- }
-
-+void SpotifyService::InitSearch() {
-+ search_ = new QStandardItem(IconLoader::Load("edit-find",
IconLoader::Base),
-+ tr("Search results"));
-+ search_->setToolTip(
-+ tr("Start typing something on the search box above to "
-+ "fill this search results list"));
-+ search_->setData(Type_SearchResults, InternetModel::Role_Type);
-+ search_->setData(InternetModel::PlayBehaviour_MultipleItems,
-+ InternetModel::Role_PlayBehaviour);
-+
-+ starred_ = new QStandardItem(QIcon(":/star-on.png"),
tr("Starred"));
-+ starred_->setData(Type_StarredPlaylist, InternetModel::Role_Type);
-+ starred_->setData(true, InternetModel::Role_CanLazyLoad);
-+ starred_->setData(InternetModel::PlayBehaviour_MultipleItems,
-+ InternetModel::Role_PlayBehaviour);
-+ starred_->setData(true, InternetModel::Role_CanBeModified);
-+
-+ inbox_ = new QStandardItem(IconLoader::Load("mail-message",
IconLoader::Base),
-+ tr("Inbox"));
-+ inbox_->setData(Type_InboxPlaylist, InternetModel::Role_Type);
-+ inbox_->setData(true, InternetModel::Role_CanLazyLoad);
-+ inbox_->setData(InternetModel::PlayBehaviour_MultipleItems,
-+ InternetModel::Role_PlayBehaviour);
-+
-+ toplist_ = new QStandardItem(QIcon(), tr("Top tracks"));
-+ toplist_->setData(Type_Toplist, InternetModel::Role_Type);
-+ toplist_->setData(true, InternetModel::Role_CanLazyLoad);
-+ toplist_->setData(InternetModel::PlayBehaviour_MultipleItems,
-+ InternetModel::Role_PlayBehaviour);
-+
-+ root_->appendRow(search_);
-+ root_->appendRow(toplist_);
-+ root_->appendRow(starred_);
-+ root_->appendRow(inbox_);
-+}
-+
- void SpotifyService::PlaylistsUpdated(const pb::spotify::Playlists& response) {
- if (login_task_id_) {
- app_->task_manager()->SetTaskFinished(login_task_id_);
-@@ -403,40 +439,7 @@ void SpotifyService::PlaylistsUpdated(co
-
- // Create starred and inbox playlists if they're not here already
- if (!search_) {
-- search_ =
-- new QStandardItem(IconLoader::Load("edit-find", IconLoader::Base),
-- tr("Search results"));
-- search_->setToolTip(
-- tr("Start typing something on the search box above to "
-- "fill this search results list"));
-- search_->setData(Type_SearchResults, InternetModel::Role_Type);
-- search_->setData(InternetModel::PlayBehaviour_MultipleItems,
-- InternetModel::Role_PlayBehaviour);
--
-- starred_ = new QStandardItem(QIcon(":/star-on.png"),
tr("Starred"));
-- starred_->setData(Type_StarredPlaylist, InternetModel::Role_Type);
-- starred_->setData(true, InternetModel::Role_CanLazyLoad);
-- starred_->setData(InternetModel::PlayBehaviour_MultipleItems,
-- InternetModel::Role_PlayBehaviour);
-- starred_->setData(true, InternetModel::Role_CanBeModified);
--
-- inbox_ = new QStandardItem(IconLoader::Load("mail-message",
-- IconLoader::Base), tr("Inbox"));
-- inbox_->setData(Type_InboxPlaylist, InternetModel::Role_Type);
-- inbox_->setData(true, InternetModel::Role_CanLazyLoad);
-- inbox_->setData(InternetModel::PlayBehaviour_MultipleItems,
-- InternetModel::Role_PlayBehaviour);
--
-- toplist_ = new QStandardItem(QIcon(), tr("Top tracks"));
-- toplist_->setData(Type_Toplist, InternetModel::Role_Type);
-- toplist_->setData(true, InternetModel::Role_CanLazyLoad);
-- toplist_->setData(InternetModel::PlayBehaviour_MultipleItems,
-- InternetModel::Role_PlayBehaviour);
--
-- root_->appendRow(search_);
-- root_->appendRow(toplist_);
-- root_->appendRow(starred_);
-- root_->appendRow(inbox_);
-+ InitSearch();
- } else {
- // Always reset starred playlist
- // TODO: might be improved by including starred playlist in the response,
-@@ -616,9 +619,9 @@ QList<QAction*> SpotifyService::playlist
- playlistitem_actions_.append(add_to_starred);
-
- // Create a menu with 'add to playlist' actions for each Spotify playlist
-- QAction* add_to_playlists = new QAction(IconLoader::Load("list-add",
-- IconLoader::Base),
-- tr("Add to Spotify playlists"),
this);
-+ QAction* add_to_playlists =
-+ new QAction(IconLoader::Load("list-add", IconLoader::Base),
-+ tr("Add to Spotify playlists"), this);
- QMenu* playlists_menu = new QMenu();
- for (const QStandardItem* playlist_item : playlists_) {
- if (!playlist_item->data(InternetModel::Role_CanBeModified).toBool()) {
-@@ -663,7 +666,7 @@ void SpotifyService::EnsureMenuCreated()
- playlist_context_menu_->addActions(GetPlaylistActions());
- playlist_context_menu_->addSeparator();
- playlist_sync_action_ = playlist_context_menu_->addAction(
-- IconLoader::Load("view-refresh", IconLoader::Base),
-+ IconLoader::Load("view-refresh", IconLoader::Base),
- tr("Make playlist available offline"), this, SLOT(SyncPlaylist()));
- get_url_to_share_playlist_ = playlist_context_menu_->addAction(
- tr("Get a URL to share this playlist"), this,
-@@ -675,9 +678,8 @@ void SpotifyService::EnsureMenuCreated()
- song_context_menu_->addActions(GetPlaylistActions());
- song_context_menu_->addSeparator();
- remove_from_playlist_ = song_context_menu_->addAction(
-- IconLoader::Load("list-remove", IconLoader::Base),
-- tr("Remove from playlist"), this,
-- SLOT(RemoveCurrentFromPlaylist()));
-+ IconLoader::Load("list-remove", IconLoader::Base),
-+ tr("Remove from playlist"), this, SLOT(RemoveCurrentFromPlaylist()));
- song_context_menu_->addAction(tr("Get a URL to share this Spotify
song"),
- this, SLOT(GetCurrentSongUrlToShare()));
- song_context_menu_->addSeparator();
-@@ -763,6 +765,10 @@ void SpotifyService::SearchResults(
-
- ClearSearchResults();
-
-+ // Must initialize search pointer if it is nullptr
-+ if (!search_) {
-+ InitSearch();
-+ }
- // Fill results list
- for (const Song& song : songs) {
- QStandardItem* child = CreateSongItem(song);
-@@ -846,10 +852,10 @@ void SpotifyService::ItemDoubleClicked(Q
-
- void SpotifyService::DropMimeData(const QMimeData* data,
- const QModelIndex& index) {
--
- QModelIndex playlist_root_index = index;
- QVariant q_playlist_type = playlist_root_index.data(InternetModel::Role_Type);
-- if (!q_playlist_type.isValid() || q_playlist_type.toInt() ==
InternetModel::Type_Track) {
-+ if (!q_playlist_type.isValid() ||
-+ q_playlist_type.toInt() == InternetModel::Type_Track) {
- // In case song was dropped on a playlist item, not on the playlist
- // title/root element
- playlist_root_index = index.parent();
-@@ -862,7 +868,8 @@ void SpotifyService::DropMimeData(const
- if (playlist_type == Type_StarredPlaylist) {
- AddSongsToStarred(data->urls());
- } else if (playlist_type == InternetModel::Type_UserPlaylist) {
-- QVariant q_playlist_index = playlist_root_index.data(Role_UserPlaylistIndex);
-+ QVariant q_playlist_index =
-+ playlist_root_index.data(Role_UserPlaylistIndex);
- if (!q_playlist_index.isValid()) return;
- AddSongsToUserPlaylist(q_playlist_index.toInt(), data->urls());
- }
-@@ -914,8 +921,7 @@ void SpotifyService::SyncPlaylistProgres
- }
-
- QAction* SpotifyService::GetNewShowConfigAction() {
-- QAction* action = new QAction(IconLoader::Load("configure",
-- IconLoader::Base),
-+ QAction* action = new QAction(IconLoader::Load("configure",
IconLoader::Base),
- tr("Configure Spotify..."), this);
- connect(action, SIGNAL(triggered()), this, SLOT(ShowConfig()));
- return action;
-diff -rupN
Clementine-1.3.1.org/src/internet/spotify/spotifyservice.h
Clementine-1.3.1/src/internet/spotify/spotifyservice.h
----
Clementine-1.3.1.org/src/internet/spotify/spotifyservice.h 2016-04-19
11:08:35.000000000 -0400
-+++ Clementine-1.3.1/src/internet/spotify/spotifyservice.h 2018-01-31 21:32:25.479822057
-0500
-@@ -120,8 +120,8 @@ signals:
- // the pointer (or adding it to menu or anything else that will take ownership
- // of it)
- QAction* GetNewShowConfigAction();
-+ void InitSearch();
- void ClearSearchResults();
--
- QStandardItem* PlaylistBySpotifyIndex(int index) const;
- bool DoPlaylistsDiffer(const pb::spotify::Playlists& response) const;
-
diff --git a/clementine-sqlite-fts3-tokinizers-support.patch
b/clementine-sqlite-fts3-tokinizers-support.patch
deleted file mode 100644
index e268785..0000000
--- a/clementine-sqlite-fts3-tokinizers-support.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/core/database.cpp b/src/core/database.cpp
-index 86e8a10..dd60d2d 100644
---- a/src/core/database.cpp
-+++ b/src/core/database.cpp
-@@ -263,8 +263,17 @@ QSqlDatabase Database::Connect() {
-
- // Find Sqlite3 functions in the Qt plugin.
- StaticInit();
--
- {
-+#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
-+ QVariant v = db.driver()->handle();
-+ if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) {
-+ sqlite3* handle = *static_cast<sqlite3**>(v.data());
-+ if (handle) {
-+ sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL);
-+ }
-+ }
-+#endif
-+
- QSqlQuery set_fts_tokenizer("SELECT fts3_tokenizer(:name, :pointer)",
db);
- set_fts_tokenizer.bindValue(":name", "unicode");
- set_fts_tokenizer.bindValue(
diff --git a/clementine-udisks-headers.patch b/clementine-udisks-headers.patch
index 95ccd35..e148d79 100644
--- a/clementine-udisks-headers.patch
+++ b/clementine-udisks-headers.patch
@@ -1,8 +1,7 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index afe58b9..a8c6773 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -953,6 +953,8 @@ if(HAVE_DBUS)
+diff -up Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt.udisks
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt
+---
Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt.udisks 2018-10-05
11:56:49.000000000 +0200
++++ Clementine-fb00835468295925a6945a286406a2eec6bdb67a/src/CMakeLists.txt 2018-10-21
00:36:08.950165997 +0200
+@@ -946,6 +946,8 @@ if(HAVE_DBUS)
list(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/dbus/avahientrygroup.h)
list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dbus/avahientrygroup.cpp)
diff --git a/clementine.spec b/clementine.spec
index 52d9fcd..d11c7d4 100644
--- a/clementine.spec
+++ b/clementine.spec
@@ -1,139 +1,111 @@
-# global pre_release rc1
+%global commit fb00835468295925a6945a286406a2eec6bdb67a
+%global snapshotdate 20181020
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: clementine
Version: 1.3.1
-Release: 29%{?dist}
+Release: 30.%{snapshotdate}git%{shortcommit}%{?dist}
Summary: A music player and library organizer
-Group: Applications/Multimedia
License: GPLv3+ and GPLv2+
URL:
https://www.clementine-player.org/
-Source0:
https://github.com/clementine-player/Clementine/archive/%{version}/%{name...
-
-# fix search under Internet tab with spotify
-#
https://github.com/clementine-player/Clementine/pull/5682
-Patch0: clementine-spotify-search.patch
-
-Patch1: clementine-sqlite-fts3-tokinizers-support.patch
-
-#
https://github.com/clementine-player/Clementine/pull/5375
-Patch2: clementine-gvolumemonitor.patch
-
-# Build against newer cryptopp
-#
https://github.com/clementine-player/Clementine/commit/38c1f8777
-Patch3: clementine-38c1f8777.patch
+Source0:
https://github.com/clementine-player/Clementine/archive/%{commit}/%{name}...
Patch4: clementine-udisks-headers.patch
-
# Workaround for crash RHBZ#1566807
# Upstream:
https://github.com/clementine-player/Clementine/issues/6042
# until we have a better fix...
Patch5: clementine-lastscope-size.patch
-
# fix compiler flag handling in gst/moodbar, upstreamable --rex
Patch6: clementine-moodbar_flags.patch
+# Use qt5 libraries (upstremed except qtiocompressor)
+Patch11: clementine-qt5-libraries.patch
+# Fix Appdata install directory (upstreamed)
+Patch12: clementine-fix_appdata_install_dir.patch
-#
https://github.com/clementine-player/Clementine/pull/5630
-Patch7: clementine-functional-header.patch
-
-#
https://github.com/clementine-player/Clementine/pull/5511
-Patch8: clementine-cpu.patch
-
-# chromaprint >= 1.4 support
-#
https://github.com/clementine-player/Clementine/commit/ded31268
-Patch9: clementine-chromaprint14.patch
-
-# Disable systray on Gnome. It prevents Clementine from starting RHBZ#1517748
-Patch10: clementine-disable-systray-gnome.patch
-
+BuildConflicts: pkgconfig(gmock) >= 1.6
+BuildConflicts: pkgconfig(gtest)
BuildRequires: boost-devel
BuildRequires: cmake
-BuildRequires: cryptopp-devel
BuildRequires: desktop-file-utils
-BuildRequires: fftw-devel
+BuildRequires: gcc-c++
BuildRequires: gettext
-BuildConflicts: gmock-devel >= 1.6
-%if 0%{?fedora} && 0%{?fedora} < 20
-BuildRequires: gmock-devel
-%endif
-BuildRequires: gstreamer1-devel
-BuildRequires: gstreamer1-plugins-base-devel
-BuildRequires: gtest-devel
-BuildRequires: libcdio-devel
-BuildRequires: libchromaprint-devel
-BuildRequires: libechonest-devel
-%ifnarch s390 s390x
-BuildRequires: libgpod-devel
-BuildRequires: libimobiledevice-devel
-%endif
-BuildRequires: liblastfm-devel
-BuildRequires: libmtp-devel
-BuildRequires: libmygpo-qt-devel
-BuildRequires: libnotify-devel
-BuildRequires: libplist-devel
-BuildRequires: libprojectM-devel >= 2.0.1-7
-BuildRequires: libqxt-devel
-BuildRequires: libxml2-devel
-BuildRequires: protobuf-devel
-BuildRequires: pkgconfig(qca2)
-BuildRequires: qt4-devel
-BuildRequires: qjson-devel
+BuildRequires: libappstream-glib
+BuildRequires: liblastfm-qt5-devel
+BuildRequires: pkgconfig(alsa)
+BuildRequires: pkgconfig(cryptopp)
+BuildRequires: pkgconfig(dbus-1)
+BuildRequires: pkgconfig(fftw3)
+BuildRequires: pkgconfig(gio-2.0)
+BuildRequires: pkgconfig(gio-unix-2.0)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(glu)
+BuildRequires: pkgconfig(gstreamer-1.0)
+BuildRequires: pkgconfig(gstreamer-app-1.0)
+BuildRequires: pkgconfig(gstreamer-audio-1.0)
+BuildRequires: pkgconfig(gstreamer-base-1.0)
+BuildRequires: pkgconfig(gstreamer-tag-1.0)
+BuildRequires: pkgconfig(gthread-2.0)
+BuildRequires: pkgconfig(libcdio)
+BuildRequires: pkgconfig(libchromaprint)
+BuildRequires: pkgconfig(libmtp)
+BuildRequires: pkgconfig(libmygpo-qt5)
+BuildRequires: pkgconfig(libnotify)
+BuildRequires: pkgconfig(libplist)
+BuildRequires: pkgconfig(libprojectM) >= 2.0.1-7
+BuildRequires: pkgconfig(libpulse)
+BuildRequires: pkgconfig(libsparsehash)
+BuildRequires: pkgconfig(libudf)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(protobuf)
+BuildRequires: pkgconfig(qca2-qt5)
+BuildRequires: pkgconfig(Qt5Concurrent)
+BuildRequires: pkgconfig(Qt5Core)
+BuildRequires: pkgconfig(Qt5DBus)
+BuildRequires: pkgconfig(Qt5Gui)
+BuildRequires: pkgconfig(Qt5Network)
+BuildRequires: pkgconfig(Qt5OpenGL)
+BuildRequires: pkgconfig(Qt5Sql)
+BuildRequires: pkgconfig(Qt5Widgets)
+BuildRequires: pkgconfig(Qt5X11Extras)
+BuildRequires: pkgconfig(Qt5Xml)
+BuildRequires: pkgconfig(QxtCore-qt5)
+BuildRequires: pkgconfig(sqlite3) >= 3.7
+BuildRequires: pkgconfig(taglib) >= 1.11
+BuildRequires: pkgconfig(udisks)
+BuildRequires: qt5-linguist
BuildRequires: qtiocompressor-devel
-BuildRequires: qtsinglecoreapplication-devel
-BuildRequires: qtsingleapplication-devel >= 2.6.1-2
+BuildRequires: qtsingleapplication-qt5-devel >= 2.6.1-2
+BuildRequires: qtsinglecoreapplication-qt5-devel
BuildRequires: sha2-devel
-BuildRequires: sparsehash-devel
-BuildRequires: sqlite-devel
-BuildRequires: taglib-devel >= 1.8
-BuildRequires: udisks-devel
-# %%check
-BuildRequires: dbus-x11
-BuildRequires: xorg-x11-server-Xvfb
-BuildRequires: xorg-x11-xauth
+%ifnarch s390 s390x
+BuildRequires: pkgconfig(libgpod-1.0)
+BuildRequires: pkgconfig(libimobiledevice-1.0)
+%endif
Requires: gstreamer1-plugins-good
Requires: hicolor-icon-theme
-Requires: qca-ossl%{?_isa}
+Requires: qca-qt5-ossl%{?_isa}
+Requires: qtiocompressor >= 2.3.1-17
%description
Clementine is a multi-platform music player. It is inspired by Amarok 1.4,
focusing on a fast and easy-to-use interface for searching and playing your
music.
+
%prep
-%setup -qn Clementine-%{version}
-
-%patch0 -p1 -b .spotify-search
-%patch1 -p1 -b .sqlite-fts3-tokinizers-support
-%patch2 -p1 -b .gvolumemonitor
-%patch3 -p1 -b .cryptopp
-%patch4 -p1 -b .udisks-headers
-%patch5 -p1 -b .lastscope_size
-%patch6 -p1 -b .moodbar_flags
-%patch7 -p1 -b .functional-header
-%patch8 -p1 -b .cpu
-%patch9 -p1 -b .chromaprint14compat
-%patch10 -p1 -b .gnome-nosystray
+%autosetup -p1 -n Clementine-%{commit}
# Remove most 3rdparty libraries
-mv 3rdparty/{gmock,qocoa,qsqlite,sha2,libmygpo-qt,vreen}/ .
+# Unbundle taglib next release:
+#
https://github.com/taglib/taglib/issues/837#issuecomment-428389347
+mv 3rdparty/{gmock,qocoa,qsqlite,taglib,utf8-cpp}/ .
rm -fr 3rdparty/*
-mv {gmock,qocoa,qsqlite,sha2,libmygpo-qt,vreen}/ 3rdparty/
-
-# Can't run all the unit tests
-# songloader requires internet connection
-for test in songloader; do
- sed -i -e "/${test}_test/d" tests/CMakeLists.txt
-done
+mv {gmock,qocoa,qsqlite,taglib,utf8-cpp}/ 3rdparty/
%build
-
-%if 0%{?fedora} > 27
-# workaround FTBFS
-export CXXFLAGS="%{optflags} -fpermissive"
-%endif
-
mkdir %{_target_platform}
pushd %{_target_platform}
%{cmake} \
@@ -154,10 +126,7 @@ make install DESTDIR=%{buildroot} -C %{_target_platform}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/clementine.desktop
-pushd %{_target_platform}
-# Run a fake X session since some tests check for X, tests still fail sometimes
-xvfb-run -a dbus-launch --exit-with-session make test ||:
-popd
+appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/clementine.appdata.xml
%files
@@ -165,15 +134,16 @@ popd
%doc Changelog
%{_bindir}/clementine
%{_bindir}/clementine-tagreader
-%{_datadir}/appdata/clementine.appdata.xml
+%{_metainfodir}/clementine.appdata.xml
%{_datadir}/applications/clementine.desktop
%{_datadir}/icons/hicolor/*/apps/clementine.*
-%{_datadir}/kde4/services/clementine-feed.protocol
-%{_datadir}/kde4/services/clementine-itms.protocol
-%{_datadir}/kde4/services/clementine-itpc.protocol
-%{_datadir}/kde4/services/clementine-zune.protocol
+%{_datadir}/kservices5/clementine-*.protocol
+
%changelog
+* Sat Oct 20 2018 Robert-Andr Mauchin <zebob.m(a)gmail.com> -
1.3.1-30.20181020gitfb0083
+- Bump to qt5 branch. commit fb00835468295925a6945a286406a2eec6bdb67a
+
* Thu Oct 18 2018 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> 1.3.1-29
- Fix a crash on a system that doesn't define XDG_CURRENT_DESKTOP. RHBZ#1639901
diff --git a/sources b/sources
index 53090ed..54cd9ad 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-04ce1c102841282e620d4caae2a897a2 clementine-1.3.1.tar.gz
+SHA512 (clementine-fb00835.tar.gz) =
a6be0420cc2eaaa60181b693fbc393fd6eb108e812c7ad11e52e5206da73b6e4653f47a4feef95e8ee6d94bdbc6e9105e6a48fc76ce9cd651267d40e1b03a966