From cae7a61f645ff5b5e8458f5b3bcd0d6029e43b22 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 29 Jan 2015 23:11:30 +0100 Subject: [PATCH 10/15] 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 401429e..736a708 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