evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / vi / virt-viewer / package.nix
blob2c368db8da94527489edad370a52718e5c4c6d41
1 { lib
2 , stdenv
3 , bash-completion
4 , fetchurl
5 , fetchpatch
6 , gdbm
7 , glib
8 , gst_all_1
9 , gsettings-desktop-schemas
10 , gtk-vnc
11 , gtk3
12 , intltool
13 , libcap
14 , libgovirt
15   # Currently unsupported. According to upstream, libgovirt is for a very narrow
16   # use-case and we don't currently cover it in Nixpkgs. It's safe to disable.
17   # https://gitlab.com/virt-viewer/virt-viewer/-/issues/100#note_1265011223
18   # Can be enabled again once this is merged:
19   # https://gitlab.com/virt-viewer/virt-viewer/-/merge_requests/129
20 , ovirtSupport ? false
21 , libvirt
22 , libvirt-glib
23 , libxml2
24 , meson
25 , ninja
26 , pkg-config
27 , python3
28 , shared-mime-info
29 , spice-gtk
30 , spice-protocol
31 , spiceSupport ? true
32 , vte
33 , wrapGAppsHook3
35 stdenv.mkDerivation rec {
36   pname = "virt-viewer";
37   version = "11.0";
39   src = fetchurl {
40     url = "https://releases.pagure.org/virt-viewer/virt-viewer-${version}.tar.xz";
41     sha256 = "sha256-pD+iMlxMHHelyMmAZaww7wURohrJjlkPIjQIabrZq9A=";
42   };
44   patches = [
45     # Fix build with meson 0.61. Should be fixed in the next release.
46     # https://gitlab.com/virt-viewer/virt-viewer/-/merge_requests/120
47     (fetchpatch {
48       url = "https://gitlab.com/virt-viewer/virt-viewer/-/commit/98d9f202ef768f22ae21b5c43a080a1aa64a7107.patch";
49       sha256 = "sha256-3AbnkbhWOh0aNjUkmVoSV/9jFQtvTllOr7plnkntb2o=";
50     })
51   ];
53   nativeBuildInputs = [
54     glib
55     intltool
56     meson
57     ninja
58     pkg-config
59     python3
60     shared-mime-info
61     wrapGAppsHook3
62   ];
64   buildInputs = [
65     gst_all_1.gst-plugins-base
66     gst_all_1.gst-plugins-good
67     bash-completion
68     glib
69     gsettings-desktop-schemas
70     gtk-vnc
71     gtk3
72     libvirt
73     libvirt-glib
74     libxml2
75     vte
76   ] ++ lib.optionals ovirtSupport [
77     libgovirt
78   ] ++ lib.optionals spiceSupport ([
79     gdbm
80     spice-gtk
81     spice-protocol
82   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
83     libcap
84   ]);
86   # Required for USB redirection PolicyKit rules file
87   propagatedUserEnvPkgs = lib.optional spiceSupport spice-gtk;
89   mesonFlags = [
90     (lib.mesonEnable "ovirt" ovirtSupport)
91   ];
93   strictDeps = true;
95   postPatch = ''
96     patchShebangs build-aux/post_install.py
97   '';
99   meta = with lib; {
100     description = "Viewer for remote virtual machines";
101     maintainers = with maintainers; [ raskin atemu ];
102     platforms = with platforms; linux ++ darwin;
103     license = licenses.gpl2;
104   };
105   passthru = {
106     updateInfo = {
107       downloadPage = "https://virt-manager.org/download.html";
108     };
109   };