From af414f34fb6e3609e572880f3b0b3bbcb1b3bfc6 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 8 Feb 2018 22:03:36 +0000 Subject: [PATCH] gnu: clementine: Remove Spotify downloader. Clementine has a button in the preference menu that allows downloading a binary blob to add support for Spofify. Let's remove this button. It turns out this is the only part of the code base that uses crypto++, let's remove this dependency too. * gnu/packages/music.scm (clementine)[arguments]: Remove crypto++ support. Set HAVE_SPOTIFY_DOWNLOADER to FALSE. [inputs]: Remove crypto++ input. * gnu/packages/patches/clementine-remove-crypto++-dependency.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + gnu/packages/music.scm | 18 +++++++++--------- ...lementine-remove-crypto++-dependency.patch | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/clementine-remove-crypto++-dependency.patch diff --git a/gnu/local.mk b/gnu/local.mk index aaa48ab934..25999fc17e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -580,6 +580,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-remove-crypto++-dependency.patch \ %D%/packages/patches/clementine-use-openssl.patch \ %D%/packages/patches/clisp-remove-failing-test.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2db8ffea30..3709f10d1d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -226,18 +226,19 @@ score, keyboard, guitar, drum and controller views.") "sha2" ;; Replaced by openssl. "taglib" "tinysvcmdns"))) - (patches (search-patches "clementine-use-openssl.patch")))) + (patches (search-patches "clementine-use-openssl.patch" + "clementine-remove-crypto++-dependency.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")) + (list ;; Requires unpackaged "projectm" + "-DENABLE_VISUALISATIONS=OFF" + ;; Otherwise it may try to download a non-free library at run-time. + ;; TODO In an origin snippet, remove the code that performs the + ;; download. + "-DHAVE_SPOTIFY_DOWNLOADER=FALSE" + "-DUSE_SYSTEM_SHA2=TRUE") #:phases (modify-phases %standard-phases (add-after 'install 'wrap-program @@ -254,7 +255,6 @@ score, keyboard, guitar, drum and controller views.") (inputs `(("boost" ,boost) ("chromaprint" ,chromaprint) - ("crypto++" ,crypto++) ("fftw" ,fftw) ("glib" ,glib) ("glu" ,glu) diff --git a/gnu/packages/patches/clementine-remove-crypto++-dependency.patch b/gnu/packages/patches/clementine-remove-crypto++-dependency.patch new file mode 100644 index 0000000000..e7cf80ddee --- /dev/null +++ b/gnu/packages/patches/clementine-remove-crypto++-dependency.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3202b8b..473ecb9 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -279,14 +279,6 @@ optional_component(LIBPULSE ON "Pulse audio integration" + + optional_component(VISUALISATIONS ON "Visualisations") + +-if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND) +- message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify " +- "code must be compiled in") +-elseif(CRYPTOPP_FOUND) +- set(HAVE_CRYPTOPP ON) +- set(HAVE_SPOTIFY_DOWNLOADER ON) +-endif() +- + # Find DBus if it's enabled + if (HAVE_DBUS) + find_package(Qt5 COMPONENTS DBus)