Commit | Line | Data |
---|---|---|
fb68469f RW |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> | |
3 | ;;; | |
4 | ;;; This file is part of GNU Guix. | |
5 | ;;; | |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
7 | ;;; under the terms of the GNU General Public License as published by | |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
9 | ;;; your option) any later version. | |
10 | ;;; | |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;;; GNU General Public License for more details. | |
15 | ;;; | |
16 | ;;; You should have received a copy of the GNU General Public License | |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
19 | (define-module (gnu packages audio) | |
20 | #:use-module (guix packages) | |
21 | #:use-module (guix download) | |
22 | #:use-module (guix git-download) | |
23 | #:use-module ((guix licenses) #:prefix license:) | |
24 | #:use-module (guix build-system gnu) | |
c54a8981 | 25 | #:use-module (guix build-system waf) |
7c92efff | 26 | #:use-module (guix build-system trivial) |
fb68469f | 27 | #:use-module (gnu packages) |
d55f912a | 28 | #:use-module (gnu packages algebra) |
88efb2c3 | 29 | #:use-module (gnu packages boost) |
7c92efff RW |
30 | #:use-module (gnu packages base) |
31 | #:use-module (gnu packages compression) | |
88efb2c3 | 32 | #:use-module (gnu packages curl) |
fb68469f | 33 | #:use-module (gnu packages databases) |
88efb2c3 | 34 | #:use-module (gnu packages glib) |
f3ab6ad3 | 35 | #:use-module (gnu packages gtk) |
88efb2c3 | 36 | #:use-module (gnu packages gnome) |
f3ab6ad3 | 37 | #:use-module (gnu packages qt) |
c54a8981 | 38 | #:use-module (gnu packages linux) |
88efb2c3 RW |
39 | #:use-module (gnu packages mp3) ;taglib |
40 | #:use-module (gnu packages perl) | |
c54a8981 RW |
41 | #:use-module (gnu packages pkg-config) |
42 | #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate | |
d55f912a | 43 | #:use-module (gnu packages python) |
5279eb6f | 44 | #:use-module (gnu packages rdf) |
c54a8981 RW |
45 | #:use-module (gnu packages readline) |
46 | #:use-module (gnu packages xiph) | |
da49086a RW |
47 | #:use-module (gnu packages xml) |
48 | #:use-module (srfi srfi-1)) | |
fb68469f | 49 | |
d55f912a RW |
50 | (define-public aubio |
51 | (package | |
52 | (name "aubio") | |
53 | (version "0.4.1") | |
54 | (source (origin | |
55 | (method url-fetch) | |
56 | (uri (string-append | |
57 | "http://aubio.org/pub/aubio-" version ".tar.bz2")) | |
58 | (sha256 | |
59 | (base32 | |
60 | "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5")))) | |
61 | (build-system waf-build-system) | |
62 | (arguments | |
63 | `(#:tests? #f ; no check target | |
64 | #:configure-flags | |
65 | '("--enable-fftw3f" | |
66 | "--enable-jack" | |
67 | "--enable-sndfile" | |
68 | "--enable-samplerate" | |
69 | ;; enable compilation with avcodec once available | |
70 | "--disable-avcodec") | |
71 | #:python ,python-2)) | |
72 | (inputs | |
73 | `(("jack" ,jack-1) | |
d55f912a RW |
74 | ("libsndfile" ,libsndfile) |
75 | ("libsamplerate" ,libsamplerate) | |
76 | ("fftwf" ,fftwf))) | |
77 | (native-inputs | |
78 | `(("pkg-config" ,pkg-config))) | |
79 | (home-page "http://aubio.org/") | |
80 | (synopsis "A library for audio labelling") | |
81 | (description | |
82 | "aubio is a tool designed for the extraction of annotations from audio | |
83 | signals. Its features include segmenting a sound file before each of its | |
84 | attacks, performing pitch detection, tapping the beat and producing MIDI | |
85 | streams from live audio.") | |
86 | (license license:gpl3+))) | |
87 | ||
88efb2c3 RW |
88 | (define-public ardour |
89 | (package | |
90 | (name "ardour") | |
91 | (version "3.5.403") | |
92 | (source (origin | |
93 | ;; The project only provides tarballs upon individual request | |
94 | ;; (or after payment) so we take the code from git. | |
95 | (method git-fetch) | |
96 | (uri (git-reference | |
97 | (url "git://git.ardour.org/ardour/ardour.git") | |
98 | (commit version))) | |
99 | (snippet | |
100 | '(call-with-output-file | |
101 | "libs/ardour/revision.cc" | |
102 | (lambda (port) | |
103 | (format port "#include \"ardour/revision.h\" | |
104 | namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) | |
105 | (sha256 | |
106 | (base32 | |
107 | "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp")) | |
108 | (file-name (string-append name "-" version)))) | |
109 | (build-system waf-build-system) | |
110 | (arguments | |
111 | `(#:tests? #f ; no check target | |
112 | #:python ,python-2)) | |
113 | (inputs | |
114 | `(("alsa-lib" ,alsa-lib) | |
115 | ("aubio" ,aubio) | |
116 | ("lrdf" ,lrdf) | |
117 | ("boost" ,boost) | |
118 | ("atkmm" ,atkmm) | |
119 | ("cairomm" ,cairomm) | |
120 | ("gtkmm" ,gtkmm-2) | |
121 | ("glibmm" ,glibmm) | |
122 | ("libart-lgpl" ,libart-lgpl) | |
123 | ("libgnomecanvasmm" ,libgnomecanvasmm) | |
124 | ("pangomm" ,pangomm) | |
125 | ("liblo" ,liblo) | |
126 | ("libsndfile" ,libsndfile) | |
127 | ("libsamplerate" ,libsamplerate) | |
128 | ("libxml2" ,libxml2) | |
129 | ("libogg" ,libogg) | |
130 | ("libvorbis" ,libvorbis) | |
131 | ("flac" ,flac) | |
132 | ("lv2" ,lv2) | |
133 | ("vamp" ,vamp) | |
134 | ("curl" ,curl) | |
88efb2c3 RW |
135 | ("fftw" ,fftw) |
136 | ("fftwf" ,fftwf) | |
137 | ("jack" ,jack-1) | |
138 | ("serd" ,serd) | |
139 | ("sord" ,sord) | |
140 | ("sratom" ,sratom) | |
141 | ("suil" ,suil) | |
142 | ("lilv" ,lilv) | |
143 | ("rasqal" ,rasqal) | |
144 | ("raptor2" ,raptor2) | |
145 | ("redland" ,redland) | |
146 | ("rubberband" ,rubberband) | |
147 | ("taglib" ,taglib) | |
148 | ("python-rdflib" ,python-rdflib))) | |
149 | (native-inputs | |
150 | `(("perl" ,perl) | |
151 | ("pkg-config" ,pkg-config))) | |
152 | (home-page "http://ardour.org") | |
153 | (synopsis "Digital audio workstation") | |
154 | (description | |
155 | "Ardour is a multi-channel digital audio workstation, allowing users to | |
156 | record, edit, mix and master audio and MIDI projects. It is targeted at audio | |
157 | engineers, musicians, soundtrack editors and composers.") | |
158 | (license license:gpl2+))) | |
159 | ||
497e9a82 RW |
160 | (define-public azr3 |
161 | (package | |
162 | (name "azr3") | |
163 | (version "1.2.3") | |
164 | (source (origin | |
165 | (method url-fetch) | |
166 | (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-" | |
167 | version | |
168 | ".tar.bz2")) | |
169 | (sha256 | |
170 | (base32 | |
171 | "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc")))) | |
172 | (build-system gnu-build-system) | |
173 | (arguments | |
174 | `(#:tests? #f ; no check target | |
175 | #:make-flags | |
176 | (list "LV2PEG=ttl2c" | |
177 | (string-append "prefix=" %output) | |
178 | (string-append "pkgdatadir=" %output "/share/azr3-jack")))) | |
179 | (inputs | |
180 | `(("gtkmm" ,gtkmm-2) | |
181 | ("lvtk" ,lvtk) | |
182 | ("jack" ,jack-1) | |
f753846b | 183 | ("lash" ,lash))) |
497e9a82 RW |
184 | (native-inputs |
185 | `(("pkg-config" ,pkg-config))) | |
186 | (home-page "http://ll-plugins.nongnu.org/azr3/") | |
187 | (synopsis "Tonewheel organ synthesizer") | |
188 | (description | |
189 | "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ | |
190 | with drawbars, distortion and rotating speakers. The organ has three | |
191 | sections, two polyphonic sections with nine drawbars each and one monophonic | |
192 | bass section with five drawbars. A standalone JACK application and LV2 | |
193 | plugins are provided.") | |
194 | (license license:gpl2))) | |
195 | ||
7c92efff RW |
196 | (define-public freepats |
197 | (package | |
198 | (name "freepats") | |
199 | (version "20060219") | |
200 | (source (origin | |
201 | (method url-fetch) | |
202 | (uri (string-append "http://freepats.zenvoid.org/freepats-" | |
203 | version ".tar.bz2")) | |
204 | (sha256 | |
205 | (base32 | |
206 | "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82")))) | |
207 | (build-system trivial-build-system) | |
208 | (arguments | |
209 | `(#:modules ((guix build utils)) | |
210 | #:builder (begin | |
211 | (use-modules (guix build utils)) | |
212 | (let ((out (string-append %output "/share/freepats"))) | |
213 | (setenv "PATH" (string-append | |
214 | (assoc-ref %build-inputs "bzip2") "/bin:" | |
215 | (assoc-ref %build-inputs "tar") "/bin")) | |
216 | (system* "tar" "xvf" (assoc-ref %build-inputs "source")) | |
217 | (chdir "freepats") | |
218 | ;; Use absolute pattern references | |
219 | (substitute* "freepats.cfg" | |
220 | (("Tone_000") (string-append out "/Tone_000")) | |
221 | (("Drum_000") (string-append out "/Drum_000"))) | |
222 | (mkdir-p out) | |
223 | (copy-recursively "." out))))) | |
224 | (native-inputs | |
225 | `(("tar" ,tar) | |
226 | ("bzip2" ,bzip2))) | |
227 | (home-page "http://freepats.zenvoid.org") | |
228 | (synopsis "GUS compatible patches for MIDI players") | |
229 | (description | |
230 | "FreePats is a project to create a free and open set of GUS compatible | |
231 | patches that can be used with softsynths such as Timidity and WildMidi.") | |
232 | ;; GPLv2+ with exception for compositions using these patches. | |
233 | (license license:gpl2+))) | |
234 | ||
fb68469f RW |
235 | (define-public jack-1 |
236 | (package | |
237 | (name "jack") | |
238 | (version "0.124.1") | |
239 | (source (origin | |
240 | (method url-fetch) | |
241 | (uri (string-append | |
242 | "http://jackaudio.org/downloads/jack-audio-connection-kit-" | |
243 | version | |
244 | ".tar.gz")) | |
245 | (sha256 | |
246 | (base32 | |
247 | "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb")))) | |
248 | (build-system gnu-build-system) | |
249 | (inputs | |
2f9ae82f RW |
250 | `(("alsa-lib" ,alsa-lib) |
251 | ("bdb" ,bdb) | |
5d95e30b RW |
252 | ("readline" ,readline))) |
253 | ;; uuid.h is included in the JACK type headers | |
254 | (propagated-inputs | |
255 | `(("libuuid" ,util-linux))) | |
2f9ae82f RW |
256 | (native-inputs |
257 | `(("pkg-config" ,pkg-config))) | |
fb68469f RW |
258 | (home-page "http://jackaudio.org/") |
259 | (synopsis "JACK audio connection kit") | |
260 | (description | |
261 | "JACK is a low-latency audio server. It can connect a number of | |
262 | different applications to an audio device, as well as allowing them to share | |
263 | audio between themselves. JACK is different from other audio server efforts | |
264 | in that it has been designed from the ground up to be suitable for | |
265 | professional audio work. This means that it focuses on two key areas: | |
266 | synchronous execution of all clients, and low latency operation.") | |
267 | ;; Most files are licensed under the GPL. However, the libjack/ tree is | |
268 | ;; licensed under the LGPL in order to allow for proprietary usage. | |
e89fa047 | 269 | (license (list license:gpl2+ license:lgpl2.1+)))) |
c54a8981 RW |
270 | |
271 | (define-public jack-2 | |
272 | (package (inherit jack-1) | |
314275c7 | 273 | (name "jack2") |
c54a8981 RW |
274 | (version "1.9.10") |
275 | (source (origin | |
276 | (method url-fetch) | |
277 | (uri (string-append | |
278 | "https://github.com/jackaudio/jack2/archive/v" | |
279 | version | |
280 | ".tar.gz")) | |
281 | (sha256 | |
282 | (base32 | |
283 | "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8")))) | |
284 | (build-system waf-build-system) | |
285 | (arguments | |
286 | `(#:tests? #f ; no check target | |
287 | #:configure-flags '("--dbus" | |
288 | "--alsa"))) | |
289 | (inputs | |
290 | `(("alsa-lib" ,alsa-lib) | |
291 | ("dbus" ,dbus) | |
292 | ("expat" ,expat) | |
293 | ("libsamplerate" ,libsamplerate) | |
294 | ("opus" ,opus) | |
295 | ("readline" ,readline))) | |
296 | (native-inputs | |
297 | `(("pkg-config" ,pkg-config))) | |
298 | ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+ | |
299 | (license (list license:gpl2+ license:lgpl2.1+)))) | |
f47cba0e | 300 | |
2f4646b6 RW |
301 | (define-public jalv |
302 | (package | |
303 | (name "jalv") | |
304 | (version "1.4.6") | |
305 | (source (origin | |
306 | (method url-fetch) | |
307 | (uri (string-append "http://download.drobilla.net/jalv-" | |
308 | version ".tar.bz2")) | |
309 | (sha256 | |
310 | (base32 | |
311 | "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9")))) | |
312 | (build-system waf-build-system) | |
313 | (arguments `(#:tests? #f)) ; no check target | |
314 | (inputs | |
315 | `(("lv2" ,lv2) | |
316 | ("lilv" ,lilv) | |
317 | ("suil" ,suil) | |
318 | ("gtk" ,gtk+-2) | |
319 | ("gtkmm" ,gtkmm-2) | |
320 | ("qt" ,qt-4) | |
321 | ("jack" ,jack-1))) | |
322 | (native-inputs | |
323 | `(("pkg-config" ,pkg-config))) | |
324 | (home-page "http://drobilla.net/software/jalv/") | |
325 | (synopsis "Simple LV2 host for JACK") | |
326 | (description | |
327 | "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2 | |
328 | plugins and exposes their ports as JACK ports, essentially making any LV2 | |
329 | plugin function as a JACK application.") | |
330 | (license license:isc))) | |
331 | ||
2cc7ce31 RW |
332 | (define-public ladspa |
333 | (package | |
334 | (name "ladspa") | |
335 | (version "1.13") | |
336 | (source (origin | |
337 | (method url-fetch) | |
338 | (uri (string-append | |
339 | "http://www.ladspa.org/download/ladspa_sdk_" | |
340 | version | |
341 | ".tgz")) | |
342 | (sha256 | |
343 | (base32 | |
344 | "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm")))) | |
345 | (build-system gnu-build-system) | |
346 | (arguments | |
347 | `(#:tests? #f ; the "test" target is a listening test only | |
348 | #:phases | |
349 | (alist-replace | |
350 | 'configure | |
351 | (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) | |
352 | (chdir "src") | |
353 | (let ((out (assoc-ref outputs "out"))) | |
354 | (substitute* "makefile" | |
355 | (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/")) | |
356 | (("/usr/include/") (string-append out "/include/")) | |
357 | (("/usr/bin/") (string-append out "/bin/")) | |
358 | (("-mkdirhier") "mkdir -p") | |
359 | (("^CC.*") "CC = gcc\n") | |
360 | (("^CPP.*") "CPP = g++\n")))) | |
361 | (alist-delete 'build %standard-phases)))) | |
362 | (home-page "http://ladspa.org") | |
363 | (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)") | |
364 | (description | |
365 | "LADSPA is a standard that allows software audio processors and effects | |
366 | to be plugged into a wide range of audio synthesis and recording packages.") | |
367 | (license license:lgpl2.1+))) | |
368 | ||
da49086a RW |
369 | (define-public lash |
370 | (package | |
371 | (name "lash") | |
372 | (version "0.6.0-rc2") | |
373 | (source (origin | |
374 | (method url-fetch) | |
375 | ;; The tilde is not permitted in the builder name, but is used | |
376 | ;; in the tarball. | |
377 | (uri (string-append | |
378 | "mirror://savannah/lash/lash-" | |
379 | (string-join (string-split version #\-) "~") | |
380 | ".tar.bz2")) | |
381 | (file-name (string-append name "-" version ".tar.bz2")) | |
382 | (sha256 | |
383 | (base32 | |
384 | "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw")))) | |
385 | (build-system gnu-build-system) | |
386 | (inputs | |
387 | `(("bdb" ,bdb) | |
388 | ("gtk" ,gtk+-2) | |
389 | ("jack" ,jack-1) | |
da49086a RW |
390 | ("readline" ,readline) |
391 | ("python" ,python-2))) | |
392 | ;; According to pkg-config, packages depending on lash also need to have | |
393 | ;; at least the following packages declared as inputs. | |
394 | (propagated-inputs | |
395 | `(("alsa-lib" ,alsa-lib) | |
396 | ("dbus" ,dbus) | |
397 | ("libxml2" ,libxml2))) | |
398 | (native-inputs | |
399 | `(("pkg-config" ,pkg-config))) | |
400 | (home-page "http://www.nongnu.org/lash/") | |
401 | (synopsis "Audio application session manager") | |
402 | (description | |
403 | "LASH is a session management system for audio applications. It allows | |
404 | you to save and restore audio sessions consisting of multiple interconneced | |
405 | applications, restoring program state (i.e. loaded patches) and the | |
406 | connections between them.") | |
407 | (license license:gpl2+))) | |
408 | ||
f47cba0e RW |
409 | (define-public liblo |
410 | (package | |
411 | (name "liblo") | |
412 | (version "0.28") | |
413 | (source (origin | |
414 | (method url-fetch) | |
415 | (uri (string-append | |
416 | "mirror://sourceforge/liblo/liblo-" | |
417 | version | |
418 | ".tar.gz")) | |
419 | (sha256 | |
420 | (base32 | |
421 | "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s")))) | |
422 | (build-system gnu-build-system) | |
423 | (arguments | |
424 | `(;; liblo test FAILED | |
425 | ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device | |
426 | #:tests? #f)) | |
427 | (home-page "http://liblo.sourceforge.net") | |
428 | (synopsis "Implementation of the Open Sound Control protocol") | |
429 | (description | |
430 | "liblo is a lightweight library that provides an easy to use | |
431 | implementation of the Open Sound Control (OSC) protocol.") | |
432 | (license license:lgpl2.1+))) | |
e2420191 | 433 | |
332aad1b RW |
434 | (define-public lilv |
435 | (package | |
436 | (name "lilv") | |
437 | (version "0.20.0") | |
438 | (source (origin | |
439 | (method url-fetch) | |
440 | (uri (string-append "http://download.drobilla.net/lilv-" | |
441 | version | |
442 | ".tar.bz2")) | |
443 | (sha256 | |
444 | (base32 | |
445 | "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2")))) | |
446 | (build-system waf-build-system) | |
447 | (arguments `(#:tests? #f)) ; no check target | |
ff7df27d RW |
448 | ;; required by lilv-0.pc |
449 | (propagated-inputs | |
450 | `(("serd" ,serd) | |
332aad1b RW |
451 | ("sord" ,sord) |
452 | ("sratom" ,sratom))) | |
ff7df27d RW |
453 | (inputs |
454 | `(("lv2" ,lv2))) | |
332aad1b RW |
455 | (native-inputs |
456 | `(("pkg-config" ,pkg-config))) | |
457 | (home-page "http://drobilla.net/software/lilv/") | |
458 | (synopsis "Library to simplify use of LV2 plugins in applications") | |
459 | (description | |
460 | "Lilv is a C library to make the use of LV2 plugins as simple as possible | |
461 | for applications. Lilv is the successor to SLV2, rewritten to be | |
462 | significantly faster and have minimal dependencies.") | |
463 | (license license:isc))) | |
464 | ||
e2420191 RW |
465 | (define-public lv2 |
466 | (package | |
467 | (name "lv2") | |
468 | (version "1.10.0") | |
469 | (source (origin | |
470 | (method url-fetch) | |
471 | (uri (string-append "http://lv2plug.in/spec/lv2-" | |
472 | version | |
473 | ".tar.bz2")) | |
474 | (sha256 | |
475 | (base32 | |
476 | "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378")))) | |
477 | (build-system waf-build-system) | |
478 | (arguments | |
479 | `(#:tests? #f ; no check target | |
480 | #:configure-flags '("--lv2-system"))) | |
481 | (inputs | |
482 | ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins | |
483 | `(("libsndfile" ,libsndfile))) | |
484 | (native-inputs | |
485 | `(("pkg-config" ,pkg-config))) | |
486 | (home-page "http://lv2plug.in/") | |
487 | (synopsis "LV2 audio plugin specification") | |
488 | (description | |
489 | "LV2 is an open specification for audio plugins and host applications. | |
490 | At its core, LV2 is a simple stable interface, accompanied by extensions which | |
491 | add functionality to support the needs of increasingly powerful audio | |
492 | software.") | |
493 | (license license:isc))) | |
5279eb6f | 494 | |
c1718190 RW |
495 | (define-public lvtk |
496 | (package | |
497 | (name "lvtk") | |
498 | (version "1.2.0") | |
499 | (source (origin | |
500 | (method url-fetch) | |
501 | (uri (string-append "https://github.com/lvtk/lvtk/archive/" | |
502 | version | |
503 | ".tar.gz")) | |
504 | (sha256 | |
505 | (base32 | |
506 | "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd")))) | |
507 | (build-system waf-build-system) | |
508 | (arguments | |
509 | `(#:tests? #f ; no check target | |
510 | #:python ,python-2 | |
511 | #:configure-flags | |
512 | (list (string-append "--boost-includes=" | |
513 | (assoc-ref %build-inputs "boost") | |
514 | "/include")))) | |
515 | (inputs | |
516 | `(("boost" ,boost) | |
517 | ("lv2" ,lv2))) | |
518 | (native-inputs | |
519 | `(("pkg-config" ,pkg-config))) | |
520 | (home-page "https://github.com/lvtk/lvtk") | |
521 | (synopsis "C++ libraries for LV2 plugins") | |
522 | (description | |
523 | "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and | |
524 | extensions into easy to use C++ classes. It is the successor of | |
525 | lv2-c++-tools.") | |
526 | (license license:gpl3+))) | |
527 | ||
4443bb8d RW |
528 | (define-public patchage |
529 | (package | |
530 | (name "patchage") | |
531 | (version "1.0.0") | |
532 | (source (origin | |
533 | (method url-fetch) | |
534 | (uri (string-append "http://download.drobilla.net/patchage-" | |
535 | version | |
536 | ".tar.bz2")) | |
537 | (sha256 | |
538 | (base32 | |
539 | "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) | |
540 | (build-system waf-build-system) | |
541 | (arguments `(#:tests? #f)) ; no check target | |
542 | (inputs | |
543 | `(("alsa-lib" ,alsa-lib) | |
544 | ("boost" ,boost) | |
545 | ("jack" ,jack-1) | |
4443bb8d RW |
546 | ("ganv" ,ganv) |
547 | ("glib" ,glib) | |
548 | ("glibmm" ,glibmm) | |
549 | ("gtkmm" ,gtkmm-2) | |
550 | ("dbus" ,dbus) | |
551 | ("dbus-glib" ,dbus-glib))) | |
552 | (native-inputs | |
553 | `(("pkg-config" ,pkg-config))) | |
554 | (home-page "http://drobilla.net/software/patchage/") | |
555 | (synopsis "Modular patch bay for audio and MIDI systems") | |
556 | (description | |
557 | "Patchage is a modular patch bay for audio and MIDI systems based on JACK | |
558 | and ALSA.") | |
559 | (license license:gpl3+))) | |
560 | ||
57238ff2 RW |
561 | (define-public rubberband |
562 | (package | |
563 | (name "rubberband") | |
564 | (version "1.8.1") | |
565 | (source (origin | |
566 | (method url-fetch) | |
567 | (uri | |
568 | (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v" | |
569 | version | |
570 | ".tar.bz2")) | |
571 | (sha256 | |
572 | (base32 | |
573 | "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386")))) | |
574 | (build-system gnu-build-system) | |
575 | (arguments `(#:tests? #f)) ; no check target | |
576 | (inputs | |
577 | `(("ladspa" ,ladspa) | |
578 | ("libsamplerate" ,libsamplerate) | |
579 | ("vamp" ,vamp))) | |
580 | (native-inputs | |
581 | `(("pkg-config" ,pkg-config))) | |
582 | (home-page "http://breakfastquay.com/rubberband/") | |
583 | (synopsis "Audio time-stretching and pitch-shifting library") | |
584 | (description | |
585 | "Rubber Band is a library and utility program that permits changing the | |
586 | tempo and pitch of an audio recording independently of one another.") | |
587 | (license license:gpl2+))) | |
588 | ||
5279eb6f RW |
589 | (define-public sratom |
590 | (package | |
591 | (name "sratom") | |
592 | (version "0.4.6") | |
593 | (source (origin | |
594 | (method url-fetch) | |
595 | (uri (string-append "http://download.drobilla.net/sratom-" | |
596 | version | |
597 | ".tar.bz2")) | |
598 | (sha256 | |
599 | (base32 | |
600 | "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4")))) | |
601 | (build-system waf-build-system) | |
602 | (arguments `(#:tests? #f)) ; no check target | |
603 | (inputs | |
604 | `(("lv2" ,lv2) | |
605 | ("serd" ,serd) | |
606 | ("sord" ,sord))) | |
607 | (native-inputs | |
608 | `(("pkg-config" ,pkg-config))) | |
609 | (home-page "http://drobilla.net/software/sratom/") | |
610 | (synopsis "Library for serialising LV2 atoms to/from RDF") | |
611 | (description | |
612 | "Sratom is a library for serialising LV2 atoms to/from RDF, particularly | |
613 | the Turtle syntax.") | |
614 | (license license:isc))) | |
f3ab6ad3 RW |
615 | |
616 | (define-public suil | |
617 | (package | |
618 | (name "suil") | |
619 | (version "0.8.2") | |
620 | (source (origin | |
621 | (method url-fetch) | |
622 | (uri (string-append "http://download.drobilla.net/suil-" | |
623 | version | |
624 | ".tar.bz2")) | |
625 | (sha256 | |
626 | (base32 | |
627 | "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq")))) | |
628 | (build-system waf-build-system) | |
629 | (arguments `(#:tests? #f)) ; no check target | |
630 | (inputs | |
631 | `(("lv2" ,lv2) | |
632 | ("gtk+-2" ,gtk+-2) | |
633 | ("qt-4" ,qt-4))) | |
634 | (native-inputs | |
635 | `(("pkg-config" ,pkg-config))) | |
636 | (home-page "http://drobilla.net/software/suil/") | |
637 | (synopsis "Library for loading and wrapping LV2 plugin UIs") | |
638 | (description | |
639 | "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs. | |
640 | ||
641 | Suil makes it possible to load a UI of a toolkit in a host using another | |
642 | toolkit. The API is designed such that hosts do not need to explicitly | |
643 | support specific toolkits – if Suil supports a particular toolkit, then UIs in | |
644 | that toolkit will work in all hosts that use Suil automatically. | |
645 | ||
646 | Suil currently supports every combination of Gtk 2, Qt 4, and X11.") | |
647 | (license license:isc))) | |
db46f2fc RW |
648 | |
649 | (define-public vamp | |
650 | (package | |
651 | (name "vamp") | |
652 | (version "2.5") | |
653 | (source (origin | |
654 | (method url-fetch) | |
655 | (uri (string-append | |
656 | "https://code.soundsoftware.ac.uk" | |
657 | "/attachments/download/690/vamp-plugin-sdk-" | |
658 | version | |
659 | ".tar.gz")) | |
9002e17c TUBK |
660 | (sha256 |
661 | (base32 | |
662 | "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv")))) | |
db46f2fc | 663 | (build-system gnu-build-system) |
9002e17c TUBK |
664 | (arguments |
665 | `(#:tests? #f ; no check target | |
666 | #:phases | |
667 | (alist-cons-after | |
668 | 'install 'remove-libvamp-hostsdk.la | |
669 | (lambda* (#:key outputs #:allow-other-keys) | |
670 | ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656 | |
671 | (for-each delete-file | |
672 | (let ((out (assoc-ref outputs "out"))) | |
673 | (list (string-append out "/lib/libvamp-sdk.la") | |
674 | (string-append out "/lib/libvamp-hostsdk.la")))) | |
675 | #t) | |
676 | %standard-phases))) | |
db46f2fc RW |
677 | (inputs |
678 | `(("libsndfile" ,libsndfile))) | |
679 | (native-inputs | |
680 | `(("pkg-config" ,pkg-config))) | |
681 | (home-page "http://vamp-plugins.org") | |
682 | (synopsis "Modular and extensible audio processing system") | |
683 | (description | |
684 | "Vamp is an audio processing plugin system for plugins that extract | |
685 | descriptive information from audio data — typically referred to as audio | |
686 | analysis plugins or audio feature extraction plugins.") | |
687 | (license | |
688 | (license:x11-style | |
689 | "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING")))) |