~ruther/guix-local

43925703e851d9058823b70cbe67b7169558c0a9 — Pierre Langlois 9 years ago 1fa37d1
gnu: Add libmygpo-qt.

* gnu/packages/music.scm (libmygpo-qt): New variable.
* gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 822,6 822,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/libmad-armv7-thumb-pt2.patch		\
  %D%/packages/patches/libmad-frame-length.patch		\
  %D%/packages/patches/libmad-mips-newgcc.patch			\
  %D%/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch	\
  %D%/packages/patches/libsndfile-armhf-type-checks.patch	\
  %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch	\
  %D%/packages/patches/libsndfile-CVE-2017-8362.patch		\

M gnu/packages/music.scm => gnu/packages/music.scm +27 -0
@@ 3407,3 3407,30 @@ the electronic or dubstep genre.")
designed to make a developer's life easy when trying to use the APIs provided
by The Echo Nest.")
    (license license:gpl2+)))

(define-public libmygpo-qt
  (package
    (name "libmygpo-qt")
    (version "1.0.9")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://stefan.derkits.at/files/"
                                  "libmygpo-qt/libmygpo-qt." version ".tar.gz"))
              (sha256
               (base32
                "1wsgh2vjnd52rkvpncj1ycpbp84sj9hh12ija46b42z9mmqf2jm4"))
              (patches
               (search-patches "libmygpo-qt-fix-jsoncreatortest.patch"))))
    (build-system cmake-build-system)
    (arguments
     '(#:configure-flags '("-DBUILD_WITH_QT4=OFF")))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("qt" ,qtbase)))
    (home-page "http://wiki.gpodder.org/wiki/Libmygpo-qt")
    (synopsis "Qt/C++ library wrapping the gpodder web service")
    (description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
@url{https://gpodder.net} APIs.  It allows applications to discover, manage
and track podcasts.")
    (license license:lgpl2.1+)))

A gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch => gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch +41 -0
@@ 0,0 1,41 @@
From ebe2323727f8d646590245b0bf06dbc92b5808d6 Mon Sep 17 00:00:00 2001
From: Golubev Alexander <fatzer2@gmail.com>
Date: Tue, 20 Sep 2016 15:33:30 +0400
Subject: [PATCH] JsonCreatorTest failed due to extra space

JsonCreatorTest failed with next message:
```
********* Start testing of mygpo::JsonCreatorTest *********
Config: Using QTest library 4.8.6, Qt 4.8.6
PASS   : mygpo::JsonCreatorTest::initTestCase()
PASS   : mygpo::JsonCreatorTest::testAddRemoveSubsToJSON()
PASS   : mygpo::JsonCreatorTest::testSaveSettingsToJSON()
FAIL!  : mygpo::JsonCreatorTest::testEpisodeActionListToJSON() Compared values are not the same
   Actual (outString2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http://podcast.url","timestamp":"1998-01-01T00:01:02"},{"action":"delete","device":"device3","episode":"http://episode2.url","podcast":"http://podcast2.url","timestamp":"1920-01-01T12:01:02"},{"action":"new","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1998-01-01T00:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1920-01-01T12:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":123,"started":10,"timestamp":"1998-01-01T00:01:02","total":321},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":10,"timestamp":"1998-01-01T00:01:02"}]
   Expected (expected2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http:
   Loc: [/var/tmp/portage/media-libs/libmygpo-qt-1.0.9-r1/work/libmygpo-qt-1.0.9/tests/JsonCreatorTest.cpp(138)]
PASS   : mygpo::JsonCreatorTest::testRenameDeviceStringToJSON()
PASS   : mygpo::JsonCreatorTest::testDeviceSynchronizationListsToJSON()
PASS   : mygpo::JsonCreatorTest::cleanupTestCase()
Totals: 6 passed, 1 failed, 0 skipped
********* Finished testing of mygpo::JsonCreatorTest *********
```

This was caused by extra space in the expected string.
---
 tests/JsonCreatorTest.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/JsonCreatorTest.cpp b/tests/JsonCreatorTest.cpp
index b15b006..feb03d5 100644
--- a/tests/JsonCreatorTest.cpp
+++ b/tests/JsonCreatorTest.cpp
@@ -133,7 +133,7 @@ void JsonCreatorTest::testEpisodeActionListToJSON()
 
   output = JsonCreator::episodeActionListToJSON(episodeActions);
   QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
-  QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\" },{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) );
+  QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) );
 
   QCOMPARE(outString2, expected2 );
 }