Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 89 lines 1.7 kB view raw
1{ 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, 18}: 19 20stdenv.mkDerivation rec { 21 pname = "odin2"; 22 version = "2.3.4"; 23 24 src = fetchFromGitHub { 25 owner = "TheWaveWarden"; 26 repo = "odin2"; 27 rev = "v${version}"; 28 fetchSubmodules = true; 29 hash = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY="; 30 }; 31 32 postPatch = '' 33 sed '1i#include <utility>' -i \ 34 libs/JUCELV2/modules/juce_gui_basics/windows/juce_ComponentPeer.h # gcc12 35 ''; 36 37 nativeBuildInputs = [ 38 cmake 39 pkg-config 40 ]; 41 42 buildInputs = [ 43 alsa-lib 44 freetype 45 libjack2 46 lv2 47 libX11 48 libXcursor 49 libXext 50 libXinerama 51 libXrandr 52 libGL 53 ]; 54 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 ); 65 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 ]; 71 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 ''; 80 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 }; 89}