about summary refs log tree commit diff
path: root/pkgs/development/libraries/audio/suil/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/audio/suil/default.nix')
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix23
1 files changed, 16 insertions, 7 deletions
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 518f89092ab3..8864d710174a 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -1,15 +1,24 @@
-{ stdenv, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom, qt4 }:
+{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
+, withQt4 ? true, qt4 ? null
+, withQt5 ? false, qt5 ? null }:
+
+# I haven't found an XOR operator in nix...
+assert withQt4 || withQt5;
+assert !(withQt4 && withQt5);
 
 stdenv.mkDerivation rec {
-  name = "suil-${version}";
-  version = "0.8.2";
+  pname = "suil";
+  version = "0.8.4";
+  name = "${pname}-qt${if withQt4 then "4" else "5"}-${version}";
 
   src = fetchurl {
-    url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq";
+    url = "http://download.drobilla.net/${pname}-${version}.tar.bz2";
+    sha256 = "1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf";
   };
 
-  buildInputs = [ gtk2 lv2 pkgconfig python qt4 serd sord sratom ];
+  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom ]
+    ++ (lib.optionals withQt4 [ qt4 ])
+    ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
 
   configurePhase = "python waf configure --prefix=$out";
 
@@ -21,7 +30,7 @@ stdenv.mkDerivation rec {
     homepage = http://drobilla.net/software/suil;
     description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
     license = licenses.mit;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.linux;
   };
 }