Hi Guix,

here's another batch of LV2-related patches.  They depend on some of the
previous patches[1] and on the waf-build-system[2].

This patch set adds the following libraries, all of which are
dependencies of Ardour (and possibly other LV2 hosts):

- serd
- sord
- sratom
- lilv
- suil

~~ Ricardo

[1]: http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00446.html
[2]: http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00439.html

>From dc48b2ca6ec4ee1bbe8c5cba317923610ee9718e Mon Sep 17 00:00:00 2001
From: rekado <rek...@elephly.net>
Date: Thu, 29 Jan 2015 23:08:34 +0100
Subject: [PATCH 1/5] gnu: Add serd.

* gnu/packages/audio.scm (serd): 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 e513d12..e98b460 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -187,3 +187,28 @@ implementation of the Open Sound Control (OSC) protocol.")
 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)))
+
+(define-public serd
+  (package
+    (name "serd")
+    (version "0.20.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://download.drobilla.net/serd-";
+                                 version
+                                 ".tar.bz2"))
+             (sha256
+              (base32
+               "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4"))))
+    (build-system waf-build-system)
+    (arguments `(#:tests? #f)) ; no check target
+    (home-page "http://drobilla.net/software/serd/";)
+    (synopsis "Library for RDF syntax supporting Turtle and NTriples")
+    (description
+     "Serd is a lightweight C library for RDF syntax which supports reading
+and writing Turtle and NTriples.  Serd is not intended to be a swiss-army
+knife of RDF syntax, but rather is suited to resource limited or performance
+critical applications (e.g. converting many gigabytes of NTriples to Turtle),
+or situations where a simple reader/writer with minimal dependencies is
+ideal (e.g. in LV2 implementations or embedded applications).")
+    (license license:isc)))
-- 
2.1.0

>From ab8639959f1485d77e5056b41b41eadbad003605 Mon Sep 17 00:00:00 2001
From: rekado <rek...@elephly.net>
Date: Thu, 29 Jan 2015 23:09:19 +0100
Subject: [PATCH 2/5] gnu: Add sord.

* gnu/packages/audio.scm (sord): New variable.
---
 gnu/packages/audio.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e98b460..e6cfbdd 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -212,3 +212,27 @@ critical applications (e.g. converting many gigabytes of NTriples to Turtle),
 or situations where a simple reader/writer with minimal dependencies is
 ideal (e.g. in LV2 implementations or embedded applications).")
     (license license:isc)))
+
+(define-public sord
+  (package
+    (name "sord")
+    (version "0.12.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://download.drobilla.net/sord-";
+                                 version
+                                 ".tar.bz2"))
+             (sha256
+              (base32
+               "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx"))))
+    (build-system waf-build-system)
+    (arguments `(#:tests? #f)) ; no check target
+    (inputs
+     `(("serd" ,serd)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://drobilla.net/software/sord/";)
+    (synopsis "C library for storing RDF data in memory")
+    (description
+     "Sord is a lightweight C library for storing RDF data in memory.")
+    (license license:isc)))
-- 
2.1.0

>From 2fa73ab2fbbe27dbb9c89a7e525b4b4e4e72d015 Mon Sep 17 00:00:00 2001
From: rekado <rek...@elephly.net>
Date: Thu, 29 Jan 2015 23:10:01 +0100
Subject: [PATCH 3/5] gnu: Add sratom.

* gnu/packages/audio.scm (sratom): New variable.
---
 gnu/packages/audio.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e6cfbdd..744cf84 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -236,3 +236,30 @@ ideal (e.g. in LV2 implementations or embedded applications).")
     (description
      "Sord is a lightweight C library for storing RDF data in memory.")
     (license license:isc)))
+
+(define-public sratom
+  (package
+    (name "sratom")
+    (version "0.4.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://download.drobilla.net/sratom-";
+                                 version
+                                 ".tar.bz2"))
+             (sha256
+              (base32
+               "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4"))))
+    (build-system waf-build-system)
+    (arguments `(#:tests? #f)) ; no check target
+    (inputs
+     `(("lv2" ,lv2)
+       ("serd" ,serd)
+       ("sord" ,sord)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://drobilla.net/software/sratom/";)
+    (synopsis "Library for serialising LV2 atoms to/from RDF")
+    (description
+     "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
+the Turtle syntax.")
+    (license license:isc)))
-- 
2.1.0

>From bb21a1ba7885ea46514cc2eb5db2057a47de76d4 Mon Sep 17 00:00:00 2001
From: rekado <rek...@elephly.net>
Date: Thu, 29 Jan 2015 23:10:31 +0100
Subject: [PATCH 4/5] gnu: Add lilv.

* gnu/packages/audio.scm (lilv): 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 744cf84..7f5c58a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -159,6 +159,35 @@ synchronous execution of all clients, and low latency operation.")
 implementation of the Open Sound Control (OSC) protocol.")
     (license license:lgpl2.1+)))
 
+(define-public lilv
+  (package
+    (name "lilv")
+    (version "0.20.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://download.drobilla.net/lilv-";
+                                 version
+                                 ".tar.bz2"))
+             (sha256
+              (base32
+               "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2"))))
+    (build-system waf-build-system)
+    (arguments `(#:tests? #f)) ; no check target
+    (inputs
+     `(("lv2" ,lv2)
+       ("serd" ,serd)
+       ("sord" ,sord)
+       ("sratom" ,sratom)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://drobilla.net/software/lilv/";)
+    (synopsis "Library to simplify use of LV2 plugins in applications")
+    (description
+     "Lilv is a C library to make the use of LV2 plugins as simple as possible
+for applications.  Lilv is the successor to SLV2, rewritten to be
+significantly faster and have minimal dependencies.")
+    (license license:isc)))
+
 (define-public lv2
   (package
     (name "lv2")
-- 
2.1.0

>From 651d425fdb0367c3daa7004e138c1c4a3b433223 Mon Sep 17 00:00:00 2001
From: rekado <rek...@elephly.net>
Date: Thu, 29 Jan 2015 23:11:30 +0100
Subject: [PATCH 5/5] gnu: Add suil.

* gnu/packages/audio.scm (suil): New variable.
---
 gnu/packages/audio.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7f5c58a..9441bb4 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -27,6 +27,8 @@
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages glib) ;dbus
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)  ;libsndfile, libsamplerate
@@ -292,3 +294,41 @@ ideal (e.g. in LV2 implementations or embedded applications).")
      "Sratom is a library for serialising LV2 atoms to/from RDF, particularly
 the Turtle syntax.")
     (license license:isc)))
+
+(define-public suil
+  (package
+    (name "suil")
+    (version "0.8.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://download.drobilla.net/suil-";
+                                 version
+                                 ".tar.bz2"))
+             (sha256
+              (base32
+               "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq"))))
+    (build-system waf-build-system)
+    (arguments `(#:tests? #f)) ; no check target
+    (inputs
+     `(("lv2" ,lv2)
+       ("gtk+-2" ,gtk+-2)
+       ("qt-4" ,qt-4)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://drobilla.net/software/suil/";)
+    (synopsis "Library for loading and wrapping LV2 plugin UIs")
+    (description
+     "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.
+
+Suil makes it possible to load a UI of any toolkit in a host using any other
+toolkit (assuming the toolkits are both supported by Suil). Hosts do not need
+to build against or link to foreign toolkit libraries to use UIs written with
+that toolkit; all the necessary magic is performed by dynamically loaded
+modules. The API is designed such that hosts do not need to explicitly support
+specific toolkits at all – if Suil supports a particular toolkit, then UIs in
+that toolkit will work in all hosts that use Suil automatically.
+
+Suil currently supports every combination of Gtk 2, Qt 4, and X11, e.g. with
+Suil a Gtk program can embed a Qt plugin UI without depending on Qt, and a Qt
+program can embed a Gtk plugin UI without depending on Gtk.")
+    (license license:isc)))
-- 
2.1.0

Reply via email to