71 lines
1.4 KiB
Nix
71 lines
1.4 KiB
Nix
|
{ alsaLib
|
||
|
, curl
|
||
|
, fetchFromGitHub
|
||
|
, freeglut
|
||
|
, freetype
|
||
|
, libGL
|
||
|
, libXcursor
|
||
|
, libXext
|
||
|
, libXinerama
|
||
|
, libXrandr
|
||
|
, libjack2
|
||
|
, pkg-config
|
||
|
, python3
|
||
|
, stdenv
|
||
|
, lib
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "CHOWTapeModel";
|
||
|
version = "unstable-2020-12-12";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "jatinchowdhury18";
|
||
|
repo = "AnalogTapeModel";
|
||
|
rev = "a7cf10c3f790d306ce5743bb731e4bc2c1230d70";
|
||
|
sha256 = "09nq8x2dwabncbp039dqm1brzcz55zg9kpxd4p5348xlaz5m4661";
|
||
|
fetchSubmodules = true;
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
pkg-config
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
alsaLib
|
||
|
curl
|
||
|
freeglut
|
||
|
freetype
|
||
|
libGL
|
||
|
libXcursor
|
||
|
libXext
|
||
|
libXinerama
|
||
|
libXrandr
|
||
|
libjack2
|
||
|
python3
|
||
|
];
|
||
|
|
||
|
buildPhase = ''
|
||
|
cd Plugin/
|
||
|
./build_linux.sh
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/CHOWTapeModel/
|
||
|
cd Builds/LinuxMakefile/build/
|
||
|
cp CHOWTapeModel.a $out/lib
|
||
|
cp -r CHOWTapeModel.lv2 $out/lib/lv2
|
||
|
cp -r CHOWTapeModel.vst3 $out/lib/vst3
|
||
|
cp CHOWTapeModel $out/bin
|
||
|
cp ../../../../Manual/ChowTapeManual.pdf $out/share/doc/CHOWTapeModel/
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "https://github.com/jatinchowdhury18/AnalogTapeModel";
|
||
|
description = "Physical modelling signal processing for analog tape recording. LV2, VST3 and standalone";
|
||
|
license = with licenses; [ gpl3Only ];
|
||
|
maintainers = with maintainers; [ magnetophon ];
|
||
|
platforms = platforms.linux;
|
||
|
};
|
||
|
}
|