From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42745) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e7O2G-0007HJ-TH for guix-patches@gnu.org; Wed, 25 Oct 2017 11:56:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e7O2E-000361-6P for guix-patches@gnu.org; Wed, 25 Oct 2017 11:56:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:53081) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e7O2E-00035f-0s for guix-patches@gnu.org; Wed, 25 Oct 2017 11:56:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e7O2D-0003qI-K0 for guix-patches@gnu.org; Wed, 25 Oct 2017 11:56:01 -0400 Subject: [bug#25787] [PATCH 6/6] gnu: Add Clementine. Resent-Message-ID: References: <20170218133830.24091-1-pierre.langlois@gmx.com> <20170218180249.1522-1-pierre.langlois@gmx.com> <87h93mfbkm.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> <871su5d0is.fsf@gnu.org> <87vaphppr7.fsf@gnu.org> From: Ricardo Wurmus In-reply-to: <87vaphppr7.fsf@gnu.org> Date: Wed, 25 Oct 2017 16:09:07 +0200 Message-ID: <8760b3coak.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 25787@debbugs.gnu.org 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 Date: Wed Oct 25 15:14:05 2017 +0200 gnu: Add clementine. * gnu/packages/music.scm (clementine): New variable. Co-authored-by: Ricardo Wurmus 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")