pwvucontrol: 0.4.5 -> 0.4.7
[NixPkgs.git] / pkgs / applications / audio / pwvucontrol / default.nix
blob2033158861680f7ce38f8fbd7d8cca10618d06a0
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 (finalAttrs: {
36   pname = "pwvucontrol";
37   version = "0.4.7";
39   src = fetchFromGitHub {
40     owner = "saivert";
41     repo = "pwvucontrol";
42     rev = "refs/tags/${finalAttrs.version}";
43     hash = "sha256-v8xANTbaIPIAPoukP8rcVzM6NHNpS2Ej/nfdmg3Vgvg=";
44   };
46   cargoDeps = rustPlatform.importCargoLock {
47     lockFile = ./Cargo.lock;
48     outputHashes = {
49       "wireplumber-0.1.0" = "sha256-ocagwmjyhfx6n/9xKxF2vhylqy2HunKQRx3eMo6m/l4=";
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 = {
77     description = "Pipewire Volume Control";
78     homepage = "https://github.com/saivert/pwvucontrol";
79     license = lib.licenses.gpl3Plus;
80     maintainers = with lib.maintainers; [
81       figsoda
82       Guanran928
83       johnrtitor
84     ];
85     mainProgram = "pwvucontrol";
86     platforms = lib.platforms.linux;
87   };