summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2015-05-28 09:44:30 +0200
committerRicardo Wurmus <rekado@elephly.net>2015-06-12 23:01:33 +0200
commitcc45cff83aaf190e7cefed957db20214b3586754 (patch)
tree14334163c4d57424a679a826676bcbdc4857a1b0
parent6ce212b8686487355dd5797917faf819ab80dc3e (diff)
gnu: Add rtmidi.
* gnu/packages/audio.scm (rtmidi): New variable.
-rw-r--r--gnu/packages/audio.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index fdc783a455..3b2d4e1022 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1031,6 +1031,57 @@ and ALSA.")
tempo and pitch of an audio recording independently of one another.")
(license license:gpl2+)))
+(define-public rtmidi
+ (package
+ (name "rtmidi")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/powertab/rtmidi/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'autoconf
+ (lambda _ (zero? (system* "autoreconf" "-vfi"))))
+ (add-before
+ 'build 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("/bin/ln") "ln")
+ (("RtMidi.h RtError.h") "RtMidi.h"))
+ #t))
+ (add-before
+ 'install 'make-target-dirs
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (mkdir (string-append out "/lib"))
+ (mkdir (string-append out "/include")))
+ #t)))))
+ (inputs
+ `(("jack" ,jack-1)
+ ("alsa-lib" ,alsa-lib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/powertab/rtmidi")
+ (synopsis "Cross-platform MIDI library for C++")
+ (description
+ "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
+classes) that provide a common cross-platform API for realtime MIDI
+input/output.")
+ (license license:expat)))
+
(define-public sratom
(package
(name "sratom")