about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDamien Cassou <damien@cassou.me>2016-07-08 19:32:13 +0200
committerGitHub <noreply@github.com>2016-07-08 19:32:13 +0200
commit7921e6873480070cc42696091884361d2ebb647b (patch)
tree99862d3615c009e6ccf3cd65e5dd2166ddea2004
parentbe18cd35a5b7b401411a382db224fdeefb9c9562 (diff)
parent0b5f4b3d443ebd3ff8d92f3728ae1f5c54c279d1 (diff)
downloadnixlib-7921e6873480070cc42696091884361d2ebb647b.tar
nixlib-7921e6873480070cc42696091884361d2ebb647b.tar.gz
nixlib-7921e6873480070cc42696091884361d2ebb647b.tar.bz2
nixlib-7921e6873480070cc42696091884361d2ebb647b.tar.lz
nixlib-7921e6873480070cc42696091884361d2ebb647b.tar.xz
nixlib-7921e6873480070cc42696091884361d2ebb647b.tar.zst
nixlib-7921e6873480070cc42696091884361d2ebb647b.zip
Merge pull request #16747 from DamienCassou/move-gnome3.18-to-3.20
Move some fixes from Gnome 3.18 to 3.20
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/cheese/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/file-roller/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-calendar/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-documents/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-maps/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-photos/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/baobab/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/evince/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-desktop/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-disk-utility/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-font-viewer/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-shell/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/grilo-plugins/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/grilo/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/grilo/setup-hook.sh4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/libcroco/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/libgdata/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/libpeas/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/libpeas/src.nix11
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/mutter/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/totem/default.nix31
-rw-r--r--pkgs/desktops/gnome-3/3.20/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix42
31 files changed, 115 insertions, 64 deletions
diff --git a/pkgs/desktops/gnome-3/3.20/apps/cheese/default.nix b/pkgs/desktops/gnome-3/3.20/apps/cheese/default.nix
index db50656cf37a..b5f70d84e520 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/cheese/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/cheese/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Cheese;
diff --git a/pkgs/desktops/gnome-3/3.20/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.20/apps/file-roller/default.nix
index df90c7b29773..181888293777 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/file-roller/default.nix
@@ -1,17 +1,16 @@
 { stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
-, attr, bzip2, acl, wrapGAppsHook, librsvg, gdk_pixbuf }:
+, attr, bzip2, acl, wrapGAppsHook, librsvg, gdk_pixbuf, libnotify, nautilus }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  # TODO: support nautilus
-  # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
-
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
   buildInputs = [ glib gnome3.gtk intltool itstool libxml2 libarchive
                   gnome3.defaultIconTheme attr bzip2 acl gdk_pixbuf librsvg
-                  gnome3.dconf ];
+                  gnome3.dconf libnotify nautilus ];
+
+  installFlags = [ "nautilus_extensiondir=$(out)/lib/nautilus/extensions-3.0" ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/FileRoller;
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-calendar/default.nix
index cbd5a84bdb55..5fe6583660cb 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-calendar/default.nix
@@ -5,7 +5,7 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   buildInputs = [
     pkgconfig gtk3 wrapGAppsHook intltool evolution_data_server
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-documents/default.nix
index 7f1f70114b7b..5daa7277f7b4 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-documents/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   preFixup = ''
-    substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
+    substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.dev}/bin/gapplication"
 
     gappsWrapperArgs+=(--run 'if [ -z "$XDG_CACHE_DIR" ]; then XDG_CACHE_DIR=$HOME/.cache; fi; if [ -w "$XDG_CACHE_DIR/.." ]; then mkdir -p "$XDG_CACHE_DIR/gnome-documents"; fi')
   '';
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/default.nix
index b9aac0539ae5..caff53dcc1d6 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
                   gtk3 geoclue2 gnome3.gjs gnome3.libgee folks gfbgraph
                   gnome3.geocode_glib libchamplain file libsoup
                   gdk_pixbuf librsvg autoreconfHook
+                  gnome3.gsettings_desktop_schemas gnome3.evolution_data_server
                   gnome3.gnome_online_accounts gnome3.defaultIconTheme ];
 
   patches = [ ./soup.patch ];
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/default.nix
index 09e0d9505ff1..df7e23ef9d4f 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   # doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl gnome3.libgdata
                   gnome3.gsettings_desktop_schemas makeWrapper gmp libmediaart
diff --git a/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix
index 3b78babadd9a..49c48a6b962a 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
                   gnome3.gsettings_desktop_schemas makeWrapper gnupg
diff --git a/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix
index 2ff85662bbbb..874c7280949a 100644
--- a/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/evince/default.nix b/pkgs/desktops/gnome-3/3.20/core/evince/default.nix
index d0857a1d32ad..7629e5b56550 100644
--- a/pkgs/desktops/gnome-3/3.20/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/evince/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     (if supportXPS then "--enable-xps" else "--disable-xps")
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   preConfigure = with stdenv.lib;
     optionalString doCheck ''
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix
index 5458f933a755..e1b81339e91e 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix
@@ -5,7 +5,7 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-desktop/default.nix
index bf0ccd0224ee..7265f09731fd 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-desktop/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # this should probably be setuphook for glib
-  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix
index 1d1f9d18c566..8421bb362c3f 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
   propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-disk-utility/default.nix
index 3f9f653bdba1..c329d68674a4 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-disk-utility/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-font-viewer/default.nix
index 54767dbc4c59..d0ec2307a852 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-font-viewer/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix
index 8e755383dd62..e3dc558a49a8 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
 
   configureFlags = [
-    "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt" # NixOS hardcoded path
     "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
     "--with-pkcs11-modules=$$out/lib/pkcs11/"
   ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix
index 763fc990bdab..72aa97fa6b67 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
   propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix
index 99e1f596f184..2a93328d8ca0 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/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${glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
   buildInputs = with gnome3;
     [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas networkmanager
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-shell/default.nix
index 11d78cd61328..d0d7bceef61f 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-shell/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
-, python3, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
+, python3Packages, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at_spi2_core
 , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
 , sqlite, libgweather, libcanberra_gtk3
 , libpulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
@@ -15,16 +15,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = with gnome3;
     [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
-      libcroco intltool libsecret pkgconfig python3 libsoup polkit libcanberra gdk_pixbuf librsvg
+      libcroco intltool libsecret pkgconfig libsoup polkit libcanberra gdk_pixbuf librsvg
       clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
       libXtst p11_kit networkmanagerapplet gjs mutter libpulseaudio caribou evolution_data_server
-      libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm
+      libical libtool nss gtk gstreamer makeWrapper gdm
       libcanberra_gtk3 gnome_control_center
       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_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
 
+  propagatedBuildInputs = [ python3Packages.pygobject3 python3Packages.python gobjectIntrospection ];
+
   installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
 
   preBuild = ''
@@ -40,6 +42,9 @@ 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.20/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix
index 716f92a072d4..271f23e69204 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
   propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix
index 49ad40912c66..977c5800aeb7 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  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 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/share/gsettings-schemas/$name
     mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name
-    ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
+    ${glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome-3/3.20/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.20/core/grilo-plugins/default.nix
index 4c952e3de276..caa0176036fe 100644
--- a/pkgs/desktops/gnome-3/3.20/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/grilo-plugins/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   major = "0.3";
-  minor = "1";
+  minor = "2";
   name = "grilo-plugins-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo-plugins/${major}/${name}.tar.xz";
-    sha256 = "1akd7q6pqnkcnayrdfjb0qx5w5yyl06kxzwhqp2gxm4y1b208pb0";
+    sha256 = "1z8s62a29zidm35ajf708r7d36glb27im4s52l02q9w1jwl8j6vr";
   };
 
   installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-${major}" ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.20/core/grilo/default.nix
index e178985c1785..0bae28387bb1 100644
--- a/pkgs/desktops/gnome-3/3.20/core/grilo/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/grilo/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, file, intltool, glib
-, libxml2, gnome3, gobjectIntrospection, libsoup }:
+, libxml2, gnome3, gobjectIntrospection, libsoup, python3Packages }:
 
 stdenv.mkDerivation rec {
-  major = "0.3";
-  minor = "0";
+  major = "0.3"; # if you change this, also change ./setup-hook.sh
+  minor = "1";
   name = "grilo-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo/${major}/${name}.tar.xz";
-    sha256 = "0q5wcvnckpfks48hy0gvlfdmvqm67vnblm3912rssmkgc1ysil8z";
+    sha256 = "0k6d8drgh7inbpxqfa9m9dm4vrhfb9ifi5b88fn8q2ljqwfwdggb";
   };
 
   setupHook = ./setup-hook.sh;
@@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [ pkgconfig file intltool glib libxml2 libsoup
-                  gnome3.totem-pl-parser gobjectIntrospection ];
+                  gnome3.totem-pl-parser ];
+
+  propagatedBuildInputs = [ python3Packages.pygobject3 gobjectIntrospection ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
diff --git a/pkgs/desktops/gnome-3/3.20/core/grilo/setup-hook.sh b/pkgs/desktops/gnome-3/3.20/core/grilo/setup-hook.sh
index bc93dddec386..3291e38addb8 100644
--- a/pkgs/desktops/gnome-3/3.20/core/grilo/setup-hook.sh
+++ b/pkgs/desktops/gnome-3/3.20/core/grilo/setup-hook.sh
@@ -1,6 +1,6 @@
 make_grilo_find_plugins() {
-    if [ -d "$1"/lib/grilo-0.2 ]; then
-        addToSearchPath GRL_PLUGIN_PATH "$1/lib/grilo-0.2"
+    if [ -d "$1"/lib/grilo-0.3 ]; then
+        addToSearchPath GRL_PLUGIN_PATH "$1/lib/grilo-0.3"
     fi
 }
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.20/core/libcroco/default.nix
index 76d9118c4b95..563a18e510f1 100644
--- a/pkgs/desktops/gnome-3/3.20/core/libcroco/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/libcroco/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libxml2, glib }:
 
 stdenv.mkDerivation rec {
-  name = "libcroco-0.6.8";
+  name = "libcroco-0.6.11";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
-    sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
+    sha256 = "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.20/core/libgdata/default.nix
index 0a5fc0f8f601..e455be07bdf9 100644
--- a/pkgs/desktops/gnome-3/3.20/core/libgdata/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/libgdata/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1xniw4y90hbk9fa548pa9pfclibw7amr2f458lfh16jdzq7gw5cz";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup.dev}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
 
   buildInputs = with gnome3;
     [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection
diff --git a/pkgs/desktops/gnome-3/3.20/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.20/core/libpeas/default.nix
index 8d40d977a80b..1ba143539d40 100644
--- a/pkgs/desktops/gnome-3/3.20/core/libpeas/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/libpeas/default.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnome3
-, glib, gtk3, gobjectIntrospection, python, pygobject3
+, glib, gtk3, gobjectIntrospection, python3Packages, ncurses
 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  buildInputs =  [
-   intltool pkgconfig glib gtk3 gobjectIntrospection python pygobject3
-   gnome3.defaultIconTheme
-  ];
+  configureFlags = [ "--enable-python3" ];
+
+  buildInputs =  [ intltool pkgconfig glib gtk3 gnome3.defaultIconTheme ncurses python3Packages.python python3Packages.pygobject3 gobjectIntrospection ];
 
   meta = with stdenv.lib; {
     description = "A GObject-based plugins engine";
diff --git a/pkgs/desktops/gnome-3/3.20/core/libpeas/src.nix b/pkgs/desktops/gnome-3/3.20/core/libpeas/src.nix
index 8a24097bbd67..cd440858946e 100644
--- a/pkgs/desktops/gnome-3/3.20/core/libpeas/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/libpeas/src.nix
@@ -1,10 +1,13 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: {
-  name = "libpeas-1.16.0";
+fetchurl: rec {
+  major = "1.18";
+  minor = "0";
+  version = "${major}.${minor}";
+  name = "libpeas-${version}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libpeas/1.16/libpeas-1.16.0.tar.xz;
-    sha256 = "b093008ecd65f7d55c80517589509698ff15ad41f664b11a3eb88ff461b1454e";
+    url = "mirror://gnome/sources/libpeas/${major}/${name}.tar.xz";
+    sha256 = "09jy2rwwgp0xx7cnypxl56m7zzxnj3j4v58xqjxjasf3chn88jdz";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.20/core/mutter/default.nix
index dd08a96cc232..a128990b4029 100644
--- a/pkgs/desktops/gnome-3/3.20/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/mutter/default.nix
@@ -6,7 +6,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}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra"; 
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/totem/default.nix b/pkgs/desktops/gnome-3/3.20/core/totem/default.nix
index bce3bd0ceba3..194b4aca4383 100644
--- a/pkgs/desktops/gnome-3/3.20/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/totem/default.nix
@@ -1,8 +1,8 @@
 { stdenv, intltool, fetchurl, gst_all_1
-, clutter_gtk, clutter-gst, pygobject3, shared_mime_info
-, pkgconfig, gtk3, glib
-, bash, makeWrapper, itstool, libxml2, dbus_glib
-, gnome3, librsvg, gdk_pixbuf, file }:
+, clutter_gtk, clutter-gst, python3Packages, shared_mime_info
+, pkgconfig, gtk3, glib, gobjectIntrospection
+, bash, wrapGAppsHook, itstool, libxml2, dbus_glib
+, gnome3, librsvg, gdk_pixbuf, file, tracker, nautilus }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -11,28 +11,27 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo
                   clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
                   gst_all_1.gstreamer gst_all_1.gst-plugins-base
-                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
-                  gnome3.libpeas pygobject3 shared_mime_info dbus_glib
+                  gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gst-libav
+                  gnome3.libpeas shared_mime_info dbus_glib
                   gdk_pixbuf gnome3.defaultIconTheme librsvg gnome3.gnome_desktop
-                  gnome3.gsettings_desktop_schemas makeWrapper file ];
+                  gnome3.gsettings_desktop_schemas wrapGAppsHook file tracker nautilus ];
 
-  preFixup = ''
-    wrapProgram "$out/bin/totem" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  patches = [ ./x86.patch ];
 
-  '';
+  propagatedBuildInputs = [ gobjectIntrospection python3Packages.pylint python3Packages.pygobject ];
 
-  patches = [ ./x86.patch ];
+  configureFlags = [ "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
+
+  GI_TYPELIB_PATH = "$out/lib/girepository-1.0";
+
+  wrapPrefixVariables = [ "PYTHONPATH" ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Videos;
diff --git a/pkgs/desktops/gnome-3/3.20/default.nix b/pkgs/desktops/gnome-3/3.20/default.nix
index 4e00db3962e2..fe122d75e975 100644
--- a/pkgs/desktops/gnome-3/3.20/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/default.nix
@@ -385,6 +385,8 @@ let
 
   gpaste = callPackage ./misc/gpaste { };
 
+  pidgin-im-gnome-shell-extension = callPackage ./misc/pidgin { };
+  
   gtkhtml = callPackage ./misc/gtkhtml { };
 
   pomodoro = callPackage ./misc/pomodoro { };
diff --git a/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix b/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix
new file mode 100644
index 000000000000..64f7920d9afc
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.20/misc/pidgin/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, glib }:
+
+stdenv.mkDerivation rec {
+  version = "1.0";
+  basename = "pidgin-im-gnome-shell-extension";
+  name = "${basename}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "muffinmad";
+    repo = "${basename}";
+    rev = "v${version}";
+    sha256 = "0vj4w9qqx9gads24w3f6v6mfh5va28bp8rc4w7lz0vhp7njmy1yy";
+  };
+
+  buildInputs = [ glib ];
+
+  configurePhase = "";
+  buildPhase = "";
+  installPhase = ''
+    share_dir="$prefix/share"
+    extensions_dir="$share_dir/gnome-shell/extensions/pidgin@muffinmad"
+    mkdir -p "$extensions_dir"
+    mv *.js metadata.json dbus.xml gnome-shell-extension-pidgin.pot "$extensions_dir"
+
+    schemas_dir="$share_dir/gsettings-schemas/${name}/glib-2.0/schemas"
+    mkdir -p "$schemas_dir"
+    mv schemas/* "$schemas_dir" # fix Emacs syntax highlighting: */
+    ${glib.dev}/bin/glib-compile-schemas "$schemas_dir"
+
+    locale_dir="$share_dir/locale"
+    mkdir -p "$locale_dir"
+    mv locale/* $locale_dir # fix Emacs syntax highlighting: */
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/muffinmad/pidgin-im-gnome-shell-extension;
+    description = "Make Pidgin IM conversations appear in the Gnome Shell message tray";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ DamienCassou ];
+  };
+}