summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix8
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix55
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 62 insertions, 3 deletions
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index c205a09baf4..9eee8c2ca4e 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl,
-  python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte}:
+{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python
+, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte
+, spiceSupport ? true, spice_gtk
+}:
 
 with stdenv.lib;
 
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
       # libxml2Python is a dependency of libvirt.py.
       libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python
       gtkvnc vte
-    ];
+    ] ++ optional spiceSupport spice_gtk;
 
   buildInputs =
     [ pythonPackages.python
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
new file mode 100644
index 00000000000..60bf24dfd78
--- /dev/null
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, pkgconfig, gtk, spice_protocol, intltool, celt_0_5_1
+, openssl, pulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
+, cyrus_sasl, python, pygtk, autoconf, automake, libtool }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "spice-gtk-0.22";
+
+  src = fetchurl {
+    url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
+    sha256 = "0fpsn6qhy9a701lmd4yym6qz6zhpp8xp6vw42al0b4592pcybs85";
+  };
+
+  buildInputs = [
+    gtk spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection
+    libjpeg_turbo zlib cyrus_sasl python pygtk
+  ];
+
+  nativeBuildInputs = [ pkgconfig intltool libtool autoconf automake ];
+
+  NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  preConfigure = ''
+    substituteInPlace gtk/Makefile.am \
+      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
+
+    autoreconf -v --force --install
+    intltoolize -f
+  '';
+
+  configureFlags = [
+    "--disable-maintainer-mode"
+    "--with-gtk=2.0"
+  ];
+
+  dontDisableStatic = true; # Needed by the coroutine test
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A GTK+2 and GTK+3 SPICE widget";
+    longDescription = ''
+      spice-gtk is a GTK+2 and 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;
+
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ac8ef80eec8..5d450aff88d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5741,6 +5741,8 @@ let
     inherit (pythonPackages) pyparsing;
   };
 
+  spice_gtk = callPackage ../development/libraries/spice-gtk { };
+
   spice_protocol = callPackage ../development/libraries/spice-protocol { };
 
   sratom = callPackage ../development/libraries/audio/sratom { };