1{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
2stdenv.mkDerivation rec {
3 pname = "faustPhysicalModeling";
4 version = "2.59.6";
5
6 src = fetchFromGitHub {
7 owner = "grame-cncm";
8 repo = "faust";
9 rev = version;
10 sha256 = "sha256-Z/hAq6JlhlWBzWlodwQW/k9AkozVeMXmbVhkicNZ5os=";
11 };
12
13 buildInputs = [ faust2jaqt faust2lv2 ];
14
15 buildPhase = ''
16 cd examples/physicalModeling
17
18 for f in *MIDI.dsp; do
19 faust2jaqt -time -vec -double -midi -nvoices 16 -t 99999 $f
20 faust2lv2 -time -vec -double -gui -nvoices 16 -t 99999 $f
21 done
22 '';
23
24 installPhase = ''
25 mkdir -p $out/lib/lv2 $out/bin
26 mv *.lv2/ $out/lib/lv2
27 for f in $(find . -executable -type f); do
28 cp $f $out/bin/
29 done
30 '';
31
32 meta = with lib; {
33 description = "The physical models included with faust compiled as jack standalone and lv2 instruments";
34 homepage = "https://github.com/grame-cncm/faust/tree/master-dev/examples/physicalModeling";
35 license = licenses.mit;
36 platforms = platforms.linux;
37 maintainers = with maintainers; [ magnetophon ];
38 };
39}