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

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).