Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 73 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitLab, 5 fetchpatch, 6 fftw, 7 liblo, 8 libsndfile, 9 makeDesktopItem, 10 portaudio, 11 qmake, 12 qtbase, 13 wrapQtAppsHook, 14}: 15 16stdenv.mkDerivation rec { 17 pname = "samplebrain"; 18 version = "0.18.5"; 19 20 src = fetchFromGitLab { 21 owner = "then-try-this"; 22 repo = "samplebrain"; 23 rev = "v${version}_release"; 24 hash = "sha256-/pMHmwly5Dar7w/ZawvR3cWQHw385GQv/Wsl1E2w5p4="; 25 }; 26 27 patches = [ 28 # Fixes build with recent liblo, see https://gitlab.com/then-try-this/samplebrain/-/merge_requests/16 29 (fetchpatch { 30 url = "https://gitlab.com/then-try-this/samplebrain/-/commit/032fd7c03931d1ca2d5c3d5e29901569aa2b2a86.patch"; 31 hash = "sha256-aaZJh/vx8fOqrJTuFzQ9+1mXvDQQXLy1k/2SwkMkVk4="; 32 }) 33 ]; 34 35 nativeBuildInputs = [ 36 qmake 37 wrapQtAppsHook 38 ]; 39 40 buildInputs = [ 41 fftw 42 liblo 43 libsndfile 44 portaudio 45 qtbase 46 ]; 47 48 desktopItem = makeDesktopItem { 49 type = "Application"; 50 desktopName = pname; 51 name = pname; 52 comment = "A sample masher designed by Aphex Twin"; 53 exec = pname; 54 icon = pname; 55 categories = [ "Audio" ]; 56 }; 57 58 installPhase = '' 59 mkdir -p $out/bin 60 cp samplebrain $out/bin 61 install -m 444 -D desktop/samplebrain.svg $out/share/icons/hicolor/scalable/apps/samplebrain.svg 62 ''; 63 64 meta = { 65 description = "Custom sample mashing app"; 66 mainProgram = "samplebrain"; 67 homepage = "https://thentrythis.org/projects/samplebrain"; 68 changelog = "https://gitlab.com/then-try-this/samplebrain/-/releases/v${version}_release"; 69 maintainers = with lib.maintainers; [ mitchmindtree ]; 70 license = lib.licenses.gpl2; 71 platforms = lib.platforms.linux; 72 }; 73}