summary refs log tree commit diff
path: root/pkgs/applications/audio/ecasound/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/audio/ecasound/default.nix')
-rw-r--r--pkgs/applications/audio/ecasound/default.nix46
1 files changed, 40 insertions, 6 deletions
diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix
index 13c48fc12af..47db2201648 100644
--- a/pkgs/applications/audio/ecasound/default.nix
+++ b/pkgs/applications/audio/ecasound/default.nix
@@ -1,6 +1,7 @@
-{ stdenv
+{ lib, stdenv
 , fetchurl
-, alsaLib
+, pkg-config
+, alsa-lib
 , audiofile
 , libjack2
 , liblo
@@ -9,9 +10,14 @@
 , libsndfile
 , lilv
 , lv2
+, ncurses
+, readline
 }:
 
-# TODO: fix readline, ncurses, lilv, liblo, liboil and python. See configure log.
+# TODO: fix python. See configure log.
+# fix -Dnullptr=0 cludge below.
+# The error is
+# /nix/store/*-lilv-0.24.10/include/lilv-0/lilv/lilvmm.hpp:272:53: error: 'nullptr' was not declared in this scope
 
 stdenv.mkDerivation rec {
   pname = "ecasound";
@@ -22,11 +28,39 @@ stdenv.mkDerivation rec {
     sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6";
   };
 
-  buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    audiofile
+    libjack2
+    liblo
+    liboil
+    libsamplerate
+    libsndfile
+    lilv
+    lv2
+    ncurses
+    readline
+  ];
+
+  strictDeps = true;
+
+  CXXFLAGS = "-std=c++11";
+  configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
+
+  postPatch = ''
+    sed -i -e '
+      s@^#include <readline.h>@#include <readline/readline.h>@
+      s@^#include <history.h>@#include <readline/history.h>@
+      ' ecasound/eca-curses.cpp
+  '';
 
   meta = {
-    description = "Ecasound is a software package designed for multitrack audio processing";
-    license = with stdenv.lib.licenses;  [ gpl2 lgpl21 ];
+    description = "Software package designed for multitrack audio processing";
+    license = with lib.licenses;  [ gpl2 lgpl21 ];
     homepage = "http://nosignal.fi/ecasound/";
   };
 }