Merge pull request #35214 from xeji/spice-gtk-usbredir

spice-gtk: fix usb redirection
This commit is contained in:
Franz Pletz 2018-03-04 18:14:48 +00:00 committed by GitHub
commit d6c478893e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl, pkgconfig, spice-protocol, gettext, celt_0_5_1 { stdenv, fetchurl, pkgconfig, spice-protocol, gettext, celt_0_5_1
, openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
, cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
, polkit, acl, usbutils, vala
, gtk3, epoxy }: , gtk3, epoxy }:
with stdenv.lib; with stdenv.lib;
@ -18,22 +19,33 @@ in stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
spice-protocol celt_0_5_1 openssl libpulseaudio pixman gobjectIntrospection spice-protocol celt_0_5_1 openssl libpulseaudio pixman gobjectIntrospection
libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy
polkit acl usbutils
]; ];
nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook ]; nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala ];
NIX_CFLAGS_COMPILE = "-fno-stack-protector"; NIX_CFLAGS_COMPILE = "-fno-stack-protector";
# put polkit action in the $out/share/polkit-1/actions
preAutoreconf = '' preAutoreconf = ''
substituteInPlace src/Makefile.am \ substituteInPlace configure.ac \
--replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' --replace 'POLICYDIR=`''${PKG_CONFIG} polkit-gobject-1 --variable=policydir`' "POLICYDIR=$out/share/polkit-1/actions"
''; '';
configureFlags = [ configureFlags = [
"--disable-maintainer-mode"
"--with-gtk3" "--with-gtk3"
]; ];
# 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 dontDisableStatic = true; # Needed by the coroutine test
enableParallelBuilding = true; enableParallelBuilding = true;
@ -49,7 +61,7 @@ in stdenv.mkDerivation rec {
homepage = http://www.spice-space.org/; homepage = http://www.spice-space.org/;
license = licenses.lgpl21; license = licenses.lgpl21;
maintainers = [ maintainers.xeji ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }