biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / audio / pwvucontrol / default.nix
blobae631e1ff51665cd1a887c9f83c4af5c143c24e1
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchFromGitLab
5 , cargo
6 , desktop-file-utils
7 , meson
8 , ninja
9 , pkg-config
10 , rustPlatform
11 , rustc
12 , wrapGAppsHook4
13 , cairo
14 , gdk-pixbuf
15 , glib
16 , gtk4
17 , libadwaita
18 , pango
19 , pipewire
20 , wireplumber
23 let
24   wireplumber_0_4 = wireplumber.overrideAttrs (attrs: rec {
25     version = "0.4.17";
26     src = fetchFromGitLab {
27       domain = "gitlab.freedesktop.org";
28       owner = "pipewire";
29       repo = "wireplumber";
30       rev = version;
31       hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI=";
32     };
33   });
35 stdenv.mkDerivation rec {
36   pname = "pwvucontrol";
37   version = "0.3.1";
39   src = fetchFromGitHub {
40     owner = "saivert";
41     repo = "pwvucontrol";
42     rev = version;
43     hash = "sha256-t4JUpKtuO1JgrdsNbl0M/SwPmoqu7WxsaD74vlJeVhY=";
44   };
46   cargoDeps = rustPlatform.importCargoLock {
47     lockFile = ./Cargo.lock;
48     outputHashes = {
49       "wireplumber-0.1.0" = "sha256-+LZ8xKok2AOegW8WvfrfZGXuQB4xHrLNshcTOHab+xQ=";
50     };
51   };
53   nativeBuildInputs = [
54     cargo
55     desktop-file-utils
56     meson
57     ninja
58     pkg-config
59     rustPlatform.bindgenHook
60     rustPlatform.cargoSetupHook
61     rustc
62     wrapGAppsHook4
63   ];
65   buildInputs = [
66     cairo
67     gdk-pixbuf
68     glib
69     gtk4
70     libadwaita
71     pango
72     pipewire
73     wireplumber_0_4
74   ];
76   meta = with lib; {
77     description = "Pipewire Volume Control";
78     homepage = "https://github.com/saivert/pwvucontrol";
79     license = licenses.gpl3Plus;
80     maintainers = with maintainers; [ figsoda ];
81     mainProgram = "pwvucontrol";
82     platforms = platforms.linux;
83   };