From 2dde8d9eb8eac03ec17743c7a3efe86648fe0e76 Mon Sep 17 00:00:00 2001 From: Heinz Wiesinger Date: Sun, 29 Jan 2017 19:47:52 +0100 Subject: libraries/libechonest: Updated for version 2.3.1. Signed-off-by: Heinz Wiesinger --- .../libechonest-fix-double-encoding-on-qt4.patch | 75 ++++++++++++++++++++++ libraries/libechonest/libechonest.SlackBuild | 7 +- libraries/libechonest/libechonest.info | 6 +- 3 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 libraries/libechonest/libechonest-fix-double-encoding-on-qt4.patch (limited to 'libraries/libechonest') 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 +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 -# 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="" -- cgit v1.2.3