public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/clementine/files/, media-sound/clementine/
Date: Tue, 19 Dec 2017 09:32:47 +0000 (UTC)	[thread overview]
Message-ID: <1513675948.85f6b085c7f460f2ac9b8f64781151f082d9e2cf.asturm@gentoo> (raw)

commit:     85f6b085c7f460f2ac9b8f64781151f082d9e2cf
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 09:32:08 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 09:32:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85f6b085

media-sound/clementine: Drop old

Closes: https://bugs.gentoo.org/640300
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 media-sound/clementine/Manifest                    |   1 -
 media-sound/clementine/clementine-1.3.1-r5.ebuild  | 174 -----
 .../files/clementine-1.3.1-chromaprint14.patch     |  41 --
 .../files/clementine-1.3.1-fix-desktop-file.patch  |  52 --
 .../clementine-1.3.1-libechonest_removal.patch     | 701 ---------------------
 media-sound/clementine/metadata.xml                |   2 -
 6 files changed, 971 deletions(-)

diff --git a/media-sound/clementine/Manifest b/media-sound/clementine/Manifest
index 59c2e0dfbb0..e631e549623 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 88c6a2096dc..00000000000
--- 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 bfdc49265aa..00000000000
--- 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 bb561318c59..00000000000
--- 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 63eb096d84d..00000000000
--- 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 40e967ff3e4..21fd21a7552 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>


             reply	other threads:[~2017-12-19  9:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-19  9:32 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-02-11 20:54 [gentoo-commits] repo/gentoo:master commit in: media-sound/clementine/files/, media-sound/clementine/ Andreas Sturmlechner
2025-01-07 23:42 Sam James
2024-01-05 10:36 Sam James
2023-12-23 20:05 Joonas Niilola
2023-10-17  5:24 Yixun Lan
2022-10-16  4:53 Miroslav Šulc
2021-07-02 10:42 Lars Wendler
2019-07-13  8:51 Andreas Sturmlechner
2019-02-17 16:05 Lars Wendler
2018-11-17 23:10 Andreas Sturmlechner
2018-03-17  0:27 Andreas Sturmlechner
2017-11-19 15:09 Andreas Sturmlechner
2016-12-26 23:39 Lars Wendler
2016-04-17 17:52 Lars Wendler
2016-04-17  4:41 Jason Donenfeld
2016-01-13 17:21 Lars Wendler
2015-08-25  8:13 Lars Wendler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1513675948.85f6b085c7f460f2ac9b8f64781151f082d9e2cf.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox