* [PATCH 0/4]: Add various audio libraries
@ 2015-01-29 10:27 Ricardo Wurmus
2015-02-01 21:18 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Ricardo Wurmus @ 2015-01-29 10:27 UTC (permalink / raw)
To: Guix-devel
[-- Attachment #1: Type: text/plain, Size: 334 bytes --]
Hi Guix,
this patch series adds a couple of audio libraries to
gnu/packages/audio.scm. Some of them depend on the waf-build-system
introduced in an earlier, separate patch set.
The following packages are added:
- JACK2 (with dbus support)
- aubio
- liblo
- LV2
The latter three packages are dependencies of Ardour.
~~ Ricardo
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-JACK2.patch --]
[-- Type: text/x-patch, Size: 2409 bytes --]
From dbc3bd203e311c75ca7f81a7f115eb2f516dd493 Mon Sep 17 00:00:00 2001
From: rekado <rekado@elephly.net>
Date: Thu, 29 Jan 2015 10:00:56 +0100
Subject: [PATCH 1/4] gnu: Add JACK2.
* gnu/packages/audio.scm (jack-2): New variable.
---
gnu/packages/audio.scm | 39 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index b011606..a861600 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -22,9 +22,16 @@
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages databases)
- #:use-module (gnu packages linux))
+ #:use-module (gnu packages glib) ;dbus
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xml))
(define-public jack-1
(package
@@ -55,3 +62,33 @@ synchronous execution of all clients, and low latency operation.")
;; Most files are licensed under the GPL. However, the libjack/ tree is
;; licensed under the LGPL in order to allow for proprietary usage.
(license '(license:gpl2+ license:lgpl2.1+))))
+
+(define-public jack-2
+ (package (inherit jack-1)
+ (name "jack")
+ (version "1.9.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jackaudio/jack2/archive/v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:configure-flags '("--dbus"
+ "--alsa")))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("dbus" ,dbus)
+ ("expat" ,expat)
+ ("libsamplerate" ,libsamplerate)
+ ("opus" ,opus)
+ ("readline" ,readline)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
+ (license '(license:gpl2+ license:lgpl2.1+))))
--
2.1.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-aubio.patch --]
[-- Type: text/x-patch, Size: 2436 bytes --]
From ac7e1b8aa764d33d0a87e6ebb86c4e7498110f86 Mon Sep 17 00:00:00 2001
From: rekado <rekado@elephly.net>
Date: Thu, 29 Jan 2015 10:08:53 +0100
Subject: [PATCH 2/4] gnu: Add aubio.
* gnu/packages/audio.scm (aubio): New variable.
---
gnu/packages/audio.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index a861600..780ca6c 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -24,15 +24,56 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system waf)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages databases)
#:use-module (gnu packages glib) ;dbus
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
+ #:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml))
+(define-public aubio
+ (package
+ (name "aubio")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://aubio.org/pub/aubio-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:configure-flags
+ '("--enable-fftw3f"
+ "--enable-jack"
+ "--enable-sndfile"
+ "--enable-samplerate"
+ ;; enable compilation with avcodec once available
+ "--disable-avcodec")
+ #:python ,python-2))
+ (inputs
+ `(("jack" ,jack-1)
+ ("libuuid" ,util-linux)
+ ("libsndfile" ,libsndfile)
+ ("libsamplerate" ,libsamplerate)
+ ("fftwf" ,fftwf)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://aubio.org/")
+ (synopsis "A library for audio labelling")
+ (description
+ "aubio is a tool designed for the extraction of annotations from audio
+signals. Its features include segmenting a sound file before each of its
+attacks, performing pitch detection, tapping the beat and producing midi
+streams from live audio.")
+ (license license:gpl3+)))
+
(define-public jack-1
(package
(name "jack")
--
2.1.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-liblo.patch --]
[-- Type: text/x-patch, Size: 1616 bytes --]
From c9515e8491cfb3b60b054637ab097aa21a044e63 Mon Sep 17 00:00:00 2001
From: rekado <rekado@elephly.net>
Date: Thu, 29 Jan 2015 10:10:53 +0100
Subject: [PATCH 3/4] gnu: Add liblo.
* gnu/packages/audio.scm (liblo): New variable.
---
gnu/packages/audio.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 780ca6c..54488e1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -133,3 +133,28 @@ synchronous execution of all clients, and low latency operation.")
`(("pkg-config" ,pkg-config)))
;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
(license '(license:gpl2+ license:lgpl2.1+))))
+
+(define-public liblo
+ (package
+ (name "liblo")
+ (version "0.28")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/liblo/liblo-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(;; liblo test FAILED
+ ;; liblo server error 19 in setsockopt(IP_ADD_MEMBERSHIP): No such device
+ #:tests? #f))
+ (home-page "http://liblo.sourceforge.net")
+ (synopsis "Implementation of the Open Sound Control protocol")
+ (description
+ "liblo is a lightweight library that provides an easy to use
+implementation of the Open Sound Control (OSC) protocol.")
+ (license license:lgpl2.1+)))
--
2.1.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-gnu-Add-LV2.patch --]
[-- Type: text/x-patch, Size: 1822 bytes --]
From 3bb3b7346f44f8e4849efc7a5fc8b465a974d625 Mon Sep 17 00:00:00 2001
From: rekado <rekado@elephly.net>
Date: Thu, 29 Jan 2015 10:12:00 +0100
Subject: [PATCH 4/4] gnu: Add LV2.
* gnu/packages/audio.scm (lv2): New variable.
---
gnu/packages/audio.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 54488e1..e513d12 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -158,3 +158,32 @@ synchronous execution of all clients, and low latency operation.")
"liblo is a lightweight library that provides an easy to use
implementation of the Open Sound Control (OSC) protocol.")
(license license:lgpl2.1+)))
+
+(define-public lv2
+ (package
+ (name "lv2")
+ (version "1.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://lv2plug.in/spec/lv2-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:configure-flags '("--lv2-system")))
+ (inputs
+ ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
+ `(("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://lv2plug.in/")
+ (synopsis "LV2 audio plugin standard")
+ (description
+ "LV2 is an open standard for audio plugins and host applications. At its
+core, LV2 is a simple stable interface, accompanied by extensions which add
+functionality to support the needs of increasingly powerful audio software.")
+ (license license:isc)))
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/4]: Add various audio libraries
2015-01-29 10:27 [PATCH 0/4]: Add various audio libraries Ricardo Wurmus
@ 2015-02-01 21:18 ` Ludovic Courtès
2015-02-10 21:39 ` Ricardo Wurmus
0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2015-02-01 21:18 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: Guix-devel
Ricardo Wurmus <rekado@elephly.net> skribis:
> From dbc3bd203e311c75ca7f81a7f115eb2f516dd493 Mon Sep 17 00:00:00 2001
> From: rekado <rekado@elephly.net>
^^^
(Make sure this is the intended name.)
> Date: Thu, 29 Jan 2015 10:00:56 +0100
> Subject: [PATCH 1/4] gnu: Add JACK2.
>
> * gnu/packages/audio.scm (jack-2): New variable.
LGTM.
> From ac7e1b8aa764d33d0a87e6ebb86c4e7498110f86 Mon Sep 17 00:00:00 2001
> From: rekado <rekado@elephly.net>
> Date: Thu, 29 Jan 2015 10:08:53 +0100
> Subject: [PATCH 2/4] gnu: Add aubio.
>
> * gnu/packages/audio.scm (aubio): New variable.
[...]
> + (description
> + "aubio is a tool designed for the extraction of annotations from audio
> +signals. Its features include segmenting a sound file before each of its
> +attacks, performing pitch detection, tapping the beat and producing midi
s/midi/MIDI/
OK!
> From c9515e8491cfb3b60b054637ab097aa21a044e63 Mon Sep 17 00:00:00 2001
> From: rekado <rekado@elephly.net>
> Date: Thu, 29 Jan 2015 10:10:53 +0100
> Subject: [PATCH 3/4] gnu: Add liblo.
>
> * gnu/packages/audio.scm (liblo): New variable.
OK.
> From 3bb3b7346f44f8e4849efc7a5fc8b465a974d625 Mon Sep 17 00:00:00 2001
> From: rekado <rekado@elephly.net>
> Date: Thu, 29 Jan 2015 10:12:00 +0100
> Subject: [PATCH 4/4] gnu: Add LV2.
>
> * gnu/packages/audio.scm (lv2): New variable.
[...]
> + (synopsis "LV2 audio plugin standard")
> + (description
> + "LV2 is an open standard for audio plugins and host applications. At its
> +core, LV2 is a simple stable interface, accompanied by extensions which add
> +functionality to support the needs of increasingly powerful audio software.")
It’s not clear to me what this all means; I guess LV2 is not a
“standard” as in RFC or ISO, because it’s software. That said, I don’t
have any suggestions, so I’ll leave it up to your creativity. :-)
Otherwise looks OK.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/4]: Add various audio libraries
2015-02-01 21:18 ` Ludovic Courtès
@ 2015-02-10 21:39 ` Ricardo Wurmus
2015-02-11 22:36 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Ricardo Wurmus @ 2015-02-10 21:39 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel
[-- Attachment #1: Type: text/plain, Size: 1191 bytes --]
Ludovic Courtès writes:
>> From 3bb3b7346f44f8e4849efc7a5fc8b465a974d625 Mon Sep 17 00:00:00 2001
>> From: rekado <rekado@elephly.net>
>> Date: Thu, 29 Jan 2015 10:12:00 +0100
>> Subject: [PATCH 4/4] gnu: Add LV2.
>>
>> * gnu/packages/audio.scm (lv2): New variable.
>
> [...]
>
>> + (synopsis "LV2 audio plugin standard")
>> + (description
>> + "LV2 is an open standard for audio plugins and host applications. At its
>> +core, LV2 is a simple stable interface, accompanied by extensions which add
>> +functionality to support the needs of increasingly powerful audio software.")
>
> It’s not clear to me what this all means; I guess LV2 is not a
> “standard” as in RFC or ISO, because it’s software. That said, I don’t
> have any suggestions, so I’ll leave it up to your creativity. :-)
I changed it from "standard" to "specification" because it's neither a
"standard" in RFC or ISO sense, nor is it software. It's ttl files that
outline feature. These specifications can be turned into code or
workable data; they serve as an interface declaration, so I think
"specification" is really the most appropriate term here.
Attached is the new patch.
~~ Ricardo
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-LV2.patch --]
[-- Type: text/x-patch, Size: 1836 bytes --]
From 02ae9dbb1c344187d0b9e5328533a8aed16d081a Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Thu, 5 Feb 2015 22:40:06 +0100
Subject: [PATCH] gnu: Add LV2.
* gnu/packages/audio.scm (lv2): New variable.
---
gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9227367..f83c5d2 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -158,3 +158,33 @@ synchronous execution of all clients, and low latency operation.")
"liblo is a lightweight library that provides an easy to use
implementation of the Open Sound Control (OSC) protocol.")
(license license:lgpl2.1+)))
+
+(define-public lv2
+ (package
+ (name "lv2")
+ (version "1.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://lv2plug.in/spec/lv2-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:configure-flags '("--lv2-system")))
+ (inputs
+ ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
+ `(("libsndfile" ,libsndfile)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://lv2plug.in/")
+ (synopsis "LV2 audio plugin specification")
+ (description
+ "LV2 is an open specification for audio plugins and host applications.
+At its core, LV2 is a simple stable interface, accompanied by extensions which
+add functionality to support the needs of increasingly powerful audio
+software.")
+ (license license:isc)))
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/4]: Add various audio libraries
2015-02-10 21:39 ` Ricardo Wurmus
@ 2015-02-11 22:36 ` Ludovic Courtès
0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2015-02-11 22:36 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: Guix-devel
Ricardo Wurmus <rekado@elephly.net> skribis:
> Ludovic Courtès writes:
>>> From 3bb3b7346f44f8e4849efc7a5fc8b465a974d625 Mon Sep 17 00:00:00 2001
>>> From: rekado <rekado@elephly.net>
>>> Date: Thu, 29 Jan 2015 10:12:00 +0100
>>> Subject: [PATCH 4/4] gnu: Add LV2.
>>>
>>> * gnu/packages/audio.scm (lv2): New variable.
>>
>> [...]
>>
>>> + (synopsis "LV2 audio plugin standard")
>>> + (description
>>> + "LV2 is an open standard for audio plugins and host applications. At its
>>> +core, LV2 is a simple stable interface, accompanied by extensions which add
>>> +functionality to support the needs of increasingly powerful audio software.")
>>
>> It’s not clear to me what this all means; I guess LV2 is not a
>> “standard” as in RFC or ISO, because it’s software. That said, I don’t
>> have any suggestions, so I’ll leave it up to your creativity. :-)
>
> I changed it from "standard" to "specification" because it's neither a
> "standard" in RFC or ISO sense, nor is it software. It's ttl files that
> outline feature. These specifications can be turned into code or
> workable data; they serve as an interface declaration, so I think
> "specification" is really the most appropriate term here.
OK.
> Attached is the new patch.
>
> ~~ Ricardo
>
>
> From 02ae9dbb1c344187d0b9e5328533a8aed16d081a Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Thu, 5 Feb 2015 22:40:06 +0100
> Subject: [PATCH] gnu: Add LV2.
>
> * gnu/packages/audio.scm (lv2): New variable.
LGTM, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-02-11 22:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-29 10:27 [PATCH 0/4]: Add various audio libraries Ricardo Wurmus
2015-02-01 21:18 ` Ludovic Courtès
2015-02-10 21:39 ` Ricardo Wurmus
2015-02-11 22:36 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).