summaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm90
1 files changed, 88 insertions, 2 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a72f7543dd..a217a89a19 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (gnu packages base) ;libbdf
#:use-module (gnu packages boost)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages cdrom)
#:use-module (gnu packages code)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -55,6 +57,7 @@
#:use-module (gnu packages linux) ; for alsa-utils
#:use-module (gnu packages man)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@@ -67,6 +70,7 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
+ #:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -74,6 +78,67 @@
#:use-module (gnu packages zip)
#:use-module ((srfi srfi-1) #:select (last)))
+(define-public cmus
+ (package
+ (name "cmus")
+ (version "2.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/" name "/" name "/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; cmus does not include tests
+ #:phases
+ (modify-phases %standard-phases
+ (replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+
+ ;; It's an idiosyncratic configure script that doesn't
+ ;; understand --prefix=..; it wants prefix=.. instead.
+ (zero?
+ (system* "./configure"
+ (string-append "prefix=" out)))))))))
+ ;; TODO: cmus optionally supports the following formats, which haven't yet
+ ;; been added to Guix:
+ ;;
+ ;; - Roar, libroar
+ ;;
+ ;; - DISCID_LIBS, apparently different from cd-discid which is included in
+ ;; Guix. See <http://sourceforge.net/projects/discid/>
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("ao" ,ao)
+ ("ffmpeg" ,ffmpeg)
+ ("flac" ,flac)
+ ("jack" ,jack-1)
+ ("libcddb" ,libcddb)
+ ("libcdio-paranoia" ,libcdio-paranoia)
+ ("libcue" ,libcue)
+ ("libmad" ,libmad)
+ ("libmodplug" ,libmodplug)
+ ("libmpcdec" ,libmpcdec)
+ ("libsamplerate" ,libsamplerate)
+ ("libvorbis" ,libvorbis)
+ ("ncurses" ,ncurses)
+ ("opusfile" ,opusfile)
+ ("pulseaudio" ,pulseaudio)
+ ("wavpack" ,wavpack)))
+ (home-page "https://cmus.github.io/")
+ (synopsis "Small console music player")
+ (description "Cmus is a small and fast console music player. It supports
+many input formats and provides a customisable Vi-style user interface.")
+ (license license:gpl2+)))
+
(define-public hydrogen
(package
(name "hydrogen")
@@ -281,6 +346,14 @@ Guile.")
(%current-system))))
'("--disable-sse")
'()))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before
+ 'configure 'set-flags
+ (lambda _
+ ;; Compile with C++11, required by libsigc++.
+ (setenv "CXXFLAGS" "-std=c++11")
+ #t)))
#:python ,python-2))
(inputs
`(("jack" ,jack-1)
@@ -701,7 +774,7 @@ browser.")
(define-public zynaddsubfx
(package
(name "zynaddsubfx")
- (version "2.5.1")
+ (version "2.5.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -709,8 +782,21 @@ browser.")
version "/zynaddsubfx-" version ".tar.gz"))
(sha256
(base32
- "01c4v5lbzard6y00cjq3b6a50cafqwfwibzng9gdsajczhnbkqz2"))))
+ "11yrady7xwfrzszkk2fvq81ymv99mq474h60qnirk27khdygk24m"))))
(build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Move SSE compiler optimization flags from generic target to
+ ;; athlon64 and core2 targets, because otherwise the build would fail
+ ;; on non-Intel machines.
+ (add-after 'unpack 'remove-sse-flags-from-generic-target
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("-msse -msse2 -mfpmath=sse") "")
+ (("-march=(athlon64|core2)" flag)
+ (string-append flag " -msse -msse2 -mfpmath=sse")))
+ #t)))))
(inputs
`(("liblo" ,liblo)
("ntk" ,ntk)