biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / audio / proteus / default.nix
blobab2bdae4ef0fc004dd0b94ff9234c7bda092b10c
1 { lib, stdenv, fetchFromGitHub, autoPatchelfHook, cmake, pkg-config
2 , alsa-lib, freetype, libjack2
3 , libX11, libXext, libXcursor, libXinerama, libXrandr, libXrender
4 }:
6 stdenv.mkDerivation rec {
7   pname = "proteus";
8   version = "1.2";
10   src = fetchFromGitHub {
11     owner = "GuitarML";
12     repo = "Proteus";
13     rev = "v${version}";
14     fetchSubmodules = true;
15     hash = "sha256-WhJh+Sx64JYxQQ1LXpDUwXeodFU1EZ0TmMhn+6w0hQg=";
16   };
18   nativeBuildInputs = [ autoPatchelfHook cmake pkg-config ];
19   buildInputs = [
20     alsa-lib freetype libjack2
21     libX11 libXext libXcursor libXinerama libXrandr libXrender
22   ];
23   # JUCE loads most dependencies at runtime:
24   runtimeDependencies = map lib.getLib buildInputs;
26   env.NIX_CFLAGS_COMPILE = toString [
27     # Support JACK output in the standalone application:
28     "-DJUCE_JACK"
29     # Accommodate -flto:
30     "-ffat-lto-objects"
31   ];
33   # The default "make install" only installs JUCE, which should not be installed, and does not install proteus.
34   installPhase = ''
35     runHook preInstall
37     mkdir -p $out/lib
38     cp -rT Proteus_artefacts/*/Standalone $out/bin
39     cp -rT Proteus_artefacts/*/LV2 $out/lib/lv2
40     cp -rT Proteus_artefacts/*/VST3 $out/lib/vst3
42     runHook postInstall
43   '';
45   meta = with lib; {
46     description = "Guitar amp and pedal capture plugin using neural networks";
47     homepage = "https://github.com/GuitarML/Proteus";
48     license = licenses.gpl3;
49     platforms = platforms.linux;
50     maintainers = with maintainers; [ orivej ];
51     mainProgram = "Proteus";
52   };