From c99af2710dfd8ac9aa0ad420d47bbe70a5e11460 Mon Sep 17 00:00:00 2001
From: Bart Brouns <bart@magnetopon.nl>
Date: Tue, 5 May 2015 23:23:26 +0200
Subject: [PATCH] add ir.lv2, a convolution plugin.

---
 pkgs/applications/audio/ir.lv2/default.nix    | 40 +++++++++++++++++++
 .../{ => audio}/zita-alsa-pcmi/default.nix    |  0
 .../audio/zita-convolver/default.nix          | 33 +++++++++++++++
 pkgs/top-level/all-packages.nix               |  6 ++-
 4 files changed, 78 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/applications/audio/ir.lv2/default.nix
 rename pkgs/development/libraries/{ => audio}/zita-alsa-pcmi/default.nix (100%)
 create mode 100644 pkgs/development/libraries/audio/zita-convolver/default.nix

diff --git a/pkgs/applications/audio/ir.lv2/default.nix b/pkgs/applications/audio/ir.lv2/default.nix
new file mode 100644
index 000000000000..2b808c3b0153
--- /dev/null
+++ b/pkgs/applications/audio/ir.lv2/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, gtk, lv2, libsamplerate, libsndfile, pkgconfig, zita-convolver }:
+
+stdenv.mkDerivation rec {
+  name = "ir.lv2-${version}";
+  version = "1.2.2";
+
+  src = fetchurl {
+    url = "http://factorial.hu/system/files/${name}.tar.gz";
+    sha256 = "17a6h2mv9xv41jpbx6bdakkngin4kqzh2v67l4076ddq609k5a7v";
+  };
+
+  buildInputs = [ gtk lv2 libsamplerate libsndfile pkgconfig zita-convolver ];
+
+  buildPhase = ''
+    make
+    make convert4chan
+  '';
+
+  installPhase = ''
+    mkdir "$out/bin"
+    mkdir "$out/include"
+    mkdir "$out/share"
+    mkdir "$out/share/doc"
+
+    make PREFIX="$out" install
+    install -Dm755 convert4chan "$out/bin/convert4chan"
+    # fixed location
+    sed -i 's/, but seem like its gone://' README
+    sed -i  's@rhythminmind.net/1313@rhythminmind.net/STN@' README
+    install -Dm644 README "$out/share/doc/README"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://factorial.hu/plugins/lv2/ir;
+    description = "Zero-latency, realtime, high performance signal convolver especially for creating reverb effects";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
similarity index 100%
rename from pkgs/development/libraries/zita-alsa-pcmi/default.nix
rename to pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
diff --git a/pkgs/development/libraries/audio/zita-convolver/default.nix b/pkgs/development/libraries/audio/zita-convolver/default.nix
new file mode 100644
index 000000000000..a15ae7dad40d
--- /dev/null
+++ b/pkgs/development/libraries/audio/zita-convolver/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, fftwFloat }:
+
+stdenv.mkDerivation rec {
+  name = "zita-convolver-${version}";
+  version = "3.1.0";
+  src = fetchurl {
+    url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
+    sha256 = "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz";
+  };
+
+  buildInputs = [ fftwFloat ];
+
+  patchPhase = ''
+    cd libs
+    sed -e "s@ldconfig@@" -i Makefile
+  '';
+
+  installPhase = ''
+    make PREFIX="$out" SUFFIX="" install
+
+    # create lib link for building apps
+    ln -s $out/lib/libzita-convolver.so.$version $out/lib/libzita-convolver.so.3
+  '';
+
+  meta = {
+    description = "Convolution library by Fons Adriaensen";
+    version = "${version}";
+    homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 90a448f7d634..f67134a006ae 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7992,7 +7992,9 @@ let
 
   czmq = callPackage ../development/libraries/czmq { };
 
-  zita-alsa-pcmi = callPackage ../development/libraries/zita-alsa-pcmi { };
+  zita-convolver = callPackage ../development/libraries/audio/zita-convolver { };
+
+  zita-alsa-pcmi = callPackage ../development/libraries/audio/zita-alsa-pcmi { };
 
   zziplib = callPackage ../development/libraries/zziplib { };
 
@@ -11196,6 +11198,8 @@ let
 
   irssi_otr = callPackage ../applications/networking/irc/irssi/otr { };
 
+  ir.lv2 = callPackage ../applications/audio/ir.lv2 { };
+
   bip = callPackage ../applications/networking/irc/bip { };
 
   jabref = callPackage ../applications/office/jabref/default.nix { };