gnu: Add Freepats.
[jackhill/guix/guix.git] / gnu / packages / audio.scm
... / ...
CommitLineData
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)
25 #:use-module (guix build-system waf)
26 #:use-module (guix build-system trivial)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages algebra)
29 #:use-module (gnu packages boost)
30 #:use-module (gnu packages base)
31 #:use-module (gnu packages compression)
32 #:use-module (gnu packages curl)
33 #:use-module (gnu packages databases)
34 #:use-module (gnu packages glib)
35 #:use-module (gnu packages gtk)
36 #:use-module (gnu packages gnome)
37 #:use-module (gnu packages qt)
38 #:use-module (gnu packages linux)
39 #:use-module (gnu packages mp3) ;taglib
40 #:use-module (gnu packages perl)
41 #:use-module (gnu packages pkg-config)
42 #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
43 #:use-module (gnu packages python)
44 #:use-module (gnu packages rdf)
45 #:use-module (gnu packages readline)
46 #:use-module (gnu packages xiph)
47 #:use-module (gnu packages xml)
48 #:use-module (srfi srfi-1))
49
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)
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
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)
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
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)
183 ("lash" ,lash)))
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
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
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
250 `(("alsa-lib" ,alsa-lib)
251 ("bdb" ,bdb)
252 ("readline" ,readline)))
253 ;; uuid.h is included in the JACK type headers
254 (propagated-inputs
255 `(("libuuid" ,util-linux)))
256 (native-inputs
257 `(("pkg-config" ,pkg-config)))
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.
269 (license (list license:gpl2+ license:lgpl2.1+))))
270
271(define-public jack-2
272 (package (inherit jack-1)
273 (name "jack2")
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+))))
300
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
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
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)
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
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+)))
433
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
448 ;; required by lilv-0.pc
449 (propagated-inputs
450 `(("serd" ,serd)
451 ("sord" ,sord)
452 ("sratom" ,sratom)))
453 (inputs
454 `(("lv2" ,lv2)))
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
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)))
494
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
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)
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
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
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)))
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)))
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"))
660 (sha256
661 (base32
662 "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"))))
663 (build-system gnu-build-system)
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)))
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"))))