Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 fetchpatch, 6 cmake, 7 pkg-config, 8 which, 9 alsa-lib, 10 curl, 11 faust, 12 flac, 13 gnutls, 14 libjack2, 15 libmicrohttpd, 16 libmpg123, 17 libogg, 18 libopus, 19 libsndfile, 20 libtasn1, 21 libvorbis, 22 libxcb, 23 llvm, 24 p11-kit, 25 qrencode, 26 qt5, 27}: 28 29stdenv.mkDerivation rec { 30 pname = "faustlive"; 31 version = "2.5.17"; 32 src = fetchFromGitHub { 33 owner = "grame-cncm"; 34 repo = "faustlive"; 35 rev = version; 36 hash = "sha256-RqtdDkP63l/30sL5PDocvpar5TI4LdKfeeliSNeOHog="; 37 fetchSubmodules = true; 38 }; 39 40 patches = [ 41 # move mutex initialization outside assert call 42 # https://github.com/grame-cncm/faustlive/pull/59 43 (fetchpatch { 44 name = "initalize-mutexes.patch"; 45 url = "https://github.com/grame-cncm/faustlive/commit/fdd46b12202def9731b9ed2f6363287af16be892.patch"; 46 hash = "sha256-yH95Y4Jbqgs8siE9rtutmu5C2sNZwQMJzCgDYqNBDj4="; 47 }) 48 ]; 49 50 strictDeps = true; 51 52 nativeBuildInputs = [ 53 cmake 54 faust 55 llvm 56 pkg-config 57 qt5.wrapQtAppsHook 58 which 59 ]; 60 61 buildInputs = [ 62 alsa-lib 63 curl 64 faust 65 flac 66 gnutls 67 libjack2 68 libmicrohttpd 69 libmpg123 70 libogg 71 libopus 72 libsndfile 73 libtasn1 74 libvorbis 75 libxcb 76 llvm 77 p11-kit 78 qrencode 79 qt5.qtbase 80 ]; 81 82 cmakeFlags = [ 83 "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" 84 ]; 85 86 postPatch = "cd Build"; 87 88 meta = with lib; { 89 description = "Standalone just-in-time Faust compiler"; 90 mainProgram = "FaustLive"; 91 longDescription = '' 92 FaustLive is a standalone just-in-time Faust compiler. It tries to bring 93 together the convenience of a standalone interpreted language with the 94 efficiency of a compiled language. It's ideal for fast prototyping. 95 ''; 96 homepage = "https://faust.grame.fr/"; 97 license = licenses.gpl3; 98 maintainers = with maintainers; [ magnetophon ]; 99 }; 100}