summary refs log tree commit diff
path: root/pkgs/applications/audio/csound
diff options
context:
space:
mode:
authorRodney Lorrimar <dev@rodney.id.au>2017-05-29 21:39:40 +0100
committerRodney Lorrimar <dev@rodney.id.au>2017-05-29 21:48:04 +0100
commita9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4 (patch)
treef463bbbfbaab3316e0ec8215cc2adc5f8ec3f7d2 /pkgs/applications/audio/csound
parent3d2cfabad6b79dd1a3c6ddd75cdc2959d16b476e (diff)
downloadnixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.tar
nixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.tar.gz
nixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.tar.bz2
nixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.tar.lz
nixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.tar.xz
nixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.tar.zst
nixpkgs-a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4.zip
csound: add optional libraries
Adds extra bells and whistles:

 - jack
 - ladspa
 - fluidsynth
 - fltk (for the virtual keyboard)
 - curl
 - gettext

The most important one is jack but I added other dependencies which
seemed sensible and were mentioned by the configure script.
Diffstat (limited to 'pkgs/applications/audio/csound')
-rw-r--r--pkgs/applications/audio/csound/default.nix29
1 files changed, 18 insertions, 11 deletions
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 4f58ae48390..2395fe6ccea 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost
+{ stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext
 , alsaLib ? null
 , libpulseaudio ? null
-, tcltk ? null
+, libjack2 ? null
 , liblo ? null
-
-# maybe csound can be compiled with support for those, see configure output
-# , ladspa ? null
-# , fluidsynth ? null
-# , jack ? null
-# , gmm ? null
-# , wiiuse ? null
+, ladspa-sdk ? null
+, fluidsynth ? null
+# , gmm ? null  # opcodes don't build with gmm 5.1
+, eigen ? null
+, curl ? null
+, tcltk ? null
+, fltk ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -27,8 +27,15 @@ stdenv.mkDerivation rec {
     sha256 = "03xnva17sw35ga3n96x1zdfgw913dga1hccly85wzfn0kxz4rld9";
   };
 
-  nativeBuildInputs = [ cmake flex bison ];
-  buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost liblo ];
+  cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
+    ++ stdenv.lib.optional (libjack2 != null) "-DJACK_HEADER=${libjack2}/include/jack/jack.h";
+
+  nativeBuildInputs = [ cmake flex bison gettext ];
+  buildInputs = [ libsndfile libsamplerate boost ]
+    ++ builtins.filter (optional: optional != null) [
+      alsaLib libpulseaudio libjack2
+      liblo ladspa-sdk fluidsynth eigen
+      curl tcltk fltk ];
 
   meta = with stdenv.lib; {
     description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";