summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-06-06 01:39:04 +0200
committerGitHub <noreply@github.com>2021-06-06 01:39:04 +0200
commit870dce75e37ce80e131ae2346dfabcb5896f7d7c (patch)
tree9edf4d3e0590a7065d6bb4114b1431ef4b6a45ec
parent0fa2a1e1baaf9c40a2c3a625f90f6a73b9a6bfab (diff)
parentd3115756194861f48944b6e59d297ef5ef6c413b (diff)
downloadnixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.tar
nixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.tar.gz
nixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.tar.bz2
nixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.tar.lz
nixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.tar.xz
nixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.tar.zst
nixpkgs-870dce75e37ce80e131ae2346dfabcb5896f7d7c.zip
Merge pull request #82642 from magnetophon/faustPhysicalModeling
-rw-r--r--lib/licenses.nix6
-rw-r--r--pkgs/applications/audio/faustPhysicalModeling/default.nix39
-rw-r--r--pkgs/applications/audio/faustStk/default.nix39
-rw-r--r--pkgs/top-level/all-packages.nix4
4 files changed, 88 insertions, 0 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index d79ac900439..9baaba022bf 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 00000000000..f55cee957c7
--- /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 00000000000..85ebb1d9a02
--- /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 a03835000e6..d6c8e4aea9f 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 { };