gnu: Add Freepats.
[jackhill/guix/guix.git] / gnu / packages / audio.scm
CommitLineData
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
83signals. Its features include segmenting a sound file before each of its
84attacks, performing pitch detection, tapping the beat and producing MIDI
85streams 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\"
104namespace 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
156record, edit, mix and master audio and MIDI projects. It is targeted at audio
157engineers, 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
190with drawbars, distortion and rotating speakers. The organ has three
191sections, two polyphonic sections with nine drawbars each and one monophonic
192bass section with five drawbars. A standalone JACK application and LV2
193plugins 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
231patches 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
262different applications to an audio device, as well as allowing them to share
263audio between themselves. JACK is different from other audio server efforts
264in that it has been designed from the ground up to be suitable for
265professional audio work. This means that it focuses on two key areas:
266synchronous 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
328plugins and exposes their ports as JACK ports, essentially making any LV2
329plugin 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
366to 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
404you to save and restore audio sessions consisting of multiple interconneced
405applications, restoring program state (i.e. loaded patches) and the
406connections 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
431implementation 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
461for applications. Lilv is the successor to SLV2, rewritten to be
462significantly 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.
490At its core, LV2 is a simple stable interface, accompanied by extensions which
491add functionality to support the needs of increasingly powerful audio
492software.")
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
524extensions into easy to use C++ classes. It is the successor of
525lv2-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
558and 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
586tempo 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
613the 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
641Suil makes it possible to load a UI of a toolkit in a host using another
642toolkit. The API is designed such that hosts do not need to explicitly
643support specific toolkits – if Suil supports a particular toolkit, then UIs in
644that toolkit will work in all hosts that use Suil automatically.
645
646Suil 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
685descriptive information from audio data — typically referred to as audio
686analysis 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"))))