From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH 0/4]: Add various audio libraries Date: Thu, 29 Jan 2015 11:27:40 +0100 Message-ID: <87oaphvq3n.fsf@mango.localdomain> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGmKE-000877-Kl for guix-devel@gnu.org; Thu, 29 Jan 2015 05:27:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGmK9-00049E-VV for guix-devel@gnu.org; Thu, 29 Jan 2015 05:27:50 -0500 Received: from sender1.zohomail.com ([74.201.84.155]:30034) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGmK9-000494-KG for guix-devel@gnu.org; Thu, 29 Jan 2015 05:27:45 -0500 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix-devel --=-=-= Content-Type: text/plain 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 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-gnu-Add-JACK2.patch >From dbc3bd203e311c75ca7f81a7f115eb2f516dd493 Mon Sep 17 00:00:00 2001 From: rekado 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 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-Add-aubio.patch >From ac7e1b8aa764d33d0a87e6ebb86c4e7498110f86 Mon Sep 17 00:00:00 2001 From: rekado 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 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-Add-liblo.patch >From c9515e8491cfb3b60b054637ab097aa21a044e63 Mon Sep 17 00:00:00 2001 From: rekado 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 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0004-gnu-Add-LV2.patch >From 3bb3b7346f44f8e4849efc7a5fc8b465a974d625 Mon Sep 17 00:00:00 2001 From: rekado 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 --=-=-=--