.github/labeler-no-sync: fix backport labelling (#378567)
[NixPkgs.git] / pkgs / by-name / pa / pavucontrol / package.nix
bloba7ca399e49468983dd99e499490bab6426b092b1
2   fetchFromGitLab,
3   lib,
4   stdenv,
5   pkg-config,
6   intltool,
7   libpulseaudio,
8   gtkmm4,
9   libsigcxx,
10   # Since version 6.1, libcanberra is optional
11   withLibcanberra ? true,
12   libcanberra-gtk3,
13   json-glib,
14   adwaita-icon-theme,
15   wrapGAppsHook4,
16   meson,
17   ninja,
18   libpressureaudio,
21 stdenv.mkDerivation (finalAttrs: {
22   pname = "pavucontrol";
23   version = "6.1";
25   src = fetchFromGitLab {
26     domain = "gitlab.freedesktop.org";
27     owner = "pulseaudio";
28     repo = "pavucontrol";
29     rev = "refs/tags/v${finalAttrs.version}";
30     hash = "sha256-cru4I+LljYKIpIr7gSolnuLuUIXgc8l+JUmPrme4+YA=";
31   };
33   buildInputs = [
34     libpulseaudio
35     gtkmm4
36     libsigcxx
37     (lib.optionals withLibcanberra libcanberra-gtk3)
38     json-glib
39     adwaita-icon-theme
40     libpressureaudio
41   ];
43   nativeBuildInputs = [
44     pkg-config
45     intltool
46     wrapGAppsHook4
47     meson
48     ninja
49   ];
51   mesonFlags = [
52     "--prefix=${placeholder "out"}"
53     (lib.mesonBool "lynx" false)
54   ];
56   enableParallelBuilding = true;
58   meta = {
59     changelog = "https://freedesktop.org/software/pulseaudio/pavucontrol/#news";
60     description = "PulseAudio Volume Control";
61     homepage = "http://freedesktop.org/software/pulseaudio/pavucontrol/";
62     license = lib.licenses.gpl2Plus;
63     longDescription = ''
64       PulseAudio Volume Control (pavucontrol) provides a GTK
65       graphical user interface to connect to a PulseAudio server and
66       easily control the volume of all clients, sinks, etc.
67     '';
68     mainProgram = "pavucontrol";
69     maintainers = with lib.maintainers; [ abbradar ];
70     platforms = lib.platforms.linux;
71   };