biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / virtualization / virt-viewer / default.nix
blob1aca58af5c77bb258e1c649c82013631796eea88
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 , wrapGAppsHook
36 with lib;
38 stdenv.mkDerivation rec {
39   pname = "virt-viewer";
40   version = "11.0";
42   src = fetchurl {
43     url = "https://releases.pagure.org/virt-viewer/virt-viewer-${version}.tar.xz";
44     sha256 = "sha256-pD+iMlxMHHelyMmAZaww7wURohrJjlkPIjQIabrZq9A=";
45   };
47   patches = [
48     # Fix build with meson 0.61. Should be fixed in the next release.
49     # https://gitlab.com/virt-viewer/virt-viewer/-/merge_requests/120
50     (fetchpatch {
51       url = "https://gitlab.com/virt-viewer/virt-viewer/-/commit/98d9f202ef768f22ae21b5c43a080a1aa64a7107.patch";
52       sha256 = "sha256-3AbnkbhWOh0aNjUkmVoSV/9jFQtvTllOr7plnkntb2o=";
53     })
54   ];
56   nativeBuildInputs = [
57     glib
58     intltool
59     meson
60     ninja
61     pkg-config
62     python3
63     shared-mime-info
64     wrapGAppsHook
65   ];
67   buildInputs = [
68     gst_all_1.gst-plugins-base
69     gst_all_1.gst-plugins-good
70     bash-completion
71     glib
72     gsettings-desktop-schemas
73     gtk-vnc
74     gtk3
75     libvirt
76     libvirt-glib
77     libxml2
78     vte
79   ] ++ optionals ovirtSupport [
80     libgovirt
81   ] ++ optionals spiceSupport ([
82     gdbm
83     spice-gtk
84     spice-protocol
85   ] ++ optionals stdenv.isLinux [
86     libcap
87   ]);
89   # Required for USB redirection PolicyKit rules file
90   propagatedUserEnvPkgs = optional spiceSupport spice-gtk;
92   mesonFlags = [
93     (lib.mesonEnable "ovirt" ovirtSupport)
94   ];
96   strictDeps = true;
98   postPatch = ''
99     patchShebangs build-aux/post_install.py
100   '';
102   meta = {
103     description = "A viewer for remote virtual machines";
104     maintainers = with maintainers; [ raskin atemu ];
105     platforms = with platforms; linux ++ darwin;
106     license = licenses.gpl2;
107   };
108   passthru = {
109     updateInfo = {
110       downloadPage = "https://virt-manager.org/download.html";
111     };
112   };