diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix new file mode 100644 index 000000000000..52732f0c5f10 --- /dev/null +++ b/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchurl, python3Packages, intltool, file +, wrapGAppsHook, gtk-vnc, vte, avahi, dconf +, gobject-introspection, libvirt-glib, system-libvirt +, gsettings-desktop-schemas, glib, libosinfo, gnome3, gtk3 +, spiceSupport ? true, spice-gtk ? null +, cpio, e2fsprogs, findutils, gzip +}: + +with stdenv.lib; + +python3Packages.buildPythonApplication rec { + name = "virt-manager-${version}"; + version = "2.0.0"; + namePrefix = ""; + + src = fetchurl { + url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz"; + sha256 = "1b48xbrx99mfiv80c60k3ydzkpcpbq57c8h8dl0gnffmnzbs8vzb"; + }; + + nativeBuildInputs = [ + wrapGAppsHook intltool file + gobject-introspection # for setup hook populating GI_TYPELIB_PATH + ]; + + buildInputs = + [ libvirt-glib vte dconf gtk-vnc gnome3.defaultIconTheme avahi + gsettings-desktop-schemas libosinfo gtk3 + ] ++ optional spiceSupport spice-gtk; + + propagatedBuildInputs = with python3Packages; + [ + pygobject3 ipaddress libvirt libxml2 requests + ]; + + patchPhase = '' + sed -i 's|/usr/share/libvirt/cpu_map.xml|${system-libvirt}/share/libvirt/cpu_map.xml|g' virtinst/capabilities.py + sed -i "/'install_egg_info'/d" setup.py + ''; + + postConfigure = '' + ${python3Packages.python.interpreter} setup.py configure --prefix=$out + ''; + + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas + ''; + + preFixup = '' + gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH") + # these are called from virt-install in initrdinject.py + gappsWrapperArgs+=(--prefix PATH : "${makeBinPath [ cpio e2fsprogs file findutils gzip ]}") + ''; + + # Failed tests + doCheck = false; + + meta = with stdenv.lib; { + homepage = http://virt-manager.org; + description = "Desktop user interface for managing virtual machines"; + longDescription = '' + The virt-manager application is a desktop user interface for managing + virtual machines through libvirt. It primarily targets KVM VMs, but also + manages Xen and LXC (linux containers). + ''; + license = licenses.gpl2; + # exclude Darwin since libvirt-glib currently doesn't build there + platforms = platforms.linux; + maintainers = with maintainers; [ qknight offline fpletz ]; + }; +} |