aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm156
1 files changed, 106 insertions, 50 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a60ba4bccd..d789cc394f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2,6 +2,8 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2016 Al McElrath <hello@yrns.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,13 +34,15 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base) ;libbdf
- #:use-module (gnu packages boost)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages code)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages docbook)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages flex)
@@ -46,6 +50,7 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@@ -145,64 +150,32 @@ many input formats and provides a customisable Vi-style user interface.")
(define-public hydrogen
(package
(name "hydrogen")
- (version "0.9.5.1")
+ (version "0.9.6.1")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/hydrogen/Hydrogen/"
- (version-prefix version 3) "%20Sources/"
- "hydrogen-" version ".tar.gz"))
+ "https://github.com/hydrogen-music/hydrogen/archive/"
+ version ".tar.gz"))
(sha256
(base32
- "1fvyp6gfzcqcc90dmaqbm11p272zczz5pfz1z4lj33nfr7z0bqgb"))))
- (build-system gnu-build-system)
+ "0vxnaqfmcv7hhk0cj67imdcqngspnck7f0wfmvhfgfqa7x1xznll"))))
+ (build-system cmake-build-system)
(arguments
- `(#:tests? #f ;no "check" target
- #:phases
- ;; TODO: Add scons-build-system and use it here.
- (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'scons-propagate-environment
- (lambda _
- ;; By design, SCons does not, by default, propagate
- ;; environment variables to subprocesses. See:
- ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
- ;; Here, we modify the Sconstruct file to arrange for
- ;; environment variables to be propagated.
- (substitute* "Sconstruct"
- (("^env = Environment\\(")
- "env = Environment(ENV=os.environ, "))))
- (replace 'build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (zero? (system* "scons"
- (string-append "prefix=" out)
- "lrdf=0" ; cannot be found
- "lash=1")))))
- (add-before
- 'install
- 'fix-img-install
- (lambda _
- ;; The whole ./data/img directory is copied to the target first.
- ;; Scons complains about existing files when we try to install all
- ;; images a second time.
- (substitute* "Sconstruct"
- (("os.path.walk\\(\"./data/img/\",install_images,env\\)") ""))
- #t))
- (replace 'install (lambda _ (zero? (system* "scons" "install")))))))
+ `(#:test-target "tests"))
(native-inputs
- `(("scons" ,scons)
- ("python" ,python-2)
+ `(("cppunit" ,cppunit)
("pkg-config" ,pkg-config)))
(inputs
- `(("zlib" ,zlib)
- ("libtar" ,libtar)
- ("alsa-lib" ,alsa-lib)
+ `(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
+ ;; ("ladspa" ,ladspa) ; cannot find during configure
("lash" ,lash)
- ;;("lrdf" ,lrdf) ;FIXME: cannot be found by scons
+ ("libarchive" ,libarchive)
+ ("libsndfile" ,libsndfile)
+ ("libtar" ,libtar)
+ ("lrdf" ,lrdf)
("qt" ,qt-4)
- ("libsndfile" ,libsndfile)))
+ ("zlib" ,zlib)))
(home-page "http://www.hydrogen-music.org")
(synopsis "Drum machine")
(description
@@ -252,6 +225,54 @@ enable professional yet simple and intuitive pattern-based drum programming.")
you to define complex tempo maps for entire songs or performances.")
(license license:gpl2+)))
+(define-public gtklick
+ (package
+ (name "gtklick")
+ (version "0.6.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://das.nasophon.de/download/gtklick-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0dq1km6njnzsqdqyf6wzir9g733z0mc9vmxfg2383k3c2a2di6bp"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'add-sitedirs
+ ;; .pth files are not automatically interpreted unless the
+ ;; directories containing them are added as "sites". The directories
+ ;; are then added to those in the PYTHONPATH. This is required for
+ ;; the operation of pygtk.
+ (lambda _
+ (substitute* "gtklick/gtklick.py"
+ (("import pygtk")
+ "import pygtk, site, sys
+for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)"))))
+ (add-after 'unpack 'inject-store-path-to-klick
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "gtklick/klick_backend.py"
+ (("KLICK_PATH = 'klick'")
+ (string-append "KLICK_PATH = '"
+ (assoc-ref inputs "klick")
+ "/bin/klick'")))
+ #t)))))
+ (inputs
+ `(("klick" ,klick)
+ ("python2-pyliblo" ,python2-pyliblo)
+ ("python2-pygtk" ,python2-pygtk)))
+ (native-inputs
+ `(("gettext" ,gnu-gettext)))
+ (home-page "http://das.nasophon.de/gtklick/")
+ (synopsis "Simple metronome with an easy-to-use graphical interface")
+ (description
+ "Gtklick is a simple metronome with an easy-to-use graphical user
+interface. It is implemented as a frontend to @code{klick}.")
+ (license license:gpl2+)))
+
(define-public lilypond
(package
(name "lilypond")
@@ -916,15 +937,15 @@ instrument or MIDI file player.")
(define-public zynaddsubfx
(package
(name "zynaddsubfx")
- (version "2.5.2")
+ (version "2.5.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/zynaddsubfx/zynaddsubfx/"
- version "/zynaddsubfx-" version ".tar.gz"))
+ version "/zynaddsubfx-" version ".tar.bz2"))
(sha256
(base32
- "11yrady7xwfrzszkk2fvq81ymv99mq474h60qnirk27khdygk24m"))))
+ "04da54p19p7f5wm6vm7abbjbsil1qf7n5f4adj01jm6b0wqigvgb"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -1078,3 +1099,38 @@ computer's keyboard.")
JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures and
follows a traditional multi-track tape recorder control paradigm.")
(license license:gpl2+)))
+
+(define-public pianobar
+ (package
+ (name "pianobar")
+ (version "2015.11.22")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/PromyLOPh/"
+ name "/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags (list "CC=gcc" "CFLAGS=-std=c99"
+ (string-append "PREFIX=" %output))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("ao" ,ao)
+ ("curl" ,curl)
+ ("libgcrypt" ,libgcrypt)
+ ("json-c" ,json-c)
+ ("ffmpeg" ,ffmpeg)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://6xq.net/projects/pianobar/")
+ (synopsis "Console-based pandora.com player")
+ (description "pianobar is a console-based music player for the
+personalized online radio pandora.com. It has configurable keys for playing
+and managing stations, can be controlled remotely via fifo, and can run
+event-based scripts for scrobbling, notifications, etc.")
+ (license license:expat)))