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