diff options
Diffstat (limited to 'libre/clementine')
-rw-r--r-- | libre/clementine/PKGBUILD | 89 | ||||
-rw-r--r-- | libre/clementine/clementine.install | 15 | ||||
-rw-r--r-- | libre/clementine/moognu.png | bin | 0 -> 610 bytes | |||
-rw-r--r-- | libre/clementine/remove-nonfree-artwork-and-spotify.patch | 655 | ||||
-rw-r--r-- | libre/clementine/udisks-namespace.patch | 38 |
5 files changed, 797 insertions, 0 deletions
diff --git a/libre/clementine/PKGBUILD b/libre/clementine/PKGBUILD new file mode 100644 index 000000000..cfa05ad10 --- /dev/null +++ b/libre/clementine/PKGBUILD @@ -0,0 +1,89 @@ +# $Id: PKGBUILD 117584 2014-08-18 23:42:44Z alucryd $ +# Maintainer (Arch): Maxime Gauduin <alucryd@gmail.com> +# Contributor (Arch): Stéphane Gaudreault <stephane@archlinux.org> +# Contributor (Arch): BlackEagle <ike.devolder@gmail.com> +# Contributor (Arch): Dany Martineau <dany.luc.martineau@gmail.com> +# Maintainer: André Silva <emulatorman@parabola.nu> +# Contributor: Kete <kete@ninthfloor.org> +# Contributor: Márcio Silva <coadde@parabola.nu> + +pkgname=clementine +_pkgname=$pkgname-libre +pkgver=1.2.3 +pkgrel=2.parabola1 +pkgdesc='A modern music player and library organizer, without nonfree artwork and Spotify support' +url="http://www.$pkgname-player.org/" +license=('GPL') +arch=('i686' 'x86_64' 'mips64el') +replaces=("$_pkgname") +conflicts=("$_pkgname") +depends=('chromaprint' 'glew' 'gstreamer0.10-base' 'libcdio' 'libgpod' 'liblastfm' 'libmtp' 'libmygpo-qt' 'protobuf' 'qca-ossl' 'taglib') +makedepends=('cmake' 'boost' 'mesa' 'sparsehash') +optdepends=('gstreamer0.10-base-plugins: "Base" plugin libraries' + 'gstreamer0.10-good-plugins: "Good" plugin libraries' + 'gstreamer0.10-bad-plugins: "Bad" plugin libraries' + 'gstreamer0.10-ugly-plugins: "Ugly" plugin libraries' + 'gvfs: Various devices support') +install="${pkgname}.install" +mksource=("${pkgname}-${pkgver}.tar.gz::https://github.com/$pkgname-player/${pkgname^}/archive/${pkgver}.tar.gz" + 'remove-nonfree-artwork-and-spotify.patch' + 'moognu.png') +source=("https://repo.parabolagnulinux.org/other/${_pkgname}/${_pkgname}-${pkgver}.tar.gz" + 'udisks-namespace.patch') +mksha256sums=('7df5650445a005c09f5f0e1a1b0d077037c37ecbe4ee77baf9d45f121308a1bf' + '48bfbf42c84ac1891021638627c10780194fcc59eda1c69e157be3aebe8ee10b' + 'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4') +sha256sums=('c68275373b839b5b256b813b5bed85d501f94e12bef3dd8ed69e90094af3f769' + 'a7c2764576cee303a57e4efe6a5dbd583a66de8a15aee738bd92d4bb21786008') + +mksource() { + cd ${pkgname^}-${pkgver} + + # remove nonfree nonfree artwork and spotify references on files + patch -Np1 -i ../remove-nonfree-artwork-and-spotify.patch + + # remove nonfree spotifyblob folders + rm -rv ext/{$pkgname-spotifyblob,lib${pkgname}-spotifyblob} + + # remove nonfree spotify files + rm -v cmake/SpotifyVersion.cmake + rm -v data/spotify-attribution.png + rm -v data/icons/svg/spotify.svg + rm -v data/schema/schema-30.sql + rm -v src/{globalsearch/spotifysearchprovider.{cpp,h},internet/spotify{blobdownloader.{cpp,h},server.{cpp,h},service.{cpp,h},settingspage.{cpp,h,ui}}} + + ## remove nonfree nyancat.png + rm -v data/nyancat.png + + ## rut moognu.png to the source code + install -m644 -v ../moognu.png data + + # create a blank file due which is a dependency for clementine + touch data/schema/schema-30.sql +} + +prepare() { + cd ${_pkgname}-${pkgver} + + patch -Np1 -i ../udisks-namespace.patch +} + +build() { + cd ${_pkgname}-${pkgver} + + if [[ -d build ]]; then + rm -rf build + fi + mkdir build && cd build + + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' + make +} + +package() { + cd ${_pkgname}-${pkgver}/build + + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/libre/clementine/clementine.install b/libre/clementine/clementine.install new file mode 100644 index 000000000..927a10258 --- /dev/null +++ b/libre/clementine/clementine.install @@ -0,0 +1,15 @@ +post_install() { + gtk-update-icon-cache -ftq usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + + +post_remove() { + post_install +} + +# vim: ts=2 sw=2 et: diff --git a/libre/clementine/moognu.png b/libre/clementine/moognu.png Binary files differnew file mode 100644 index 000000000..177041886 --- /dev/null +++ b/libre/clementine/moognu.png diff --git a/libre/clementine/remove-nonfree-artwork-and-spotify.patch b/libre/clementine/remove-nonfree-artwork-and-spotify.patch new file mode 100644 index 000000000..8c1b9aafd --- /dev/null +++ b/libre/clementine/remove-nonfree-artwork-and-spotify.patch @@ -0,0 +1,655 @@ +diff --git a/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m b/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m +index a349f59..c418e0b 100644 +--- a/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m ++++ b/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m +@@ -98,7 +98,6 @@ static CGEventRef tapEventCallback(CGEventTapProxy proxy, CGEventType type, CGEv + { + return [NSArray arrayWithObjects: + [[NSBundle mainBundle] bundleIdentifier], // your app +- @"com.spotify.client", + @"com.apple.iTunes", + @"com.apple.QuickTimePlayerX", + @"com.apple.quicktimeplayer", +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 47f1693..986351b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,6 @@ include(cmake/Summary.cmake) + include(cmake/Version.cmake) + include(cmake/Deb.cmake) + include(cmake/Rpm.cmake) +-include(cmake/SpotifyVersion.cmake) + include(cmake/OptionalSource.cmake) + set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + +@@ -78,7 +77,6 @@ pkg_check_modules(LIBMYGPO_QT libmygpo-qt>=1.0.7) + pkg_check_modules(LIBXML libxml-2.0) + pkg_check_modules(QCA qca2) + pkg_check_modules(QJSON REQUIRED QJson) +-pkg_check_modules(SPOTIFY libspotify>=12.1.45) + pkg_check_modules(TAGLIB REQUIRED taglib>=1.6) + + if (WIN32) +@@ -124,13 +122,6 @@ if (APPLE) + find_library(GROWL Growl) + find_library(SPARKLE Sparkle) + +- find_library(SPOTIFY libspotify) +- if (SPOTIFY) +- set (SPOTIFY_FOUND ON) +- set (SPOTIFY_INCLUDE_DIRS ${SPOTIFY}) +- set (SPOTIFY_LIBRARIES ${SPOTIFY}) +- endif (SPOTIFY) +- + add_subdirectory(3rdparty/SPMediaKeyTap) + set(SPMEDIAKEYTAP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/SPMediaKeyTap) + set(SPMEDIAKEYTAP_LIBRARIES SPMediaKeyTap) +@@ -254,7 +245,7 @@ optional_component(DEVICEKIT ON "Devices: DeviceKit backend" + DEPENDS "D-Bus support" HAVE_DBUS + ) + +-optional_component(SPOTIFY_BLOB ON "Spotify support: non-GPL binary helper" ++optional_component(SPOTIFY_BLOB OFF "Spotify support: non-GPL binary helper" + DEPENDS "protobuf" PROTOBUF_FOUND PROTOBUF_PROTOC_EXECUTABLE + DEPENDS "libspotify" SPOTIFY_FOUND + ) +@@ -270,13 +261,6 @@ optional_component(SPARKLE ON "Sparkle integration" + + optional_component(VISUALISATIONS ON "Visualisations") + +-if(NOT HAVE_SPOTIFY_BLOB AND NOT QCA_FOUND) +- message(FATAL_ERROR "Either QCA must be available or the non-GPL Spotify " +- "code must be compiled in") +-elseif(QCA_FOUND) +- set(HAVE_SPOTIFY_DOWNLOADER ON) +-endif() +- + # Find DBus if it's enabled + if (HAVE_DBUS) + find_package(Qt4 REQUIRED QtDbus) +@@ -440,7 +424,6 @@ add_subdirectory(ext/libclementine-common) + add_subdirectory(ext/libclementine-tagreader) + add_subdirectory(ext/clementine-tagreader) + add_subdirectory(ext/libclementine-remote) +-add_subdirectory(ext/libclementine-spotifyblob) + + option(WITH_DEBIAN OFF) + if(WITH_DEBIAN) +@@ -451,10 +434,6 @@ if(HAVE_BREAKPAD) + add_subdirectory(3rdparty/google-breakpad) + endif(HAVE_BREAKPAD) + +-if(HAVE_SPOTIFY_BLOB) +- add_subdirectory(ext/clementine-spotifyblob) +-endif(HAVE_SPOTIFY_BLOB) +- + if(HAVE_MOODBAR) + add_subdirectory(gst/moodbar) + endif() +diff --git a/data/data.qrc b/data/data.qrc +index 4c5473f..bd5fe2d 100644 +--- a/data/data.qrc ++++ b/data/data.qrc +@@ -2,7 +2,6 @@ + <qresource prefix="/"> + <file>blank.ttf</file> + <file>clementine_remote_qr.png</file> +- <file>clementine-spotify-public.pem</file> + <file>currenttrack_bar_left.png</file> + <file>currenttrack_bar_mid.png</file> + <file>currenttrack_bar_right.png</file> +@@ -77,7 +76,6 @@ + <file>icons/22x22/phone-nokia-n900.png</file> + <file>icons/22x22/phone-palm-pre.png</file> + <file>icons/22x22/phone.png</file> +- <file>icons/22x22/spotify.png</file> + <file>icons/22x22/user-away.png</file> + <file>icons/22x22/view-choose.png</file> + <file>icons/22x22/view-fullscreen.png</file> +@@ -154,7 +152,6 @@ + <file>icons/32x32/phone-palm-pre.png</file> + <file>icons/32x32/phone.png</file> + <file>icons/32x32/search.png</file> +- <file>icons/32x32/spotify.png</file> + <file>icons/32x32/tools-wizard.png</file> + <file>icons/32x32/view-choose.png</file> + <file>icons/32x32/view-fullscreen.png</file> +@@ -230,7 +227,6 @@ + <file>icons/48x48/phone-nokia-n900.png</file> + <file>icons/48x48/phone-palm-pre.png</file> + <file>icons/48x48/phone.png</file> +- <file>icons/48x48/spotify.png</file> + <file>icons/48x48/view-choose.png</file> + <file>icons/48x48/view-fullscreen.png</file> + <file>icons/48x48/view-media-equalizer.png</file> +@@ -262,10 +258,10 @@ + <file>lumberjacksong.txt</file> + <file>lyrics/ultimate_providers.xml</file> + <file>mainwindow.css</file> ++ <file>moognu.png</file> + <file>nocover.png</file> + <file>nomusic.png</file> + <file>now_playing_tooltip.txt</file> +- <file>nyancat.png</file> + <file>oauthsuccess.html</file> + <file>osd_background.png</file> + <file>osd_shadow_corner.png</file> +@@ -391,7 +387,6 @@ + <file>smartplaylistsearchterm.css</file> + <file>songinfo.css</file> + <file>spinner.gif</file> +- <file>spotify-attribution.png</file> + <file>star-off.png</file> + <file>star-on.png</file> + <file>tiny-pause.png</file> +diff --git a/dist/macdeploy.py b/dist/macdeploy.py +index e054619..3568a6f 100755 +--- a/dist/macdeploy.py ++++ b/dist/macdeploy.py +@@ -398,10 +398,7 @@ def main(): + FixPlugin(FindGioModule('libgiolibproxy.so'), 'gio-modules') + + try: +- FixPlugin('clementine-spotifyblob', '.') + FixPlugin('clementine-tagreader', '.') +- except: +- print 'Failed to find blob: %s' % traceback.format_exc() + + for plugin in QT_PLUGINS: + FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin)) +diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in +index 750b332..6bf47ff 100644 +--- a/dist/windows/clementine.nsi.in ++++ b/dist/windows/clementine.nsi.in +@@ -97,9 +97,6 @@ Section "Delete old files" oldfiles + Delete "$INSTDIR\gstreamer-plugins\libgstqueue2.dll" + Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll" + +- ; 1.0 prerelease +- Delete "$INSTDIR\spotify.dll" +- + ; 1.0 + Delete "$INSTDIR\libofa.dll" + Delete "$INSTDIR\gstreamer-plugins\libgstofa.dll" +@@ -128,7 +125,6 @@ Section "Clementine" Clementine + File "avutil-51.dll" + File "clementine.exe" + File "clementine-tagreader.exe" +- File "clementine-spotifyblob.exe" + File "clementine.ico" + File "glew32.dll" + File "intl.dll" +@@ -181,7 +177,6 @@ Section "Clementine" Clementine + File "libqjson.dll" + File "libsoup-2.4-1.dll" + File "libspeex-1.dll" +- File "libspotify.dll" + File "libstdc++-6.dll" + File "libtag.dll" + File "libtasn1-3.dll" +@@ -939,7 +934,6 @@ Section "Uninstall" + Delete "$INSTDIR\clementine.ico" + Delete "$INSTDIR\clementine.exe" + Delete "$INSTDIR\clementine-tagreader.exe" +- Delete "$INSTDIR\clementine-spotifyblob.exe" + Delete "$INSTDIR\glew32.dll" + Delete "$INSTDIR\intl.dll" + Delete "$INSTDIR\libcdio-14.dll" +@@ -992,7 +986,6 @@ Section "Uninstall" + Delete "$INSTDIR\libqjson.dll" + Delete "$INSTDIR\libsoup-2.4-1.dll" + Delete "$INSTDIR\libspeex-1.dll" +- Delete "$INSTDIR\libspotify.dll" + Delete "$INSTDIR\libstdc++-6.dll" + Delete "$INSTDIR\libtag.dll" + Delete "$INSTDIR\libtasn1-3.dll" +diff --git a/ext/libclementine-common/core/logging.cpp b/ext/libclementine-common/core/logging.cpp +index 3c53d7a..49dd8cf 100644 +--- a/ext/libclementine-common/core/logging.cpp ++++ b/ext/libclementine-common/core/logging.cpp +@@ -14,10 +14,6 @@ + limitations under the License. + */ + +-// Note: this file is licensed under the Apache License instead of GPL because +-// it is used by the Spotify blob which links against libspotify and is not GPL +-// compatible. +- + #include <QtGlobal> + + #include <cxxabi.h> +diff --git a/ext/libclementine-common/core/logging.h b/ext/libclementine-common/core/logging.h +index 3c582cf..4a3cea8 100644 +--- a/ext/libclementine-common/core/logging.h ++++ b/ext/libclementine-common/core/logging.h +@@ -14,11 +14,6 @@ + limitations under the License. + */ + +-// Note: this file is licensed under the Apache License instead of GPL because +-// it is used by the Spotify blob which links against libspotify and is not GPL +-// compatible. +- +- + #ifndef LOGGING_H + #define LOGGING_H + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1104542..e7a8032 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -60,8 +60,6 @@ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-tagreader) + include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-tagreader) + include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-remote) + include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-remote) +-include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-spotifyblob) +-include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-spotifyblob) + + cmake_policy(SET CMP0011 NEW) + include(../cmake/ParseArguments.cmake) +@@ -157,7 +155,6 @@ set(SOURCES + globalsearch/simplesearchprovider.cpp + globalsearch/somafmsearchprovider.cpp + globalsearch/soundcloudsearchprovider.cpp +- globalsearch/spotifysearchprovider.cpp + globalsearch/suggestionwidget.cpp + globalsearch/urlsearchprovider.cpp + +@@ -195,9 +192,6 @@ set(SOURCES + internet/somafmservice.cpp + internet/somafmurlhandler.cpp + internet/soundcloudservice.cpp +- internet/spotifyserver.cpp +- internet/spotifyservice.cpp +- internet/spotifysettingspage.cpp + internet/subsonicservice.cpp + internet/subsonicsettingspage.cpp + internet/subsonicurlhandler.cpp +@@ -461,7 +455,6 @@ set(HEADERS + globalsearch/searchprovider.h + globalsearch/simplesearchprovider.h + globalsearch/soundcloudsearchprovider.h +- globalsearch/spotifysearchprovider.h + globalsearch/suggestionwidget.h + + internet/cloudfileservice.h +@@ -494,9 +487,6 @@ set(HEADERS + internet/somafmservice.h + internet/somafmurlhandler.h + internet/soundcloudservice.h +- internet/spotifyserver.h +- internet/spotifyservice.h +- internet/spotifysettingspage.h + internet/subsonicservice.h + internet/subsonicsettingspage.h + internet/subsonicurlhandler.h +@@ -685,7 +675,6 @@ set(UI + internet/magnatunedownloaddialog.ui + internet/magnatunesettingspage.ui + internet/searchboxwidget.ui +- internet/spotifysettingspage.ui + internet/subsonicsettingspage.ui + + library/groupbydialog.ui +@@ -836,15 +825,6 @@ optional_source(HAVE_LIBLASTFM + ) + + +-optional_source(HAVE_SPOTIFY_DOWNLOADER +- SOURCES +- internet/spotifyblobdownloader.cpp +- HEADERS +- internet/spotifyblobdownloader.h +- INCLUDE_DIRECTORIES +- ${QCA_INCLUDE_DIRS} +-) +- + # Platform specific - OS X + optional_source(APPLE + INCLUDE_DIRECTORIES +@@ -1171,7 +1151,6 @@ add_dependencies(clementine_lib pot) + + + target_link_libraries(clementine_lib +- clementine-spotifyblob-messages + libclementine-common + libclementine-tagreader + libclementine-remote +@@ -1240,13 +1219,6 @@ if(HAVE_BREAKPAD) + endif (LINUX) + endif(HAVE_BREAKPAD) + +-if(HAVE_SPOTIFY_DOWNLOADER) +- target_link_libraries(clementine_lib +- ${QCA_LIBRARIES} +- ) +- link_directories(${QCA_LIBRARY_DIRS}) +-endif(HAVE_SPOTIFY_DOWNLOADER) +- + if (APPLE) + target_link_libraries(clementine_lib + ${GROWL} +@@ -1328,16 +1300,6 @@ target_link_libraries(clementine + clementine_lib + ) + +-# macdeploy.py relies on the blob being built first. +-if(HAVE_SPOTIFY_BLOB) +- add_dependencies(clementine clementine-spotifyblob) +-endif(HAVE_SPOTIFY_BLOB) +-add_dependencies(clementine clementine-tagreader) +- +-set_target_properties(clementine PROPERTIES +- MACOSX_BUNDLE_INFO_PLIST "../dist/Info.plist" +-) +- + if (APPLE) + install(FILES ../dist/clementine.icns + DESTINATION "${CMAKE_BINARY_DIR}/clementine.app/Contents/Resources") +diff --git a/src/analyzers/nyancatanalyzer.cpp b/src/analyzers/nyancatanalyzer.cpp +index 39ea101..ab19341 100644 +--- a/src/analyzers/nyancatanalyzer.cpp ++++ b/src/analyzers/nyancatanalyzer.cpp +@@ -23,13 +23,13 @@ + #include <QTimerEvent> + #include <QBrush> + +-const char* NyanCatAnalyzer::kName = "Nyanalyzer cat"; ++const char* NyanCatAnalyzer::kName = "MooGNU"; + const float NyanCatAnalyzer::kPixelScale = 0.02f; + + + NyanCatAnalyzer::NyanCatAnalyzer(QWidget* parent) + : Analyzer::Base(parent, 9), +- cat_(":/nyancat.png"), ++ cat_(":/moognu.png"), + timer_id_(startTimer(kFrameIntervalMs)), + frame_(0), + current_buffer_(0), +diff --git a/src/config.h.in b/src/config.h.in +index 6cac97e..90e4ee2 100644 +--- a/src/config.h.in ++++ b/src/config.h.in +@@ -39,7 +39,6 @@ + #cmakedefine HAVE_QCA + #cmakedefine HAVE_SKYDRIVE + #cmakedefine HAVE_SPARKLE +-#cmakedefine HAVE_SPOTIFY_DOWNLOADER + #cmakedefine HAVE_STATIC_SQLITE + #cmakedefine HAVE_UBUNTU_ONE + #cmakedefine HAVE_WIIMOTEDEV +diff --git a/src/core/backgroundstreams.cpp b/src/core/backgroundstreams.cpp +index 347b959..b00cb87 100644 +--- a/src/core/backgroundstreams.cpp ++++ b/src/core/backgroundstreams.cpp +@@ -9,7 +9,6 @@ + + const char* BackgroundStreams::kSettingsGroup = "BackgroundStreams"; + const char* BackgroundStreams::kHypnotoadUrl = "hypnotoad:///"; +-const char* BackgroundStreams::kRainUrl = "http://data.clementine-player.org/rainymood"; + const char* BackgroundStreams::kEnterpriseUrl = "enterprise:///"; + + BackgroundStreams::BackgroundStreams(EngineBase* engine, QObject* parent) +@@ -28,7 +27,6 @@ void BackgroundStreams::LoadStreams() { + int version = s.value("version", 0).toInt(); + if (version < 1) { + AddStream(QT_TR_NOOP("Hypnotoad"), QUrl(kHypnotoadUrl)); +- AddStream(QT_TR_NOOP("Rain"), QUrl(kRainUrl)); + } + + if (version < kVersion) { +diff --git a/src/core/timeconstants.h b/src/core/timeconstants.h +index 96242d6..69196bd 100644 +--- a/src/core/timeconstants.h ++++ b/src/core/timeconstants.h +@@ -14,10 +14,6 @@ + limitations under the License. + */ + +-// Note: this file is licensed under the Apache License instead of GPL because +-// it is used by the Spotify blob which links against libspotify and is not GPL +-// compatible. +- + #ifndef TIMECONSTANTS_H + #define TIMECONSTANTS_H + +diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp +index 3fdc6be..e6a109f 100644 +--- a/src/core/utilities.cpp ++++ b/src/core/utilities.cpp +@@ -340,9 +340,6 @@ QString GetConfigPath(ConfigPath config) { + return QDir::homePath(); + #endif + +- case Path_LocalSpotifyBlob: +- return GetConfigPath(Path_Root) + "/spotifyblob"; +- + default: + qFatal("%s", Q_FUNC_INFO); + return QString::null; +diff --git a/src/core/utilities.h b/src/core/utilities.h +index edaa545..ad2138c 100644 +--- a/src/core/utilities.h ++++ b/src/core/utilities.h +@@ -111,7 +111,6 @@ namespace Utilities { + Path_NetworkCache, + Path_GstreamerRegistry, + Path_DefaultMusicLibrary, +- Path_LocalSpotifyBlob, + Path_MoodbarCache, + Path_CacheRoot, + }; +diff --git a/src/covers/albumcoverloader.cpp b/src/covers/albumcoverloader.cpp +index a4c4241..39dd101 100644 +--- a/src/covers/albumcoverloader.cpp ++++ b/src/covers/albumcoverloader.cpp +@@ -30,7 +30,6 @@ + #include "core/tagreaderclient.h" + #include "core/utilities.h" + #include "internet/internetmodel.h" +-#include "internet/spotifyservice.h" + + + +@@ -38,8 +37,7 @@ AlbumCoverLoader::AlbumCoverLoader(QObject* parent) + : QObject(parent), + stop_requested_(false), + next_id_(1), +- network_(new NetworkAccessManager(this)), +- connected_spotify_(false) ++ network_(new NetworkAccessManager(this)) + { + } + +@@ -169,26 +167,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage( + + remote_tasks_.insert(reply, task); + return TryLoadResult(true, false, QImage()); +- } else if (filename.toLower().startsWith("spotify://image/")) { +- // HACK: we should add generic image URL handlers +- SpotifyService* spotify = InternetModel::Service<SpotifyService>(); +- +- if (!connected_spotify_) { +- connect(spotify, SIGNAL(ImageLoaded(QString,QImage)), +- SLOT(SpotifyImageLoaded(QString,QImage))); +- connected_spotify_ = true; +- } +- +- QString id = QUrl(filename).path(); +- if (id.startsWith('/')) { +- id.remove(0, 1); +- } +- remote_spotify_tasks_.insert(id, task); +- +- // Need to schedule this in the spotify service's thread +- QMetaObject::invokeMethod(spotify, "LoadImage", Qt::QueuedConnection, +- Q_ARG(QString, id)); +- return TryLoadResult(true, false, QImage()); + } + + QImage image(filename); +@@ -196,16 +174,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage( + image.isNull() ? task.options.default_output_image_: image); + } + +-void AlbumCoverLoader::SpotifyImageLoaded(const QString& id, const QImage& image) { +- if (!remote_spotify_tasks_.contains(id)) +- return; +- +- Task task = remote_spotify_tasks_.take(id); +- QImage scaled = ScaleAndPad(task.options, image); +- emit ImageLoaded(task.id, scaled); +- emit ImageLoaded(task.id, scaled, image); +-} +- + void AlbumCoverLoader::RemoteFetchFinished(QNetworkReply* reply) { + reply->deleteLater(); + +diff --git a/src/covers/albumcoverloader.h b/src/covers/albumcoverloader.h +index 987be66..5214e14 100644 +--- a/src/covers/albumcoverloader.h ++++ b/src/covers/albumcoverloader.h +@@ -62,7 +62,6 @@ class AlbumCoverLoader : public QObject { + protected slots: + void ProcessTasks(); + void RemoteFetchFinished(QNetworkReply* reply); +- void SpotifyImageLoaded(const QString& url, const QImage& image); + + protected: + enum State { +@@ -102,13 +101,10 @@ class AlbumCoverLoader : public QObject { + QMutex mutex_; + QQueue<Task> tasks_; + QMap<QNetworkReply*, Task> remote_tasks_; +- QMap<QString, Task> remote_spotify_tasks_; + quint64 next_id_; + + NetworkAccessManager* network_; + +- bool connected_spotify_; +- + static const int kMaxRedirects = 3; + }; + +diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp +index 94f77a3..37c1cdf 100644 +--- a/src/engines/gstenginepipeline.cpp ++++ b/src/engines/gstenginepipeline.cpp +@@ -29,8 +29,6 @@ + #include "core/signalchecker.h" + #include "core/utilities.h" + #include "internet/internetmodel.h" +-#include "internet/spotifyserver.h" +-#include "internet/spotifyservice.h" + + + const int GstEnginePipeline::kGstStateTimeoutNanosecs = 10000000; +@@ -141,37 +139,11 @@ bool GstEnginePipeline::ReplaceDecodeBin(GstElement* new_bin) { + bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) { + GstElement* new_bin = NULL; + +- if (url.scheme() == "spotify") { +- new_bin = gst_bin_new("spotify_bin"); +- +- // Create elements +- GstElement* src = engine_->CreateElement("tcpserversrc", new_bin); +- GstElement* gdp = engine_->CreateElement("gdpdepay", new_bin); +- if (!src || !gdp) +- return false; +- +- // Pick a port number +- const int port = Utilities::PickUnusedPort(); +- g_object_set(G_OBJECT(src), "host", "127.0.0.1", NULL); +- g_object_set(G_OBJECT(src), "port", port, NULL); +- +- // Link the elements +- gst_element_link(src, gdp); +- +- // Add a ghost pad +- GstPad* pad = gst_element_get_static_pad(gdp, "src"); +- gst_element_add_pad(GST_ELEMENT(new_bin), gst_ghost_pad_new("src", pad)); +- gst_object_unref(GST_OBJECT(pad)); +- +- // Tell spotify to start sending data to us. +- InternetModel::Service<SpotifyService>()->server()->StartPlaybackLater(url.toString(), port); +- } else { + new_bin = engine_->CreateElement("uridecodebin"); + g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), NULL); + CHECKED_GCONNECT(G_OBJECT(new_bin), "drained", &SourceDrainedCallback, this); + CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); + CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, this); +- } + + return ReplaceDecodeBin(new_bin); + } +diff --git a/src/internet/internetmodel.cpp b/src/internet/internetmodel.cpp +index 289f591..ac9e3e0 100644 +--- a/src/internet/internetmodel.cpp ++++ b/src/internet/internetmodel.cpp +@@ -30,7 +30,6 @@ + #include "savedradio.h" + #include "somafmservice.h" + #include "soundcloudservice.h" +-#include "spotifyservice.h" + #include "subsonicservice.h" + #include "core/closure.h" + #include "core/logging.h" +@@ -94,7 +93,6 @@ InternetModel::InternetModel(Application* app, QObject* parent) + AddService(new SkyFmService(app, this)); + AddService(new SomaFMService(app, this)); + AddService(new SoundCloudService(app, this)); +- AddService(new SpotifyService(app, this)); + AddService(new SubsonicService(app, this)); + #ifdef HAVE_UBUNTU_ONE + AddService(new UbuntuOneService(app, this)); +diff --git a/src/ui/about.cpp b/src/ui/about.cpp +index 53e42bd..49e7714 100644 +--- a/src/ui/about.cpp ++++ b/src/ui/about.cpp +@@ -76,14 +76,9 @@ QString About::MakeHtml() const { + + ret += QString("<br />%1</p>").arg(tr("...and all the Amarok contributors")); + ret += QString("<p><b>%1</b>").arg(tr("And:")); +- ret += QString("<br /><a href=\"http://rainymood.com\">Rainy Mood</a>"); + ret += QString("<br /><a href=\"http://www.smitelli.com/?page=blog&p=54\">Scott Smitelli</a>"); + ret += QString("<br /><a href=\"http://hyperboleandahalf.blogspot.com\">Allie Brosh</a></p>"); + +- ret += "<p>This product uses Music by Spotify but is not endorsed, certified " +- "or otherwise approved in any way by Spotify. Spotify is the registered " +- "trade mark of the Spotify Group.</p>"; +- + return ret; + } + +diff --git a/src/ui/settingsdialog.cpp b/src/ui/settingsdialog.cpp +index dc0d84f..4a9335d 100644 +--- a/src/ui/settingsdialog.cpp ++++ b/src/ui/settingsdialog.cpp +@@ -38,7 +38,6 @@ + #include "internet/digitallyimportedsettingspage.h" + #include "internet/groovesharksettingspage.h" + #include "internet/magnatunesettingspage.h" +-#include "internet/spotifysettingspage.h" + #include "internet/subsonicsettingspage.h" + #include "internet/ubuntuonesettingspage.h" + #include "library/librarysettingspage.h" +@@ -174,7 +173,6 @@ SettingsDialog::SettingsDialog(Application* app, BackgroundStreams* streams, QWi + AddPage(Page_Box, new BoxSettingsPage(this), providers); + #endif + +- AddPage(Page_Spotify, new SpotifySettingsPage(this), providers); + AddPage(Page_Magnatune, new MagnatuneSettingsPage(this), providers); + AddPage(Page_DigitallyImported, new DigitallyImportedSettingsPage(this), providers); + AddPage(Page_BackgroundStreams, new BackgroundStreamsSettingsPage(this), providers); +diff --git a/src/ui/settingsdialog.h b/src/ui/settingsdialog.h +index e9e709a..5485a37 100644 +--- a/src/ui/settingsdialog.h ++++ b/src/ui/settingsdialog.h +@@ -69,7 +69,6 @@ public: + Page_Library, + Page_Lastfm, + Page_Grooveshark, +- Page_Spotify, + Page_Magnatune, + Page_DigitallyImported, + Page_BackgroundStreams, diff --git a/libre/clementine/udisks-namespace.patch b/libre/clementine/udisks-namespace.patch new file mode 100644 index 000000000..e74889e78 --- /dev/null +++ b/libre/clementine/udisks-namespace.patch @@ -0,0 +1,38 @@ +From ec580cb815c16ec1ab43a469d5af7d51d8d03082 Mon Sep 17 00:00:00 2001 +From: Chocobozzz <florian.chocobo@gmail.com> +Date: Wed, 16 Jul 2014 15:57:25 +0200 +Subject: [PATCH] No namespaces for DBus interfaces. Fixes #4401 + +--- + src/CMakeLists.txt | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 650fa74..775b0a5 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -892,11 +892,6 @@ optional_source(LINUX SOURCES widgets/osd_x11.cpp) + if(HAVE_DBUS) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dbus) + +- # Hack to get it to generate interfaces without namespaces - required +- # because otherwise org::freedesktop::UDisks and +- # org::freedesktop::UDisks::Device conflict. +- list(APPEND QT_DBUSXML2CPP_EXECUTABLE -N) +- + # MPRIS DBUS interfaces + qt4_add_dbus_adaptor(SOURCES + dbus/org.freedesktop.MediaPlayer.player.xml +@@ -964,6 +959,10 @@ if(HAVE_DBUS) + + # DeviceKit DBUS interfaces + if(HAVE_DEVICEKIT) ++ set_source_files_properties(dbus/org.freedesktop.UDisks.xml ++ PROPERTIES NO_NAMESPACE dbus/udisks) ++ set_source_files_properties(dbus/org.freedesktop.UDisks.Device.xml ++ PROPERTIES NO_NAMESPACE dbus/udisksdevice) + qt4_add_dbus_interface(SOURCES + dbus/org.freedesktop.UDisks.xml + dbus/udisks) +-- +2.0.3 |