nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 79 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 autoreconfHook, 6 autoconf-archive, 7 alsa-lib, 8 fftw, 9 iniparser, 10 libGL, 11 libpulseaudio, 12 libtool, 13 ncurses, 14 pipewire, 15 pkgconf, 16 portaudio, 17 SDL2, 18 versionCheckHook, 19 withSDL2 ? false, 20 withPipewire ? stdenv.hostPlatform.isLinux, 21}: 22 23stdenv.mkDerivation (finalAttrs: { 24 pname = "cava"; 25 version = "0.10.6"; 26 27 src = fetchFromGitHub { 28 owner = "karlstav"; 29 repo = "cava"; 30 rev = finalAttrs.version; 31 hash = "sha256-dWPW9vd9LdGALt7Po4nZnW5HkivtZcIUBlXEFurq2os="; 32 }; 33 34 buildInputs = [ 35 fftw 36 iniparser 37 libpulseaudio 38 libtool 39 ncurses 40 ] 41 ++ lib.optionals stdenv.hostPlatform.isLinux [ 42 alsa-lib 43 ] 44 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 45 portaudio 46 ] 47 ++ lib.optionals withSDL2 [ 48 libGL 49 SDL2 50 ] 51 ++ lib.optionals withPipewire [ 52 pipewire 53 ]; 54 55 nativeBuildInputs = [ 56 autoreconfHook 57 autoconf-archive 58 pkgconf 59 versionCheckHook 60 ]; 61 doInstallCheck = true; 62 versionCheckProgramArg = "-v"; 63 64 preAutoreconf = '' 65 echo ${finalAttrs.version} > version 66 ''; 67 68 meta = { 69 description = "Console-based Audio Visualizer for Alsa"; 70 homepage = "https://github.com/karlstav/cava"; 71 license = lib.licenses.mit; 72 maintainers = with lib.maintainers; [ 73 offline 74 mirrexagon 75 ]; 76 platforms = lib.platforms.unix; 77 mainProgram = "cava"; 78 }; 79})