nixpkgs/pkgs/development/libraries/spice-gtk/default.nix

66 lines
2.1 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, pkgconfig, spice-protocol, gettext, celt_0_5_1
, openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
2016-11-18 12:13:40 +00:00
, cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
, polkit, acl, usbutils, vala
2016-09-24 12:44:59 +01:00
, gtk3, epoxy }:
with stdenv.lib;
let
2016-11-18 12:13:40 +00:00
inherit (python2Packages) python pygtk;
in stdenv.mkDerivation rec {
2017-10-03 02:20:03 +01:00
name = "spice-gtk-0.34";
2018-03-15 18:21:31 +00:00
outputs = [ "out" "dev" ];
src = fetchurl {
url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
2017-10-03 02:20:03 +01:00
sha256 = "1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9";
};
buildInputs = [
2018-03-22 08:54:22 +00:00
spice-protocol celt_0_5_1 openssl libpulseaudio pixman
2016-09-24 12:44:59 +01:00
libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy
polkit acl usbutils
2016-09-24 12:44:59 +01:00
];
2018-03-22 08:54:22 +00:00
nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ];
2018-03-22 08:54:22 +00:00
PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
configureFlags = [
2016-09-24 12:44:59 +01:00
"--with-gtk3"
2018-03-22 08:54:22 +00:00
"--enable-introspection"
2018-03-15 18:21:31 +00:00
"--enable-vala"
];
# usb redirection needs spice-client-glib-usb-acl-helper to run setuid root
# the helper then uses polkit to check access
# in nixos, enable this with
# security.wrappers.spice-client-glib-usb-acl-helper.source =
# "${pkgs.spice_gtk}/bin/spice-client-glib-usb-acl-helper.real";
postFixup = ''
mv $out/bin/spice-client-glib-usb-acl-helper $out/bin/spice-client-glib-usb-acl-helper.real
ln -sf /run/wrappers/bin/spice-client-glib-usb-acl-helper $out/bin/spice-client-glib-usb-acl-helper
'';
dontDisableStatic = true; # Needed by the coroutine test
enableParallelBuilding = true;
meta = {
2016-09-24 12:44:59 +01:00
description = "A GTK+3 SPICE widget";
longDescription = ''
2016-09-24 12:44:59 +01:00
spice-gtk is a GTK+3 SPICE widget. It features glib-based
objects for SPICE protocol parsing and a gtk widget for embedding
the SPICE display into other applications such as virt-manager.
Python bindings are available too.
'';
homepage = http://www.spice-space.org/;
license = licenses.lgpl21;
maintainers = [ maintainers.xeji ];
platforms = platforms.linux;
};
}