dput-ng: fix eval (#364540)
[NixPkgs.git] / pkgs / by-name / od / odin2 / package.nix
blob40beb4b2a582cf38412dc185ddb61c7585cb6a7c
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   alsa-lib,
8   freetype,
9   libjack2,
10   lv2,
11   libX11,
12   libXcursor,
13   libXext,
14   libXinerama,
15   libXrandr,
16   libGL,
17   gcc-unwrapped,
20 stdenv.mkDerivation rec {
21   pname = "odin2";
22   version = "2.3.4";
24   src = fetchFromGitHub {
25     owner = "TheWaveWarden";
26     repo = "odin2";
27     rev = "v${version}";
28     fetchSubmodules = true;
29     hash = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY=";
30   };
32   postPatch = ''
33     sed '1i#include <utility>' -i \
34       libs/JUCELV2/modules/juce_gui_basics/windows/juce_ComponentPeer.h # gcc12
35   '';
37   nativeBuildInputs = [
38     cmake
39     pkg-config
40   ];
42   buildInputs = [
43     alsa-lib
44     freetype
45     libjack2
46     lv2
47     libX11
48     libXcursor
49     libXext
50     libXinerama
51     libXrandr
52     libGL
53   ];
55   # JUCE dlopen's these at runtime, crashes without them
56   NIX_LDFLAGS = (
57     toString [
58       "-lX11"
59       "-lXext"
60       "-lXcursor"
61       "-lXinerama"
62       "-lXrandr"
63     ]
64   );
66   cmakeFlags = [
67     "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
68     "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
69     "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
70   ];
72   installPhase = ''
73     mkdir -p $out/bin $out/lib/vst3 $out/lib/lv2 $out/lib/clap
74     cd Odin2_artefacts/Release
75     cp Standalone/Odin2 $out/bin
76     cp -r VST3/Odin2.vst3 $out/lib/vst3
77     cp -r LV2/Odin2.lv2 $out/lib/lv2
78     cp -r CLAP/Odin2.clap $out/lib/clap
79   '';
81   meta = with lib; {
82     description = "Odin 2 Synthesizer Plugin";
83     homepage = "https://thewavewarden.com/odin2";
84     license = licenses.gpl3;
85     platforms = [ "x86_64-linux" ];
86     maintainers = with maintainers; [ magnetophon ];
87     mainProgram = "Odin2";
88   };