ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / ca / cava / package.nix
blob7f09e13c9d17bc78b7bf3a8fc97d5fbb2c000fa8
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,
23 stdenv.mkDerivation rec {
24   pname = "cava";
25   version = "0.10.2";
27   src = fetchFromGitHub {
28     owner = "karlstav";
29     repo = "cava";
30     rev = version;
31     hash = "sha256-y6RslsU/zmr0Ai/rnr73N3OtjuBcWa3JCwh9P5GkNss=";
32   };
34   buildInputs =
35     [
36       fftw
37       iniparser
38       libpulseaudio
39       libtool
40       ncurses
41     ]
42     ++ lib.optionals stdenv.hostPlatform.isLinux [
43       alsa-lib
44     ]
45     ++ lib.optionals stdenv.hostPlatform.isDarwin [
46       portaudio
47     ]
48     ++ lib.optionals withSDL2 [
49       libGL
50       SDL2
51     ]
52     ++ lib.optionals withPipewire [
53       pipewire
54     ];
56   nativeBuildInputs = [
57     autoreconfHook
58     autoconf-archive
59     pkgconf
60     versionCheckHook
61   ];
62   doInstallCheck = true;
63   versionCheckProgramArg = "-v";
65   preAutoreconf = ''
66     echo ${version} > version
67   '';
69   meta = with lib; {
70     description = "Console-based Audio Visualizer for Alsa";
71     homepage = "https://github.com/karlstav/cava";
72     license = licenses.mit;
73     maintainers = with maintainers; [
74       offline
75       mirrexagon
76     ];
77     platforms = platforms.unix;
78     mainProgram = "cava";
79   };