diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2021-06-06 01:39:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-06 01:39:04 +0200 |
commit | 870dce75e37ce80e131ae2346dfabcb5896f7d7c (patch) | |
tree | 9edf4d3e0590a7065d6bb4114b1431ef4b6a45ec | |
parent | 0fa2a1e1baaf9c40a2c3a625f90f6a73b9a6bfab (diff) | |
parent | d3115756194861f48944b6e59d297ef5ef6c413b (diff) |
Merge pull request #82642 from magnetophon/faustPhysicalModeling
-rw-r--r-- | lib/licenses.nix | 6 | ||||
-rw-r--r-- | pkgs/applications/audio/faustPhysicalModeling/default.nix | 39 | ||||
-rw-r--r-- | pkgs/applications/audio/faustStk/default.nix | 39 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
4 files changed, 88 insertions, 0 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix index d79ac90043966..9baaba022bf58 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -734,6 +734,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({ free = false; }; + stk = { + shortName = "stk"; + fullName = "Synthesis Tool Kit 4.3"; + url = https://github.com/thestk/stk/blob/master/LICENSE; + }; + tcltk = spdx { spdxId = "TCL"; fullName = "TCL/TK License"; diff --git a/pkgs/applications/audio/faustPhysicalModeling/default.nix b/pkgs/applications/audio/faustPhysicalModeling/default.nix new file mode 100644 index 0000000000000..f55cee957c770 --- /dev/null +++ b/pkgs/applications/audio/faustPhysicalModeling/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: +stdenv.mkDerivation rec { + pname = "faustPhysicalModeling"; + version = "2.20.2"; + + src = fetchFromGitHub { + owner = "grame-cncm"; + repo = "faust"; + rev = version; + sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + cd examples/physicalModeling + + for f in *MIDI.dsp; do + faust2jaqt -time -vec -double -midi -nvoices 16 -t 99999 $f + faust2lv2 -time -vec -double -gui -nvoices 16 -t 99999 $f + done + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/bin + mv *.lv2/ $out/lib/lv2 + for f in $(find . -executable -type f); do + cp $f $out/bin/ + done + ''; + + meta = with lib; { + description = "The physical models included with faust compiled as jack standalone and lv2 instruments"; + homepage = "https://github.com/grame-cncm/faust/tree/master-dev/examples/physicalModeling"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/faustStk/default.nix b/pkgs/applications/audio/faustStk/default.nix new file mode 100644 index 0000000000000..85ebb1d9a0212 --- /dev/null +++ b/pkgs/applications/audio/faustStk/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: + +stdenv.mkDerivation rec { + pname = "faustPhhysicalModeling"; + version = "2.20.2"; + + src = fetchFromGitHub { + owner = "grame-cncm"; + repo = "faust"; + rev = version; + sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + cd examples/physicalModeling/faust-stk + + for f in *.dsp; do + faust2jaqt -time -vec -midi -nvoices 8 -t 99999 $f + faust2lv2 -time -vec -double -gui -nvoices 32 -t 99999 $f + done + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/bin + mv *.lv2/ $out/lib/lv2 + for f in $(find . -executable -type f); do + cp $f $out/bin/ + done + ''; + meta = with lib; { + description = "The physical modeling instruments included with faust, compiled as jack standalone and lv2 instruments"; + homepage = "https://ccrma.stanford.edu/~rmichon/faustSTK/"; + license = licenses.stk; + platforms = platforms.linux; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a03835000e6b3..d6c8e4aea9ff9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30410,6 +30410,10 @@ in faustlive = callPackage ../applications/audio/faust/faustlive.nix { }; + faustPhysicalModeling = callPackage ../applications/audio/faustPhysicalModeling { }; + + faustStk = callPackage ../applications/audio/faustStk { }; + fceux = callPackage ../misc/emulators/fceux { }; flockit = callPackage ../tools/backup/flockit { }; |