summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-12-19 10:32:08 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2017-12-19 10:32:28 +0100
commit85f6b085c7f460f2ac9b8f64781151f082d9e2cf (patch)
tree027a2d2d5aeaaf79f56bc7d6ab79343dbd612471 /media-sound/clementine
parentmedia-sound/clementine: amd64 stable (diff)
downloadgentoo-85f6b085c7f460f2ac9b8f64781151f082d9e2cf.tar.gz
gentoo-85f6b085c7f460f2ac9b8f64781151f082d9e2cf.tar.bz2
gentoo-85f6b085c7f460f2ac9b8f64781151f082d9e2cf.zip
media-sound/clementine: Drop old
Closes: https://bugs.gentoo.org/640300 Package-Manager: Portage-2.3.13, Repoman-2.3.4
Diffstat (limited to 'media-sound/clementine')
-rw-r--r--media-sound/clementine/Manifest1
-rw-r--r--media-sound/clementine/clementine-1.3.1-r5.ebuild174
-rw-r--r--media-sound/clementine/files/clementine-1.3.1-chromaprint14.patch41
-rw-r--r--media-sound/clementine/files/clementine-1.3.1-fix-desktop-file.patch52
-rw-r--r--media-sound/clementine/files/clementine-1.3.1-libechonest_removal.patch701
-rw-r--r--media-sound/clementine/metadata.xml2
6 files changed, 0 insertions, 971 deletions
diff --git a/media-sound/clementine/Manifest b/media-sound/clementine/Manifest
index 59c2e0dfbb02..e631e5496230 100644
--- a/media-sound/clementine/Manifest
+++ b/media-sound/clementine/Manifest
@@ -1,2 +1 @@
-DIST clementine-1.3.1.tar.gz 8501827 BLAKE2B ebb003f28f9a4dd8fff4e5a92aeb1b6c948be794731c202241b8cb91f4678d6b2d035d6c9cd0d6e7b4b7d9a494d3c1c5bb5e88243e7a34e565c07c34d048ebdd SHA512 1942a046be24a583b5e2095dd39dc736c1b14a47dc4aad61d6252c1fccf745c26d7b35da907a220d5dc8c0736f5b589d050ed9582de343aa3cb5abc607001790
DIST clementine-1.3.1_p20171113.tar.gz 8467904 BLAKE2B bf1f59b987c0e4ec5c2ced00fab07c1a7e1df0eb5a46e90358b37eaaeaa916fb3e6a08ad79fc5fb791342d857783f615eb3726974dcfef9388da2793b1b7fe6a SHA512 39c459be8e4c5dd53ab9de6cdfd57f947926ccc2cd39ce2f72460bb991f7b2a28e6bc074e7bc23b0eba81c3d630e91dc2373794832c1089a9b5de7b212b94674
diff --git a/media-sound/clementine/clementine-1.3.1-r5.ebuild b/media-sound/clementine/clementine-1.3.1-r5.ebuild
deleted file mode 100644
index 88c6a2096dc2..000000000000
--- a/media-sound/clementine/clementine-1.3.1-r5.ebuild
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
-
-LANGS=" af ar be bg bn br bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl he he_IL hi hr hu hy ia id is it ja ka kk ko lt lv mr ms my nb nl oc pa pl pt pt_BR ro ru si_LK sk sl sr sr@latin sv te tr tr_TR uk uz vi zh_CN zh_TW"
-
-inherit cmake-utils flag-o-matic xdg-utils gnome2-utils virtualx
-[[ ${PV} == *9999* ]] && inherit git-r3
-
-DESCRIPTION="Modern music player and library organizer based on Amarok 1.4 and Qt"
-HOMEPAGE="https://www.clementine-player.org https://github.com/clementine-player/Clementine"
-[[ ${PV} == *9999* ]] || \
-SRC_URI="https://github.com/clementine-player/Clementine/archive/${PV/_}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-[[ ${PV} == *9999* ]] || \
-KEYWORDS="amd64 x86"
-IUSE="amazoncloud box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio skydrive test +udisks vkontakte wiimote"
-IUSE+="${LANGS// / linguas_}"
-
-REQUIRED_USE="
- udisks? ( dbus )
- wiimote? ( dbus )
-"
-
-COMMON_DEPEND="
- dev-db/sqlite:=
- >=dev-libs/glib-2.24.1-r1
- dev-libs/libxml2
- dev-libs/protobuf:=
- dev-libs/qjson
- >=dev-qt/qtcore-4.5:4[ssl]
- >=dev-qt/qtgui-4.5:4
- >=dev-qt/qtopengl-4.5:4
- >=dev-qt/qtsql-4.5:4
- >=media-libs/chromaprint-0.6
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- >=media-libs/libmygpo-qt-1.0.9[qt4(+)]
- >=media-libs/taglib-1.8[mp4(+)]
- sys-libs/zlib
- dev-libs/crypto++
- virtual/glu
- virtual/opengl
- x11-libs/libX11
- cdda? ( dev-libs/libcdio )
- dbus? ( >=dev-qt/qtdbus-4.5:4 )
- ipod? ( >=media-libs/libgpod-0.8.0 )
- lastfm? ( >=media-libs/liblastfm-1[qt4(+)] )
- mtp? ( >=media-libs/libmtp-1.0.0 )
- moodbar? ( sci-libs/fftw:3.0 )
- projectm? ( media-libs/glew:=
- >=media-libs/libprojectm-1.2.0 )
-"
-# Note: sqlite driver of dev-qt/qtsql is bundled, so no sqlite use is required; check if this can be overcome someway;
-# Libprojectm-1.2 seams to work fine, so no reasons to use bundled version; check the clementine's patches:
-# https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
-# Still possibly essential but not applied yet patches are:
-# 06-fix-numeric-locale.patch
-# 08-stdlib.h-for-rand.patch
-RDEPEND="${COMMON_DEPEND}
- dbus? ( udisks? ( sys-fs/udisks:0 ) )
- mms? ( media-plugins/gst-plugins-libmms:1.0 )
- mtp? ( gnome-base/gvfs[mtp] )
- media-plugins/gst-plugins-meta:1.0
- media-plugins/gst-plugins-soup:1.0
- media-plugins/gst-plugins-taglib:1.0
-"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/boost-1.39:=
- virtual/pkgconfig
- sys-devel/gettext
- dev-qt/qttest:4
- || (
- >=dev-cpp/gtest-1.8.0
- dev-cpp/gmock
- )
- amazoncloud? ( dev-cpp/sparsehash )
- box? ( dev-cpp/sparsehash )
- dropbox? ( dev-cpp/sparsehash )
- googledrive? ( dev-cpp/sparsehash )
- pulseaudio? ( media-sound/pulseaudio )
- skydrive? ( dev-cpp/sparsehash )
- test? ( gnome-base/gsettings-desktop-schemas )
-"
-DOCS=( Changelog README.md )
-
-MY_P="${P/_}"
-[[ ${PV} == *9999* ]] || \
-S="${WORKDIR}/${MY_P^}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.3-fix-tokenizer.patch
- "${FILESDIR}"/${P}-fix-desktop-file.patch
- "${FILESDIR}"/${P}-chromaprint14.patch #603662
- "${FILESDIR}"/${P}-libechonest_removal.patch
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # some tests fail or hang
- sed -i \
- -e '/add_test_file(translations_test.cpp/d' \
- tests/CMakeLists.txt || die
-}
-
-src_configure() {
- local langs x
- for x in ${LANGS}; do
- use linguas_${x} && langs+=" ${x}"
- done
-
- # spotify is not in portage
- local mycmakeargs=(
- -DBUILD_WERROR=OFF
- -DLINGUAS="${langs}"
- -DENABLE_AMAZON_CLOUD_DRIVE="$(usex amazoncloud)"
- -DENABLE_AUDIOCD="$(usex cdda)"
- -DENABLE_DBUS="$(usex dbus)"
- -DENABLE_DEVICEKIT="$(usex udisks)"
- -DENABLE_LIBGPOD="$(usex ipod)"
- -DENABLE_LIBLASTFM="$(usex lastfm)"
- -DENABLE_LIBMTP="$(usex mtp)"
- -DENABLE_MOODBAR="$(usex moodbar)"
- -DENABLE_GIO=ON
- -DENABLE_WIIMOTEDEV="$(usex wiimote)"
- -DENABLE_VISUALISATIONS="$(usex projectm)"
- -DENABLE_BOX="$(usex box)"
- -DENABLE_DROPBOX="$(usex dropbox)"
- -DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
- -DENABLE_LIBPULSE="$(usex pulseaudio)"
- -DENABLE_SKYDRIVE="$(usex skydrive)"
- -DENABLE_VK="$(usex vkontakte)"
- -DENABLE_SPOTIFY_BLOB=OFF
- -DENABLE_BREAKPAD=OFF #< disable crash reporting
- -DUSE_BUILTIN_TAGLIB=OFF
- -DUSE_SYSTEM_GMOCK=ON
- -DUSE_SYSTEM_PROJECTM=ON
- -DBUNDLE_PROJECTM_PRESETS=OFF
- # force to find crypto++ see bug #548544
- -DCRYPTOPP_LIBRARIES="crypto++"
- -DCRYPTOPP_FOUND=ON
- # avoid automagically enabling of ccache (bug #611010)
- -DCCACHE_EXECUTABLE=OFF
- )
-
- use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
-
- cmake-utils_src_configure
-}
-
-src_test() {
- cd "${CMAKE_BUILD_DIR}" || die
- virtx emake test
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- gnome2_icon_cache_update
-}
diff --git a/media-sound/clementine/files/clementine-1.3.1-chromaprint14.patch b/media-sound/clementine/files/clementine-1.3.1-chromaprint14.patch
deleted file mode 100644
index bfdc49265aa3..000000000000
--- a/media-sound/clementine/files/clementine-1.3.1-chromaprint14.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From ded312685735fc266d4154d355286eeb86db3bcd Mon Sep 17 00:00:00 2001
-From: Chocobozzz <florian.bigard@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 9579b62..c7ad99e 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/media-sound/clementine/files/clementine-1.3.1-fix-desktop-file.patch b/media-sound/clementine/files/clementine-1.3.1-fix-desktop-file.patch
deleted file mode 100644
index bb561318c59d..000000000000
--- a/media-sound/clementine/files/clementine-1.3.1-fix-desktop-file.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-This patch fixes gentoo QA notices against the desktop file (see gentoo bug 460412#3)
-Based upon patch extracted from upstream git; original patch info:
-commit 04f73d125365d97fa6f72677ec5d220292690e56
-Author: Golubev Alexander <fatzer2@gmail.com>
-Date: Mon Jul 18 13:45:03 2016 +0400
-
- Remove OnlyShowIn=Unity from clementine.desktop's action sections (#5444)
-
-diff --git a/dist/clementine.desktop b/dist/clementine.desktop
-index 2fb9559..9ee881e 100644
---- a/dist/clementine.desktop
-+++ b/dist/clementine.desktop
-@@ -38,7 +38,6 @@ Actions=Play;Pause;Stop;Previous;Next;
- [Desktop Action Play]
- Name=Play
- Exec=clementine --play
--OnlyShowIn=Unity;
- Name[af]=Speel
- Name[be]=Прайграць
- Name[bg]=Възпроизвеждане
-@@ -89,7 +88,6 @@ Name[zh_TW]=播放
- [Desktop Action Pause]
- Name=Pause
- Exec=clementine --pause
--OnlyShowIn=Unity;
- Name[be]=Прыпыніць
- Name[bg]=Пауза
- Name[br]=Ehan
-@@ -135,7 +133,6 @@ Name[zh_TW]=暫停
- [Desktop Action Stop]
- Name=Stop
- Exec=clementine --stop
--OnlyShowIn=Unity;
- Name[be]=Спыніць
- Name[bg]=Спиране
- Name[br]=Paouez
-@@ -184,7 +181,6 @@ Name[zh_TW]=停止
- [Desktop Action Previous]
- Name=Previous
- Exec=clementine --previous
--OnlyShowIn=Unity;
- Name[af]=Vorige
- Name[be]=Папярэдні
- Name[bg]=Предишна
-@@ -232,7 +228,6 @@ Name[zh_TW]=往前
- [Desktop Action Next]
- Name=Next
- Exec=clementine --next
--OnlyShowIn=Unity;
- Name[af]=Volgende
- Name[be]=Далей
- Name[bg]=Следваща
diff --git a/media-sound/clementine/files/clementine-1.3.1-libechonest_removal.patch b/media-sound/clementine/files/clementine-1.3.1-libechonest_removal.patch
deleted file mode 100644
index 63eb096d84d0..000000000000
--- a/media-sound/clementine/files/clementine-1.3.1-libechonest_removal.patch
+++ /dev/null
@@ -1,701 +0,0 @@
-Remove depend upon media-libs/libechonest and its support from clementine due to echonest service
-was shutdown and this functionality is useless now and results in nothing but a slight security
-and privacy risk.
-See Gentoo bug #573712.
-Based upon patch extracted from upstream git; original patch info:
-commit a8a0f2e4fdd3d4b2fd23b8628a3abc27c290d01d
-Author: John Maguire <john.maguire@gmail.com>
-Date: Mon Jun 27 14:45:40 2016 +0100
-
- Remove echonest and update songkick concert fetcher.
---- Clementine-1.3.1/CMakeLists.txt
-+++ Clementine-1.3.1/CMakeLists.txt
-@@ -365,9 +365,6 @@
- endif (NOT APPLE)
- endif (USE_SYSTEM_QXT)
-
--find_path(ECHONEST_INCLUDE_DIRS echonest/echonest_export.h)
--find_library(ECHONEST_LIBRARIES echonest)
--
- # Use system gmock if it's available
- # We need to look for both gmock and gtest
- find_path(GMOCK_INCLUDE_DIRS gmock/gmock.h)
---- Clementine-1.3.1/src/CMakeLists.txt
-+++ Clementine-1.3.1/src/CMakeLists.txt
-@@ -35,7 +35,6 @@
- include_directories(${QTSINGLEAPPLICATION_INCLUDE_DIRS})
- include_directories(${QTIOCOMPRESSOR_INCLUDE_DIRS})
- include_directories(${QXT_INCLUDE_DIRS})
--include_directories(${ECHONEST_INCLUDE_DIRS})
- include_directories(${SHA2_INCLUDE_DIRS})
- include_directories(${CHROMAPRINT_INCLUDE_DIRS})
- include_directories(${MYGPOQT_INCLUDE_DIRS})
-@@ -297,8 +296,6 @@
- songinfo/artistinfoview.cpp
- songinfo/collapsibleinfoheader.cpp
- songinfo/collapsibleinfopane.cpp
-- songinfo/echonestbiographies.cpp
-- songinfo/echonestimages.cpp
- songinfo/songinfobase.cpp
- songinfo/songinfofetcher.cpp
- songinfo/songinfoprovider.cpp
-@@ -586,8 +583,6 @@
- songinfo/artistinfoview.h
- songinfo/collapsibleinfoheader.h
- songinfo/collapsibleinfopane.h
-- songinfo/echonestbiographies.h
-- songinfo/echonestimages.h
- songinfo/songinfobase.h
- songinfo/songinfofetcher.h
- songinfo/songinfoprovider.h
-@@ -822,16 +817,12 @@
- internet/lastfm/lastfmcompat.cpp
- internet/lastfm/lastfmservice.cpp
- internet/lastfm/lastfmsettingspage.cpp
-- songinfo/echonestsimilarartists.cpp
-- songinfo/echonesttags.cpp
- songinfo/lastfmtrackinfoprovider.cpp
- songinfo/tagwidget.cpp
- HEADERS
- covers/lastfmcoverprovider.h
- internet/lastfm/lastfmservice.h
- internet/lastfm/lastfmsettingspage.h
-- songinfo/echonestsimilarartists.h
-- songinfo/echonesttags.h
- songinfo/lastfmtrackinfoprovider.h
- songinfo/tagwidget.h
- UI
-@@ -1241,7 +1232,6 @@
- ${TAGLIB_LIBRARIES}
- ${MYGPOQT_LIBRARIES}
- ${CHROMAPRINT_LIBRARIES}
-- ${ECHONEST_LIBRARIES}
- ${GOBJECT_LIBRARIES}
- ${GLIB_LIBRARIES}
- ${GIO_LIBRARIES}
---- Clementine-1.3.1/src/main.cpp
-+++ Clementine-1.3.1/src/main.cpp
-@@ -76,8 +76,6 @@
- #include <glib.h>
- #include <gst/gst.h>
-
--#include <echonest/Config.h>
--
- #ifdef Q_OS_DARWIN
- #include <sys/resource.h>
- #include <sys/sysctl.h>
-@@ -401,8 +399,8 @@
- // Add root CA cert for SoundCloud, whose certificate is missing on OS X.
- QSslSocket::addDefaultCaCertificates(
- QSslCertificate::fromPath(":/soundcloud-ca.pem", QSsl::Pem));
-- QSslSocket::addDefaultCaCertificates(
-- QSslCertificate::fromPath(":/Equifax_Secure_Certificate_Authority.pem", QSsl::Pem));
-+ QSslSocket::addDefaultCaCertificates(QSslCertificate::fromPath(
-+ ":/Equifax_Secure_Certificate_Authority.pem", QSsl::Pem));
-
- // Has the user forced a different language?
- QString override_language = options.language();
-@@ -440,10 +438,6 @@
- Application app;
- app.set_language_name(language);
-
-- Echonest::Config::instance()->setAPIKey("DFLFLJBUF4EGTXHIG");
-- Echonest::Config::instance()->setNetworkAccessManager(
-- new NetworkAccessManager);
--
- // Network proxy
- QNetworkProxyFactory::setApplicationProxyFactory(
- NetworkProxyFactory::Instance());
---- Clementine-1.3.1/src/songinfo/artistinfoview.cpp
-+++ Clementine-1.3.1/src/songinfo/artistinfoview.cpp
-@@ -16,25 +16,12 @@
- */
-
- #include "artistinfoview.h"
--#include "echonestbiographies.h"
--#include "echonestimages.h"
- #include "songinfofetcher.h"
- #include "songkickconcerts.h"
- #include "widgets/prettyimageview.h"
-
--#ifdef HAVE_LIBLASTFM
--#include "echonestsimilarartists.h"
--#include "echonesttags.h"
--#endif
--
- ArtistInfoView::ArtistInfoView(QWidget* parent) : SongInfoBase(parent) {
-- fetcher_->AddProvider(new EchoNestBiographies);
-- fetcher_->AddProvider(new EchoNestImages);
- fetcher_->AddProvider(new SongkickConcerts);
--#ifdef HAVE_LIBLASTFM
-- fetcher_->AddProvider(new EchoNestSimilarArtists);
-- fetcher_->AddProvider(new EchoNestTags);
--#endif
- }
-
- ArtistInfoView::~ArtistInfoView() {}
---- Clementine-1.3.1/src/songinfo/echonestbiographies.cpp
-+++ Clementine-1.3.1/src/songinfo/echonestbiographies.cpp
-@@ -1,123 +0,0 @@
--/* This file is part of Clementine.
-- Copyright 2010, David Sansome <me@davidsansome.com>
--
-- Clementine 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 Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Clementine is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
--*/
--
--#include "echonestbiographies.h"
--
--#include <memory>
--
--#include <echonest/Artist.h>
--
--#include "songinfotextview.h"
--#include "core/logging.h"
--#include "ui/iconloader.h"
--
--struct EchoNestBiographies::Request {
-- Request(int id) : id_(id), artist_(new Echonest::Artist) {}
--
-- int id_;
-- std::unique_ptr<Echonest::Artist> artist_;
--};
--
--EchoNestBiographies::EchoNestBiographies() {
-- site_relevance_["wikipedia"] = 100;
-- site_relevance_["lastfm"] = 60;
-- site_relevance_["amazon"] = 30;
--
-- site_icons_["amazon"] = IconLoader::Load("amazon", IconLoader::Provider);
-- site_icons_["aol"] = IconLoader::Load("aol", IconLoader::Provider);
-- site_icons_["cdbaby"] = IconLoader::Load("cdbaby", IconLoader::Provider);
-- site_icons_["lastfm"] = IconLoader::Load("as", IconLoader::Lastfm);
-- site_icons_["mog"] = IconLoader::Load("mog", IconLoader::Provider);
-- site_icons_["mtvmusic"] = IconLoader::Load("mtvmusic", IconLoader::Provider);
-- site_icons_["myspace"] = IconLoader::Load("myspace", IconLoader::Provider);
-- site_icons_["wikipedia"] = IconLoader::Load("wikipedia", IconLoader::Provider);
--}
--
--void EchoNestBiographies::FetchInfo(int id, const Song& metadata) {
-- std::shared_ptr<Request> request(new Request(id));
-- request->artist_->setName(metadata.artist());
--
-- QNetworkReply* reply = request->artist_->fetchBiographies();
-- connect(reply, SIGNAL(finished()), SLOT(RequestFinished()));
-- requests_[reply] = request;
--}
--
--void EchoNestBiographies::RequestFinished() {
-- QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
-- if (!reply || !requests_.contains(reply)) return;
-- reply->deleteLater();
--
-- RequestPtr request = requests_.take(reply);
--
-- try {
-- request->artist_->parseProfile(reply);
-- }
-- catch (Echonest::ParseError e) {
-- qLog(Warning) << "Error parsing echonest reply:" << e.errorType()
-- << e.what();
-- }
--
-- QSet<QString> already_seen;
--
-- for (const Echonest::Biography& bio : request->artist_->biographies()) {
-- QString canonical_site = bio.site().toLower();
-- canonical_site.replace(QRegExp("[^a-z]"), "");
--
-- if (already_seen.contains(canonical_site)) continue;
-- already_seen.insert(canonical_site);
--
-- CollapsibleInfoPane::Data data;
-- data.id_ = "echonest/bio/" + bio.site();
-- data.title_ = tr("Biography from %1").arg(bio.site());
-- data.type_ = CollapsibleInfoPane::Data::Type_Biography;
--
-- if (site_relevance_.contains(canonical_site))
-- data.relevance_ = site_relevance_[canonical_site];
-- if (site_icons_.contains(canonical_site))
-- data.icon_ = site_icons_[canonical_site];
--
-- SongInfoTextView* editor = new SongInfoTextView;
-- QString text;
-- // Add a link to the bio webpage at the top if we have one
-- if (!bio.url().isEmpty()) {
-- QString bio_url = bio.url().toEncoded();
-- if (bio.site() == "facebook") {
-- bio_url.replace("graph.facebook.com", "www.facebook.com");
-- }
-- text += "<p><a href=\"" + bio_url + "\">" +
-- tr("Open in your browser") + "</a></p>";
-- }
--
-- text += bio.text();
-- if (bio.site() == "last.fm") {
-- // Echonest lost formatting and it seems there is currently no plans on
-- // Echonest side for changing this.
-- // But with last.fm, we can guess newlines: " " corresponds to a newline
-- // (this seems to be because on last.fm' website, extra blank is inserted
-- // before <br /> tag, and this blank is kept).
-- // This is tricky, but this make the display nicer for last.fm
-- // biographies.
-- text.replace(" ", "<p>");
-- }
-- editor->SetHtml(text);
-- data.contents_ = editor;
--
-- emit InfoReady(request->id_, data);
-- }
--
-- emit Finished(request->id_);
--}
---- Clementine-1.3.1/src/songinfo/echonestbiographies.h
-+++ Clementine-1.3.1/src/songinfo/echonestbiographies.h
-@@ -1,48 +0,0 @@
--/* This file is part of Clementine.
-- Copyright 2010, David Sansome <me@davidsansome.com>
--
-- Clementine 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 Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Clementine is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
--*/
--
--#ifndef ECHONESTBIOGRAPHIES_H
--#define ECHONESTBIOGRAPHIES_H
--
--#include <memory>
--
--#include "songinfoprovider.h"
--
--class QNetworkReply;
--
--class EchoNestBiographies : public SongInfoProvider {
-- Q_OBJECT
--
-- public:
-- EchoNestBiographies();
--
-- void FetchInfo(int id, const Song& metadata);
--
-- private slots:
-- void RequestFinished();
--
-- private:
-- QMap<QString, int> site_relevance_;
-- QMap<QString, QIcon> site_icons_;
--
-- struct Request;
-- typedef std::shared_ptr<Request> RequestPtr;
--
-- QMap<QNetworkReply*, RequestPtr> requests_;
--};
--
--#endif // ECHONESTBIOGRAPHIES_H
---- Clementine-1.3.1/src/songinfo/echonestsimilarartists.cpp
-+++ Clementine-1.3.1/src/songinfo/echonestsimilarartists.cpp
-@@ -1,76 +0,0 @@
--/* This file is part of Clementine.
-- Copyright 2010, David Sansome <me@davidsansome.com>
--
-- Clementine 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 Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Clementine is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
--*/
--
--#include "echonestsimilarartists.h"
--#include "tagwidget.h"
--#include "core/logging.h"
--#include "ui/iconloader.h"
--
--#include <echonest/Artist.h>
--
--Q_DECLARE_METATYPE(QVector<QString>);
--
--void EchoNestSimilarArtists::FetchInfo(int id, const Song& metadata) {
-- using Echonest::Artist;
--
-- Artist::SearchParams params;
-- params << Artist::SearchParamEntry(Artist::Name, metadata.artist());
-- params << Artist::SearchParamEntry(Artist::MinHotttnesss, 0.5);
--
-- QNetworkReply* reply = Echonest::Artist::fetchSimilar(params);
-- connect(reply, SIGNAL(finished()), SLOT(RequestFinished()));
-- requests_[reply] = id;
--}
--
--void EchoNestSimilarArtists::RequestFinished() {
-- QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
-- if (!reply || !requests_.contains(reply)) return;
-- reply->deleteLater();
--
-- int id = requests_.take(reply);
--
-- Echonest::Artists artists;
-- try {
-- artists = Echonest::Artist::parseSimilar(reply);
-- }
-- catch (Echonest::ParseError e) {
-- qLog(Warning) << "Error parsing echonest reply:" << e.errorType()
-- << e.what();
-- }
--
-- if (!artists.isEmpty()) {
-- CollapsibleInfoPane::Data data;
-- data.id_ = "echonest/similarartists";
-- data.title_ = tr("Similar artists");
-- data.type_ = CollapsibleInfoPane::Data::Type_Similar;
-- data.icon_ = IconLoader::Load("echonest", IconLoader::Provider);
--
-- TagWidget* widget = new TagWidget(TagWidget::Type_Artists);
-- data.contents_ = widget;
--
-- widget->SetIcon(IconLoader::Load("x-clementine-artist", IconLoader::Base));
--
-- for (const Echonest::Artist& artist : artists) {
-- widget->AddTag(artist.name());
-- if (widget->count() >= 10) break;
-- }
--
-- emit InfoReady(id, data);
-- }
--
-- emit Finished(id);
--}
---- Clementine-1.3.1/src/songinfo/echonestsimilarartists.h
-+++ Clementine-1.3.1/src/songinfo/echonestsimilarartists.h
-@@ -1,38 +0,0 @@
--/* This file is part of Clementine.
-- Copyright 2010, David Sansome <me@davidsansome.com>
--
-- Clementine 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 Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Clementine is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
--*/
--
--#ifndef ECHONESTSIMILARARTISTS_H
--#define ECHONESTSIMILARARTISTS_H
--
--#include "songinfoprovider.h"
--
--class QNetworkReply;
--
--class EchoNestSimilarArtists : public SongInfoProvider {
-- Q_OBJECT
--
-- public:
-- void FetchInfo(int id, const Song& metadata);
--
-- private slots:
-- void RequestFinished();
--
-- private:
-- QMap<QNetworkReply*, int> requests_;
--};
--
--#endif // ECHONESTSIMILARARTISTS_H
---- Clementine-1.3.1/src/songinfo/echonesttags.cpp
-+++ Clementine-1.3.1/src/songinfo/echonesttags.cpp
-@@ -1,80 +0,0 @@
--/* This file is part of Clementine.
-- Copyright 2010, David Sansome <me@davidsansome.com>
--
-- Clementine 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 Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Clementine is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
--*/
--
--#include "echonesttags.h"
--
--#include <memory>
--
--#include <echonest/Artist.h>
--
--#include "tagwidget.h"
--#include "core/logging.h"
--#include "ui/iconloader.h"
--
--struct EchoNestTags::Request {
-- Request(int id) : id_(id), artist_(new Echonest::Artist) {}
--
-- int id_;
-- std::unique_ptr<Echonest::Artist> artist_;
--};
--
--void EchoNestTags::FetchInfo(int id, const Song& metadata) {
-- std::shared_ptr<Request> request(new Request(id));
-- request->artist_->setName(metadata.artist());
--
-- QNetworkReply* reply = request->artist_->fetchTerms();
-- connect(reply, SIGNAL(finished()), SLOT(RequestFinished()));
-- requests_[reply] = request;
--}
--
--void EchoNestTags::RequestFinished() {
-- QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
-- if (!reply || !requests_.contains(reply)) return;
-- reply->deleteLater();
--
-- RequestPtr request = requests_.take(reply);
--
-- try {
-- request->artist_->parseProfile(reply);
-- }
-- catch (Echonest::ParseError e) {
-- qLog(Warning) << "Error parsing echonest reply:" << e.errorType()
-- << e.what();
-- }
--
-- if (!request->artist_->terms().isEmpty()) {
-- CollapsibleInfoPane::Data data;
-- data.id_ = "echonest/artisttags";
-- data.title_ = tr("Artist tags");
-- data.type_ = CollapsibleInfoPane::Data::Type_Tags;
-- data.icon_ = IconLoader::Load("icon_tag", IconLoader::Lastfm);
--
-- TagWidget* widget = new TagWidget(TagWidget::Type_Tags);
-- data.contents_ = widget;
--
-- widget->SetIcon(data.icon_);
--
-- for (const Echonest::Term& term : request->artist_->terms()) {
-- widget->AddTag(term.name());
-- if (widget->count() >= 10) break;
-- }
--
-- emit InfoReady(request->id_, data);
-- }
--
-- emit Finished(request->id_);
--}
---- Clementine-1.3.1/src/songinfo/echonesttags.h
-+++ Clementine-1.3.1/src/songinfo/echonesttags.h
-@@ -1,43 +0,0 @@
--/* This file is part of Clementine.
-- Copyright 2010, David Sansome <me@davidsansome.com>
--
-- Clementine 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 Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Clementine is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Clementine. If not, see <http://www.gnu.org/licenses/>.
--*/
--
--#ifndef ECHONESTTAGS_H
--#define ECHONESTTAGS_H
--
--#include <memory>
--
--#include "songinfoprovider.h"
--
--class QNetworkReply;
--
--class EchoNestTags : public SongInfoProvider {
-- Q_OBJECT
--
-- public:
-- void FetchInfo(int id, const Song& metadata);
--
-- private slots:
-- void RequestFinished();
--
-- private:
-- struct Request;
-- typedef std::shared_ptr<Request> RequestPtr;
--
-- QMap<QNetworkReply*, RequestPtr> requests_;
--};
--
--#endif // ECHONESTTAGS_H
---- Clementine-1.3.1/src/songinfo/songkickconcerts.cpp
-+++ Clementine-1.3.1/src/songinfo/songkickconcerts.cpp
-@@ -21,9 +21,6 @@
- #include <QVBoxLayout>
- #include <QXmlStreamWriter>
-
--#include <echonest/Artist.h>
--#include <echonest/TypeInformation.h>
--
- #include <qjson/parser.h>
-
- #include "core/closure.h"
-@@ -31,77 +28,64 @@
- #include "songkickconcertwidget.h"
- #include "ui/iconloader.h"
-
--const char* SongkickConcerts::kSongkickArtistBucket = "songkick";
--const char* SongkickConcerts::kSongkickArtistCalendarUrl =
-- "https://api.songkick.com/api/3.0/artists/%1/calendar.json?"
-- "per_page=5&"
-- "apikey=8rgKfy1WU6IlJFfN";
-+namespace {
-+const char* kSongkickArtistCalendarUrl =
-+ "https://api.songkick.com/api/3.0/artists/%1/calendar.json";
-+const char* kSongkickArtistSearchUrl =
-+ "https://api.songkick.com/api/3.0/search/artists.json";
-+const char* kSongkickApiKey = "8rgKfy1WU6IlJFfN";
-+} // namespace
-
- SongkickConcerts::SongkickConcerts() {
- Geolocator* geolocator = new Geolocator;
- geolocator->Geolocate();
- connect(geolocator, SIGNAL(Finished(Geolocator::LatLng)),
- SLOT(GeolocateFinished(Geolocator::LatLng)));
-- NewClosure(geolocator, SIGNAL(Finished(Geolocator::LatLng)), geolocator,
-- SLOT(deleteLater()));
-+ connect(geolocator, SIGNAL(Finished(Geolocator::LatLng)), geolocator,
-+ SLOT(deleteLater()));
- }
-
- void SongkickConcerts::FetchInfo(int id, const Song& metadata) {
-- Echonest::Artist::SearchParams params;
-- params.push_back(
-- qMakePair(Echonest::Artist::Name, QVariant(metadata.artist())));
-- qLog(Debug) << "Params:" << params;
-- QNetworkReply* reply = Echonest::Artist::search(
-- params,
-- Echonest::ArtistInformation(Echonest::ArtistInformation::NoInformation,
-- QStringList() << kSongkickArtistBucket));
-- qLog(Debug) << reply->request().url();
-+ if (metadata.artist().isEmpty()) {
-+ emit Finished(id);
-+ return;
-+ }
-+
-+ QUrl url(kSongkickArtistSearchUrl);
-+ url.addQueryItem("apikey", kSongkickApiKey);
-+ url.addQueryItem("query", metadata.artist());
-+
-+ QNetworkRequest request(url);
-+ QNetworkReply* reply = network_.get(request);
- NewClosure(reply, SIGNAL(finished()), this,
- SLOT(ArtistSearchFinished(QNetworkReply*, int)), reply, id);
- }
-
- void SongkickConcerts::ArtistSearchFinished(QNetworkReply* reply, int id) {
- reply->deleteLater();
-- try {
-- Echonest::Artists artists = Echonest::Artist::parseSearch(reply);
-- if (artists.isEmpty()) {
-- qLog(Debug) << "Failed to find artist in echonest";
-- emit Finished(id);
-- return;
-- }
--
-- const Echonest::Artist& artist = artists[0];
-- const Echonest::ForeignIds& foreign_ids = artist.foreignIds();
-- QString songkick_id;
-- for (const Echonest::ForeignId& id : foreign_ids) {
-- if (id.catalog == "songkick") {
-- songkick_id = id.foreign_id;
-- break;
-- }
-- }
--
-- if (songkick_id.isEmpty()) {
-- qLog(Debug) << "Failed to fetch songkick foreign id for artist";
-- emit Finished(id);
-- return;
-- }
--
-- QStringList split = songkick_id.split(':');
-- if (split.count() != 3) {
-- qLog(Error) << "Weird songkick id";
-- emit Finished(id);
-- return;
-- }
--
-- FetchSongkickCalendar(split[2], id);
-- } catch (Echonest::ParseError& e) {
-- qLog(Error) << "Error parsing echonest reply:" << e.errorType() << e.what();
-+
-+ QJson::Parser parser;
-+ QVariantMap json = parser.parse(reply).toMap();
-+
-+ QVariantMap results_page = json["resultsPage"].toMap();
-+ QVariantMap results = results_page["results"].toMap();
-+ QVariantList artists = results["artist"].toList();
-+
-+ if (artists.isEmpty()) {
- emit Finished(id);
-+ return;
- }
-+
-+ QVariantMap artist = artists.first().toMap();
-+ QString artist_id = artist["id"].toString();
-+
-+ FetchSongkickCalendar(artist_id, id);
- }
-
- void SongkickConcerts::FetchSongkickCalendar(const QString& artist_id, int id) {
- QUrl url(QString(kSongkickArtistCalendarUrl).arg(artist_id));
-+ url.addQueryItem("per_page", "5");
-+ url.addQueryItem("apikey", kSongkickApiKey);
- qLog(Debug) << url;
- QNetworkReply* reply = network_.get(QNetworkRequest(url));
- NewClosure(reply, SIGNAL(finished()), this,
---- Clementine-1.3.1/src/songinfo/songkickconcerts.h
-+++ Clementine-1.3.1/src/songinfo/songkickconcerts.h
-@@ -44,9 +44,6 @@
-
- NetworkAccessManager network_;
- Geolocator::LatLng latlng_;
--
-- static const char* kSongkickArtistBucket;
-- static const char* kSongkickArtistCalendarUrl;
- };
-
- #endif
diff --git a/media-sound/clementine/metadata.xml b/media-sound/clementine/metadata.xml
index 40e967ff3e4e..21fd21a75522 100644
--- a/media-sound/clementine/metadata.xml
+++ b/media-sound/clementine/metadata.xml
@@ -20,7 +20,6 @@
<name>Gentoo Sound project</name>
</maintainer>
<use>
- <flag name="amazoncloud">Enable Amazon cloud drive support</flag>
<flag name="box">Enable filesharing via Box.com</flag>
<flag name="dropbox">Enable Dropbox support</flag>
<flag name="googledrive">Enable Google Drive support</flag>
@@ -29,7 +28,6 @@
<flag name="projectm">Build with ProjectM visualization</flag>
<flag name="seafile">Enable support for seafile: a file sync service</flag>
<flag name="skydrive">Enable Skydrive support</flag>
- <flag name="vkontakte">Enable vk.com support</flag>
<flag name="wiimote">Enable support for Wii remote</flag>
</use>
<upstream>