summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2017-05-20 13:57:49 +0200
committerRobin Gloster <mail@glob.in>2017-05-20 14:55:44 +0200
commitda9adb8fab40a3dd86d6cfcbd103657ca98e5a48 (patch)
tree25c6af6c8753a49d4774eb901d9696ccefa9d461 /pkgs/desktops/gnome-3
parent9beb44fb84fa579edcbdb9089facce25248bac02 (diff)
parentc9f3893451103c52e70566a5d043ab5e35014e6c (diff)
downloadnixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.tar
nixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.tar.gz
nixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.tar.bz2
nixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.tar.lz
nixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.tar.xz
nixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.tar.zst
nixpkgs-da9adb8fab40a3dd86d6cfcbd103657ca98e5a48.zip
Merge remote-tracking branch 'upstream/master' into gcc-6
Diffstat (limited to 'pkgs/desktops/gnome-3')
-rw-r--r--pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.22/apps/gnome-music/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/adwaita-icon-theme/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/baobab/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/dconf/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/epiphany/src.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gconf/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gdm/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gnome-keyring/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gnome-session/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gnome-settings-daemon/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gnome-shell/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gnome-user-share/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gtksourceview/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/libgee/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/mutter/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/mutter/x86.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/vino/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/vte/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/vte/fix_g_test_init_calls.patch26
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/vte/fix_vteseq_n_lookup_declaration.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/vte/ng.nix24
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/zenity/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/3.22/games/aisleriot/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/gitg/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/gitg/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/gnome-tweak-tool/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/gspell/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/gspell/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/libgit2-glib/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/pidgin/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/misc/pomodoro/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix26
37 files changed, 222 insertions, 129 deletions
diff --git a/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
index 87a014f8f74..c802f9636eb 100644
--- a/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/apps/evolution/default.nix
@@ -2,7 +2,7 @@
 , pkgconfig, gtk3, glib, libnotify, gtkspell3
 , wrapGAppsHook, itstool, shared_mime_info, libical, db, gcr, sqlite
 , gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
-, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, dconf }:
+, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, dconf, openldap}:
 
 let
   majVer = gnome3.version;
@@ -24,12 +24,13 @@ in stdenv.mkDerivation rec {
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
                   nss nspr libnotify procps highlight gnome3.libgweather
                   gnome3.gsettings_desktop_schemas dconf
-                  gnome3.libgnome_keyring gnome3.glib_networking ];
+                  gnome3.libgnome_keyring gnome3.glib_networking openldap ];
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar"
-                     "--disable-libcryptui" ];
+
+  configureFlags = [ "--disable-pst-import" "--disable-autoar"
+                     "--disable-libcryptui" "--with-openldap"];
 
   NIX_CFLAGS_COMPILE = "-I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
 
diff --git a/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/default.nix
index edb0075fdae..cb8bf49254b 100644
--- a/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
 , glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
 , spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala_0_32
-, libcap_ng, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg
-, desktop_file_utils, mtools, cdrkit, libcdio, numactl, xen
-, libusb, libarchive, acl, libgudev, qemu
+, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg, desktop_file_utils
+, mtools, cdrkit, libcdio, libusb, libarchive, acl, libgudev, qemu, libsecret
+, libcap_ng, numactl, xen, libapparmor
 }:
 
 # TODO: ovirt (optional)
@@ -15,12 +15,16 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  nativeBuildInputs = [
+    makeWrapper pkgconfig intltool
+  ];
+
   buildInputs = [
-    makeWrapper pkgconfig intltool itstool libvirt-glib glib
-    gobjectIntrospection libxml2 gtk3 gtkvnc libvirt spice_gtk spice_protocol
-    libuuid libsoup libosinfo systemd tracker vala_0_32 libcap_ng libcap yajl gmp
-    gdbm cyrus_sasl gnome3.defaultIconTheme libusb libarchive
-    librsvg desktop_file_utils acl libgudev numactl xen
+    itstool libvirt-glib glib gobjectIntrospection libxml2 gtk3 gtkvnc
+    libvirt spice_gtk spice_protocol libuuid libsoup libosinfo systemd
+    tracker vala_0_32 libcap yajl gmp gdbm cyrus_sasl libusb libarchive
+    gnome3.defaultIconTheme librsvg desktop_file_utils acl libgudev libsecret
+    libcap_ng numactl xen libapparmor
   ];
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/src.nix b/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/src.nix
index 7fa6fbf9da6..ff43d41c53a 100644
--- a/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/src.nix
+++ b/pkgs/desktops/gnome-3/3.22/apps/gnome-boxes/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-boxes-3.22.0";
+  name = "gnome-boxes-3.22.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-boxes/3.22/gnome-boxes-3.22.0.tar.xz;
-    sha256 = "9f02e3032f8b6aaa77d9eab6aabe7fc09902be429e266ad9fd4185b94ac867ee";
+    url = mirror://gnome/sources/gnome-boxes/3.22/gnome-boxes-3.22.4.tar.xz;
+    sha256 = "1wngw4c052p5ghdsd0mdrn20yi8xs0hjdq30rdwv9sqh40liqnjq";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.22/apps/gnome-music/default.nix
index ea8f15fd4e5..4f11e7a2843 100644
--- a/pkgs/desktops/gnome-3/3.22/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/apps/gnome-music/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
                   gdk_pixbuf gnome3.defaultIconTheme librsvg python3Packages.python
                   gnome3.grilo gnome3.grilo-plugins gnome3.totem-pl-parser libxml2 libnotify
-                  python3Packages.pycairo python3Packages.dbus-python python3Packages.requests2
+                  python3Packages.pycairo python3Packages.dbus-python python3Packages.requests
                   python3Packages.pygobject3 gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad wrapGAppsHook
                   gnome3.gsettings_desktop_schemas makeWrapper tracker ];
diff --git a/pkgs/desktops/gnome-3/3.22/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.22/core/adwaita-icon-theme/default.nix
index 3c3a05dc3af..62cc4da6ba1 100644
--- a/pkgs/desktops/gnome-3/3.22/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/adwaita-icon-theme/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   postInstall = '' rm -rf "$out/locale" '';
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.22/core/baobab/default.nix
index f7a0ff473cc..15db270e80c 100644
--- a/pkgs/desktops/gnome-3/3.22/core/baobab/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/baobab/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, vala_0_32, libgtop
+{ stdenv, intltool, fetchurl, vala, libgtop
 , pkgconfig, gtk3, glib
-, bash, makeWrapper, itstool, libxml2
+, bash, wrapGAppsHook, itstool, libxml2
 , gnome3, librsvg, gdk_pixbuf, file }:
 
 stdenv.mkDerivation rec {
@@ -10,17 +10,8 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  buildInputs = [ vala_0_32 pkgconfig gtk3 glib libgtop intltool itstool libxml2
-                  gnome3.gsettings_desktop_schemas makeWrapper file
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/baobab" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
+  buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
+                  wrapGAppsHook file gdk_pixbuf gnome3.defaultIconTheme librsvg ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Baobab;
diff --git a/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix
index 02c60256e15..9200c4180bd 100644
--- a/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix
@@ -13,11 +13,18 @@ stdenv.mkDerivation rec {
     sha256 = "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6";
   };
 
+  outputs = [ "out" "lib" "dev" ];
+
   buildInputs = [ vala_0_32 libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
                   intltool docbook_xsl docbook_xsl_ns makeWrapper ];
 
+  postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace client/Makefile \
+      --replace "-soname=libdconf.so.1" "-install_name,libdconf.so.1"
+  '';
+
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/core/epiphany/src.nix b/pkgs/desktops/gnome-3/3.22/core/epiphany/src.nix
index dbb162dc432..2ec9189964a 100644
--- a/pkgs/desktops/gnome-3/3.22/core/epiphany/src.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/epiphany/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "epiphany-3.22.5";
+  name = "epiphany-3.22.6";
 
   src = fetchurl {
     url = mirror://gnome/sources/epiphany/3.22/epiphany-3.22.5.tar.xz;
-    sha256 = "e9c307b3f53a77c16ca698fb62fbb8d9b16773702d8163d83699bd623afa6745";
+    sha256 = "0ib7z8x65gcr6vc6709df1rngcfrp3xn5ywqlrnc2xrsynrhghz9";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.22/core/gconf/default.nix
index a4cb3e8c146..d3b2d814b16 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gconf/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gconf/default.nix
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   # ToDo: ldap reported as not found but afterwards reported as supported
 
+  outputs = [ "out" "dev" ];
+
   meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/gconf/;
     description = "A system for storing application preferences";
diff --git a/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix
index 7ba3c3734f8..0d8e46aeece 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # Disable Access Control because our X does not support FamilyServerInterpreted yet
-  patches = [ #./xserver_path.patch # gdm now uses wayland
+  patches = [ ./xserver_path.patch
               ./sessions_dir.patch
               ./gdm-x-session_extra_args.patch
               ./gdm-session-worker_xserver-path.patch
diff --git a/pkgs/desktops/gnome-3/3.22/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.22/core/gnome-keyring/default.nix
index 3ea108808f5..df47c1a477b 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gnome-keyring/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
-, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper
+, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, wrapGAppsHook
 , docbook_xsl_ns, docbook_xsl, gnome3 }:
 
 stdenv.mkDerivation rec {
@@ -7,25 +7,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = with gnome3; [
     dbus libgcrypt pam python gtk3 gconf libgnome_keyring
-    pango gcr gdk_pixbuf atk p11_kit makeWrapper
+    pango gcr gdk_pixbuf atk p11_kit
   ];
 
   propagatedBuildInputs = [ glib libtasn1 libxslt ];
 
-  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
+  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl wrapGAppsHook ];
 
   configureFlags = [
     "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
     "--with-pkcs11-modules=$$out/lib/pkcs11/"
   ];
 
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-keyring" \
-      --prefix XDG_DATA_DIRS : "${glib.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-    wrapProgram "$out/bin/gnome-keyring-daemon" \
-      --prefix XDG_DATA_DIRS : "${glib.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;
diff --git a/pkgs/desktops/gnome-3/3.22/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.22/core/gnome-session/default.nix
index 2f4aefe69a8..8dec630354c 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gnome-session/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     for desktopFile in $(grep -rl "Exec=gnome-session" $out/share)
     do
       echo "Patching gnome-session path in: $desktopFile"
-      sed -i "s,^Exec=gnome-session,Exec=$out/bin/gnome-session --debug," $desktopFile
+      sed -i "s,^Exec=gnome-session,Exec=$out/bin/gnome-session," $desktopFile
     done
     wrapProgram "$out/bin/gnome-session" \
       --prefix PATH : "${glib.dev}/bin" \
diff --git a/pkgs/desktops/gnome-3/3.22/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.22/core/gnome-settings-daemon/default.nix
index 00999353c2f..ff5670935bd 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gnome-settings-daemon/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
 , libxkbfile, libpulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
 , geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libtool, networkmanager
-, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus, xkeyboard_config }:
+, docbook_xsl, docbook_xsl_ns, wrapGAppsHook, ibus, xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -14,15 +14,7 @@ stdenv.mkDerivation rec {
       libnotify gnome_desktop lcms2 libXtst libxkbfile libpulseaudio
       libcanberra_gtk3 upower colord libgweather xkeyboard_config
       polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom libxslt
-      libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
-
-  # FIXME: glib binaries shouldn't be in .dev!
-  preFixup = ''
-    wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix PATH : "${glib.dev}/bin" \
-      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
-  '';
+      libtool docbook_xsl docbook_xsl_ns wrapGAppsHook gnome_themes_standard ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/3.22/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.22/core/gnome-shell/default.nix
index dccdb8a5a5f..8f77b7e5e3b 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gnome-shell/default.nix
@@ -7,7 +7,9 @@
 
 # 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
 
-stdenv.mkDerivation rec {
+let
+  pythonEnv = python3Packages.python.withPackages ( ps: with ps; [ pygobject3 ] );
+in stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # Needed to find /etc/NetworkManager/VPN
@@ -23,9 +25,8 @@ stdenv.mkDerivation rec {
       defaultIconTheme sqlite gnome3.gnome-bluetooth
       libgweather # not declared at build time, but typelib is needed at runtime
       gnome3.gnome-clocks # schemas needed
-      at_spi2_core upower ibus gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
-
-  propagatedBuildInputs = [ python3Packages.pygobject3 python3Packages.python gobjectIntrospection ];
+      at_spi2_core upower ibus gnome_desktop telepathy_logger gnome3.gnome_settings_daemon
+      pythonEnv gobjectIntrospection ];
 
   installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
 
@@ -42,9 +43,6 @@ stdenv.mkDerivation rec {
       --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS" \
       --suffix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
 
-    wrapProgram "$out/bin/gnome-shell-extension-tool" \
-      --prefix PYTHONPATH : "${python3Packages.pygobject3}/${python3Packages.python.sitePackages}:$PYTHONPATH"
-
     wrapProgram "$out/libexec/gnome-shell-calendar-server" \
       --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/desktops/gnome-3/3.22/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.22/core/gnome-user-share/default.nix
index f8b40e42d02..587165e107b 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gnome-user-share/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus
+{ stdenv, intltool, fetchurl, apacheHttpd, nautilus
 , pkgconfig, gtk3, glib, libxml2, gnused, systemd
-, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd
+, bash, wrapGAppsHook, itstool, libnotify, libtool, mod_dnssd
 , gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }:
 
 stdenv.mkDerivation rec {
@@ -11,17 +11,18 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   preConfigure = ''
-    sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf
+    sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \
+      -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \
+      -i data/dav_user_2.4.conf
   '';
 
-  configureFlags = [ "--with-httpd=${apacheHttpd_2_2.out}/bin/httpd"
-                     "--with-modules-path=${apacheHttpd_2_2.dev}/modules"
+  configureFlags = [ "--with-httpd=${apacheHttpd.out}/bin/httpd"
+                     "--with-modules-path=${apacheHttpd.dev}/modules"
                      "--with-systemduserunitdir=$(out)/etc/systemd/user"
-                     "--disable-bluetooth"
                      "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
 
   buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
-                  makeWrapper file gdk_pixbuf gnome3.defaultIconTheme librsvg
+                  wrapGAppsHook file gdk_pixbuf gnome3.defaultIconTheme librsvg
                   nautilus libnotify libcanberra_gtk3 systemd ];
 
   postInstall = ''
@@ -30,12 +31,6 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
   '';
 
-  preFixup = ''
-    wrapProgram "$out/libexec/gnome-user-share-webdav" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://help.gnome.org/users/gnome-user-share/3.8;
     description = "Service that exports the contents of the Public folder in your home directory on the local network";
diff --git a/pkgs/desktops/gnome-3/3.22/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.22/core/gtksourceview/default.nix
index aac1739a6e9..3dfbe6fbf0b 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gtksourceview/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gtksourceview/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   patches = [ ./nix_share_path.patch ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix
index 7b49af3c50f..d4697c99a93 100644
--- a/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/libgee/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = gnome3.maintainers;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.22/core/mutter/default.nix
index 9fad1873fbd..4818d05517b 100644
--- a/pkgs/desktops/gnome-3/3.22/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/mutter/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # fatal error: gio/gunixfdlist.h: No such file or directory
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0 -Wno-error=format -Wno-error=sign-compare";
 
   configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra --with-xwayland-path=${xwayland}/bin/Xwayland";
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
-  #./x86.patch ./math.patch
+    ./x86.patch # ./math.patch
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/gnome-3/3.22/core/mutter/x86.patch b/pkgs/desktops/gnome-3/3.22/core/mutter/x86.patch
index a997b27540e..93df1e7f283 100644
--- a/pkgs/desktops/gnome-3/3.22/core/mutter/x86.patch
+++ b/pkgs/desktops/gnome-3/3.22/core/mutter/x86.patch
@@ -18,16 +18,3 @@
    MetaRectangle unconstrained_rect;
    MetaRectangle constrained_rect;
    MetaMoveResizeResultFlags result = 0;
---- a/src/core/startup-notification.c	2016-06-06 12:13:27.100251933 +0200
-+++ b/src/core/startup-notification.c	2016-06-06 12:13:42.554956773 +0200
-@@ -418,7 +418,7 @@
-   elapsed = ctod->now - timestamp;
- 
-   meta_topic (META_DEBUG_STARTUP,
--              "Sequence used %ld ms vs. %d max: %s\n",
-+              "Sequence used %" G_GINT64_FORMAT " ms vs. %d max: %s\n",
-               elapsed, STARTUP_TIMEOUT,
-               meta_startup_notification_sequence_get_id (sequence));
- 
-[?25l[?25h[?1049h[?1h=[?25h[?25l~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              ~                                                                                              [?25h[?25lType  :quit<Enter>  to exit Vim[?25h[?25l[?25h[?25l[?25h[?25l[?25h[?25l[?25h[?25l[?25h[?25l[?25h

-[?1l>[?1049l
diff --git a/pkgs/desktops/gnome-3/3.22/core/vino/default.nix b/pkgs/desktops/gnome-3/3.22/core/vino/default.nix
index 52481395756..bd446623fc2 100644
--- a/pkgs/desktops/gnome-3/3.22/core/vino/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/vino/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, makeWrapper
+{ stdenv, fetchurl, lib, wrapGAppsHook
 , pkgconfig, gnome3, gtk3, glib, intltool, libXtst, libnotify, libsoup
 , telepathySupport ? false, dbus_glib ? null, telepathy_glib ? null
 , libsecret ? null, gnutls ? null, libgcrypt ? null, avahi ? null
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   buildInputs = [
-    makeWrapper
+    wrapGAppsHook
     pkgconfig gnome3.defaultIconTheme gtk3 glib intltool libXtst libnotify libsoup
   ] ++ optionals telepathySupport [ dbus_glib telepathy_glib ]
     ++ optional gnomeKeyringSupport libgnome_keyring3
@@ -25,8 +25,7 @@ stdenv.mkDerivation rec {
     ];
 
   preFixup = ''
-    wrapProgram "$out/libexec/vino-server" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    export GSETTINGS_SCHEMAS_PATH="$out/share/gsettings-schemas/${name}:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.22/core/vte/default.nix b/pkgs/desktops/gnome-3/3.22/core/vte/default.nix
index 50aef658713..3181348d843 100644
--- a/pkgs/desktops/gnome-3/3.22/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/vte/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = "patchShebangs .";
 
-  configureFlags = [ "--enable-introspection" ];
+  configureFlags = [ "--enable-introspection" "--disable-Bsymbolic" ];
 
   enableParallelBuilding = true;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.lgpl2;
     maintainers = with maintainers; [ astsmtl antono lethalman ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
 
diff --git a/pkgs/desktops/gnome-3/3.22/core/vte/fix_g_test_init_calls.patch b/pkgs/desktops/gnome-3/3.22/core/vte/fix_g_test_init_calls.patch
new file mode 100644
index 00000000000..4c5696d4e17
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.22/core/vte/fix_g_test_init_calls.patch
@@ -0,0 +1,26 @@
+diff --git a/src/vteconv.cc b/src/vteconv.cc
+index b78d3928..5cb63e7e 100644
+--- a/src/vteconv.cc
++++ b/src/vteconv.cc
+@@ -771,7 +771,7 @@ int
+ main (int argc,
+       char *argv[])
+ {
+-        g_test_init (&argc, &argv, NULL);
++        g_test_init (&argc, &argv, (char *)NULL);
+ 
+         g_test_add_func ("/vte/conv/utf8/strlen", test_utf8_strlen);
+         g_test_add_func ("/vte/conv/utf8/validate", test_utf8_validate);
+diff --git a/src/vtetypes.cc b/src/vtetypes.cc
+index 1365a295..8f38c9d9 100644
+--- a/src/vtetypes.cc
++++ b/src/vtetypes.cc
+@@ -407,7 +407,7 @@ test_util_smart_fd(void)
+ int
+ main(int argc, char *argv[])
+ {
+-        g_test_init (&argc, &argv, NULL);
++        g_test_init (&argc, &argv, (char *)NULL);
+ 
+         g_test_add_func("/vte/c++/grid/coords", test_grid_coords);
+         g_test_add_func("/vte/c++/grid/span", test_grid_span);
diff --git a/pkgs/desktops/gnome-3/3.22/core/vte/fix_vteseq_n_lookup_declaration.patch b/pkgs/desktops/gnome-3/3.22/core/vte/fix_vteseq_n_lookup_declaration.patch
new file mode 100644
index 00000000000..70ef7faa782
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.22/core/vte/fix_vteseq_n_lookup_declaration.patch
@@ -0,0 +1,13 @@
+diff --git a/src/vteseq.cc b/src/vteseq.cc
+index 2330939d..e0ac14eb 100644
+--- a/src/vteseq.cc
++++ b/src/vteseq.cc
+@@ -3409,7 +3409,7 @@ vte_sequence_handler_iterm2_1337(VteTerminalPrivate *that, GValueArray *params)
+ #define VTE_SEQUENCE_HANDLER(name) name
+ 
+ static const struct vteseq_n_struct *
+-vteseq_n_lookup (register const char *str, register unsigned int len);
++vteseq_n_lookup (register const char *str, register size_t len);
+ #include"vteseq-n.cc"
+ 
+ #undef VTE_SEQUENCE_HANDLER
diff --git a/pkgs/desktops/gnome-3/3.22/core/vte/ng.nix b/pkgs/desktops/gnome-3/3.22/core/vte/ng.nix
new file mode 100644
index 00000000000..ad0188b0053
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.22/core/vte/ng.nix
@@ -0,0 +1,24 @@
+{ gnome3, fetchFromGitHub, autoconf, automake, gtk_doc, gettext, libtool, gperf }:
+
+gnome3.vte.overrideAttrs (oldAttrs: rec {
+  name = "vte-ng-${version}";
+  version = "0.46.1.a";
+
+  src = fetchFromGitHub {
+    owner = "thestinger";
+    repo = "vte-ng";
+    rev = version;
+    sha256 = "125fpibid1liz50d7vbxy71pnm8b01x90xnkr4z3419b90lybr0a";
+  };
+
+  # The patches apply the changes from https://github.com/GNOME/vte/pull/7 and
+  # can be removed once the commits are merged into vte-ng.
+  patches = [
+    ./fix_g_test_init_calls.patch
+    ./fix_vteseq_n_lookup_declaration.patch
+  ];
+
+  preConfigure = oldAttrs.preConfigure + "; ./autogen.sh";
+
+  nativeBuildInputs = [ gtk_doc autoconf automake gettext libtool gperf ];
+})
diff --git a/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix
index 8f525945a6a..80f2dde534e 100644
--- a/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, itstool }:
+, gnome_doc_utils, intltool, libX11, which, itstool, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
 
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which wrapGAppsHook ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/3.22/default.nix b/pkgs/desktops/gnome-3/3.22/default.nix
index 3b76ac80fdb..d9b26d6aee3 100644
--- a/pkgs/desktops/gnome-3/3.22/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/default.nix
@@ -14,13 +14,13 @@ let
   callPackage = pkgs.newScope self;
 
   version = "3.22";
-  maintainers = with pkgs.lib.maintainers; [ lethalman jgeerds DamienCassou ];
+  maintainers = with pkgs.lib.maintainers; [ lethalman jgeerds ];
 
   corePackages = with gnome3; [
     pkgs.desktop_file_utils pkgs.ibus
     pkgs.shared_mime_info # for update-mime-database
     glib # for gsettings
-    gtk3 # for gtk-update-icon-cache
+    gtk3.out # for gtk-update-icon-cache
     glib_networking gvfs dconf gnome-backgrounds gnome_control_center
     gnome-menus gnome_settings_daemon gnome_shell
     gnome_themes_standard defaultIconTheme gnome-shell-extensions
@@ -31,7 +31,7 @@ let
     gucharmap nautilus totem vino yelp gnome-bluetooth
     gnome-calculator gnome-contacts gnome-font-viewer gnome-screenshot
     gnome-system-log gnome-system-monitor
-    gnome_terminal gnome-user-docs bijiben evolution file-roller gedit
+    gnome_terminal gnome-user-docs evolution file-roller gedit
     gnome-clocks gnome-music gnome-tweak-tool gnome-photos
     nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
     gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
@@ -212,6 +212,10 @@ let
     inherit gnome3;
   };
 
+  networkmanager_fortisslvpn = pkgs.networkmanager_fortisslvpn.override {
+    inherit gnome3;
+  };
+
   networkmanager_l2tp = pkgs.networkmanager_l2tp.override {
     inherit gnome3;
   };
@@ -234,6 +238,8 @@ let
 
   vte_290 = callPackage ./core/vte/2.90.nix { };
 
+  vte-ng = callPackage ./core/vte/ng.nix { };
+
   vino = callPackage ./core/vino { };
 
   yelp = callPackage ./core/yelp { };
diff --git a/pkgs/desktops/gnome-3/3.22/games/aisleriot/default.nix b/pkgs/desktops/gnome-3/3.22/games/aisleriot/default.nix
index e149a0b3126..9e5d256741f 100644
--- a/pkgs/desktops/gnome-3/3.22/games/aisleriot/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/games/aisleriot/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, gnome3, intltool, itstool, gtk3
 , wrapGAppsHook, gconf, librsvg, libxml2, desktop_file_utils
-, guile, libcanberra_gtk3 }:
+, guile_2_0, libcanberra_gtk3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-card-theme-formats=svg" ];
 
   buildInputs = [ pkgconfig intltool itstool gtk3 wrapGAppsHook gconf
-                  librsvg libxml2 desktop_file_utils guile libcanberra_gtk3 ];
+                  librsvg libxml2 desktop_file_utils guile_2_0 libcanberra_gtk3 ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Aisleriot;
diff --git a/pkgs/desktops/gnome-3/3.22/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.22/misc/gitg/default.nix
index 8d9ee143ac2..b3646abd6dd 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/gitg/default.nix
@@ -20,12 +20,11 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ shared_mime_info
                             gnome3.gnome_themes_standard ];
 
-  buildInputs = [ vala_0_32 intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
-                  libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview
-                  librsvg libsecret dconf
-                  gobjectIntrospection gnome3.adwaita-icon-theme ];
+  buildInputs = [ vala_0_32 libgit2 gtk3 glib json_glib webkitgtk libgee libpeas
+                  libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings_desktop_schemas
+                  librsvg libsecret gobjectIntrospection gnome3.adwaita-icon-theme ];
 
-  nativeBuildInputs = [ wrapGAppsHook ];
+  nativeBuildInputs = [ wrapGAppsHook intltool pkgconfig ];
 
   # https://bugzilla.gnome.org/show_bug.cgi?id=758240
   preBuild = ''make -j$NIX_BUILD_CORES Gitg-1.0.gir'';
diff --git a/pkgs/desktops/gnome-3/3.22/misc/gitg/src.nix b/pkgs/desktops/gnome-3/3.22/misc/gitg/src.nix
index bc9e517aceb..5a78b8d0ca6 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/gitg/src.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/gitg/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gitg-3.22.0";
+  name = "gitg-3.23.90";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gitg/3.22/gitg-3.22.0.tar.xz;
-    sha256 = "ba6895f85c18748294075980a5e03e0936ad4e84534dbb0d8f9e29aa874ddeaf";
+    url = mirror://gnome/sources/gitg/3.23/gitg-3.23.90.tar.xz;
+    sha256 = "0m3g8ag8nh6vj5m188l7sgkm7p8mrs094mjijqaaav3r6cz91fdg";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.22/misc/gnome-tweak-tool/default.nix
index e6c4b8c8202..5a1baa5e330 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/gnome-tweak-tool/default.nix
@@ -4,7 +4,7 @@
 , gnome3, librsvg, gdk_pixbuf, file, libnotify, gobjectIntrospection, wrapGAppsHook }:
 
 let
-  python = python2Packages.python.withPackages ( ps: with ps; [ pygobject3 ] );
+  pythonEnv = python2Packages.python.withPackages ( ps: with ps; [ pygobject3 ] );
 in stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
@@ -19,11 +19,10 @@ in stdenv.mkDerivation rec {
                   gdk_pixbuf gnome3.defaultIconTheme librsvg
                   libnotify gnome3.gnome_shell
                   libsoup gnome3.gnome_settings_daemon gnome3.nautilus
-                  gnome3.gnome_desktop wrapGAppsHook ];
+                  gnome3.gnome_desktop wrapGAppsHook
+                  python2Packages.pygobject3.dev pythonEnv gobjectIntrospection ];
 
-  propagatedBuildInputs = [ python gobjectIntrospection ];
-
-  PYTHONPATH = "$out/${python.python.sitePackages}";
+  PYTHONPATH = "$out/${pythonEnv.python.sitePackages}";
 
   wrapPrefixVariables = [ "PYTHONPATH" ];
 
diff --git a/pkgs/desktops/gnome-3/3.22/misc/gspell/default.nix b/pkgs/desktops/gnome-3/3.22/misc/gspell/default.nix
index fbb95efb27a..3024d3ed59f 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/gspell/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/gspell/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk3, enchant, isocodes }:
+{ stdenv, fetchurl, pkgconfig, glib, gtk3, enchant, isocodes, vala }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  buildInputs = [ pkgconfig glib gtk3 enchant isocodes ];
+  buildInputs = [ pkgconfig glib gtk3 enchant isocodes vala ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/3.22/misc/gspell/src.nix b/pkgs/desktops/gnome-3/3.22/misc/gspell/src.nix
index 248e3915152..850e13fb011 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/gspell/src.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/gspell/src.nix
@@ -1,10 +1,10 @@
 fetchurl: rec {
-  major = "1.0";
-  minor = "3";
+  major = "1.2";
+  minor = "1";
   name = "gspell-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gspell/${major}/${name}.tar.xz";
-    sha256 = "1m8v4rqaxjsblccc3nnirkbkzgqm90vfpzp3x08lkqriqvk0anfr";
+    sha256 = "18zisdrq14my2iq6iv3lhqfn9jg98bqwbzcdidp7hfk915gkw74z";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/misc/libgit2-glib/src.nix b/pkgs/desktops/gnome-3/3.22/misc/libgit2-glib/src.nix
index 6922a7aee1b..b9abde42cbd 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/libgit2-glib/src.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/libgit2-glib/src.nix
@@ -1,12 +1,12 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: rec {
-  major = "0.24";
-  minor = "4";
+  major = "0.25";
+  minor = "0";
   name = "libgit2-glib-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgit2-glib/${major}/${name}.tar.xz";
-    sha256 = "0802qskm64l5ic8rvfjxg27chj502irhw1xkabrl4015dxsiy89s";
+    sha256 = "0rf5gcr3khp35wj9ax9cbyq5j3iiwa1l0fi16w6sfgmrryd6n9aa";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/misc/pidgin/default.nix b/pkgs/desktops/gnome-3/3.22/misc/pidgin/default.nix
index e3f6bca10a4..a5dd1480d3d 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/pidgin/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/pidgin/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     description = "Make Pidgin IM conversations appear in the Gnome Shell message tray";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ DamienCassou ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.22/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.22/misc/pomodoro/default.nix
index 1c7f712b12c..3ceabe70ad8 100644
--- a/pkgs/desktops/gnome-3/3.22/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/misc/pomodoro/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, which, automake113x, intltool, pkgconfig, libtool, makeWrapper,
-  dbus_glib, libcanberra_gtk2, gst_all_1, vala_0_32, gnome3, gtk3, gst_plugins_base,
+  dbus_glib, libcanberra_gtk2, gst_all_1, vala_0_32, gnome3, gtk3, gst-plugins-base,
   glib, gobjectIntrospection, telepathy_glib
 }:
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       This GNOME utility helps to manage time according to Pomodoro Technique.
       It intends to improve productivity and focus by taking short breaks.
     '';
-    maintainers = with maintainers; [ DamienCassou jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
     license = licenses.gpl3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix b/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix
new file mode 100644
index 00000000000..8a99932e830
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix
@@ -0,0 +1,31 @@
+{stdenv, lib, python, dbus, fetchgit, cmake, coreutils, jq, gobjectIntrospection, python27Packages, makeWrapper, gnome3, wrapGAppsHook}:
+
+stdenv.mkDerivation rec {
+name="chrome-gnome-shell";
+  src = fetchgit {
+    url = "git://git.gnome.org/chrome-gnome-shell";
+    rev = "7d99523e90805cb65027cc2f5f1191a957dcf276";
+    sha256 = "0qc34dbhsz5yf4z5bx6py08h561rcxw9928drgk9256g3vnygnbc";
+  };
+ 
+ buildInputs = [ gnome3.gnome_shell makeWrapper jq dbus gobjectIntrospection
+ python python27Packages.requests python27Packages.pygobject3 wrapGAppsHook];
+
+ preConfigure = ''
+ mkdir build usr etc
+ cd build
+ ${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out/usr -DBUILD_EXTENSION=OFF ../
+ substituteInPlace cmake_install.cmake --replace "/etc" "$out/etc"  
+ '';
+
+ postInstall = ''
+    rm $out/etc/opt/chrome/policies/managed/chrome-gnome-shell.json
+    rm $out/etc/chromium/policies/managed/chrome-gnome-shell.json
+    wrapProgram $out/usr/bin/chrome-gnome-shell \
+      --prefix PATH '"${dbus}/bin/dbus:$PATH"' \
+      --prefix PATH '"${gnome3.gnome_shell}:$PATH"' \
+      --prefix PYTHONPATH : "$PYTHONPATH" 
+
+  '';
+
+}
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
new file mode 100644
index 00000000000..4d5b29f6cc6
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, glib, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-dash-to-dock-${version}";
+  version = "v57";
+
+  src = fetchFromGitHub {
+    owner = "micheleg";
+    repo = "dash-to-dock";
+    rev = "97f6a0bb95b9f87d7a34a074c9b3624b65111794";
+    sha256 = "0b9i89hpn9k63zcrbl4bhs7qfb70wh09870fwv2ik7hajm64kynn";
+  };
+
+  nativeBuildInputs = [
+    glib gettext
+  ];
+
+  makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
+
+  meta = with stdenv.lib; {
+    description = "A dock for the Gnome Shell";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ eperuffo ];
+    homepage = https://micheleg.github.io/dash-to-dock/;
+  };
+}