* bug#25787: [PATCH 6/6] gnu: Add Clementine. [not found] ` <871su5d0is.fsf@gnu.org> @ 2017-05-03 21:57 ` Ludovic Courtès 2017-10-25 14:09 ` [bug#25787] " Ricardo Wurmus 0 siblings, 1 reply; 7+ messages in thread From: Ludovic Courtès @ 2017-05-03 21:57 UTC (permalink / raw) To: Pierre Langlois; +Cc: 25787 Pierre, did you have any chance to look at this? https://bugs.gnu.org/25787 TIA! Ludo’. ludo@gnu.org (Ludovic Courtès) skribis: > Marius Bakke <mbakke@fastmail.com> skribis: > >> I skipped commenting on the nss and sqlite patches. For now, I would be >> happy to just use a "sqlite-for-clementine" package here, since it's the >> only package that requires the FTS3 extension. > > Oh right, we can do that in ‘master’. > > Pierre: now that you have overwhelming feedback ;-), could you send > updated patches? Please let us know what you think. > > Thanks for all the work! > > Ludo’. ^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#25787] [PATCH 6/6] gnu: Add Clementine. 2017-05-03 21:57 ` bug#25787: [PATCH 6/6] gnu: Add Clementine Ludovic Courtès @ 2017-10-25 14:09 ` Ricardo Wurmus 2017-10-29 20:11 ` Pierre Langlois 0 siblings, 1 reply; 7+ messages in thread From: Ricardo Wurmus @ 2017-10-25 14:09 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 25787 Hi Pierre, I have taken your patches and implemented the suggested changes. The only remaining problem is that Clementine seems to bundle a lot of libraries, which is why I’m not comfortable with pushing the updated version as is. QJson is not found, but it is used by a bundled library anyway, so I think the bundling should be fixed first. Attached is the updated version of the Clementine patch. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net commit b8b691c88bd80aef6674ff97d1d924aa37193042 (clementine) Author: Pierre Langlois <pierre.langlois@gmx.com> Date: Wed Oct 25 15:14:05 2017 +0200 gnu: Add clementine. * gnu/packages/music.scm (clementine): New variable. Co-authored-by: Ricardo Wurmus <rekado@elephly.net> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2fd38362c..6f659fe83 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -54,8 +54,11 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages databases) + #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) @@ -73,12 +76,14 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages graphics) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages libffi) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) ; for alsa-utils #:use-module (gnu packages lirc) #:use-module (gnu packages llvm) @@ -91,6 +96,7 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) ;libsndfile #:use-module (gnu packages python) #:use-module (gnu packages qt) @@ -176,6 +182,77 @@ and play MIDI files with a few clicks in a user-friendly interface offering score, keyboard, guitar, drum and controller views.") (license license:gpl3+))) +;; We don't use the latest release because it depends on Qt4. Instead we +;; download the sources from the tip of the "qt5" branch. +(define-public clementine + (let ((commit "0a59257dc334b8df60a4d7d90b04f1766747efcf") + (revision "1")) + (package + (name "clementine") + (version (string-append "1.3.1-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clementine-player/Clementine.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0cdcj7di7j9jgzc1ihjna1a5df64f9hnmx7b9kh8rlg76hc0l0hi")))) + (build-system cmake-build-system) + (arguments + '(;#:tests? #f + #:configure-flags + (let ((crypto (assoc-ref %build-inputs "crypto++"))) + (list "-DENABLE_VISUALISATIONS=OFF" ; requires unpackaged "projectm" + "-DCRYPTOPP_FOUND=TRUE" + (string-append "-DCRYPTOPP_INCLUDE_DIRS=" crypto "/include") + (string-append "-DCRYPTOPP_LIBRARY_DIRS=" crypto "/lib") + (string-append "-DCRYPTOPP_LIBRARIES=" crypto "/lib/libcryptopp.a"))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) + (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))) + (wrap-program (string-append out "/bin/clementine") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) + `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("chromaprint" ,chromaprint) + ("crypto++" ,crypto++) + ("fftw" ,fftw) + ("glib" ,glib) + ("glu" ,glu) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("libcdio" ,libcdio) + ("libechonest" ,libechonest) + ;; TODO: Package libgpod. + ("libmtp" ,libmtp) + ("libxml2" ,libxml2) + ("protobuf" ,protobuf) + ("pulseaudio" ,pulseaudio) + ;; TODO: this is not found! + ("qjson" ,qjson) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("sqlite" ,sqlite-with-fts3) + ("sparsehash" ,sparsehash) + ("taglib" ,taglib))) + (home-page "http://clementine-player.org") + (synopsis "Music player and library organizer") + (description "Clementine is a multiplatform music player. It is inspired +by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and +playing your music.") + (license license:gpl3+)))) + (define-public cmus (package (name "cmus") ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#25787] [PATCH 6/6] gnu: Add Clementine. 2017-10-25 14:09 ` [bug#25787] " Ricardo Wurmus @ 2017-10-29 20:11 ` Pierre Langlois 2017-10-29 20:12 ` [bug#25787] [PATCH 01/26] gnu: Add libmygpo-qt Pierre Langlois 2017-10-29 20:13 ` [bug#25787] [PATCH 02/02] gnu: Add clementine Pierre Langlois 0 siblings, 2 replies; 7+ messages in thread From: Pierre Langlois @ 2017-10-29 20:11 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 25787 Hi Ricardo Ricardo Wurmus writes: > Hi Pierre, > > I have taken your patches and implemented the suggested changes. > The > only remaining problem is that Clementine seems to bundle a lot > of > libraries, which is why I’m not comfortable with pushing the > updated > version as is. Thanks a lot for looking at this! I'm sorry I've left this dragging for so long, let me get my act together and complete this :-). About the bundling, I agree this is problematic and I'm afraid I haven't been able to get rid of all of them. The remaining libs still bundled are: - qxt: It appears to have gone unmaintained and Clementine devs have updated it for it to work with qt5. - qtsingleapplication: Needs packaging. I might take a stab at it but I'm not sure I'll have the time. But, the CMakeLists.txt file says the bundled version is patched so I'm unsure just packaging it will be enough. - gmock: We have gmock in our googletest package but the tests segfault with it. The bundled version might be too old. - qsqlite: They have bundled the QT sqlite driver: ~~~(CMakeList.txt) # Build our copy of QSqlLiteDriver. # We do this because we can't guarantee that the driver shipped with Qt exposes the # raw sqlite3_ functions required for FTS support. This way we know that those symbols # exist at compile-time and that our code links to the same sqlite library as the # Qt driver. ~~~ I tried to build a version a qtbase with sqlite-with-fts3 as input instead of sqlite, to see if that could be a replacement. But the symbols where still not found so I'm unsure what to do here. Finally, I haven't had the time to look at those last two: - qocoa - qtiocompressor I was able to unbundle "libmygpo-qt" (new package) and "sha2" (replaced by openssl). > > QJson is not found, but it is used by a bundled library anyway, > so I > think the bundling should be fixed first. So, as it turns out only libmygpo-qt's QT4 version was depending on qjson, so this is no longer necessary for clementine! > > Attached is the updated version of the Clementine patch. Thanks again! I have update the patch to remove the unbundled libs and enabled testing. Pierre ^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#25787] [PATCH 01/26] gnu: Add libmygpo-qt. 2017-10-29 20:11 ` Pierre Langlois @ 2017-10-29 20:12 ` Pierre Langlois 2017-10-29 20:13 ` [bug#25787] [PATCH 02/02] gnu: Add clementine Pierre Langlois 1 sibling, 0 replies; 7+ messages in thread From: Pierre Langlois @ 2017-10-29 20:12 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 25787 * 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. --- gnu/local.mk | 1 + gnu/packages/music.scm | 27 ++++++++++++++ .../patches/libmygpo-qt-fix-jsoncreatortest.patch | 41 ++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch diff --git a/gnu/local.mk b/gnu/local.mk index 90dc7aec1..3012976a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -801,6 +801,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 \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f5df44070..55ae15f1a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3367,3 +3367,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 @url{https://gpodder.net} +Webservice") + (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+))) diff --git a/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch b/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch new file mode 100644 index 000000000..c457d592c --- /dev/null +++ b/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch @@ -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 ); + } -- 2.14.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#25787] [PATCH 02/02] gnu: Add clementine. 2017-10-29 20:11 ` Pierre Langlois 2017-10-29 20:12 ` [bug#25787] [PATCH 01/26] gnu: Add libmygpo-qt Pierre Langlois @ 2017-10-29 20:13 ` Pierre Langlois 2017-10-29 20:20 ` Pierre Langlois 1 sibling, 1 reply; 7+ messages in thread From: Pierre Langlois @ 2017-10-29 20:13 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 25787 * gnu/packages/music.scm (clementine): New variable. * gnu/packages/patches/clementine-use-openssl.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net> --- gnu/local.mk | 1 + gnu/packages/music.scm | 114 ++++++++++++++++++++++ gnu/packages/patches/clementine-use-openssl.patch | 67 +++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 gnu/packages/patches/clementine-use-openssl.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3012976a8..5530e3342 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -562,6 +562,7 @@ dist_patch_DATA = \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ + %D%/packages/patches/clementine-use-openssl.patch \ %D%/packages/patches/clisp-remove-failing-test.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/clx-remove-demo.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 55ae15f1a..453125a8b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -54,8 +54,11 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages databases) + #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) @@ -73,12 +76,14 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages graphics) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages libffi) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) ; for alsa-utils #:use-module (gnu packages lirc) #:use-module (gnu packages llvm) @@ -91,6 +96,7 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) ;libsndfile #:use-module (gnu packages python) #:use-module (gnu packages qt) @@ -176,6 +182,114 @@ and play MIDI files with a few clicks in a user-friendly interface offering score, keyboard, guitar, drum and controller views.") (license license:gpl3+))) +;; We don't use the latest release because it depends on Qt4. Instead we +;; download the sources from the tip of the "qt5" branch. +(define-public clementine + (let ((commit "0a59257dc334b8df60a4d7d90b04f1766747efcf") + (revision "1")) + (package + (name "clementine") + (version (string-append "1.3.1-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clementine-player/Clementine.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0cdcj7di7j9jgzc1ihjna1a5df64f9hnmx7b9kh8rlg76hc0l0hi")) + (modules '((guix build utils))) + (snippet + '(for-each + (lambda (dir) + (delete-file-recursively + (string-append "3rdparty/" dir))) + (list + ;; TODO: The following dependencies are still bundled: + ;; - "qxt": Appears to be unmaintained upstream. + ;; - "qsqlite" + ;; - "qtsingleapplication" + ;; - "qocoa" + ;; - "qtiocompressor" + ;; - "gmock": The tests crash when using our googletest + ;; package instead of the bunbled gmock. + "SPMediaKeyTap" + "fancytabwidget" + "google-breakpad" + "libmygpo-qt" + "libmygpo-qt5" + "libprojectm" + "qtwin" + "sha2" ;; Replaced by openssl. + "taglib" + "tinysvcmdns"))) + (patches (search-patches "clementine-use-openssl.patch")))) + (build-system cmake-build-system) + (arguments + '(#:test-target "clementine_test" + #:configure-flags + (let ((crypto (assoc-ref %build-inputs "crypto++"))) + (list "-DENABLE_VISUALISATIONS=OFF" ; requires unpackaged "projectm" + "-DCRYPTOPP_FOUND=TRUE" + (string-append "-DCRYPTOPP_INCLUDE_DIRS=" crypto "/include") + (string-append "-DCRYPTOPP_LIBRARY_DIRS=" crypto "/lib") + (string-append "-DCRYPTOPP_LIBRARIES=" crypto "/lib/libcryptopp.a") + "-DUSE_SYSTEM_SHA2=TRUE")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/clementine") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))) + #t)))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("qtlinguist" ,qttools))) + (inputs + `(("boost" ,boost) + ("chromaprint" ,chromaprint) + ("crypto++" ,crypto++) + ("fftw" ,fftw) + ("glib" ,glib) + ("glu" ,glu) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("libcdio" ,libcdio) + ("libmygpo-qt" ,libmygpo-qt) + ("libechonest" ,libechonest) + ;; TODO: Package libgpod. + ("libmtp" ,libmtp) + ("libxml2" ,libxml2) + ("openssl" ,openssl) + ("protobuf" ,protobuf) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("qtwebkit" ,qtwebkit) + ("sqlite" ,sqlite-with-fts3) + ("sparsehash" ,sparsehash) + ("taglib" ,taglib))) + (home-page "http://clementine-player.org") + (synopsis "Music player and library organizer") + (description "Clementine is a multiplatform music player. It is inspired +by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and +playing your music.") + (license (list + ;; clementine and qtiocompressor are under GPLv3. + license:gpl3+ + ;; gmock is under BSD-3. + license:bsd-3 + ;; qxt is under CPL1.0. + license:cpl1.0 + ;; qsqlite and qtsingleapplication are under LGPL2.1+. + license:lgpl2.1+ + ;; qocoa is under MIT and CC by-sa for the icons. + license:cc-by-sa3.0))))) + (define-public cmus (package (name "cmus") diff --git a/gnu/packages/patches/clementine-use-openssl.patch b/gnu/packages/patches/clementine-use-openssl.patch new file mode 100644 index 000000000..1fbf3d2b8 --- /dev/null +++ b/gnu/packages/patches/clementine-use-openssl.patch @@ -0,0 +1,67 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4022c383b..3202b8b69 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -83,6 +83,7 @@ pkg_check_modules(LIBPULSE libpulse) + pkg_check_modules(LIBXML libxml-2.0) + pkg_check_modules(SPOTIFY libspotify>=12.1.45) + pkg_check_modules(TAGLIB REQUIRED taglib>=1.6) ++pkg_check_modules(OPENSSL REQUIRED openssl) + + if (WIN32) + find_package(ZLIB REQUIRED) +@@ -381,20 +382,6 @@ if(GMOCK_INCLUDE_DIRS) + endif(GTEST_INCLUDE_DIRS) + endif(GMOCK_INCLUDE_DIRS) + +-# Use the system's sha2 if it's available. +-find_path(SHA2_INCLUDE_DIRS sha2.h) +-find_library(SHA2_LIBRARIES sha2) +-if(SHA2_LIBRARIES AND SHA2_INCLUDE_DIRS) +- message(STATUS "Using system sha2 library") +- set(USE_SYSTEM_SHA2 ON) +-else() +- message(STATUS "Using builtin sha2 library") +- set(USE_SYSTEM_SHA2 OFF) +- add_subdirectory(3rdparty/sha2) +- set(SHA2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/sha2) +- set(SHA2_LIBRARIES sha2) +-endif() +- + # Use the system libmygpo-qt5 if a recent enough version was found + if(LIBMYGPO_QT5_FOUND) + set(MYGPOQT5_LIBRARIES ${LIBMYGPO_QT5_LIBRARIES}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6e24c9726..104d044d9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -29,7 +29,6 @@ include_directories(${LIBPROJECTM_INCLUDE_DIRS}) + include_directories(${QTSINGLEAPPLICATION_INCLUDE_DIRS}) + include_directories(${QTIOCOMPRESSOR_INCLUDE_DIRS}) + include_directories(${QXT_INCLUDE_DIRS}) +-include_directories(${SHA2_INCLUDE_DIRS}) + include_directories(${CHROMAPRINT_INCLUDE_DIRS}) + include_directories(${MYGPOQT5_INCLUDE_DIRS}) + +@@ -1223,7 +1222,7 @@ target_link_libraries(clementine_lib + libclementine-common + libclementine-tagreader + libclementine-remote +- ${SHA2_LIBRARIES} ++ ${OPENSSL_LIBRARIES} + ${TAGLIB_LIBRARIES} + ${MYGPOQT5_LIBRARIES} + ${CHROMAPRINT_LIBRARIES} +diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp +index ce76f22da..80bf623fb 100644 +--- a/src/core/utilities.cpp ++++ b/src/core/utilities.cpp +@@ -52,7 +52,7 @@ + #include "config.h" + #include "timeconstants.h" + +-#include "sha2.h" ++#include <openssl/sha.h> + + #if defined(Q_OS_UNIX) + #include <sys/statvfs.h> -- 2.14.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#25787] [PATCH 02/02] gnu: Add clementine. 2017-10-29 20:13 ` [bug#25787] [PATCH 02/02] gnu: Add clementine Pierre Langlois @ 2017-10-29 20:20 ` Pierre Langlois 2017-12-05 7:07 ` bug#25787: " Ricardo Wurmus 0 siblings, 1 reply; 7+ messages in thread From: Pierre Langlois @ 2017-10-29 20:20 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: 25787 [-- Attachment #1: Type: text/plain, Size: 203 bytes --] OK, I messed those emails and the patches are completely mangled... oups! Here are the patches as attachments. I would normally use git send-email but it wasn't working for me today for some reason. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-gnu-Add-libmygpo-qt.patch --] [-- Type: text/x-patch, Size: 7704 bytes --] From f8c1602f78cb570d013313cdb5fd100716bcf4bb Mon Sep 17 00:00:00 2001 From: Pierre Langlois <pierre.langlois@gmx.com> Date: Sat, 25 Feb 2017 12:20:34 +0000 Subject: [PATCH 01/02] 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. --- gnu/local.mk | 1 + gnu/packages/music.scm | 27 ++++++++++++++ .../patches/libmygpo-qt-fix-jsoncreatortest.patch | 41 ++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch diff --git a/gnu/local.mk b/gnu/local.mk index 90dc7aec1..3012976a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -801,6 +801,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 \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f5df44070..55ae15f1a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3367,3 +3367,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 @url{https://gpodder.net} +Webservice") + (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+))) diff --git a/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch b/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch new file mode 100644 index 000000000..c457d592c --- /dev/null +++ b/gnu/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch @@ -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 ); + } -- 2.14.3 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #3: 0002-gnu-Add-clementine.patch --] [-- Type: text/x-patch, Size: 10297 bytes --] From ace833f94b278e445a8e91fd5b1c105de3f39896 Mon Sep 17 00:00:00 2001 From: Pierre Langlois <pierre.langlois@gmx.com> Date: Wed, 25 Oct 2017 19:57:11 +0100 Subject: [PATCH 02/02] gnu: Add clementine. * gnu/packages/music.scm (clementine): New variable. * gnu/packages/patches/clementine-use-openssl.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net> --- gnu/local.mk | 1 + gnu/packages/music.scm | 114 ++++++++++++++++++++++ gnu/packages/patches/clementine-use-openssl.patch | 67 +++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 gnu/packages/patches/clementine-use-openssl.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3012976a8..5530e3342 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -562,6 +562,7 @@ dist_patch_DATA = \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/clang-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ + %D%/packages/patches/clementine-use-openssl.patch \ %D%/packages/patches/clisp-remove-failing-test.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/clx-remove-demo.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 55ae15f1a..453125a8b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -54,8 +54,11 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages databases) + #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) @@ -73,12 +76,14 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages graphics) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages libffi) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) ; for alsa-utils #:use-module (gnu packages lirc) #:use-module (gnu packages llvm) @@ -91,6 +96,7 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) ;libsndfile #:use-module (gnu packages python) #:use-module (gnu packages qt) @@ -176,6 +182,114 @@ and play MIDI files with a few clicks in a user-friendly interface offering score, keyboard, guitar, drum and controller views.") (license license:gpl3+))) +;; We don't use the latest release because it depends on Qt4. Instead we +;; download the sources from the tip of the "qt5" branch. +(define-public clementine + (let ((commit "0a59257dc334b8df60a4d7d90b04f1766747efcf") + (revision "1")) + (package + (name "clementine") + (version (string-append "1.3.1-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clementine-player/Clementine.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0cdcj7di7j9jgzc1ihjna1a5df64f9hnmx7b9kh8rlg76hc0l0hi")) + (modules '((guix build utils))) + (snippet + '(for-each + (lambda (dir) + (delete-file-recursively + (string-append "3rdparty/" dir))) + (list + ;; TODO: The following dependencies are still bundled: + ;; - "qxt": Appears to be unmaintained upstream. + ;; - "qsqlite" + ;; - "qtsingleapplication" + ;; - "qocoa" + ;; - "qtiocompressor" + ;; - "gmock": The tests crash when using our googletest + ;; package instead of the bunbled gmock. + "SPMediaKeyTap" + "fancytabwidget" + "google-breakpad" + "libmygpo-qt" + "libmygpo-qt5" + "libprojectm" + "qtwin" + "sha2" ;; Replaced by openssl. + "taglib" + "tinysvcmdns"))) + (patches (search-patches "clementine-use-openssl.patch")))) + (build-system cmake-build-system) + (arguments + '(#:test-target "clementine_test" + #:configure-flags + (let ((crypto (assoc-ref %build-inputs "crypto++"))) + (list "-DENABLE_VISUALISATIONS=OFF" ; requires unpackaged "projectm" + "-DCRYPTOPP_FOUND=TRUE" + (string-append "-DCRYPTOPP_INCLUDE_DIRS=" crypto "/include") + (string-append "-DCRYPTOPP_LIBRARY_DIRS=" crypto "/lib") + (string-append "-DCRYPTOPP_LIBRARIES=" crypto "/lib/libcryptopp.a") + "-DUSE_SYSTEM_SHA2=TRUE")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/clementine") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))) + #t)))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("qtlinguist" ,qttools))) + (inputs + `(("boost" ,boost) + ("chromaprint" ,chromaprint) + ("crypto++" ,crypto++) + ("fftw" ,fftw) + ("glib" ,glib) + ("glu" ,glu) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("libcdio" ,libcdio) + ("libmygpo-qt" ,libmygpo-qt) + ("libechonest" ,libechonest) + ;; TODO: Package libgpod. + ("libmtp" ,libmtp) + ("libxml2" ,libxml2) + ("openssl" ,openssl) + ("protobuf" ,protobuf) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("qtwebkit" ,qtwebkit) + ("sqlite" ,sqlite-with-fts3) + ("sparsehash" ,sparsehash) + ("taglib" ,taglib))) + (home-page "http://clementine-player.org") + (synopsis "Music player and library organizer") + (description "Clementine is a multiplatform music player. It is inspired +by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and +playing your music.") + (license (list + ;; clementine and qtiocompressor are under GPLv3. + license:gpl3+ + ;; gmock is under BSD-3. + license:bsd-3 + ;; qxt is under CPL1.0. + license:cpl1.0 + ;; qsqlite and qtsingleapplication are under LGPL2.1+. + license:lgpl2.1+ + ;; qocoa is under MIT and CC by-sa for the icons. + license:cc-by-sa3.0))))) + (define-public cmus (package (name "cmus") diff --git a/gnu/packages/patches/clementine-use-openssl.patch b/gnu/packages/patches/clementine-use-openssl.patch new file mode 100644 index 000000000..1fbf3d2b8 --- /dev/null +++ b/gnu/packages/patches/clementine-use-openssl.patch @@ -0,0 +1,67 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4022c383b..3202b8b69 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -83,6 +83,7 @@ pkg_check_modules(LIBPULSE libpulse) + pkg_check_modules(LIBXML libxml-2.0) + pkg_check_modules(SPOTIFY libspotify>=12.1.45) + pkg_check_modules(TAGLIB REQUIRED taglib>=1.6) ++pkg_check_modules(OPENSSL REQUIRED openssl) + + if (WIN32) + find_package(ZLIB REQUIRED) +@@ -381,20 +382,6 @@ if(GMOCK_INCLUDE_DIRS) + endif(GTEST_INCLUDE_DIRS) + endif(GMOCK_INCLUDE_DIRS) + +-# Use the system's sha2 if it's available. +-find_path(SHA2_INCLUDE_DIRS sha2.h) +-find_library(SHA2_LIBRARIES sha2) +-if(SHA2_LIBRARIES AND SHA2_INCLUDE_DIRS) +- message(STATUS "Using system sha2 library") +- set(USE_SYSTEM_SHA2 ON) +-else() +- message(STATUS "Using builtin sha2 library") +- set(USE_SYSTEM_SHA2 OFF) +- add_subdirectory(3rdparty/sha2) +- set(SHA2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/sha2) +- set(SHA2_LIBRARIES sha2) +-endif() +- + # Use the system libmygpo-qt5 if a recent enough version was found + if(LIBMYGPO_QT5_FOUND) + set(MYGPOQT5_LIBRARIES ${LIBMYGPO_QT5_LIBRARIES}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6e24c9726..104d044d9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -29,7 +29,6 @@ include_directories(${LIBPROJECTM_INCLUDE_DIRS}) + include_directories(${QTSINGLEAPPLICATION_INCLUDE_DIRS}) + include_directories(${QTIOCOMPRESSOR_INCLUDE_DIRS}) + include_directories(${QXT_INCLUDE_DIRS}) +-include_directories(${SHA2_INCLUDE_DIRS}) + include_directories(${CHROMAPRINT_INCLUDE_DIRS}) + include_directories(${MYGPOQT5_INCLUDE_DIRS}) + +@@ -1223,7 +1222,7 @@ target_link_libraries(clementine_lib + libclementine-common + libclementine-tagreader + libclementine-remote +- ${SHA2_LIBRARIES} ++ ${OPENSSL_LIBRARIES} + ${TAGLIB_LIBRARIES} + ${MYGPOQT5_LIBRARIES} + ${CHROMAPRINT_LIBRARIES} +diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp +index ce76f22da..80bf623fb 100644 +--- a/src/core/utilities.cpp ++++ b/src/core/utilities.cpp +@@ -52,7 +52,7 @@ + #include "config.h" + #include "timeconstants.h" + +-#include "sha2.h" ++#include <openssl/sha.h> + + #if defined(Q_OS_UNIX) + #include <sys/statvfs.h> -- 2.14.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#25787: [PATCH 02/02] gnu: Add clementine. 2017-10-29 20:20 ` Pierre Langlois @ 2017-12-05 7:07 ` Ricardo Wurmus 0 siblings, 0 replies; 7+ messages in thread From: Ricardo Wurmus @ 2017-12-05 7:07 UTC (permalink / raw) To: Pierre Langlois; +Cc: 25787-done Pierre Langlois <pierre.langlois@gmx.com> writes: > OK, I messed those emails and the patches are completely > mangled... oups! > > Here are the patches as attachments. I would normally use git > send-email > but it wasn't working for me today for some reason. Thank you. I’ve applied them with minor stylistic changes, built clementine to confirm that it’s working and pushed it with commit d20b7384b to master. We will still need to unbundle this some more, but I think that this can be done later. Thanks for your work and patience so far! -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-12-05 7:09 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20170218133830.24091-1-pierre.langlois@gmx.com> [not found] ` <20170218180249.1522-1-pierre.langlois@gmx.com> [not found] ` <87h93mfbkm.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> [not found] ` <871su5d0is.fsf@gnu.org> 2017-05-03 21:57 ` bug#25787: [PATCH 6/6] gnu: Add Clementine Ludovic Courtès 2017-10-25 14:09 ` [bug#25787] " Ricardo Wurmus 2017-10-29 20:11 ` Pierre Langlois 2017-10-29 20:12 ` [bug#25787] [PATCH 01/26] gnu: Add libmygpo-qt Pierre Langlois 2017-10-29 20:13 ` [bug#25787] [PATCH 02/02] gnu: Add clementine Pierre Langlois 2017-10-29 20:20 ` Pierre Langlois 2017-12-05 7:07 ` bug#25787: " Ricardo Wurmus
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).