From a9f66fa4cf446abfd4f3d86d7c88a7b94a8708a4 Mon Sep 17 00:00:00 2001 From: Rodney Lorrimar Date: Mon, 29 May 2017 21:39:40 +0100 Subject: [PATCH] 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. --- pkgs/applications/audio/csound/default.nix | 29 ++++++++++++++-------- 1 file 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";