summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2014-03-25 11:40:29 -0500
committerEric Bavier <bavier@member.fsf.org>2014-03-25 11:41:01 -0500
commit505b1aa88fc900b85c978fec55a25d47266140f6 (patch)
treef48704f70f0ea3773cdb4266dcc66d1dd4704a2e
parentc6e9628078e475a18f559455d94ddfcd7bbba63b (diff)
downloadguix-505b1aa88fc900b85c978fec55a25d47266140f6.tar.gz
gnu: Add cursynth
* gnu/packages/cursynth.scm: New file
* gnu-system.am (GNU_SYSTEM_MODULES): Add it
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/cursynth.scm52
2 files changed, 53 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index f19a66868f..bfa0516091 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -54,6 +54,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/cross-base.scm			\
   gnu/packages/cryptsetup.scm			\
   gnu/packages/curl.scm				\
+  gnu/packages/cursynth.scm			\
   gnu/packages/cyrus-sasl.scm			\
   gnu/packages/dc.scm				\
   gnu/packages/dejagnu.scm			\
diff --git a/gnu/packages/cursynth.scm b/gnu/packages/cursynth.scm
new file mode 100644
index 0000000000..54b3acc768
--- /dev/null
+++ b/gnu/packages/cursynth.scm
@@ -0,0 +1,52 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cursynth)
+  #:use-module (guix packages)
+  #:use-module (guix licenses)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages linux))
+
+(define-public cursynth
+  (package
+    (name "cursynth")
+    (version "1.4")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/cursynth/cursynth-"
+                          version ".tar.gz"))
+      (sha256
+       (base32 "1p9c54v9b0jjx33sammqsdi5xw65csly4cr1i08wv9x6r2yib55m"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    ;; TODO: See https://github.com/iyoko/cursynth/issues/4 which currently
+    ;; prevents us from using pulseaudio
+    (inputs `(("ncurses" ,ncurses)
+              ("alsa" ,alsa-lib)))
+    (home-page "http://www.gnu.org/software/cursynth")
+    (synopsis "Polyphonic and MIDI subtractive music synthesizer using curses")
+    (description "GNU cursynth is a polyphonic synthesizer that runs
+graphically in the terminal.  It is built on a full-featured subtractive
+synthesis engine.  Notes and parameter changes may be entered via MIDI or the
+computer's keyboard.")
+    (license gpl3+)))