summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/e18/default.nix16
-rw-r--r--pkgs/desktops/e18/econnman.nix23
-rw-r--r--pkgs/desktops/e18/efl.nix23
-rw-r--r--pkgs/desktops/e18/elementary.nix20
-rw-r--r--pkgs/desktops/e18/emotion.nix20
-rw-r--r--pkgs/desktops/e18/enlightenment.nix34
-rw-r--r--pkgs/desktops/e18/evas.nix17
-rw-r--r--pkgs/desktops/e18/terminology.nix23
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/default.nix7
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch40
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/vte/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix47
-rw-r--r--pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/empathy/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch11
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/3.12/default.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix4
32 files changed, 357 insertions, 50 deletions
diff --git a/pkgs/desktops/e18/default.nix b/pkgs/desktops/e18/default.nix
new file mode 100644
index 00000000000..56361eb85ce
--- /dev/null
+++ b/pkgs/desktops/e18/default.nix
@@ -0,0 +1,16 @@
+{ callPackage, pkgs }:
+rec {
+  #### CORE EFL
+  efl = callPackage ./efl.nix { };
+  evas = callPackage ./evas.nix { };
+  emotion = callPackage ./emotion.nix { };
+  elementary = callPackage ./elementary.nix { };
+
+  #### WINDOW MANAGER
+  enlightenment = callPackage ./enlightenment.nix { };
+
+  #### APPLICATIONS
+  econnman = callPackage ./econnman.nix { };
+  terminology = callPackage ./terminology.nix { };
+
+}
diff --git a/pkgs/desktops/e18/econnman.nix b/pkgs/desktops/e18/econnman.nix
new file mode 100644
index 00000000000..f2c67edf4f8
--- /dev/null
+++ b/pkgs/desktops/e18/econnman.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e18, python27, python27Packages, dbus, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "econnman-${version}";
+  version = "1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
+    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
+  };
+
+  buildInputs = [ makeWrapper pkgconfig e18.efl python27 dbus ];
+  propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus e18.elementary ];
+  postInstall = ''
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/lib/python2.7/site-packages
+  '';
+
+  meta = {
+    description = "Econnman is a user interface for the connman network connection manager";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e18/efl.nix b/pkgs/desktops/e18/efl.nix
new file mode 100644
index 00000000000..ca09ac32ee5
--- /dev/null
+++ b/pkgs/desktops/e18/efl.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages }:
+stdenv.mkDerivation rec {
+  name = "efl-${version}";
+  version = "1.10.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
+    sha256 = "0py8x0kv2hgl5v983xb6653fvmvn20im6picpc0hqfyxy09g1b24";
+  };
+  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
+  propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ];
+  configureFlags = [ "--with-opengl=full" "--with-tests=none" "--enable-wayland" "--enable-sdl" "--enable-drm" ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${xlibs.libXtst} $NIX_CFLAGS_COMPILE"
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+  '';
+  meta = {
+    description = "Enlightenment Core libraries";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e18/elementary.nix b/pkgs/desktops/e18/elementary.nix
new file mode 100644
index 00000000000..f808d5c905b
--- /dev/null
+++ b/pkgs/desktops/e18/elementary.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18 }:
+stdenv.mkDerivation rec {
+  name = "elementary-${version}";
+  version = "1.10.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
+    sha256 = "0y3knvmabl9adc8pd54p7qxpf7gvciixc1rk40hqppwhdgbgpz28";
+  };
+  buildInputs = [ pkgconfig e18.efl ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Widget set/toolkit";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
+  };
+}
diff --git a/pkgs/desktops/e18/emotion.nix b/pkgs/desktops/e18/emotion.nix
new file mode 100644
index 00000000000..7e1c3be6400
--- /dev/null
+++ b/pkgs/desktops/e18/emotion.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18, vlc }:
+stdenv.mkDerivation rec {
+  name = "emotion_generic_players-${version}";
+  version = "1.10.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
+    sha256 = "1nwlrk9inrhiv6jpzji10ikcdlhzhz7f2b5qhi2ai8bb6j61ryyc";
+  };
+  buildInputs = [ pkgconfig e18.efl vlc ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Extra video decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e18/enlightenment.nix b/pkgs/desktops/e18/enlightenment.nix
new file mode 100644
index 00000000000..ab374ad2334
--- /dev/null
+++ b/pkgs/desktops/e18/enlightenment.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit, set_freqset_setuid ? false }:
+stdenv.mkDerivation rec {
+  name = "enlightenment-${version}";
+  version = "0.18.8";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.gz";
+    sha256 = "1fsigbrknkwy909p1gqwxag1bar3p413s4f6fq3qnbsd6gjbvj8l";
+  };
+  buildInputs = [ pkgconfig e18.efl e18.elementary xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+
+  # this is a hack and without this cpufreq module is not working:
+  #   when set_freqset_setuid is true and "e18_freqset" is set in setuidPrograms (this is taken care of in e18 NixOS module),
+  #   then this postInstall does the folowing:
+  #   1. moves the "freqset" binary to "e18_freqset",
+  #   2. linkes "e18_freqset" to enlightenment/bin so that,
+  #   3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e18_freqset,
+  #   4. and finaly, linkes /var/setuid-wrappers/e18_freqset to original destination where enlightenment wants it
+  postInstall = if set_freqset_setuid then ''
+    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
+    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e18_freqset
+    ln -sv $CPUFREQ_DIRPATH/e18_freqset $out/bin/e18_freqset
+    ln -sv /var/setuid-wrappers/e18_freqset $CPUFREQ_DIRPATH/freqset
+  '' else "";
+  meta = {
+    description = "The Compositing Window Manager and Desktop Shell";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e18/evas.nix b/pkgs/desktops/e18/evas.nix
new file mode 100644
index 00000000000..9ddd94dbaea
--- /dev/null
+++ b/pkgs/desktops/e18/evas.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, e18, zlib }:
+stdenv.mkDerivation rec {
+  name = "evas_generic_loaders-${version}";
+  version = "1.10.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
+    sha256 = "0qx44g7a8pzcgspx8q10zjiwzafis301fhpchd4pskfxhqd4qagm";
+  };
+  buildInputs = [ pkgconfig e18.efl zlib ];
+  meta = {
+    description = "Extra image decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/e18/terminology.nix b/pkgs/desktops/e18/terminology.nix
new file mode 100644
index 00000000000..892abc6ea5f
--- /dev/null
+++ b/pkgs/desktops/e18/terminology.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e18 }:
+stdenv.mkDerivation rec {
+  name = "terminology-${version}";
+  version = "0.6.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
+  };
+  buildInputs = [ pkgconfig e18.efl e18.elementary ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The best terminal emulator written with the EFL";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix
index aca30f87dfc..30c8bf07d41 100644
--- a/pkgs/desktops/gnome-2/desktop/vte/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix
@@ -11,11 +11,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./alt.patch
-    ( fetchurl { # CVE-2012-2738
-      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/"
-        + "vte/files/vte-0.28.2-limit-arguments.patch?revision=1.1";
-      sha256 = "1s8agx74wa7wlv9ybd5h3dp4hzf4ddg7piyan37g2ab3fnvg4jhn";
-    } )
+    # CVE-2012-2738
+    ./vte-0.28.2-limit-arguments.patch
   ];
 
   buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++
diff --git a/pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch b/pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch
new file mode 100644
index 00000000000..fd454079390
--- /dev/null
+++ b/pkgs/desktops/gnome-2/desktop/vte/vte-0.28.2-limit-arguments.patch
@@ -0,0 +1,40 @@
+From feeee4b5832b17641e505b7083e0d299fdae318e Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe@gnome.org>
+Date: Sat, 19 May 2012 17:36:09 +0000
+Subject: emulation: Limit integer arguments to 65535
+
+To guard against malicious sequences containing excessively big numbers,
+limit all parsed numbers to 16 bit range. Doing this here in the parsing
+routine is a catch-all guard; this doesn't preclude enforcing
+more stringent limits in the handlers themselves.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676090
+---
+diff --git a/src/table.c b/src/table.c
+index 140e8c8..85cf631 100644
+--- a/src/table.c
++++ b/src/table.c
+@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
+ 		if (G_UNLIKELY (*array == NULL)) {
+ 			*array = g_value_array_new(1);
+ 		}
+-		g_value_set_long(&value, total);
++		g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
+ 		g_value_array_append(*array, &value);
+ 	} while (i++ < arginfo->length);
+ 	g_value_unset(&value);
+diff --git a/src/vteseq.c b/src/vteseq.c
+index 457c06a..46def5b 100644
+--- a/src/vteseq.c
++++ b/src/vteseq.c
+@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
+                               GValueArray *params,
+                               VteTerminalSequenceHandler handler)
+ {
+-        vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
++        vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
+ }
+ 
+ static void
+--
+cgit v0.9.0.2
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
index 2535398380b..edcd868b2f3 100644
--- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra
-, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool}:
+, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool, libogg
+}:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
@@ -14,5 +15,5 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
-  propagatedBuildInputs = [ glib libbonobo ];
+  propagatedBuildInputs = [ glib libbonobo libogg ];
 }
diff --git a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
index 3df5ab40eaf..5e53a7e86cb 100644
--- a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
   };
 
-  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice
                   gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
index 1222f03d66e..4e472514348 100644
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
-, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig
+, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
 , gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
 , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
 , cracklib, python, krb5, networkmanagerapplet, networkmanager
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
       libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
       gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
-      accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
+      accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
       shared_mime_info icu libtool docbook_xsl docbook_xsl_ns 
       networkmanager modemmanager makeWrapper  ];
 
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
index 554b09a1e59..d468e06d429 100644
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix
@@ -2,7 +2,7 @@
 , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
 , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
 , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
-, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with gnome3;
-    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice
+    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
       libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
       clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
       libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-shell" \
       --prefix PATH : "${unzip}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
+      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
index 541db5720db..1b17cbc3d78 100644
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
 , gnome_doc_utils, intltool, libX11, which, gconf, libuuid
-, desktop_file_utils, itstool, ncurses, makeWrapper }:
+, desktop_file_utils, itstool, makeWrapper }:
 
 stdenv.mkDerivation rec {
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte
-                  gnome3.dconf gnome3.gconf itstool ncurses makeWrapper ];
+                  gnome3.dconf gnome3.gconf itstool makeWrapper ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
 
diff --git a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
index e5f6a0aa9b8..1875c1491f9 100644
--- a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig libxml2 glib ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix b/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
index d98ddc716de..c916be6c9a7 100644
--- a/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/vte/default.nix
@@ -15,9 +15,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
 
-  configureFlags = ''--enable-introspection'';
+  configureFlags = [ "--enable-introspection" ];
 
-  meta = {
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses"
+  '';
+
+  meta = with stdenv.lib; {
     homepage = http://www.gnome.org/;
     description = "A library implementing a terminal emulator widget for GTK+";
     longDescription = ''
@@ -28,8 +34,8 @@ stdenv.mkDerivation rec {
       character set conversion, as well as emulating any terminal known to
       the system's terminfo database.
     '';
-    license = "LGPLv2";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl antono ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ astsmtl antono lethalman ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
index ced915e7f8f..a761c13e959 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
-, attr, bzip2, acl, makeWrapper }:
+, attr, bzip2, acl, makeWrapper, librsvg, gdk_pixbuf, hicolor_icon_theme }:
 
 stdenv.mkDerivation rec {
   name = "file-roller-${version}";
@@ -16,15 +16,19 @@ stdenv.mkDerivation rec {
   # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
 
   buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
-                  attr bzip2 acl makeWrapper ];
+                  hicolor_icon_theme gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+                  attr bzip2 acl gdk_pixbuf librsvg makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/bin/file-roller" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/FileRoller;
+    description = "Archive manager for the GNOME desktop environment";
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
index 0e00b50f47d..0909a4239db 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
new file mode 100644
index 00000000000..cbb53eedd4c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-boxes/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
+, glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
+, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala
+, libcap_ng, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg
+, hicolor_icon_theme, desktop_file_utils, mtools, cdrkit, libcdio
+}:
+
+# TODO: ovirt (optional)
+
+stdenv.mkDerivation rec {
+  name = "gnome-boxes-3.12.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-boxes/3.12/${name}.tar.xz";
+    sha256 = "0kzdh8kk9isaskbfyj7r7nybgdyhj7i4idkgahdsl9xs9sj2pmc8";
+  };
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  buildInputs = [
+    makeWrapper pkgconfig intltool itstool libvirt-glib glib
+    gobjectIntrospection libxml2 gtk3 gtkvnc libvirt spice_gtk spice_protocol
+    libuuid libsoup libosinfo systemd tracker vala libcap_ng libcap yajl gmp
+    gdbm cyrus_sasl gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
+    librsvg hicolor_icon_theme desktop_file_utils
+  ];
+
+  preFixup = ''
+    for prog in "$out/bin/"*; do
+        wrapProgram "$prog" \
+            --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+            --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
+            --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin"
+    done
+    rm "$out/share/icons/hicolor/icon-theme.cache"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple GNOME 3 application to access remote or virtual systems";
+    homepage = https://wiki.gnome.org/action/show/Apps/Boxes;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bjornfor ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
index c6a98bb3ef0..d784544a183 100644
--- a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
                   gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
                   gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
-                  python3Packages.pycairo python3Packages.dbus
+                  python3Packages.pycairo python3Packages.dbus gnome3.totem-pl-parser
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
                   hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     let
       libPath = stdenv.lib.makeLibraryPath
         [ glib gtk3 libnotify tracker gnome3.grilo cairo
-          gst_all_1.gstreamer gst_all_1.gst-plugins-base
+          gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.totem-pl-parser
           gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
     in
     ''
diff --git a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
index 458bd33240e..7fb341948be 100644
--- a/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix
@@ -19,9 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
-                            gnome3.gnome_icon_theme hicolor_icon_theme
-                            gnome_online_accounts shared_mime_info
-                            gnome3.gnome_icon_theme_symbolic ];
+                            gnome_online_accounts shared_mime_info ];
   propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
                             telepathy_mission_control ];
   buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
@@ -31,6 +29,7 @@ stdenv.mkDerivation rec {
                   gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf
                   libnotify clutter libsoup gnutls libgee p11_kit
                   libcanberra_gtk3 telepathy_farstream farstream
+                  gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
                   gnome3.gsettings_desktop_schemas file libtool librsvg ];
 
   NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
@@ -41,7 +40,7 @@ stdenv.mkDerivation rec {
     for f in $out/bin/* $out/libexec/*; do
       wrapProgram $f \
         --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
     done
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
index d7f65ca6741..b8711f7e563 100644
--- a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
                    ++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
 
   preFixup = ''
-    for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do
-      wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    for f in "$out/libexec/"*; do
+      wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
     done
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
index 070f39199d7..4e9acc822e7 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }:
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4";
   };
 
-  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice dconf
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice dconf
                   gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
index eb2324c9c0f..0aed2e7a410 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper
-, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig
+, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig
 , gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify
 , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
 , cracklib, python, krb5, networkmanagerapplet, networkmanager
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas
       libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
       gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality
-      accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
+      accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile
       shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo
       gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk
       hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.vino
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index 49154aa9221..2fb1e091aa0 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -2,7 +2,7 @@
 , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns
 , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
 , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
-, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with gnome3;
-    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice
+    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
       libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg
       clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
       libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
@@ -33,14 +33,22 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-shell" \
       --prefix PATH : "${unzip}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
+      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
 
     wrapProgram "$out/libexec/gnome-shell-calendar-server" \
       --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    echo "${unzip}/bin" > $out/${passthru.mozillaPlugin}/extra-bin-path
   '';
 
+  enableParallelBuilding = true;
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix
index a5b3fb73943..057ef191a6f 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
 , gnome_doc_utils, intltool, libX11, which, libuuid
-, desktop_file_utils, itstool, ncurses, makeWrapper, appdata-tools }:
+, desktop_file_utils, itstool, makeWrapper, appdata-tools }:
 
 stdenv.mkDerivation rec {
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools
-                  gnome3.dconf itstool ncurses makeWrapper gnome3.nautilus ];
+                  gnome3.dconf itstool makeWrapper gnome3.nautilus ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
index a0669957af6..4564b0d21e1 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix
@@ -13,7 +13,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig atk cairo glib gtk3 pango
                   libxml2Python perl intltool gettext ];
 
+  preBuild = ''
+    substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
+  ''; 
+
+  patches = [ ./nix_share_path.patch ];
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch
new file mode 100644
index 00000000000..c87350167c2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/nix_share_path.patch
@@ -0,0 +1,11 @@
+--- a/gtksourceview/gtksourceview-utils.c	2014-07-13 16:13:57.418687726 +0200
++++ b/gtksourceview/gtksourceview-utils.c	2014-07-13 16:14:20.550847767 +0200
+@@ -68,6 +68,8 @@
+ 							 basename,
+ 							 NULL));
+ 
++        g_ptr_array_add (dirs, g_build_filename ("@NIX_SHARE_PATH@", SOURCEVIEW_DIR, basename, NULL));
++
+ 	g_ptr_array_add (dirs, NULL);
+ 
+ 	return (gchar**) g_ptr_array_free (dirs, FALSE);
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
index 53ce47cca54..70c860849e0 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix
@@ -15,9 +15,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
 
-  configureFlags = ''--enable-introspection'';
+  configureFlags = [ "--enable-introspection" ];
 
-  meta = {
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses"
+  '';
+
+  meta = with stdenv.lib; {
     homepage = http://www.gnome.org/;
     description = "A library implementing a terminal emulator widget for GTK+";
     longDescription = ''
@@ -28,8 +34,8 @@ stdenv.mkDerivation rec {
       character set conversion, as well as emulating any terminal known to
       the system's terminfo database.
     '';
-    license = "LGPLv2";
-    maintainers = with stdenv.lib.maintainers; [ astsmtl antono ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ astsmtl antono lethalman ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
index f5369b2a3c3..1bb197338ec 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -195,6 +195,11 @@ rec {
 
   glade = callPackage ./apps/glade { };
 
+  gnome-boxes = callPackage ./apps/gnome-boxes {
+    gtkvnc = pkgs.gtkvnc.override { enableGTK3 = true; };
+    spice_gtk = pkgs.spice_gtk.override { enableGTK3 = true; };
+  };
+
   gnome-clocks = callPackage ./apps/gnome-clocks { };
 
   gnome-documents = callPackage ./apps/gnome-documents { };
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
index 51f30ed796e..37962a20562 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   p_name  = "xfce4-xkb-plugin";
   ver_maj = "0.5";
-  ver_min = "4.3";
+  ver_min = "6";
 
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0v9r0w9m5lxrzmz12f8w67l781lsywy9p1vixgn4xq6z5sxh2j6a";
+    sha256 = "198q6flrajbscwwywqq8yv6hdcwifahhj9i526vyfz4q6cq65r09";
   };
 
   buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel gtk