From 3bf429af2fdad27f483be95b31642a016fdc2bd4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 14 Feb 2016 03:19:59 -0500 Subject: [PATCH] gnu: Add beets. * gnu/packages/music.scm (beets): New variable. --- gnu/packages/music.scm | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index d60f9bfd80..ffee9d6245 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -50,6 +50,7 @@ (define-module (gnu packages music) #:use-module (gnu packages fltk) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gnupg) #:use-module (gnu packages gettext) @@ -65,6 +66,7 @@ (define-module (gnu packages music) #:use-module (gnu packages linux) ; for alsa-utils #:use-module (gnu packages man) #:use-module (gnu packages mp3) + #:use-module (gnu packages mpd) #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) #:use-module (gnu packages pdf) @@ -1253,3 +1255,49 @@ (define-public python2-pylast (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs pylast)))))) + +(define-public beets + (package + (name "beets") + (version "1.3.17") + (source (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 + "0yg7sp18sdpszkinhb0bi6yinbn316jy1baxrwiw0m4byrj3rr6c")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 ; only Python 2 is supported + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-HOME + (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp"))))))) + (native-inputs + `(("python2-beautifulsoup4" ,python2-beautifulsoup4) + ("python2-flask" ,python2-flask) + ("python2-setuptools" ,python2-setuptools) + ("python2-mock" ,python2-mock) + ("python2-mpd2" ,python2-mpd2) + ("python2-pathlib" ,python2-pathlib) + ("python2-pyxdg" ,python2-pyxdg) + ("python2-pyechonest" ,python2-pyechonest) + ("python2-pylast" ,python2-pylast) + ("python2-rarfile" ,python2-rarfile) + ("python2-responses" ,python2-responses))) + ;; TODO: Install optional plugins and dependencies. + (propagated-inputs + `(("python2-enum34" ,python2-enum34) + ("python2-jellyfish" ,python2-jellyfish) + ("python2-munkres" ,python2-munkres) + ("python2-musicbrainzngs" ,python2-musicbrainzngs) + ("python2-mutagen" ,python2-mutagen) + ("python2-pyyaml" ,python2-pyyaml) + ("python2-unidecode" ,python2-unidecode))) + (home-page "http://beets.io") + (synopsis "Music organizer") + (description "The purpose of beets is to get your music collection right +once and for all. It catalogs your collection, automatically improving its +metadata as it goes using the MusicBrainz database. Then it provides a variety +of tools for manipulating and accessing your music.") + (license license:expat)))