Hello community, here is the log from the commit of package clementine for openSUSE:Factory checked in at 2019-01-21 10:52:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clementine (Old) and /work/SRC/openSUSE:Factory/.clementine.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clementine" Mon Jan 21 10:52:18 2019 rev:46 rq:665660 version:1.3.1+git20181203 Changes: -------- --- /work/SRC/openSUSE:Factory/clementine/clementine.changes 2019-01-05 14:41:35.820519014 +0100 +++ /work/SRC/openSUSE:Factory/.clementine.new.28833/clementine.changes 2019-01-21 10:52:20.035875158 +0100 @@ -1,0 +2,14 @@ +Sun Jan 13 16:13:20 UTC 2019 - Jonas Kvinge <[email protected]> + +- Update summary and description +- Remove clementine-lastscope-size.patch, this bug is already fixed + upstream by me, and this patch does not apply cleanly. +- Add clementine-gsd-dbus-shortcuts.patch to fix global shortcuts + using Gnome (GSD) D-Bus backend +- Add needed alsa dependency +- Remove unneeded libechonest dependency +- Replace non-existent USE_BUILTIN_TAGLIB with USE_SYSTEM_TAGLIB + option +- Remove unneeded taglib and SPMediaKeyTap directory + +------------------------------------------------------------------- Old: ---- clementine-lastscope-size.patch New: ---- clementine-gsd-dbus-shortcuts.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clementine.spec ++++++ --- /var/tmp/diff_new_pack.YTUxSS/_old 2019-01-21 10:52:22.611872037 +0100 +++ /var/tmp/diff_new_pack.YTUxSS/_new 2019-01-21 10:52:22.615872032 +0100 @@ -1,7 +1,7 @@ # # spec file for package clementine # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -30,7 +30,7 @@ Name: clementine Version: 1.3.1+git20181203 Release: 0 -Summary: A music player derived from Amarok 1.4 +Summary: A music player inspired by Amarok 1.4 License: GPL-3.0-or-later Group: Productivity/Multimedia/Sound/Players Url: https://clementine-player.org/ @@ -41,14 +41,16 @@ %endif # PATCH-FEATURE-UPSTREAM uudisks2-support-for-devicemanager.patch Patch1: clementine-udisks-headers.patch -# PATCH-FIX-FEDORA clementine-lastscope-size.patch -Patch2: clementine-lastscope-size.patch # Patch fix factory build, add -fPIC to moodbar build -Patch3: clementine-moodbar-fpic.patch +Patch2: clementine-moodbar-fpic.patch # PATCH-FIX-UPSTREAM clementine-gcc7fix.patch [email protected] -- add <funtional> to includes. -Patch4: clementine-gcc7fix.patch +Patch3: clementine-gcc7fix.patch # PATCH-FIX-OPENSUSE clementine-hidden-systray-icon.patch [email protected] -- sys tray icon is hidden on some plasma5 systems. -Patch6: clementine-hidden-systray-icon.patch +Patch4: clementine-hidden-systray-icon.patch +# Fix global shortcuts using Gnome (GSD) D-Bus backend +# https://github.com/clementine-player/Clementine/commit/681f986f0fc87847c18d44b76c75f3c08cca0247.patch +Patch5: clementine-gsd-dbus-shortcuts.patch + %if 0%{?suse_version} > 1325 BuildRequires: libboost_headers-devel %else @@ -88,6 +90,7 @@ BuildRequires: pkgconfig(QtGui) BuildRequires: pkgconfig(QtSql) %endif +BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(cryptopp) BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(gio-2.0) @@ -100,7 +103,6 @@ BuildRequires: pkgconfig(gstreamer-tag-1.0) BuildRequires: pkgconfig(libcdio) BuildRequires: pkgconfig(libchromaprint) -BuildRequires: pkgconfig(libechonest) BuildRequires: pkgconfig(libgpod-1.0) BuildRequires: pkgconfig(libmtp) BuildRequires: pkgconfig(libnotify) @@ -122,39 +124,52 @@ %description Clementine is a music player and library organiser. +It is inspired by Amarok 1.4, focusing on a fast and easy-to-use +interface for searching and playing your music. Features: + * Search and play your local music library. - * Listen to internet radio from Last.FM and SomaFM. - * Edit tags on MP3 and OGG files, organise your music. + * Play audio CDs. + * Edit tags on audio files and organise your music. * Native desktop notifications. + * Tabbed playlists, import and export M3U, XSPF, PLS and ASX. + * Create smart playlists and dynamic playlists. + * Download missing album cover art from Last.fm, MusicBrainz and Discogs. + * Lyrics and artist biographies and photos. + * Copy music to your iPod, iPhone, MTP or mass-storage USB player. + * Queue manager. + * Search and play songs you've uploaded to Box, Dropbox, Google Drive, and OneDrive + * Listen to internet radio from Spotify, Grooveshark, SomaFM, Magnatune, Jamendo, + SKY.fm, Digitally Imported, JAZZRADIO.com, Icecast and Subsonic servers. %prep %if %{without git} %setup -q %else %setup -q -n Clementine-%{rev} -rm -rvf 3rdparty/libmygpo-qt5 %endif -%patch3 -%patch4 %patch1 %patch2 -%patch6 +%patch3 +%patch4 +%patch5 -p1 # NOTE: Build using system versions of libraries. -#rm -rvf 3rdparty/taglib -#rm -rvf 3rdparty/libmygpo-qt5 -#rm -rvf 3rdparty/sha2 +rm -rvf 3rdparty/taglib +rm -rvf 3rdparty/SPMediaKeyTap %build export CFLAGS="%{optflags} -fno-strict-aliasing" export CXXFLAGS="$CFLAGS" %cmake \ -DBUILD_WERROR=OFF \ - -DUSE_BUILTIN_TAGLIB=OFF \ + -DUSE_SYSTEM_QTSINGLEAPPLICATION=OFF \ + -DUSE_SYSTEM_TAGLIB=ON \ -DUSE_SYSTEM_PROJECTM=ON \ -DBUNDLE_PROJECTM_PRESETS=OFF \ -%if %{without qt5} +%if %{with qt5} + -DUSE_SYSTEM_QXT=OFF \ +%else -DUSE_SYSTEM_QXT=ON \ %endif -DENABLE_MOODBAR=ON \ ++++++ clementine-gsd-dbus-shortcuts.patch ++++++ >From 681f986f0fc87847c18d44b76c75f3c08cca0247 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge <[email protected]> Date: Wed, 9 Jan 2019 05:11:28 +0100 Subject: [PATCH] Fix global shortcuts using GSD D-Bus backend (#6251) --- src/core/globalshortcuts.cpp | 4 +++- src/core/gnomeglobalshortcutbackend.cpp | 26 ++++++++++++++++--------- src/core/gnomeglobalshortcutbackend.h | 2 +- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/core/globalshortcuts.cpp b/src/core/globalshortcuts.cpp index 8aa7860dc..633fdc8a1 100644 --- a/src/core/globalshortcuts.cpp +++ b/src/core/globalshortcuts.cpp @@ -150,7 +150,9 @@ GlobalShortcuts::Shortcut GlobalShortcuts::AddShortcut( bool GlobalShortcuts::IsGsdAvailable() const { #ifdef HAVE_DBUS return QDBusConnection::sessionBus().interface()->isServiceRegistered( - GnomeGlobalShortcutBackend::kGsdService); + GnomeGlobalShortcutBackend::kGsdService) || + QDBusConnection::sessionBus().interface()->isServiceRegistered( + GnomeGlobalShortcutBackend::kGsdService2); #else // HAVE_DBUS return false; #endif diff --git a/src/core/gnomeglobalshortcutbackend.cpp b/src/core/gnomeglobalshortcutbackend.cpp index a0205cc9f..ffc82aeff 100644 --- a/src/core/gnomeglobalshortcutbackend.cpp +++ b/src/core/gnomeglobalshortcutbackend.cpp @@ -37,11 +37,11 @@ #endif const char* GnomeGlobalShortcutBackend::kGsdService = + "org.gnome.SettingsDaemon.MediaKeys"; +const char* GnomeGlobalShortcutBackend::kGsdService2 = "org.gnome.SettingsDaemon"; const char* GnomeGlobalShortcutBackend::kGsdPath = "/org/gnome/SettingsDaemon/MediaKeys"; -const char* GnomeGlobalShortcutBackend::kGsdInterface = - "org.gnome.SettingsDaemon.MediaKeys"; GnomeGlobalShortcutBackend::GnomeGlobalShortcutBackend(GlobalShortcuts* parent) : GlobalShortcutBackend(parent), @@ -50,17 +50,25 @@ GnomeGlobalShortcutBackend::GnomeGlobalShortcutBackend(GlobalShortcuts* parent) bool GnomeGlobalShortcutBackend::DoRegister() { #ifdef HAVE_DBUS + qLog(Debug) << "registering"; - // Check if the GSD service is available - if (!QDBusConnection::sessionBus().interface()->isServiceRegistered( - kGsdService)) { - qLog(Warning) << "gnome settings daemon not registered"; - return false; + + if (!interface_) { + // Check if the GSD service is available + if (QDBusConnection::sessionBus().interface()->isServiceRegistered( + kGsdService)) { + interface_ = new OrgGnomeSettingsDaemonMediaKeysInterface( + kGsdService, kGsdPath, QDBusConnection::sessionBus(), this); + } else if (QDBusConnection::sessionBus().interface()->isServiceRegistered( + kGsdService2)) { + interface_ = new OrgGnomeSettingsDaemonMediaKeysInterface( + kGsdService2, kGsdPath, QDBusConnection::sessionBus(), this); + } } if (!interface_) { - interface_ = new OrgGnomeSettingsDaemonMediaKeysInterface( - kGsdService, kGsdPath, QDBusConnection::sessionBus(), this); + qLog(Warning) << "gnome settings daemon not registered"; + return false; } QDBusPendingReply<> reply = diff --git a/src/core/gnomeglobalshortcutbackend.h b/src/core/gnomeglobalshortcutbackend.h index 3529d5866..ba19db45a 100644 --- a/src/core/gnomeglobalshortcutbackend.h +++ b/src/core/gnomeglobalshortcutbackend.h @@ -33,8 +33,8 @@ class GnomeGlobalShortcutBackend : public GlobalShortcutBackend { explicit GnomeGlobalShortcutBackend(GlobalShortcuts* parent); static const char* kGsdService; + static const char* kGsdService2; static const char* kGsdPath; - static const char* kGsdInterface; protected: bool RegisterInNewThread() const { return true; }
