~ruther/guix-local

af414f34fb6e3609e572880f3b0b3bbcb1b3bfc6 — Pierre Langlois 8 years ago a48b877
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 <leo@famulari.name>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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			\

M gnu/packages/music.scm => gnu/packages/music.scm +9 -9
@@ 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)

A gnu/packages/patches/clementine-remove-crypto++-dependency.patch => gnu/packages/patches/clementine-remove-crypto++-dependency.patch +19 -0
@@ 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)