aboutsummaryrefslogtreecommitdiff
path: root/libraries/libechonest
diff options
context:
space:
mode:
authorHeinz Wiesinger <pprkut@slackbuilds.org>2017-01-29 19:47:52 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2017-02-04 07:00:20 +0700
commit2dde8d9eb8eac03ec17743c7a3efe86648fe0e76 (patch)
treebde57c09014458c7dca14e0e33c47799361264c0 /libraries/libechonest
parent96f433a6e1762a5f508683153a9f84b068dbe688 (diff)
libraries/libechonest: Updated for version 2.3.1.
Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
Diffstat (limited to 'libraries/libechonest')
-rw-r--r--libraries/libechonest/libechonest-fix-double-encoding-on-qt4.patch75
-rw-r--r--libraries/libechonest/libechonest.SlackBuild7
-rw-r--r--libraries/libechonest/libechonest.info6
3 files changed, 83 insertions, 5 deletions
diff --git a/libraries/libechonest/libechonest-fix-double-encoding-on-qt4.patch b/libraries/libechonest/libechonest-fix-double-encoding-on-qt4.patch
new file mode 100644
index 0000000000000..0ebee8b1e57e5
--- /dev/null
+++ b/libraries/libechonest/libechonest-fix-double-encoding-on-qt4.patch
@@ -0,0 +1,75 @@
+From 009514f65044823ef29045397d4b58dd04d09977 Mon Sep 17 00:00:00 2001
+From: Leo Franchi <lfranchi@dropbox.com>
+Date: Mon, 18 May 2015 22:08:31 -0400
+Subject: Don't double-encode on Qt4
+
+Fixes issue #27
+---
+ src/Util.cpp | 4 +++-
+ tests/PlaylistTest.cpp | 22 ++++++++++++++++++++++
+ tests/PlaylistTest.h | 1 +
+ 3 files changed, 26 insertions(+), 1 deletion(-)
+
+diff --git a/src/Util.cpp b/src/Util.cpp
+index 8401e8c..595435b 100644
+--- a/src/Util.cpp
++++ b/src/Util.cpp
+@@ -150,7 +150,9 @@ void Echonest::urlAddQueryItem(QUrl& url, const QString& key, const QString& val
+ urlQuery.addQueryItem( key, value );
+ url.setQuery( urlQuery );
+ #else
+- url.addQueryItem( key, value );
++ // We assume here that the key and values, though QStrings, are actually latin1 and not UTF-8.
++ // That is, they've already gone through playlistParamToString(). This is terrible.
++ url.addEncodedQueryItem( key.toLatin1(), value.toLatin1() );
+ #endif
+ }
+
+diff --git a/tests/PlaylistTest.cpp b/tests/PlaylistTest.cpp
+index 6f7c606..2ec7eb2 100644
+--- a/tests/PlaylistTest.cpp
++++ b/tests/PlaylistTest.cpp
+@@ -201,6 +201,28 @@ void PlaylistTest::testStaticXSPF()
+ }
+
+
++void PlaylistTest::testStaticWithSpecialChars()
++{
++ DynamicPlaylist::PlaylistParams p;
++ p.append( DynamicPlaylist::PlaylistParamData( Echonest::DynamicPlaylist::Artist, QString::fromUtf8( "Björk" ) ) );
++ p.append( DynamicPlaylist::PlaylistParamData( Echonest::DynamicPlaylist::Type, Echonest::DynamicPlaylist::ArtistRadioType ) );
++ p.append( DynamicPlaylist::PlaylistParamData( Echonest::DynamicPlaylist::Results, 10 ) );
++
++ QNetworkReply* reply = DynamicPlaylist::staticPlaylist( p );
++
++ QVERIFY( reply->url().toEncoded() == "http://developer.echonest.com/api/v4/playlist/static?api_key=JGJCRKWLXLBZIFAZB&format=xml&artist=Bj%C3%B6rk&type=artist-radio&results=10" );
++
++ QEventLoop loop;
++ loop.connect( reply, SIGNAL(finished()), SLOT(quit()) );
++ loop.exec();
++ SongList songs = DynamicPlaylist::parseStaticPlaylist( reply );
++
++ QVERIFY( songs.size() == 10 );
++ Q_FOREACH( const Song& song, songs )
++ QVERIFY( !song.id().isEmpty() );
++
++}
++
+ void PlaylistTest::testDynamic1()
+ {
+ DynamicPlaylist::PlaylistParams p;
+diff --git a/tests/PlaylistTest.h b/tests/PlaylistTest.h
+index 9d75c05..71c21d6 100644
+--- a/tests/PlaylistTest.h
++++ b/tests/PlaylistTest.h
+@@ -30,6 +30,7 @@ private slots:
+ void testStaticArtistYears();
+ void testStaticWithSongType();
+ void testStaticXSPF();
++ void testStaticWithSpecialChars();
+ void testDynamic1();
+ void testDynamic2();
+ void testNewDynamicAPI();
+--
+cgit v0.11.2
+
diff --git a/libraries/libechonest/libechonest.SlackBuild b/libraries/libechonest/libechonest.SlackBuild
index 95724eb1d542b..59b03bf99555b 100644
--- a/libraries/libechonest/libechonest.SlackBuild
+++ b/libraries/libechonest/libechonest.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for libechonest
# Copyright 2011 James Axl <axlrose112@gmail.com>
-# Copyright 2014 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2014-2017 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=libechonest
-VERSION=${VERSION:-2.3.0}
+VERSION=${VERSION:-2.3.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,6 +70,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# Upstream fix - git revision 009514f
+patch -p1 -i $CWD/libechonest-fix-double-encoding-on-qt4.patch
+
mkdir build
cd build
cmake \
diff --git a/libraries/libechonest/libechonest.info b/libraries/libechonest/libechonest.info
index 246f2c77556ca..e231f1451dfaf 100644
--- a/libraries/libechonest/libechonest.info
+++ b/libraries/libechonest/libechonest.info
@@ -1,8 +1,8 @@
PRGNAM="libechonest"
-VERSION="2.3.0"
+VERSION="2.3.1"
HOMEPAGE="https://projects.kde.org/projects/playground/libs/libechonest"
-DOWNLOAD="http://files.lfranchi.com/libechonest-2.3.0.tar.bz2"
-MD5SUM="9a740f7a8eb7d79ab013593bb52544b6"
+DOWNLOAD="http://files.lfranchi.com/libechonest-2.3.1.tar.bz2"
+MD5SUM="d8c60545b056145dc66882971a0acf9c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""