Subject: bug#25787: [PATCH 6/6] gnu: Add Clementine.

From: Marius Bakke <[email-masked]>
Date: Wed, 22 Feb 2017 17:13:29 +0100

Pierre Langlois <[email-masked]> writes:

> * gnu/packages/music.scm (clementine): New variable.
> ---
>  gnu/packages/music.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index 84c537d86..fe8cad325 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -51,7 +51,10 @@
>    #:use-module (gnu packages check)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages curl)
> +  #:use-module (gnu packages crypto)
>    #: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)
> @@ -69,6 +72,7 @@
>    #: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)
> @@ -76,6 +80,7 @@
>    #:use-module (gnu packages java)
>    #:use-module (gnu packages linux) ; for alsa-utils
>    #:use-module (gnu packages libffi)
> +  #:use-module (gnu packages libusb)
>    #:use-module (gnu packages llvm)
>    #:use-module (gnu packages man)
>    #:use-module (gnu packages mp3)
> @@ -87,6 +92,7 @@
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages pulseaudio) ;libsndfile
> +  #:use-module (gnu packages protobuf)
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages qt)
>    #:use-module (gnu packages rdf)
> @@ -172,6 +178,55 @@ and play MIDI files with a few clicks in a user-friendly interface offering
>  score, keyboard, guitar, drum and controller views.")
>      (license license:gpl3+)))
>  
> +(define-public clementine
> +  (package
> +    (name "clementine")
> +    (version "1.3.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                     "https://github.com/clementine-player/Clementine/archive/"
> +                     version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))

I noticed they have a qt5 branch:

https://github.com/clementine-player/Clementine/tree/qt5

Would you be willing to see if it is in a usable condition? QT4 is no
longer supported upstream, so I'm hesitant to add packages that depend
on it.

> +              (sha256
> +                (base32
> +                  "0z7k73wyz54c3020lb6x2dgw0vz4ri7wcl3vs03qdj5pk8d971gq"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +      '(#:tests? #f

Please add a comment mentioning why tests are disabled.

> +        ;; TODO: Package projectm to enable visualisations.
> +        #:configure-flags '("-DENABLE_VISUALISATIONS=OFF")))
> +    (native-inputs
> +      `(("gettext" ,gettext-minimal)
> +        ("pkg-config" ,pkg-config)))
> +    (inputs
> +      `(("boost" ,boost)
> +        ("chromaprint" ,chromaprint)
> +        ("cryptopp" ,cryptopp)
> +        ("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)
> +        ("qjson" ,qjson)
> +        ("qt" ,qt-4)
> +        ("sqlite" ,sqlite)
> +        ("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)))

Same comment here about the license, it's most likely gpl3+.

Otherwise LGTM, thanks a lot for packaging this!

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.