unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [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).