about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/multiple-output.xml2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/desktops/gnome3/tracker-miners.nix41
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix3
-rw-r--r--pkgs/applications/editors/ed/default.nix4
-rw-r--r--pkgs/applications/misc/deepin-terminal/default.nix11
-rw-r--r--pkgs/applications/video/omxplayer/default.nix2
-rw-r--r--pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash108
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix90
-rw-r--r--pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash6
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh4
-rw-r--r--pkgs/build-support/setup-hooks/multiple-outputs.sh1
-rw-r--r--pkgs/desktops/gnome-2/bindings/libglademm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch22
-rw-r--r--pkgs/desktops/gnome-3/apps/bijiben/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/cheese/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/apps/cheese/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/file-roller/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/glade/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-characters/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-logs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-weather/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/baobab/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/caribou/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/eog/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/eog/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/evince/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/folks/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gcr/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch19
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-calculator/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-desktop/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch21
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix68
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch18
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix30
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/core/gsound/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/libgee/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/libgepub/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/libgnomekbd/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/totem/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/core/totem/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/default.nix45
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/src.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/default.nix44
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/vte/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/yelp/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/devtools/anjuta/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/devhelp/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/gdl/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/five-or-more/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-chess/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-klotski/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-mines/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/hitori/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/lightsoff/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/games/swell-foop/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gitg/default.nix17
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch52
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch49
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch8
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/libgames-support/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/libgda/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/misc/pomodoro/default.nix10
-rw-r--r--pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix11
-rw-r--r--pkgs/development/compilers/orc/default.nix9
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix2
-rw-r--r--pkgs/development/libraries/giflib/5.0.nix18
-rw-r--r--pkgs/development/libraries/glib/default.nix7
-rw-r--r--pkgs/development/libraries/glib/schema-override-variable.patch12
-rw-r--r--pkgs/development/libraries/gnutls/3.6.nix (renamed from pkgs/development/libraries/gnutls/3.5.nix)7
-rw-r--r--pkgs/development/libraries/granite/default.nix4
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/libav/default.nix2
-rw-r--r--pkgs/development/libraries/libdrm/default.nix7
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix2
-rw-r--r--pkgs/development/libraries/libxmlxx/v3.nix2
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/nettle/default.nix4
-rw-r--r--pkgs/development/libraries/newt/default.nix2
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix7
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix10
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix2
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/meson/gir-fallback-path.patch13
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix10
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch31
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix10
-rw-r--r--pkgs/misc/uboot/default.nix2
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix16
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix10
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix2
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix2
-rw-r--r--pkgs/os-specific/linux/mdadm/4.nix2
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix4
-rw-r--r--pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/default.nix40
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix4
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list12
-rw-r--r--pkgs/tools/misc/colord/default.nix10
-rw-r--r--pkgs/tools/misc/colord/fix-build-paths.patch18
-rw-r--r--pkgs/tools/networking/htpdate/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix11
201 files changed, 1094 insertions, 1046 deletions
diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml
index a2acc91e55a2..2f23da8df01e 100644
--- a/doc/multiple-output.xml
+++ b/doc/multiple-output.xml
@@ -68,7 +68,7 @@
 
       <varlistentry><term><varname>
         $outputDevdoc</varname></term><listitem><para>
-        is for <emphasis>developer</emphasis> documentation.  Currently we count gtk-doc in there.  It goes to <varname>devdoc</varname> or is removed (!) by default.  This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
+        is for <emphasis>developer</emphasis> documentation.  Currently we count gtk-doc and devhelp books in there.  It goes to <varname>devdoc</varname> or is removed (!) by default.  This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users.
       </para></listitem></varlistentry>
 
       <varlistentry><term><varname>
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 3b4f41171adc..5e2161aacb66 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -210,6 +210,7 @@
   ./services/desktops/gnome3/seahorse.nix
   ./services/desktops/gnome3/sushi.nix
   ./services/desktops/gnome3/tracker.nix
+  ./services/desktops/gnome3/tracker-miners.nix
   ./services/desktops/profile-sync-daemon.nix
   ./services/desktops/telepathy.nix
   ./services/development/hoogle.nix
diff --git a/nixos/modules/services/desktops/gnome3/tracker-miners.nix b/nixos/modules/services/desktops/gnome3/tracker-miners.nix
new file mode 100644
index 000000000000..20154fc2fed3
--- /dev/null
+++ b/nixos/modules/services/desktops/gnome3/tracker-miners.nix
@@ -0,0 +1,41 @@
+# Tracker Miners daemons.
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.gnome3.tracker-miners = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable Tracker miners, indexing services for Tracker
+          search engine and metadata storage system.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.gnome3.tracker-miners.enable {
+
+    environment.systemPackages = [ pkgs.gnome3.tracker-miners ];
+
+    services.dbus.packages = [ pkgs.gnome3.tracker-miners ];
+
+    systemd.packages = [ pkgs.gnome3.tracker-miners ];
+
+  };
+
+}
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index e5a79496c7a5..d2c856fc9332 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -108,6 +108,7 @@ in {
     services.gnome3.seahorse.enable = mkDefault true;
     services.gnome3.sushi.enable = mkDefault true;
     services.gnome3.tracker.enable = mkDefault true;
+    services.gnome3.tracker-miners.enable = mkDefault true;
     hardware.pulseaudio.enable = mkDefault true;
     services.telepathy.enable = mkDefault true;
     networking.networkmanager.enable = mkDefault true;
@@ -152,7 +153,7 @@ in {
           export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${mimeAppsList}/share
 
           # Override gsettings-desktop-schema
-          export XDG_DATA_DIRS=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
+          export NIX_GSETTINGS_OVERRIDES_DIR=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
 
           # Let nautilus find extensions
           export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/
diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index 9d5848f02637..ee5afe500efe 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
   installFlags = [ "DESTDIR=$(out)" ];
 
   configureFlags = [
-    "--exec-prefix=${stdenv.cc.prefix}"
-    "CC=${stdenv.cc.prefix}cc"
+    "--exec-prefix=${stdenv.cc.targetPrefix}"
+    "CC=${stdenv.cc.targetPrefix}cc"
   ];
 
   meta = {
diff --git a/pkgs/applications/misc/deepin-terminal/default.nix b/pkgs/applications/misc/deepin-terminal/default.nix
index 0ee52b740f24..7f38e801c4cb 100644
--- a/pkgs/applications/misc/deepin-terminal/default.nix
+++ b/pkgs/applications/misc/deepin-terminal/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, unzip, fetchFromGitHub, pkgconfig, gtk3, vala, cmake, vte, gee, wnck, gettext, libsecret, json_glib }:
+{ stdenv, unzip, fetchFromGitHub, pkgconfig, gtk3, vala, cmake, vte, libgee, wnck, gettext, libsecret, json_glib }:
 
 stdenv.mkDerivation rec {
   name = "deepin-terminal-${version}";
-  version = "2.3.3";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = "deepin-terminal";
     rev = version;
-    sha256 = "0qam34g1rannv8kvw1zbps763a9ii9vbrkxyxxdk737hlpxdzg8h";
+    sha256 = "11lylkrv69k2jvwparnxymr7z3x9cs82q9p0lr2wrfr48hnfwp8b";
   };
 
   patchPhase = ''
   substituteInPlace project_path.c --replace __FILE__ \"$out/share/deepin-terminal/\"
   '';
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ unzip gtk3 vala cmake vte gee wnck gettext libsecret json_glib ];
+
+  nativeBuildInputs = [ pkgconfig vala cmake gettext unzip ];
+  buildInputs = [ gtk3 vte libgee wnck libsecret json_glib ];
 
   meta = {
     description = "The default terminal emulation for Deepin";
diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix
index 29345f7548d5..825bfe7955a8 100644
--- a/pkgs/applications/video/omxplayer/default.nix
+++ b/pkgs/applications/video/omxplayer/default.nix
@@ -49,7 +49,7 @@ let
     crossAttrs = {
       configurePlatforms = [];
       configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.prefix}"
+        "--cross-prefix=${stdenv.cc.targetPrefix}"
         "--enable-cross-compile"
         "--target_os=linux"
         "--arch=${hostPlatform.arch}"
diff --git a/pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash b/pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash
deleted file mode 100644
index c3077e869e75..000000000000
--- a/pkgs/build-support/binutils-wrapper/macos-sierra-reexport-hack.bash
+++ /dev/null
@@ -1,108 +0,0 @@
-#! @shell@
-
-set -eu -o pipefail
-
-path_backup="$PATH"
-if [ -n "@coreutils_bin@" ]; then
-  PATH="@coreutils_bin@/bin"
-fi
-
-declare -r recurThreshold=300
-
-declare overflowCount=0
-for ((n=0; n < $#; ++n)); do
-    case "${!n}" in
-        -l*) let overflowCount+=1 ;;
-        -reexport-l*) let overflowCount+=1 ;;
-        *) ;;
-    esac
-done
-
-declare -a allArgs=()
-
-if (( "$overflowCount" <= "$recurThreshold" )); then
-    allArgs=("$@")
-else
-    declare -a childrenLookup=() childrenLink=()
-
-    while (( $# )); do
-        case "$1" in
-            -L/*)
-                childrenLookup+=("$1")
-                allArgs+=("$1")
-                ;;
-            -L)
-                echo "cctools LD does not support '-L foo' or '-l foo'" >&2
-                exit 1
-                ;;
-            -l)
-                echo "cctools LD does not support '-L foo' or '-l foo'" >&2
-                exit 1
-                ;;
-            -lazy_library | -lazy_framework | -lto_library)
-                # We aren't linking any "azy_library", "to_library", etc.
-                allArgs+=("$1")
-                ;;
-            -lazy-l | -weak-l)    allArgs+=("$1") ;;
-                # We can't so easily prevent header issues from these.
-            -lSystem)             allArgs+=("$1") ;;
-                # Special case as indirection seems like a bad idea for something
-                # so fundamental. Can be removed for simplicity.
-            -l?* | -reexport-l?*) childrenLink+=("$1") ;;
-            *)                    allArgs+=("$1") ;;
-        esac
-
-        shift
-    done
-
-    declare n=0
-    while (( $n < "${#childrenLink[@]}" )); do
-        if [[ "${childrenLink[n]}" = -l* ]]; then
-            childrenLink[n]="-reexport${childrenLink[n]}"
-        fi
-        let ++n
-    done
-    unset n
-
-    declare -r outputNameLibless=$(basename $( \
-        if [[ -z "${outputName:+isUndefined}" ]]; then
-            echo unnamed
-        elif [[ "${outputName:0:3}" = lib ]]; then
-            echo "${outputName:3}"
-        else
-            echo "${outputName}"
-        fi))
-    declare -ra children=("$outputNameLibless-reexport-delegate-0" \
-                          "$outputNameLibless-reexport-delegate-1")
-
-    mkdir -p "$out/lib"
-
-    PATH="$PATH:@out@/bin"
-
-    symbolBloatObject=$outputNameLibless-symbol-hack.o
-    if [[ ! -e $symbolBloatObject ]]; then
-        # `-Q` means use GNU Assembler rather than Clang, avoiding an awkward
-        # dependency cycle.
-        printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' \
-            | @binPrefix@as -Q -- -o $symbolBloatObject
-    fi
-
-    # first half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
-      -o "$out/lib/lib${children[0]}.dylib" \
-      -install_name "$out/lib/lib${children[0]}.dylib" \
-      "${childrenLookup[@]}" "$symbolBloatObject" \
-      "${childrenLink[@]:0:$((${#childrenLink[@]} / 2 ))}"
-
-    # second half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
-      -o "$out/lib/lib${children[1]}.dylib" \
-      -install_name "$out/lib/lib${children[1]}.dylib" \
-      "${childrenLookup[@]}" "$symbolBloatObject" \
-      "${childrenLink[@]:$((${#childrenLink[@]} / 2 ))}"
-
-    allArgs+=("-L$out/lib" "-l${children[0]}" "-l${children[1]}")
-fi
-
-PATH="$path_backup"
-exec @prog@ "${allArgs[@]}"
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 8d8b8a42fe9f..b79697b33f0c 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -32,8 +32,8 @@ let
   #
   # TODO(@Ericson2314) Make unconditional, or optional but always true by
   # default.
-  prefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
-                                     (targetPlatform.config + "-");
+  targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
+                                           (targetPlatform.config + "-");
 
   ccVersion = (builtins.parseDrvName cc.name).version;
   ccName = (builtins.parseDrvName cc.name).name;
@@ -81,7 +81,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = prefix
+  name = targetPrefix
     + (if name != "" then name else "${ccName}-wrapper")
     + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
 
@@ -91,8 +91,7 @@ stdenv.mkDerivation {
   shell = getBin shell + shell.shellPath or "";
   gnugrep_bin = if nativeTools then "" else gnugrep;
 
-  binPrefix = prefix;
-  inherit infixSalt;
+  inherit targetPrefix infixSalt;
 
   outputs = [ "out" "man" ];
 
@@ -102,8 +101,7 @@ stdenv.mkDerivation {
     # Binutils, and Apple's "cctools"; "binutils" as an attempt to find an
     # unused middle-ground name that evokes both.
     bintools = binutils_bin;
-    inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile
-            prefix;
+    inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile;
 
     emacsBufferSetup = pkgs: ''
       ; We should handle propagation here too
@@ -154,7 +152,7 @@ stdenv.mkDerivation {
     + optionalString (targetPlatform.isSunOS && nativePrefix != "") ''
       # Solaris needs an additional ld wrapper.
       ldPath="${nativePrefix}/bin"
-      exec="$ldPath/${prefix}ld"
+      exec="$ldPath/${targetPrefix}ld"
       wrap ld-solaris ${./ld-solaris-wrapper.sh}
     '')
 
@@ -162,83 +160,83 @@ stdenv.mkDerivation {
       # Create a symlink to as (the assembler).  This is useful when a
       # cc-wrapper is installed in a user environment, as it ensures that
       # the right assembler is called.
-      if [ -e $ldPath/${prefix}as ]; then
-        ln -s $ldPath/${prefix}as $out/bin/${prefix}as
+      if [ -e $ldPath/${targetPrefix}as ]; then
+        ln -s $ldPath/${targetPrefix}as $out/bin/${targetPrefix}as
       fi
 
     '' + (if !useMacosReexportHack then ''
-      wrap ${prefix}ld ${./ld-wrapper.sh} ''${ld:-$ldPath/${prefix}ld}
+      wrap ${targetPrefix}ld ${./ld-wrapper.sh} ''${ld:-$ldPath/${targetPrefix}ld}
     '' else ''
-      ldInner="${prefix}ld-reexport-delegate"
-      wrap "$ldInner" ${./macos-sierra-reexport-hack.bash} ''${ld:-$ldPath/${prefix}ld}
-      wrap "${prefix}ld" ${./ld-wrapper.sh} "$out/bin/$ldInner"
+      ldInner="${targetPrefix}ld-reexport-delegate"
+      wrap "$ldInner" ${./macos-sierra-reexport-hack.bash} ''${ld:-$ldPath/${targetPrefix}ld}
+      wrap "${targetPrefix}ld" ${./ld-wrapper.sh} "$out/bin/$ldInner"
       unset ldInner
     '') + ''
 
-      if [ -e ${binutils_bin}/bin/${prefix}ld.gold ]; then
-        wrap ${prefix}ld.gold ${./ld-wrapper.sh} ${binutils_bin}/bin/${prefix}ld.gold
+      if [ -e ${binutils_bin}/bin/${targetPrefix}ld.gold ]; then
+        wrap ${targetPrefix}ld.gold ${./ld-wrapper.sh} ${binutils_bin}/bin/${targetPrefix}ld.gold
       fi
 
       if [ -e ${binutils_bin}/bin/ld.bfd ]; then
-        wrap ${prefix}ld.bfd ${./ld-wrapper.sh} ${binutils_bin}/bin/${prefix}ld.bfd
+        wrap ${targetPrefix}ld.bfd ${./ld-wrapper.sh} ${binutils_bin}/bin/${targetPrefix}ld.bfd
       fi
 
       # We export environment variables pointing to the wrapped nonstandard
       # cmds, lest some lousy configure script use those to guess compiler
       # version.
-      export named_cc=${prefix}cc
-      export named_cxx=${prefix}c++
+      export named_cc=${targetPrefix}cc
+      export named_cxx=${targetPrefix}c++
 
       export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
 
-      if [ -e $ccPath/${prefix}gcc ]; then
-        wrap ${prefix}gcc ${./cc-wrapper.sh} $ccPath/${prefix}gcc
-        ln -s ${prefix}gcc $out/bin/${prefix}cc
-        export named_cc=${prefix}gcc
-        export named_cxx=${prefix}g++
+      if [ -e $ccPath/${targetPrefix}gcc ]; then
+        wrap ${targetPrefix}gcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcc
+        ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
+        export named_cc=${targetPrefix}gcc
+        export named_cxx=${targetPrefix}g++
       elif [ -e $ccPath/clang ]; then
-        wrap ${prefix}clang ${./cc-wrapper.sh} $ccPath/clang
-        ln -s ${prefix}clang $out/bin/${prefix}cc
-        export named_cc=${prefix}clang
-        export named_cxx=${prefix}clang++
+        wrap ${targetPrefix}clang ${./cc-wrapper.sh} $ccPath/clang
+        ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
+        export named_cc=${targetPrefix}clang
+        export named_cxx=${targetPrefix}clang++
       fi
 
-      if [ -e $ccPath/${prefix}g++ ]; then
-        wrap ${prefix}g++ ${./cc-wrapper.sh} $ccPath/${prefix}g++
-        ln -s ${prefix}g++ $out/bin/${prefix}c++
+      if [ -e $ccPath/${targetPrefix}g++ ]; then
+        wrap ${targetPrefix}g++ ${./cc-wrapper.sh} $ccPath/${targetPrefix}g++
+        ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
       elif [ -e $ccPath/clang++ ]; then
-        wrap ${prefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
-        ln -s ${prefix}clang++ $out/bin/${prefix}c++
+        wrap ${targetPrefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
+        ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
       fi
 
       if [ -e $ccPath/cpp ]; then
-        wrap ${prefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
+        wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
       fi
     ''
 
     + optionalString cc.langFortran or false ''
-      wrap ${prefix}gfortran ${./cc-wrapper.sh} $ccPath/${prefix}gfortran
-      ln -sv ${prefix}gfortran $out/bin/${prefix}g77
-      ln -sv ${prefix}gfortran $out/bin/${prefix}f77
+      wrap ${targetPrefix}gfortran ${./cc-wrapper.sh} $ccPath/${targetPrefix}gfortran
+      ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
+      ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
     ''
 
     + optionalString cc.langJava or false ''
-      wrap ${prefix}gcj ${./cc-wrapper.sh} $ccPath/${prefix}gcj
+      wrap ${targetPrefix}gcj ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcj
     ''
 
     + optionalString cc.langGo or false ''
-      wrap ${prefix}gccgo ${./cc-wrapper.sh} $ccPath/${prefix}gccgo
+      wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
     ''
 
     + optionalString cc.langAda or false ''
-      wrap ${prefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${prefix}gnatgcc
-      wrap ${prefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${prefix}gnatmake
-      wrap ${prefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${prefix}gnatbind
-      wrap ${prefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${prefix}gnatlink
+      wrap ${targetPrefix}gnatgcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gnatgcc
+      wrap ${targetPrefix}gnatmake ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatmake
+      wrap ${targetPrefix}gnatbind ${./gnat-wrapper.sh} $ccPath/${targetPrefix}gnatbind
+      wrap ${targetPrefix}gnatlink ${./gnatlink-wrapper.sh} $ccPath/${targetPrefix}gnatlink
     ''
 
     + optionalString cc.langVhdl or false ''
-      ln -s $ccPath/${prefix}ghdl $out/bin/${prefix}ghdl
+      ln -s $ccPath/${targetPrefix}ghdl $out/bin/${targetPrefix}ghdl
     '';
 
   propagatedBuildInputs = extraPackages;
@@ -362,10 +360,10 @@ stdenv.mkDerivation {
 
       # some linkers on some platforms don't support specific -z flags
       export hardening_unsupported_flags=""
-      if [[ "$($ldPath/${prefix}ld -z now 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
+      if [[ "$($ldPath/${targetPrefix}ld -z now 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
         hardening_unsupported_flags+=" bindnow"
       fi
-      if [[ "$($ldPath/${prefix}ld -z relro 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
+      if [[ "$($ldPath/${targetPrefix}ld -z relro 2>&1 || true)" =~ un(recognized|known)\ option ]]; then
         hardening_unsupported_flags+=" relro"
       fi
     ''
diff --git a/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash b/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash
index b7aa7ea5c092..205035453332 100644
--- a/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash
+++ b/pkgs/build-support/cc-wrapper/macos-sierra-reexport-hack.bash
@@ -82,18 +82,18 @@ else
     symbolBloatObject=$outputNameLibless-symbol-hack.o
     if [[ ! -e $symbolBloatObject ]]; then
         printf '.private_extern _______child_hack_foo\nchild_hack_foo:\n' \
-            | @binPrefix@as -- -o $symbolBloatObject
+            | @targetPrefix@as -- -o $symbolBloatObject
     fi
 
     # first half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
+    @targetPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
       -o "$out/lib/lib${children[0]}.dylib" \
       -install_name "$out/lib/lib${children[0]}.dylib" \
       "${childrenLookup[@]}" "$symbolBloatObject" \
       "${childrenLink[@]:0:$((${#childrenLink[@]} / 2 ))}"
 
     # second half of libs
-    @binPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
+    @targetPrefix@ld -macosx_version_min $MACOSX_DEPLOYMENT_TARGET -arch x86_64 -dylib \
       -o "$out/lib/lib${children[1]}.dylib" \
       -install_name "$out/lib/lib${children[1]}.dylib" \
       "${childrenLookup[@]}" "$symbolBloatObject" \
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
index e43c1609edb1..a8f29bd5877d 100644
--- a/pkgs/build-support/cc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -142,9 +142,9 @@ for CMD in \
     ar as nm objcopy ranlib strip strings size ld windres
 do
     if
-        PATH=$_PATH type -p "@binPrefix@$CMD" > /dev/null
+        PATH=$_PATH type -p "@targetPrefix@$CMD" > /dev/null
     then
-        export "${role}$(echo "$CMD" | tr "[:lower:]" "[:upper:]")=@binPrefix@${CMD}";
+        export "${role}$(echo "$CMD" | tr "[:lower:]" "[:upper:]")=@targetPrefix@${CMD}";
     fi
 done
 
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh
index ac2368a5b219..d43b18776742 100644
--- a/pkgs/build-support/setup-hooks/multiple-outputs.sh
+++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh
@@ -140,6 +140,7 @@ _multioutDocs() {
     moveToOutput share/info "${!outputInfo}"
     moveToOutput share/doc "${!outputDoc}"
     moveToOutput share/gtk-doc "${!outputDevdoc}"
+    moveToOutput share/devhelp/books "${!outputDevdoc}"
 
     # the default outputMan is in $bin
     moveToOutput share/man "${!outputMan}"
diff --git a/pkgs/desktops/gnome-2/bindings/libglademm/default.nix b/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
index 8cf18b7018da..d4813eb2a938 100644
--- a/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/libglademm/default.nix
@@ -7,7 +7,9 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/libglademm/2.6/${name}.tar.bz2";
     sha256 = "1hrbg9l5qb7w0xvr7013qamkckyj0fqc426c851l69zpmhakqm1q";
   };
-  
+
+  outputs = [ "out" "devdoc" ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool ];
   
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
index 9aae9215650f..ddff55c96a09 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/default.nix
+++ b/pkgs/desktops/gnome-3/apps/bijiben/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, pkgconfig, glib
+{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, glib
 , evolution_data_server, evolution, sqlite
-, makeWrapper, itstool, desktop_file_utils
+, wrapGAppsHook, itstool, desktop_file_utils
 , clutter_gtk, libuuid, webkitgtk, zeitgeist
 , gnome3, librsvg, gdk_pixbuf, libxml2 }:
 
@@ -8,28 +8,34 @@ stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
+  checkPhase = "meson test";
+
+  patches = [
+    ./no-update-icon-cache.patch
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib intltool itstool libxml2
-                  clutter_gtk libuuid webkitgtk gnome3.tracker
-                  gnome3.gnome_online_accounts zeitgeist desktop_file_utils
-                  gnome3.gsettings_desktop_schemas makeWrapper
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext itstool libxml2 desktop_file_utils wrapGAppsHook
+  ];
+  buildInputs = [ glib clutter_gtk libuuid webkitgtk gnome3.tracker
+                  gnome3.gnome_online_accounts zeitgeist
+                  gnome3.gsettings_desktop_schemas
                   gdk_pixbuf gnome3.defaultIconTheme librsvg
                   evolution_data_server evolution sqlite ];
 
   enableParallelBuilding = true;
 
-  preFixup = ''
-    wrapProgram "$out/bin/bijiben" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Bijiben;
     description = "Note editor designed to remain simple to use";
+    broken = true;
     maintainers = gnome3.maintainers;
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch b/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch
new file mode 100644
index 000000000000..c8b0043fb45f
--- /dev/null
+++ b/pkgs/desktops/gnome-3/apps/bijiben/no-update-icon-cache.patch
@@ -0,0 +1,22 @@
+--- a/meson_post_install.py
++++ b/meson_post_install.py
+@@ -7,10 +7,6 @@
+ if not os.environ.get('DESTDIR'):
+   datadir = sys.argv[1]
+ 
+-  icondir = os.path.join(datadir, 'icons', 'hicolor')
+-  print('Update icon cache...')
+-  subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir])
+-
+   schemadir = os.path.join(datadir, 'glib-2.0', 'schemas')
+   print('Compile gsettings schemas...')
+   subprocess.call(['glib-compile-schemas', schemadir])
+@@ -18,8 +14,3 @@
+   desktop_file = os.path.join(datadir, 'applications', 'org.gnome.bijiben.desktop')
+   print('Validate desktop file...')
+   subprocess.call(['desktop-file-validate', desktop_file])
+-
+-  if sys.argv[2] == 'update-mimedb':
+-    mimedir = os.path.join(datadir, 'mime')
+-    print('Update mime database...')
+-    subprocess.call(['update-mime-database', mimedir])
diff --git a/pkgs/desktops/gnome-3/apps/bijiben/src.nix b/pkgs/desktops/gnome-3/apps/bijiben/src.nix
index ea2c063647f7..ee573eaef8eb 100644
--- a/pkgs/desktops/gnome-3/apps/bijiben/src.nix
+++ b/pkgs/desktops/gnome-3/apps/bijiben/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "bijiben-3.24.1";
+  name = "bijiben-3.27.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/bijiben/3.24/bijiben-3.24.1.tar.xz;
-    sha256 = "2602fc3f8ce5c39813b4273ceed7bdb014b1cf1fa82a6757fc25e5078be4f741";
+    url = mirror://gnome/sources/bijiben/3.27/bijiben-3.27.1.tar.xz;
+    sha256 = "7b4623467f3cb745c4b268d6fb2d9da32cbc96ffb5b1bbf2a153b692e295ac64";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix
index a10864c347ef..7a4cd0e94956 100644
--- a/pkgs/desktops/gnome-3/apps/cheese/default.nix
+++ b/pkgs/desktops/gnome-3/apps/cheese/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Cheese;
     description = "Take photos and videos with your webcam, with fun graphical effects";
diff --git a/pkgs/desktops/gnome-3/apps/cheese/src.nix b/pkgs/desktops/gnome-3/apps/cheese/src.nix
index e10f79e8312d..0237606ae35c 100644
--- a/pkgs/desktops/gnome-3/apps/cheese/src.nix
+++ b/pkgs/desktops/gnome-3/apps/cheese/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "cheese-3.24.0";
+  name = "cheese-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/cheese/3.24/cheese-3.24.0.tar.xz;
-    sha256 = "26d0324c11d858a53a8a78f60babda63310a2b6f46c8fa3a4f6aa36ca9d0f372";
+    url = mirror://gnome/sources/cheese/3.26/cheese-3.26.0.tar.xz;
+    sha256 = "8ef52fc41de1817c4e4274e23eb7c29d28b64ae0f0d1fec52e184e99aea6c605";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index 3d152221a397..4996120d4935 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -1,9 +1,8 @@
-{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
+{ stdenv, cmake, intltool, fetchurl, libxml2, webkitgtk, highlight
 , 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, openldap
-, cmake}:
+, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu
+, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit, openldap }:
 
 let
   majVer = gnome3.version;
@@ -15,10 +14,7 @@ in stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
                             gnome3.evolution_data_server ];
 
-  propagatedBuildInputs = [ gnome3.gtkhtml ];
-
-  buildInputs = [ gtk3 glib intltool itstool libxml2 libtool
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg db icu
+  buildInputs = [ gtk3 glib gdk_pixbuf gnome3.defaultIconTheme librsvg db icu
                   gnome3.evolution_data_server libsecret libical gcr
                   webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
                   libcanberra_gtk3 bogofilter gnome3.libgdata sqlite
@@ -26,10 +22,9 @@ in stdenv.mkDerivation rec {
                   nss nspr libnotify procps highlight gnome3.libgweather
                   gnome3.gsettings_desktop_schemas
                   gnome3.libgnome_keyring gnome3.glib_networking openldap
-                  cmake
                 ];
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ cmake intltool itstool libxml2 pkgconfig wrapGAppsHook ];
 
 
   configureFlags = [ "--disable-pst-import" "--disable-autoar"
diff --git a/pkgs/desktops/gnome-3/apps/evolution/src.nix b/pkgs/desktops/gnome-3/apps/evolution/src.nix
index 2aab7967d8a8..5e44e384ae75 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/src.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "evolution-3.24.5";
+  name = "evolution-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/evolution/3.24/evolution-3.24.5.tar.xz;
-    sha256 = "5544c5ea1a1c352e0300bff447ddf67146486fc3a6bbecd1b785d378d34b2189";
+    url = mirror://gnome/sources/evolution/3.26/evolution-3.26.2.tar.xz;
+    sha256 = "2d9299b8414903021faa03cbb885814de454f5260398eb2c2a03600224479137";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/file-roller/src.nix b/pkgs/desktops/gnome-3/apps/file-roller/src.nix
index 10a82877bcd8..090c88e1d3e3 100644
--- a/pkgs/desktops/gnome-3/apps/file-roller/src.nix
+++ b/pkgs/desktops/gnome-3/apps/file-roller/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "file-roller-3.24.1";
+  name = "file-roller-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/file-roller/3.24/file-roller-3.24.1.tar.xz;
-    sha256 = "011545e8bd81a415fb068718347bf63ced4ab176210ce36a668904a3124c7f3a";
+    url = mirror://gnome/sources/file-roller/3.26/file-roller-3.26.2.tar.xz;
+    sha256 = "3e677b8e1c2f19aead69cf4fc419a19fc3373aaf5d7bf558b4f077f10bbba8a5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix
index ce29ebf0a7ea..e48d15e6abfe 100644
--- a/pkgs/desktops/gnome-3/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/apps/glade/default.nix
@@ -1,7 +1,7 @@
 { stdenv, intltool, fetchurl, python, autoreconfHook
-, pkgconfig, gtk3, glib
-, makeWrapper, itstool, libxml2, docbook_xsl
-, gnome3, librsvg, gdk_pixbuf, libxslt }:
+, pkgconfig, gtk3, glib, gobjectIntrospection
+, wrapGAppsHook, itstool, libxml2, docbook_xsl
+, gnome3, gdk_pixbuf, libxslt }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -9,13 +9,13 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   nativeBuildInputs = [
-    pkgconfig intltool itstool makeWrapper docbook_xsl libxslt
+    pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobjectIntrospection
     # reconfiguration
     autoreconfHook gnome3.gnome_common gnome3.yelp_tools
   ];
   buildInputs = [ gtk3 glib libxml2 python
                   gnome3.gsettings_desktop_schemas
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg ];
+                  gdk_pixbuf gnome3.defaultIconTheme ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index cb8bf49254ba..6126fed8e06f 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
+{ stdenv, fetchurl, makeWrapper, pkgconfig, gettext, itstool, libvirt-glib
 , glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
-, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala_0_32
+, spice_protocol, libsoup, libosinfo, systemd, tracker, tracker-miners, vala
 , 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
@@ -16,13 +16,13 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   nativeBuildInputs = [
-    makeWrapper pkgconfig intltool
+    makeWrapper pkgconfig gettext
   ];
 
   buildInputs = [
     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
+    libvirt spice_gtk spice_protocol libsoup libosinfo systemd
+    tracker tracker-miners vala libcap yajl gmp gdbm cyrus_sasl libusb libarchive
     gnome3.defaultIconTheme librsvg desktop_file_utils acl libgudev libsecret
     libcap_ng numactl xen libapparmor
   ];
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix
index dbed46178504..b2c2f378bff4 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-boxes-3.24.0";
+  name = "gnome-boxes-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-boxes/3.24/gnome-boxes-3.24.0.tar.xz;
-    sha256 = "7495ea7184b6ef650033daf6941328b785b22e522e8142b9d190575d215dec49";
+    url = mirror://gnome/sources/gnome-boxes/3.26/gnome-boxes-3.26.2.tar.xz;
+    sha256 = "d00fc083182963dc1bbdee5e743ceb28ba03fbf5a9ea87c78d29dca5fb5b9210";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
index 618d6152d81f..c13d7e976e5c 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, intltool, evolution_data_server, sqlite, libxml2, libsoup
+{ stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook
+, gettext, libxml2, gnome3, gtk, evolution_data_server, libsoup
 , glib, gnome_online_accounts, gsettings_desktop_schemas }:
 
 stdenv.mkDerivation rec {
@@ -7,13 +7,17 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext libxml2 wrapGAppsHook ];
   buildInputs = [
-    gtk3 wrapGAppsHook intltool evolution_data_server
-    sqlite libxml2 libsoup glib gnome3.defaultIconTheme gnome_online_accounts
-    gsettings_desktop_schemas
+    gtk evolution_data_server libsoup glib gnome_online_accounts
+    gsettings_desktop_schemas gnome3.defaultIconTheme
   ];
 
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Calendar;
     description = "Simple and beautiful calendar application for GNOME";
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix
index 5d0eeadcc0ae..39f7f333495e 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-calendar-3.24.3";
+  name = "gnome-calendar-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-calendar/3.24/gnome-calendar-3.24.3.tar.xz;
-    sha256 = "3ecb4074f44cb6c883f81f93ebde2fa3890107f8e06740495be9f942190ff3ec";
+    url = mirror://gnome/sources/gnome-calendar/3.26/gnome-calendar-3.26.2.tar.xz;
+    sha256 = "19a2c737b9662be926fb68e7dc731d94c523d23fa7a49e435e6a0346770dc50e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix
index db14a10d65a7..d7ac2cd8829b 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-characters/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-characters-3.24.0";
+  name = "gnome-characters-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-characters/3.24/gnome-characters-3.24.0.tar.xz;
-    sha256 = "9ef4ff28437a63a221c47189231909fb9e4cac838c5f3cf402906fb128b52596";
+    url = mirror://gnome/sources/gnome-characters/3.26/gnome-characters-3.26.2.tar.xz;
+    sha256 = "69d0218b4ce16451bef0e6ee9f9f18f5b7851aa3a758b13315d592b077374f7b";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
index 68cd2a42fa64..1d0a9b271c27 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -1,23 +1,26 @@
-{ stdenv, intltool, fetchurl, libgweather, libnotify
-, pkgconfig, gtk3, glib, gsound
-, makeWrapper, itstool, libcanberra_gtk3, libtool
-, gnome3, librsvg, gdk_pixbuf, geoclue2, wrapGAppsHook }:
+{ stdenv, fetchurl
+, meson, ninja, gettext, pkgconfig, wrapGAppsHook, itstool, desktop_file_utils
+, vala,  gtk3, glib, gsound, libcanberra_gtk3
+, gnome3, gdk_pixbuf, geoclue2, libgweather }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libcanberra_gtk3
-                  gnome3.gsettings_desktop_schemas makeWrapper
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
+  nativeBuildInputs = [ vala meson ninja pkgconfig gettext itstool wrapGAppsHook desktop_file_utils ];
+  buildInputs = [ gtk3 glib libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas
+                  gdk_pixbuf gnome3.defaultIconTheme
                   gnome3.gnome_desktop gnome3.geocode_glib geoclue2
-                  libgweather libnotify libtool gsound
-                  wrapGAppsHook ];
+                  libgweather gsound ];
 
   enableParallelBuilding = true;
 
+  prePatch = "patchShebangs build-aux/";
+
+  checkPhase = "meson test";
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Clocks;
     description = "Clock application designed for GNOME 3";
diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix
index 2497fe83c1ed..ea7878f48695 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-clocks-3.24.0";
+  name = "gnome-clocks-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-clocks/3.24/gnome-clocks-3.24.0.tar.xz;
-    sha256 = "9d5ae0e972ad92d0a0873af9e0f9b00b8378b3cd50b7830e6fb9a227c6107f36";
+    url = mirror://gnome/sources/gnome-clocks/3.26/gnome-clocks-3.26.1.tar.xz;
+    sha256 = "2bd8d8df1d6aa0feddd4afc15d84b1308202fda59a3c3be42e3bce7e9ccd11f7";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index d34334c4f64c..a3f6084c9f39 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, evince, gjs
-, pkgconfig, gtk3, glib
-, makeWrapper, itstool, libxslt, webkitgtk
+{ stdenv, gettext, fetchurl, evince, gjs
+, pkgconfig, gtk3, glib, tracker, tracker-miners
+, itstool, libxslt, webkitgtk
 , gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
 , gobjectIntrospection, json_glib, inkscape, poppler_utils
 , gmp, desktop_file_utils, wrapGAppsHook }:
@@ -12,16 +12,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-getting-started" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxslt
-                  docbook_xsl desktop_file_utils inkscape poppler_utils
-                  gnome3.gsettings_desktop_schemas makeWrapper gmp
+  nativeBuildInputs = [ pkgconfig gettext itstool libxslt desktop_file_utils docbook_xsl wrapGAppsHook ];
+  buildInputs = [ gtk3 glib inkscape poppler_utils
+                  gnome3.gsettings_desktop_schemas gmp
                   gdk_pixbuf gnome3.defaultIconTheme librsvg evince
                   libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
-                  gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
-                  gnome3.gnome_desktop gnome3.libzapojit json_glib
-                  wrapGAppsHook ]
-                ++ (with gnome3; [ libgepub ]);
+                  tracker tracker-miners gnome3.libgdata gnome3.gnome_online_accounts
+                  gnome3.gnome_desktop gnome3.libzapojit json_glib gnome3.libgepub ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix
index c1ca08a064bf..de0332ea4037 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-documents-3.24.3";
+  name = "gnome-documents-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-documents/3.24/gnome-documents-3.24.3.tar.xz;
-    sha256 = "c2f920fe1696499ba2594c9ab3328e7f18fa8f60df0273aaad503bbe27eeb9a0";
+    url = mirror://gnome/sources/gnome-documents/3.26/gnome-documents-3.26.1.tar.xz;
+    sha256 = "ba0d3084359d666b90733bb43206d24190fa85304bfe45f674ab6e6a27cb7fc9";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix
index 027cbb59d880..3f1341b7cab8 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-getting-started-docs-3.24.1";
+  name = "gnome-getting-started-docs-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-getting-started-docs/3.24/gnome-getting-started-docs-3.24.1.tar.xz;
-    sha256 = "9e62895362597cf563696852294a4838cea7243f0116767c254c870b7ba94a97";
+    url = mirror://gnome/sources/gnome-getting-started-docs/3.26/gnome-getting-started-docs-3.26.2.tar.xz;
+    sha256 = "34f45f6b5759a46547e834f1b706ae7485fd94e1af5354154420d8910ec67775";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix b/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix
index 53e303f38566..951620986685 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-logs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-logs-3.24.2";
+  name = "gnome-logs-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-logs/3.24/gnome-logs-3.24.2.tar.xz;
-    sha256 = "9aaf0d6ba6af195dc9805b5f6d290b454a0b710daf0c595fe6286f59a43083c4";
+    url = mirror://gnome/sources/gnome-logs/3.26/gnome-logs-3.26.2.tar.xz;
+    sha256 = "e17ca011e7bea756bd841e027e56cfe8c214bed4817cb35732ace4aa73ff8f5c";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix
index e45d7be3fb77..0fac7f865ca6 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-maps-3.24.3";
+  name = "gnome-maps-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-maps/3.24/gnome-maps-3.24.3.tar.xz;
-    sha256 = "5ef3ec36aa76eb9a49a15ee61539bea7b59e8aa0a802483df6cedcc65566d0d6";
+    url = mirror://gnome/sources/gnome-maps/3.26/gnome-maps-3.26.2.tar.xz;
+    sha256 = "031d5c4a1aa79f1fbaf87f01fb790f7aab1d8dcd5d061cb5daf0fa96eaa18050";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 54e79872c679..f5454c1c3869 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
+{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker, tracker-miners
 , libxml2, python3Packages, libnotify, wrapGAppsHook
 , pkgconfig, gtk3, glib, cairo
 , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
                   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 ];
+                  gnome3.gsettings_desktop_schemas makeWrapper tracker tracker-miners ];
 
   wrapPrefixVariables = [ "PYTHONPATH" ];
 
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/src.nix b/pkgs/desktops/gnome-3/apps/gnome-music/src.nix
index 615c54583f29..3ac99e146d46 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-music-3.24.2";
+  name = "gnome-music-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-music/3.24/gnome-music-3.24.2.tar.xz;
-    sha256 = "1a72b7972cac66c7aba7a4fbcbf8df99b3df7c46f26957b3e16089550d3ef62c";
+    url = mirror://gnome/sources/gnome-music/3.26/gnome-music-3.26.1.tar.xz;
+    sha256 = "7197dff12f441a52b4011512bfe8ec926f2ce4ca511f79b078e0e612d612f8c3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
index 3c793d703680..0b19ba9f0f6d 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
@@ -1,5 +1,5 @@
 { stdenv, intltool, fetchurl, exempi, libxml2
-, pkgconfig, gtk3, glib
+, pkgconfig, gtk3, glib, tracker, tracker-miners
 , makeWrapper, itstool, gegl, babl, lcms2
 , desktop_file_utils, gmp, libmediaart, wrapGAppsHook
 , gnome3, librsvg, gdk_pixbuf, libexif, gexiv2, geocode_glib
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
                   gdk_pixbuf gnome3.defaultIconTheme librsvg exempi
                   gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
                   gnome3.gnome_online_accounts gnome3.gnome_desktop
-                  lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
+                  lcms2 libexif tracker tracker-miners libxml2 desktop_file_utils
                   wrapGAppsHook gexiv2 geocode_glib dleyna-renderer ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix
index 204897f6d363..f30b88642fd3 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-photos-3.24.3";
+  name = "gnome-photos-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-photos/3.24/gnome-photos-3.24.3.tar.xz;
-    sha256 = "cd365629ce584d223c023676a88b6194012bbc561c4a4b1c8eca462425e76288";
+    url = mirror://gnome/sources/gnome-photos/3.26/gnome-photos-3.26.2.tar.xz;
+    sha256 = "9001ed2794da44522a1d700c7b5aff40ede92f80ba17031f0dfa7f54d6d05657";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix
index eef77b23504c..d12db5132536 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-weather/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-weather-3.24.0";
+  name = "gnome-weather-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-weather/3.24/gnome-weather-3.24.0.tar.xz;
-    sha256 = "e36847884670e59a71ac70ed982fc8f2fb70f1766c3a24f10a0cd38c9b66d574";
+    url = mirror://gnome/sources/gnome-weather/3.26/gnome-weather-3.26.0.tar.xz;
+    sha256 = "965cc0d1b4d4e53c06d494db96f0b124d232af5c0e731ca900edd10f77a74c78";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index 7c3da70edeb2..dc75193e771c 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, gdk_pixbuf, adwaita-icon-theme
-, telepathy_glib, gjs, itstool, telepathy_idle, libxml2
-, pkgconfig, gtk3, glib, librsvg, libsecret, libsoup
+{ stdenv, itstool, fetchurl, fetchpatch, gdk_pixbuf, adwaita-icon-theme
+, telepathy_glib, gjs, meson, ninja, gettext, telepathy_idle, libxml2, desktop_file_utils
+, pkgconfig, gtk3, glib, libsecret, libsoup, gobjectIntrospection, appstream-glib
 , gnome3, wrapGAppsHook, telepathy_logger, gspell }:
 
 stdenv.mkDerivation rec {
@@ -8,9 +8,17 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ telepathy_idle telepathy_logger ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool adwaita-icon-theme wrapGAppsHook gnome3.gsettings_desktop_schemas
-                  telepathy_glib telepathy_logger gjs gspell gdk_pixbuf librsvg libxml2 libsecret libsoup ];
+  nativeBuildInputs = [ meson ninja pkgconfig itstool gettext wrapGAppsHook libxml2
+                        desktop_file_utils gobjectIntrospection appstream-glib ];
+  buildInputs = [ gtk3 glib adwaita-icon-theme gnome3.gsettings_desktop_schemas
+                  telepathy_glib telepathy_logger gjs gspell gdk_pixbuf libsecret libsoup ];
+
+  patches = [
+    (fetchpatch {
+      url = https://gitlab.gnome.org/jtojnar/polari/commit/a6733a6ad95eac1813e7b18e3d0018a22ee7a377.diff;
+      sha256 = "0f5ll49h5w0477lkh67kaa2j83z376z1jk7z3i2v7cq4d3hi5lf9";
+    })
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/polari/src.nix b/pkgs/desktops/gnome-3/apps/polari/src.nix
index da7a37031f57..8af7c33846db 100644
--- a/pkgs/desktops/gnome-3/apps/polari/src.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "polari-3.24.2";
+  name = "polari-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/polari/3.24/polari-3.24.2.tar.xz;
-    sha256 = "3e1884000fda5cf6293e21ca1c028ec0b13d5baab5a79b8c11e4728c3238bb42";
+    url = mirror://gnome/sources/polari/3.26/polari-3.26.2.tar.xz;
+    sha256 = "2f36361dacf5d924d134f231fdb36ec4539f7495fce325d9b2f2728bd17cc190";
   };
 }
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index 03dbdb1842a4..3bc69f67a4f8 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, vala_0_32
+{ stdenv, intltool, fetchurl, vala
 , pkgconfig, gtk3, glib
 , wrapGAppsHook, itstool, gnupg, libsoup
 , gnome3, librsvg, gdk_pixbuf, gpgme
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk3 glib intltool itstool gnome3.gcr
                   gnome3.gsettings_desktop_schemas wrapGAppsHook gnupg
                   gdk_pixbuf gnome3.defaultIconTheme librsvg gpgme
-                  libsecret avahi libsoup p11_kit vala_0_32
+                  libsecret avahi libsoup p11_kit vala
                   openssh ];
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix
index 5700cb56913f..1a388505674c 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "adwaita-icon-theme-3.24.0";
+  name = "adwaita-icon-theme-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/adwaita-icon-theme/3.24/adwaita-icon-theme-3.24.0.tar.xz;
-    sha256 = "ccf79ff3bd340254737ce4d28b87f0ccee4b3358cd3cd5cd11dc7b42f41b272a";
+    url = mirror://gnome/sources/adwaita-icon-theme/3.26/adwaita-icon-theme-3.26.0.tar.xz;
+    sha256 = "9cad85de19313f5885497aceab0acbb3f08c60fcd5fa5610aeafff37a1d12212";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/baobab/src.nix b/pkgs/desktops/gnome-3/core/baobab/src.nix
index 8a2e35d454e3..d3e2f03feb8b 100644
--- a/pkgs/desktops/gnome-3/core/baobab/src.nix
+++ b/pkgs/desktops/gnome-3/core/baobab/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "baobab-3.24.0";
+  name = "baobab-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/baobab/3.24/baobab-3.24.0.tar.xz;
-    sha256 = "5980e96df9f3d1751a969869ec07bc184ae3ad667d5a3eb06cf1297091fdfc3f";
+    url = mirror://gnome/sources/baobab/3.26/baobab-3.26.1.tar.xz;
+    sha256 = "7a59ab5945f5d90725231b10d85a1893403f56660b1627c111d2b4eeb1ef787e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/caribou/default.nix b/pkgs/desktops/gnome-3/core/caribou/default.nix
index e405d8edfbaf..e463fe0e03f0 100644
--- a/pkgs/desktops/gnome-3/core/caribou/default.nix
+++ b/pkgs/desktops/gnome-3/core/caribou/default.nix
@@ -1,8 +1,10 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2
-, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core, autoreconfHook }:
+{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, python3Packages, libxml2
+, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core, autoreconfHook
+, wrapGAppsHook }:
 
 let
   majorVersion = "0.4";
+  pythonEnv = python3Packages.python.withPackages ( ps: with ps; [ pygobject3 ] );
 in
 stdenv.mkDerivation rec {
   name = "caribou-${majorVersion}.21";
@@ -12,11 +14,11 @@ stdenv.mkDerivation rec {
     sha256 = "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig intltool libxslt libxml2 autoreconfHook wrapGAppsHook ];
 
   buildInputs = with gnome3;
-    [ glib gtk clutter at_spi2_core dbus pythonPackages.python
-      pythonPackages.pygobject3 libxml2 libXtst gtk2 intltool libxslt ];
+    [ glib gtk clutter at_spi2_core dbus pythonEnv python3Packages.pygobject3
+      libXtst gtk2 ];
 
   propagatedBuildInputs = [ gnome3.libgee libxklavier ];
 
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index cd401962c99c..62ccb6360341 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, vala_0_32, libxslt, pkgconfig, glib, dbus_glib, gnome3
+{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
 , libxml2, intltool, docbook_xsl_ns, docbook_xsl, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  buildInputs = [ vala_0_32 libxslt glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
+  buildInputs = [ vala libxslt glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
                   gnome3.gsettings_desktop_schemas
                   intltool docbook_xsl docbook_xsl_ns gnome3.dconf ];
 
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/src.nix b/pkgs/desktops/gnome-3/core/dconf-editor/src.nix
index 64e19864536f..b21630641d94 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/src.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "dconf-editor-3.22.0";
+  name = "dconf-editor-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/dconf-editor/3.22/dconf-editor-3.22.0.tar.xz;
-    sha256 = "4ca3c2c3836f4c944f161540d1521507dab8e7bee0cac7d543560808efb9246f";
+    url = mirror://gnome/sources/dconf-editor/3.26/dconf-editor-3.26.2.tar.xz;
+    sha256 = "28b453fe49c49d7dfaf07c85c01d7495913f93ab64a0b223c117eb17d1cb8ad1";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
index 23759e3bf90e..49ad25a8c5e7 100644
--- a/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -1,13 +1,13 @@
-{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
+{ fetchurl, stdenv, gettext, pkgconfig, itstool, libxml2, libjpeg, gnome3
 , shared_mime_info, wrapGAppsHook, librsvg, libexif }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ];
 
   buildInputs = with gnome3;
-    [ intltool itstool libxml2 libjpeg gtk glib libpeas librsvg
+    [ libxml2 libjpeg gtk glib libpeas librsvg
       gsettings_desktop_schemas shared_mime_info adwaita-icon-theme
       gnome_desktop libexif dconf ];
 
diff --git a/pkgs/desktops/gnome-3/core/eog/src.nix b/pkgs/desktops/gnome-3/core/eog/src.nix
index 72b02d0bba5a..d0046d899bec 100644
--- a/pkgs/desktops/gnome-3/core/eog/src.nix
+++ b/pkgs/desktops/gnome-3/core/eog/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "eog-3.24.1";
+  name = "eog-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/eog/3.24/eog-3.24.1.tar.xz;
-    sha256 = "f51ee116e2c159fac1719e003a32e1cb6cbff51914fd1f6409f461a790ff27e7";
+    url = mirror://gnome/sources/eog/3.26/eog-3.26.2.tar.xz;
+    sha256 = "b53e3d4dfa7d0085b829a5fb95f148a099803c00ef276be7685efd5ec38807ad";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index 35aae8cc9eb9..8c87609f85cc 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -1,32 +1,40 @@
-{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
-, bash, wrapGAppsHook, gnome3, libwnck3, libxml2, libxslt, libtool
+{ stdenv, meson, ninja, gettext, fetchurl, pkgconfig, gtk, glib, icu
+, wrapGAppsHook, gnome3, libxml2, libxslt, itstool
 , webkitgtk, libsoup, glib_networking, libsecret, gnome_desktop, libnotify, p11_kit
-, sqlite, gcr, avahi, nss, isocodes, itstool, file, which
-, gdk_pixbuf, librsvg, gnome_common, gst_all_1, json_glib }:
+, sqlite, gcr, isocodes, desktop_file_utils, file
+, gdk_pixbuf, gnome_common, gst_all_1, json_glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # Tests need an X display
-  configureFlags = [ "--disable-static --disable-tests" ];
+  mesonFlags = [ "-Dunit_tests=false" ];
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig file wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja libxslt pkgconfig itstool gettext file wrapGAppsHook desktop_file_utils ];
 
-  buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt file
-                  webkitgtk libsoup libsecret gnome_desktop libnotify libtool
-                  sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common
-                  gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf
-                  gnome3.glib_networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
+  buildInputs = [ gtk glib webkitgtk libsoup libxml2 libsecret gnome_desktop libnotify
+                  sqlite isocodes p11_kit icu gnome3.yelp_tools
+                  gdk_pixbuf gnome3.defaultIconTheme gnome_common gcr
+                  glib_networking gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
                   gst_all_1.gst-libav json_glib ];
 
-  NIX_CFLAGS_COMPILE = "-I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
-
   enableParallelBuilding = true;
 
+  postPatch = ''
+    chmod +x post_install.py # patchShebangs requires executable file
+    patchShebangs post_install.py
+  '';
+
+  postFixup = ''
+    # Patched meson does not add internal libraries to rpath
+    for f in bin/.epiphany-wrapped libexec/.epiphany-search-provider-wrapped libexec/epiphany/.ephy-profile-migrator-wrapped lib/epiphany/web-extensions/libephywebextension.so; do
+      patchelf --set-rpath "$out/lib/epiphany:$(patchelf --print-rpath $out/$f)" "$out/$f"
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Epiphany;
     description = "WebKit based web browser for GNOME";
diff --git a/pkgs/desktops/gnome-3/core/epiphany/src.nix b/pkgs/desktops/gnome-3/core/epiphany/src.nix
index 85596c07fadb..15048ce269cb 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/src.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "epiphany-3.24.3";
+  name = "epiphany-3.26.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/epiphany/3.24/epiphany-3.24.3.tar.xz;
-    sha256 = "fef51676310d9f37e18c9b2d778254232eb17cccd988c2d1ecf42c7b2963a154";
+    url = mirror://gnome/sources/epiphany/3.26/epiphany-3.26.3.tar.xz;
+    sha256 = "cb50042496e704621db3d0213581b0f914c639e160522751f64c5e5f6e6040b5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/evince/src.nix b/pkgs/desktops/gnome-3/core/evince/src.nix
index aa45a79536ac..6627be550884 100644
--- a/pkgs/desktops/gnome-3/core/evince/src.nix
+++ b/pkgs/desktops/gnome-3/core/evince/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "evince-3.24.1";
+  name = "evince-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/evince/3.24/evince-3.24.1.tar.xz;
-    sha256 = "9ca0c5213407b37be55fddb04a85d9301b692c4412c5920319d975403bff0f37";
+    url = mirror://gnome/sources/evince/3.26/evince-3.26.0.tar.xz;
+    sha256 = "79567bdb743cf0c3ed7b638da32afc9b850298f9b4edd532455df4a7e2a4c9d8";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index e2472a403699..ebe740a2167c 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -1,17 +1,18 @@
 { fetchurl, stdenv, pkgconfig, gnome3, python, dconf
 , intltool, libsoup, libxml2, libsecret, icu, sqlite
-, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true,
-vala_0_32, cmake, kerberos, openldap, webkitgtk, libaccounts-glib }:
+, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true
+, vala, cmake, kerberos, openldap, webkitgtk, libaccounts-glib, json_glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
+  nativeBuildInputs = [ cmake pkgconfig intltool python gperf makeWrapper ];
   buildInputs = with gnome3;
-    [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts
-      (stdenv.lib.getLib dconf) gcr p11_kit libgweather libgdata gperf makeWrapper
-      icu sqlite gsettings_desktop_schemas cmake kerberos openldap webkitgtk
-      libaccounts-glib ]
-    ++ stdenv.lib.optional valaSupport vala_0_32;
+    [ glib libsoup libxml2 gtk gnome_online_accounts
+      (stdenv.lib.getLib dconf) gcr p11_kit libgweather libgdata
+      icu sqlite gsettings_desktop_schemas kerberos openldap webkitgtk
+      libaccounts-glib json_glib ]
+    ++ stdenv.lib.optional valaSupport vala;
 
   propagatedBuildInputs = [ libsecret nss nspr libical db ];
 
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix
index 655fffe0eb9d..1828357159dc 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "evolution-data-server-3.24.5";
+  name = "evolution-data-server-3.26.2.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/evolution-data-server/3.24/evolution-data-server-3.24.5.tar.xz;
-    sha256 = "6d8ec04b79c02bb517cc3e23ac3b23c7503465dfa27b7415955201a2f62844e1";
+    url = mirror://gnome/sources/evolution-data-server/3.26/evolution-data-server-3.26.2.1.tar.xz;
+    sha256 = "09fb1c4ce20c62309e8ea2d80649f590492e88c1deb89118e715e155296baefd";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix
index 6fcaa67b7712..6be27021023a 100644
--- a/pkgs/desktops/gnome-3/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/core/folks/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
-, vala_0_32, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
+, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
 , telepathy_glib, evolution_data_server, libsecret, db }:
 
 # TODO: enable more folks backends
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
   # dbus_daemon needed for tests
   buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
-                  vala_0_32 libsecret libxml2 libsoup nspr nss intltool db ];
+                  vala libsecret libxml2 libsoup nspr nss intltool db ];
   nativeBuildInputs = [ pkgconfig ];
 
   configureFlags = "--disable-fatal-warnings";
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index e970dba5615e..2569b4e2c7ad 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -1,19 +1,18 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
 , libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
-, gobjectIntrospection, makeWrapper, libxslt, vala_0_32, gnome3 }:
+, gobjectIntrospection, makeWrapper, libxslt, vala, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection libxslt makeWrapper vala ];
 
   buildInputs = let
     gpg = gnupg.override { guiSupport = false; }; # prevent build cycle with pinentry_gnome
   in [
-    intltool gpg gobjectIntrospection libxslt
-    libgcrypt libtasn1 dbus_glib pango gdk_pixbuf atk makeWrapper vala_0_32
+    gpg libgcrypt libtasn1 dbus_glib pango gdk_pixbuf atk
   ];
 
   propagatedBuildInputs = [ glib gtk p11_kit ];
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index ee7d9975b760..796e103fdb3c 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
 , intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, plymouth
-, librsvg }:
+, librsvg, coreutils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -11,17 +11,21 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
   '';
 
+  postPatch = ''
+    substituteInPlace daemon/gdm-manager.c --replace "/bin/plymouth" "${plymouth}/bin/plymouth"
+    substituteInPlace data/gdm.service.in  --replace "/bin/kill" "${coreutils}/bin/kill"
+  '';
+
   configureFlags = [ "--sysconfdir=/etc"
                      "--localstatedir=/var"
                      "--with-plymouth=yes"
                      "--with-initial-vt=7"
                      "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ glib itstool libxml2 intltool
-                  accountsservice gnome3.dconf systemd
+  nativeBuildInputs = [ pkgconfig libxml2 itstool intltool autoreconfHook libtool gnome3.dconf ];
+  buildInputs = [ glib accountsservice systemd
                   gobjectIntrospection libX11 gtk
-                  libcanberra_gtk3 pam libtool plymouth librsvg ];
+                  libcanberra_gtk3 pam plymouth librsvg ];
 
   enableParallelBuilding = true;
 
@@ -31,6 +35,11 @@ stdenv.mkDerivation rec {
               ./gdm-session-worker_xserver-path.patch
              ];
 
+  postInstall = ''
+    # Prevent “Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary”
+    rm $out/share/gdm/greeter/autostart/orca-autostart.desktop
+  '';
+
   installFlags = [ "sysconfdir=$(out)/etc" "dbusconfdir=$(out)/etc/dbus-1/system.d" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch b/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch
deleted file mode 100644
index 84081f4786c1..000000000000
--- a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/daemon/gdm-x-session.c.orig b/daemon/gdm-x-session.c
-index d835b34..86f0d47 100644
---- a/daemon/gdm-x-session.c.orig
-+++ b/daemon/gdm-x-session.c
-@@ -240,7 +240,13 @@ spawn_x_server (State        *state,
- 
-         display_fd_string = g_strdup_printf ("%d", DISPLAY_FILENO);
- 
--        g_ptr_array_add (arguments, X_SERVER);
-+        if (g_getenv ("GDM_X_SERVER") != NULL) {
-+                g_debug ("using GDM_X_SERVER: %s", g_getenv("GDM_X_SERVER"));
-+		g_ptr_array_add (arguments, g_getenv("GDM_X_SERVER"));
-+        } else {
-+                g_debug ("GDM_X_SERVER not set, using default: %s", X_SERVER);
-+                g_ptr_array_add (arguments, X_SERVER);
-+        }
- 
-         if (vt_string != NULL) {
-                 g_ptr_array_add (arguments, vt_string);
diff --git a/pkgs/desktops/gnome-3/core/gdm/src.nix b/pkgs/desktops/gnome-3/core/gdm/src.nix
index 0dd7680467f9..8d92167a0391 100644
--- a/pkgs/desktops/gnome-3/core/gdm/src.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gdm-3.24.2";
+  name = "gdm-3.26.2.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gdm/3.24/gdm-3.24.2.tar.xz;
-    sha256 = "4378b9fad5536e03c56ad138d0e249fbcaa09977b867895426cb41c978fe5de8";
+    url = mirror://gnome/sources/gdm/3.26/gdm-3.26.2.1.tar.xz;
+    sha256 = "17ddcb00602c2b426de58bb4b0d99af9de27450a8557dcc5ec850c080d55ad57";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix
index 482d6ae64a40..dd607e01caef 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, gnome3, gtk3, gobjectIntrospection
-, spidermonkey_38, pango, readline, glib, libxml2, dbus }:
+, spidermonkey_52, pango, readline, glib, libxml2, dbus }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -7,12 +7,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libxml2 gobjectIntrospection gtk3 glib pango readline dbus ];
 
-  propagatedBuildInputs = [ spidermonkey_38 ];
-
-  # GJS expects mozjs-38.pc but spidermonkey_38 only provides js.pc
-  preConfigure = ''
-    sed -i s/mozjs-38/js/ configure
-  '';
+  propagatedBuildInputs = [ spidermonkey_52 ];
 
   postInstall = ''
     sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
diff --git a/pkgs/desktops/gnome-3/core/gjs/src.nix b/pkgs/desktops/gnome-3/core/gjs/src.nix
index 27162fcbfd45..d3112f02f8ac 100644
--- a/pkgs/desktops/gnome-3/core/gjs/src.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gjs-1.48.6";
+  name = "gjs-1.50.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gjs/1.48/gjs-1.48.6.tar.xz;
-    sha256 = "e85f65ba4b38bf80b6174949dfe6fce89e88b8213bbdde4ac1fde473c08bd312";
+    url = mirror://gnome/sources/gjs/1.50/gjs-1.50.2.tar.xz;
+    sha256 = "2fad902cf7a7806454121c03918755c646fcfd6b08b52d488987db4e2d691ff3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix
index dce56f2341e8..9d86b7168ad0 100644
--- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-backgrounds-3.24.0";
+  name = "gnome-backgrounds-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-backgrounds/3.24/gnome-backgrounds-3.24.0.tar.xz;
-    sha256 = "cbda4c2159292940fa4b972df77379be716590c7b62bb4b2b9fa8e99749c71ca";
+    url = mirror://gnome/sources/gnome-backgrounds/3.26/gnome-backgrounds-3.26.2.tar.xz;
+    sha256 = "3a8ba8d3463d70bce2377b168218e32367c0020f2d0caf611e7e39066081f94f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
index f237d745c1cc..9eaad021d320 100644
--- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix
@@ -1,17 +1,16 @@
-{ stdenv, fetchurl, gnome3, pkgconfig, gtk3, intltool, glib
-, udev, itstool, libxml2, makeWrapper, libnotify, libcanberra_gtk3 }:
+{ stdenv, fetchurl, gnome3, meson, ninja, pkgconfig, gtk3, intltool, glib
+, udev, itstool, libxml2, wrapGAppsHook, libnotify, libcanberra_gtk3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib gtk3 udev libxml2 gnome3.defaultIconTheme
-                  makeWrapper gnome3.gsettings_desktop_schemas itstool
-                  libnotify libcanberra_gtk3 ];
+  nativeBuildInputs = [ meson ninja intltool itstool pkgconfig libxml2 wrapGAppsHook ];
+  buildInputs = [ glib gtk3 udev libnotify libcanberra_gtk3
+                  gnome3.defaultIconTheme gnome3.gsettings_desktop_schemas ];
 
-  preFixup = ''
-    wrapProgram "$out/bin/bluetooth-sendto" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix
index 5129b87e542e..31aab6649d75 100644
--- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-bluetooth/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-bluetooth-3.20.1";
+  name = "gnome-bluetooth-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-bluetooth/3.20/gnome-bluetooth-3.20.1.tar.xz;
-    sha256 = "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a";
+    url = mirror://gnome/sources/gnome-bluetooth/3.26/gnome-bluetooth-3.26.1.tar.xz;
+    sha256 = "1d2c7b94fc76a833dad0d4d91344e9a5a7b4aad740c5a90944bd25c5be7e784f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix
index 9279cdb13af7..517220c94572 100644
--- a/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-calculator/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-calculator-3.24.0";
+  name = "gnome-calculator-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-calculator/3.24/gnome-calculator-3.24.0.tar.xz;
-    sha256 = "44758ac719edd20067381073de3c643f842308f26da039412b1978a415202d10";
+    url = mirror://gnome/sources/gnome-calculator/3.26/gnome-calculator-3.26.0.tar.xz;
+    sha256 = "62215b37fcd73a6bbb106ebd0f25051c81ff0cf6ad84fd4a3ea176bceb5863c7";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index e69092a57123..9078b9e051cd 100644
--- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
@@ -3,7 +3,7 @@
 , libchamplain, clutter_gtk, geocode_glib
 , bash, wrapGAppsHook, itstool, folks, libnotify, libxml2
 , gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
-, libsoup, vala_0_32, dbus_glib, automake, autoconf }:
+, libsoup, vala, dbus_glib, automake, autoconf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -17,14 +17,11 @@ stdenv.mkDerivation rec {
    touch src/*.vala
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool evolution_data_server
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook file libnotify
+  nativeBuildInputs = [ vala automake autoconf pkgconfig intltool itstool wrapGAppsHook file ];
+  buildInputs = [ gtk3 glib evolution_data_server gnome3.gsettings_desktop_schemas libnotify
                   folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib
                   libxml2 libsoup gnome3.gnome_online_accounts nspr nss
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  libchamplain clutter_gtk geocode_glib
-                  vala_0_32 automake autoconf db ];
+                  gdk_pixbuf gnome3.defaultIconTheme libchamplain clutter_gtk geocode_glib db ];
 
   preFixup = ''
     gappsWrapperArgs+=(
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix
index 4409747169ba..bf3df1bc84fe 100644
--- a/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-contacts/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-contacts-3.22.1";
+  name = "gnome-contacts-3.26";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-contacts/3.22/gnome-contacts-3.22.1.tar.xz;
-    sha256 = "e45297fb6f379a978605f7e183201be70dff2912f55072a363bdb1f67d9fe87b";
+    url = mirror://gnome/sources/gnome-contacts/3.26/gnome-contacts-3.26.tar.xz;
+    sha256 = "f819ac74b2ad581f9741614627f49ef519713324afd9e4fc0ea5ac261a5f68c1";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix
index 85dfcd2ef31c..948768904aea 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-control-center-3.24.3";
+  name = "gnome-control-center-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-control-center/3.24/gnome-control-center-3.24.3.tar.xz;
-    sha256 = "43a4d2a4c222ee4a53428a4a720f823e157e4d4c597ea1a84e438d242596cca2";
+    url = mirror://gnome/sources/gnome-control-center/3.26/gnome-control-center-3.26.2.tar.xz;
+    sha256 = "07aed27d6317f2cad137daa6d94a37ad02c32b958dcd30c8f07d0319abfb04c5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index d56018bf1e8b..e8a7cb8ceb95 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
 , intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
-, gobjectIntrospection }:
+, libseccomp, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ python libxml2Python libxslt which libX11
                   xkeyboard_config isocodes itstool wayland
                   gtk3 glib intltool gnome_doc_utils libxkbfile
-                  gobjectIntrospection ];
+                   libseccomp gobjectIntrospection ];
 
   propagatedBuildInputs = [ gnome3.gsettings_desktop_schemas ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix
index 83c2979656c3..f3c0d446d3f1 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-desktop-3.24.2";
+  name = "gnome-desktop-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-desktop/3.24/gnome-desktop-3.24.2.tar.xz;
-    sha256 = "8fa1de66a6a75963bffc79b01a60434c71237d44c51beca09c0f714a032d785e";
+    url = mirror://gnome/sources/gnome-desktop/3.26/gnome-desktop-3.26.2.tar.xz;
+    sha256 = "f7561a7a313fc474b2c390cd9696df1f5c1e1556080e43f4afe042b1060e5f2a";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
index 77c4805a197e..72d1602eee45 100644
--- a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix
@@ -1,27 +1,20 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib
-, bash, makeWrapper, itstool, libxml2
-, gnome3, librsvg, gdk_pixbuf, file }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, desktop_file_utils, appstream-glib, libxslt
+, libxml2, gettext, itstool, wrapGAppsHook, docbook_xsl, docbook_xml_dtd_43
+, gnome3, gtk, glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-  propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
+  propagatedBuildInputs = [ gnome3.defaultIconTheme ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxml2 file
-                  gnome3.gsettings_desktop_schemas makeWrapper ];
+  nativeBuildInputs = [ meson ninja pkgconfig wrapGAppsHook libxml2 gettext itstool
+                        desktop_file_utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43];
+  buildInputs = [ gtk glib gnome3.gsettings_desktop_schemas ];
 
-  preFixup = ''
-    wrapProgram "$out/bin/gnome-dictionary" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-  '';
+  checkPhase = "meson test";
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Dictionary;
diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix
index 3c0a188c7b26..92a50430bd1f 100644
--- a/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-dictionary-3.24.0";
+  name = "gnome-dictionary-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-dictionary/3.24/gnome-dictionary-3.24.0.tar.xz;
-    sha256 = "41e7064a0cfab18e881a95ce9f1712ee5c9f426904b16f3bc04c35ebd1bbd9f2";
+    url = mirror://gnome/sources/gnome-dictionary/3.26/gnome-dictionary-3.26.1.tar.xz;
+    sha256 = "16b8bc248dcf68987826d5e39234b1bb7fd24a2607fcdbf4258fde88f012f300";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index f9380272f065..188ad99b73cd 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -1,24 +1,23 @@
-{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
-, bash, gtk3, glib, wrapGAppsHook, cracklib, libnotify
-, itstool, gnome3, gdk_pixbuf, libxml2, python
-, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }:
+{ stdenv, gettext, fetchurl, pkgconfig, udisks2, libsecret, libdvdread
+, meson, ninja, gtk, glib, wrapGAppsHook, libnotify
+, itstool, gnome3, gdk_pixbuf, libxml2
+, libcanberra_gtk3, libxslt, docbook_xsl, libpwquality }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  doCheck = true;
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
-
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bash gtk3 glib intltool itstool
-                  libxslt libtool libsecret libpwquality cracklib
-                  libnotify libdvdread libcanberra_gtk3 docbook_xsl
-                  gdk_pixbuf gnome3.defaultIconTheme
-                  udisks2 gnome3.gnome_settings_daemon
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook libxml2 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxslt docbook_xsl
+                        wrapGAppsHook libxml2 ];
+  buildInputs = [ gtk glib libsecret libpwquality libnotify libdvdread libcanberra_gtk3
+                  gdk_pixbuf udisks2 gnome3.defaultIconTheme
+                  gnome3.gnome_settings_daemon gnome3.gsettings_desktop_schemas ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://en.wikipedia.org/wiki/GNOME_Disks;
diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix
index 602b9eb340e4..e3241153a930 100644
--- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-disk-utility-3.24.1";
+  name = "gnome-disk-utility-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-disk-utility/3.24/gnome-disk-utility-3.24.1.tar.xz;
-    sha256 = "878f0489947c813b44eb89f5fdc2790d757cd8565f26f22b950d55b8585653a1";
+    url = mirror://gnome/sources/gnome-disk-utility/3.26/gnome-disk-utility-3.26.2.tar.xz;
+    sha256 = "aa2b96c2c64d8bde6cf802ff8da5796720d0becb21111342ced0637961e256f2";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
index 14aeb69e14cb..cdf119d83a3c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -1,27 +1,19 @@
-{ stdenv, intltool, fetchurl
-, pkgconfig, gtk3, glib
-, bash, wrapGAppsHook, itstool
-, gnome3, librsvg, gdk_pixbuf }:
+{ stdenv, meson, ninja, gettext, fetchurl
+, pkgconfig, gtk3, glib, libxml2
+, wrapGAppsHook, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  checkPhase = "meson test";
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext wrapGAppsHook libxml2 ];
+  buildInputs = [ gtk3 glib gnome3.gnome_desktop gnome3.defaultIconTheme ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool gnome3.gnome_desktop
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook ];
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share"
-    )
-  '';
+  # Do not run meson-postinstall.sh
+  preConfigure = "sed -i '2,$ d'  meson-postinstall.sh";
 
   meta = with stdenv.lib; {
     description = "Program that can preview fonts and create thumbnails for fonts";
diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix
index f4e37d476ddf..c31f09938c92 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-font-viewer-3.24.0";
+  name = "gnome-font-viewer-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-font-viewer/3.24/gnome-font-viewer-3.24.0.tar.xz;
-    sha256 = "f3658216a744603fd2100d60de7b31062e014f02333e8433dcaf6a3bb4b7dc76";
+    url = mirror://gnome/sources/gnome-font-viewer/3.26/gnome-font-viewer-3.26.0.tar.xz;
+    sha256 = "02768a62b4033de5ef9d00602e8c29e5de05255f879b0d9b4d731be9648fe9a0";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix
index 88179fff3c7e..ffee6211232e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-keyring-3.20.0";
+  name = "gnome-keyring-3.20.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-keyring/3.20/gnome-keyring-3.20.0.tar.xz;
-    sha256 = "bc17cecd748a0e46e302171d11c3ae3d76bba5258c441fabec3786f418e7ec99";
+    url = mirror://gnome/sources/gnome-keyring/3.20/gnome-keyring-3.20.1.tar.xz;
+    sha256 = "134ci3mn6jjap59z3lrvyiip7zf2nlw5xvanr44yajs57xr4x5lp";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix
index 2c51429cd0cd..311ad8643395 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-online-accounts-3.24.2";
+  name = "gnome-online-accounts-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-online-accounts/3.24/gnome-online-accounts-3.24.2.tar.xz;
-    sha256 = "b70ad52d1541e1e5192dd060bb11552a3af5007ab477aa81d265d1cd1cf7afba";
+    url = mirror://gnome/sources/gnome-online-accounts/3.26/gnome-online-accounts-3.26.1.tar.xz;
+    sha256 = "603c110405cb89a01497a69967f10e3f3f36add3dc175b062ec4c5ed4485621b";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
index fbcd51b6cc29..d8e878715602 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
@@ -1,25 +1,18 @@
 { stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
-, libsoup, json_glib, gmp, openssl, dleyna-server, makeWrapper }:
+, libsoup, json_glib, gmp, openssl, dleyna-server, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
   buildInputs = [ glib gnome3.libgdata libxml2 libsoup gmp openssl
                   gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins
-                  gnome3.gnome_online_accounts makeWrapper gnome3.libmediaart
+                  gnome3.gnome_online_accounts gnome3.libmediaart
                   gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest
                   dleyna-server ];
 
   enableParallelBuilding = true;
 
-  preFixup = ''
-    for f in $out/libexec/*; do
-      wrapProgram "$f" \
-        --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-${gnome3.grilo-plugins.major}"
-    done
-  '';
-
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners;
     description = "A set of crawlers that go through your online content and index them locally in Tracker";
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix
index 00558f252952..3b8306c6a1a5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-online-miners-3.24.0";
+  name = "gnome-online-miners-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-online-miners/3.24/gnome-online-miners-3.24.0.tar.xz;
-    sha256 = "8c0508f459b0364bed5f2f6a997aa81c1cbe75a94b23cc8fcfd83b0d3485d3ab";
+    url = mirror://gnome/sources/gnome-online-miners/3.26/gnome-online-miners-3.26.0.tar.xz;
+    sha256 = "7f404db5eccb87524a5dfcef5b6f38b11047b371081559afbe48c34dbca2a98e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
index 1f933e1b3c57..69a967d6d247 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix
@@ -1,26 +1,30 @@
-{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3
-, bash, gtk3, glib, wrapGAppsHook
-, itstool, gnome3, librsvg, gdk_pixbuf }:
+{ stdenv, gettext, libxml2, fetchurl, pkgconfig, libcanberra_gtk3
+, bash, gtk3, glib, meson, ninja, wrapGAppsHook, appstream-glib
+, gnome3, librsvg, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+  checkPhase = "meson test";
+
+
+  postPatch = ''
+    chmod +x build-aux/postinstall.py # patchShebangs requires executable file
+    patchShebangs build-aux/postinstall.py
+  '';
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
   propagatedBuildInputs = [ gdk_pixbuf gnome3.defaultIconTheme librsvg ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ bash gtk3 glib intltool itstool libcanberra_gtk3
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 wrapGAppsHook ];
+  buildInputs = [ bash gtk3 glib libcanberra_gtk3
+                  gnome3.gsettings_desktop_schemas ];
 
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share"
-    )
-  '';
+  patches = [
+    ./prevent-cache-updates.patch
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://en.wikipedia.org/wiki/GNOME_Screenshot;
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch b/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch
new file mode 100644
index 000000000000..370d09cd2f02
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/prevent-cache-updates.patch
@@ -0,0 +1,21 @@
+--- a/build-aux/postinstall.py
++++ b/build-aux/postinstall.py
+@@ -8,18 +8,6 @@
+ 
+ # Packaging tools define DESTDIR and this isn't needed for them
+ if 'DESTDIR' not in os.environ:
+-    print('Updating icon cache...')
+-    icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor')
+-    if not os.path.exists(icon_cache_dir):
+-        os.makedirs(icon_cache_dir)
+-    subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir])
+-
+-    print('Updating desktop database...')
+-    desktop_database_dir = os.path.join(datadir, 'applications')
+-    if not os.path.exists(desktop_database_dir):
+-        os.makedirs(desktop_database_dir)
+-    subprocess.call(['update-desktop-database', '-q', desktop_database_dir])
+-
+     print('Compiling GSettings schemas...')
+     schemas_dir = os.path.join(datadir, 'glib-2.0', 'schemas')
+     if not os.path.exists(schemas_dir):
diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix
index 3668417d280b..72b1e6625452 100644
--- a/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-screenshot-3.22.0";
+  name = "gnome-screenshot-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-screenshot/3.22/gnome-screenshot-3.22.0.tar.xz;
-    sha256 = "8a05f14b3c7c6cb42f9848ad0332034c7fe5c34a69742910203588fd60b00230";
+    url = mirror://gnome/sources/gnome-screenshot/3.26/gnome-screenshot-3.26.0.tar.xz;
+    sha256 = "1bbc11595d3822f4b92319cdf9ba49dd00f5471b6046c590847dc424a874c8bb";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/src.nix b/pkgs/desktops/gnome-3/core/gnome-session/src.nix
index d323fea7631c..bb9dec1efc23 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-session-3.24.1";
+  name = "gnome-session-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-session/3.24/gnome-session-3.24.1.tar.xz;
-    sha256 = "3b4449238e396b95f9616dfd6f99d8345afaf30c7e3cb6a3549f253d9f966eee";
+    url = mirror://gnome/sources/gnome-session/3.26/gnome-session-3.26.1.tar.xz;
+    sha256 = "d9414b368db982d3837ca106e64019f18e6cdd5b13965bea6c7d02ddf5103708";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix
index 03c213f21622..1c3fbbfc2efa 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-settings-daemon-3.24.3";
+  name = "gnome-settings-daemon-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-settings-daemon/3.24/gnome-settings-daemon-3.24.3.tar.xz;
-    sha256 = "68c46038bc32b7cbe933cc24fa9f1eb96127d9900c07627767ab0a802f948593";
+    url = mirror://gnome/sources/gnome-settings-daemon/3.26/gnome-settings-daemon-3.26.2.tar.xz;
+    sha256 = "5a3d156b35e03fa3c28fddd0321f6726082a711973dee2af686370faae2e75e4";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix
index cb9bf57ce4a4..150a15d0a5f3 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-shell-extensions-3.24.3";
+  name = "gnome-shell-extensions-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-shell-extensions/3.24/gnome-shell-extensions-3.24.3.tar.xz;
-    sha256 = "3c7defc6512d7ed9f09eb82342d7b6c8f5fe8dcac3f0126ca7e0569feeb50a79";
+    url = mirror://gnome/sources/gnome-shell-extensions/3.26/gnome-shell-extensions-3.26.2.tar.xz;
+    sha256 = "aefda4d810ef5ceb9402e2d620f4bdc1dc40c9cc4f6a51749840f7dd08628ab6";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index a694da0844de..693560454b17 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -1,9 +1,10 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
+{ fetchurl, fetchpatch, stdenv, meson, ninja, pkgconfig, gnome3, json_glib, libcroco, gettext, libsecret
 , 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, librsvg, geoclue2
-, libpulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
-, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet }:
+, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip, glibcLocales
+, sqlite, libgweather, libcanberra_gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42
+, libpulseaudio, libical, nss, gobjectIntrospection, gstreamer, wrapGAppsHook
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet
+, gst_all_1 }:
 
 # 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
 
@@ -14,50 +15,55 @@ in stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   # Needed to find /etc/NetworkManager/VPN
-  configureFlags = [ "--sysconfdir=/etc" ];
+  mesonFlags = [ "--sysconfdir=/etc" ];
 
+  LANG = "en_US.UTF-8";
+
+  nativeBuildInputs = [ meson ninja gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales ];
   buildInputs = with gnome3;
     [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
-      libcroco intltool libsecret pkgconfig libsoup polkit libcanberra_gtk2 gdk_pixbuf
+      libcroco libsecret pkgconfig libsoup polkit gdk_pixbuf
       (librsvg.override { enableIntrospection = true; })
-      clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
+      clutter networkmanager libstartup_notification telepathy_glib
       libXtst p11_kit networkmanagerapplet gjs mutter libpulseaudio caribou evolution_data_server
-      libical libtool nss gtk gstreamer makeWrapper gdm
+      libical nss gtk gstreamer gdm
       libcanberra_gtk3 gnome_control_center geoclue2
       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
+      gst_all_1.gst-plugins-good # recording
       gobjectIntrospection (stdenv.lib.getLib dconf) ];
-
-  installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
-
-  preBuild = ''
+  propagatedUserEnvPkgs = [
+    # Needed to support on-screen keyboard used with touch screen devices
+    # see https://github.com/NixOS/nixpkgs/issues/25968
+    gnome3.caribou
+  ];
+
+  patches = [
+    (fetchpatch {
+      name = "0001-build-Add-missing-dependency-to-run-js-test.patch";
+      url = https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016;
+      sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm";
+    })
+    ./fix-paths.patch
+  ];
+
+  postPatch = ''
     patchShebangs src/data-to-c.pl
-    substituteInPlace data/Makefile --replace " install-keysDATA" ""
 
     substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
     substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
+    substituteInPlace js/ui/extensionDownloader.js --replace "unzip" "${unzip}/bin/unzip"
   '';
 
+  postInstall = ''
+    glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
 
-  preFixup = with gnome3; ''
-    wrapProgram "$out/bin/gnome-shell" \
-      --prefix PATH : "${unzip}/bin" \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --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-prefs" \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
-
-    wrapProgram "$out/libexec/gnome-shell-calendar-server" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
-      --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
+  postFixup = ''
+    # Patched meson does not add internal libraries to rpath
+    patchelf --set-rpath "$out/lib/gnome-shell:$(patchelf --print-rpath $out/bin/.gnome-shell-wrapped)" $out/bin/.gnome-shell-wrapped
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
new file mode 100644
index 000000000000..b24049f9b9fd
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch
@@ -0,0 +1,18 @@
+diff --git a/meson.build b/meson.build
+index 4c1f5c63b..a9edb8795 100644
+--- a/meson.build
++++ b/meson.build
+@@ -59,12 +59,7 @@ servicedir = join_paths(datadir, 'dbus-1', 'services')
+ 
+ plugindir = get_variable('BROWSER_PLUGIN_DIR', mozplugindir)
+ 
+-keybindings_dep = dependency('gnome-keybindings', required: false)
+-if keybindings_dep.found()
+-  keysdir = keybindings_dep.get_pkgconfig_variable('keysdir')
+-else
+-  keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
+-endif
++keysdir = join_paths(datadir, 'gnome-control-center', 'keybindings')
+ 
+ atk_bridge_dep = dependency('atk-bridge-2.0')
+ canberra_dep = dependency('libcanberra')
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/src.nix b/pkgs/desktops/gnome-3/core/gnome-shell/src.nix
index 7cb2bd89221b..83cdd0682fda 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-shell-3.24.3";
+  name = "gnome-shell-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-shell/3.24/gnome-shell-3.24.3.tar.xz;
-    sha256 = "58b13308aa1b8dcbf1f08d5a052a61f8094ffd3afa2c788c91e1ceeacde840b8";
+    url = mirror://gnome/sources/gnome-shell/3.26/gnome-shell-3.26.2.tar.xz;
+    sha256 = "e5a87f2f838d981db9823352b90b2ce2f40d24d31ed9f062dccfa41b820e0b1c";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 4ca3bd66063a..37650ae5a142 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -1,17 +1,33 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome3, wrapGAppsHook, packagekit
-, appstream-glib, libsoup, polkit, attr, acl, libyaml, isocodes, gtkspell3
-, json_glib, libsecret, valgrind-light }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
+, glib, appstream-glib, libsoup, polkit, attr, acl, libyaml, isocodes, gtkspell3, libxslt
+, json_glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, gtk_doc, desktop_file_utils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
-  buildInputs = [ gnome3.gtk packagekit appstream-glib libsoup
+  nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook libxslt docbook_xml_dtd_42
+                        valgrind-light docbook_xsl gtk_doc desktop_file_utils ];
+  buildInputs = [ gnome3.gtk glib packagekit appstream-glib libsoup
                   gnome3.gsettings_desktop_schemas gnome3.gnome_desktop
-                  gtkspell3 json_glib libsecret
-                  polkit attr acl libyaml valgrind-light ];
+                  gtkspell3 json_glib libsecret ostree
+                  polkit attr acl libyaml ];
   propagatedBuildInputs = [ isocodes ];
 
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  postPatch = ''
+    patchShebangs meson_post_install.sh
+  '';
+
+  mesonFlags = [
+    "-Denable-flatpak=false"
+    "-Denable-rpm=false"
+    "-Denable-fwupd=false"
+    "-Denable-oauth=false"
+    "-Denable-ubuntu-reviews=false"
+    "-Denable-gudev=false"
+  ];
+
   postInstall = ''
     mkdir -p $out/share/xml/
     ln -s ${isocodes}/share/xml/iso-codes $out/share/xml/iso-codes
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/src.nix b/pkgs/desktops/gnome-3/core/gnome-software/src.nix
index 9d847b3af7d8..99c6415e83dc 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-software-3.24.3";
+  name = "gnome-software-3.26.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-software/3.24/gnome-software-3.24.3.tar.xz;
-    sha256 = "0dbc8cbf0e46c5ef8c6a34391622d1532cf05c49976b39a8b8ee1fff8d8f75e3";
+    url = mirror://gnome/sources/gnome-software/3.26/gnome-software-3.26.3.tar.xz;
+    sha256 = "2f74fd5fb222c99d4fcb91500cea0c62a0eb8022700bdea51acecb41c63f8e48";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix
index aab373b9715b..b5d527632efe 100644
--- a/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-system-monitor-3.24.0";
+  name = "gnome-system-monitor-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-system-monitor/3.24/gnome-system-monitor-3.24.0.tar.xz;
-    sha256 = "c32b45062411aaef06681e5e28fd2c24ea8b362168bae83992944ec8e02063f4";
+    url = mirror://gnome/sources/gnome-system-monitor/3.26/gnome-system-monitor-3.26.0.tar.xz;
+    sha256 = "f848a8c2ca5e164cf09d3a205dd49e4e4bf4b60d43b0969c10443eb519d0e6b3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 073a791ac3c8..b28c3a4c45d8 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, libuuid, vala_0_32
+{ stdenv, fetchurl, pkgconfig, libxml2, gnome3
+, gnome_doc_utils, intltool, which, libuuid, vala
 , desktop_file_utils, itstool, wrapGAppsHook, appdata-tools }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools
-                  gnome3.dconf itstool gnome3.nautilus vala_0_32 ];
+                  gnome3.dconf itstool gnome3.nautilus ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2
-                        desktop_file_utils wrapGAppsHook ];
+                        vala desktop_file_utils wrapGAppsHook ];
 
   # Silly ./configure, it looks for dbus file from gnome-shell in the
   # installation tree of the package it is configuring.
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix
index 2aa084cc4935..a6072ba7ca5e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-terminal-3.24.2";
+  name = "gnome-terminal-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-terminal/3.24/gnome-terminal-3.24.2.tar.xz;
-    sha256 = "281edac30a07ca45beaaaf0a13fe2219cf8b87ece5e55dccbfc49ef769dfec0f";
+    url = mirror://gnome/sources/gnome-terminal/3.26/gnome-terminal-3.26.2.tar.xz;
+    sha256 = "3a9ba414a814569476515275ad303d8056f296b2669234447712559aa97005b0";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix
index f617d41ff309..e4c5f8fd0955 100644
--- a/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-user-docs-3.24.2";
+  name = "gnome-user-docs-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-user-docs/3.24/gnome-user-docs-3.24.2.tar.xz;
-    sha256 = "c1c53059c892bf9f78c7a934ab3a05ece35e2dacd828272e74a77a4f5975e65f";
+    url = mirror://gnome/sources/gnome-user-docs/3.26/gnome-user-docs-3.26.2.tar.xz;
+    sha256 = "e7d7f0434624ef6f21803c798d8672331f065485bdf59d44ac5b6b5f14fa1b78";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
index 5123cadbdafd..977dd7ffd6fb 100644
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
@@ -5,11 +5,15 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  postPatch = ''
-    for file in "background" "screensaver"; do
-      substituteInPlace "schemas/org.gnome.desktop.$file.gschema.xml.in" \
-        --replace "@datadir@" "${gnome3.gnome-backgrounds}/share/"
-    done
+  preInstall = ''
+    mkdir -p $out/share/gsettings-schemas/${name}/glib-2.0/schemas
+    cat - > $out/share/gsettings-schemas/${name}/glib-2.0/schemas/remove-backgrounds.gschema.override <<- EOF
+      [org.gnome.desktop.background]
+      picture-uri='''
+
+      [org.gnome.desktop.screensaver]
+      picture-uri='''
+    EOF
   '';
 
   buildInputs = [ glib gobjectIntrospection ];
diff --git a/pkgs/desktops/gnome-3/core/gsound/default.nix b/pkgs/desktops/gnome-3/core/gsound/default.nix
index 8e72b7fb233e..7b934db85fdd 100644
--- a/pkgs/desktops/gnome-3/core/gsound/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsound/default.nix
@@ -3,15 +3,15 @@
 let
   majVer = "1.0";
 in stdenv.mkDerivation rec {
-  name = "gsound-${majVer}.1";
+  name = "gsound-${majVer}.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gsound/${majVer}/${name}.tar.xz";
-    sha256 = "ea0dd94429c0645f2f98824274ef04543fe459dd83a5449a68910acc3ba67f29";
+    sha256 = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libcanberra_gtk2 gobjectIntrospection libtool ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection libtool gnome3.vala ];
+  buildInputs = [ glib libcanberra_gtk2 ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GSound;
diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix
index 04d9098764f6..aaf104532eba 100644
--- a/pkgs/desktops/gnome-3/core/libgee/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgee/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fix_introspection_paths.patch ];
 
-  nativeBuildInputs = [ pkgconfig autoconf vala pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig autoconf vala gobjectIntrospection ];
   buildInputs = [ glib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/libgepub/default.nix b/pkgs/desktops/gnome-3/core/libgepub/default.nix
index 56159500228a..f1e13e10fd9e 100644
--- a/pkgs/desktops/gnome-3/core/libgepub/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgepub/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, autoconf, pkgconfig, glib, gobjectIntrospection, gnome3
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, gnome3
 , webkitgtk, libsoup, libxml2, libarchive }:
 stdenv.mkDerivation rec {
-  name = "libgepub-${version}";
-  version = "0.4";
+  name = "libgepub-${version}.2";
+  version = "0.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgepub/${version}/${name}.tar.xz";
-    sha256 = "5666a1c4d186d205bd2d91b71d4c1cd5426025569114a765dd913a564f149ff4";
+    sha256 = "0f1bczy3b00kj7mhm80xgpcgibh8h0pgcr46l4wifi45jacji0w4";
   };
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf glib gobjectIntrospection webkitgtk libsoup
-    libxml2 libarchive ];
+  checkPhase = "meson test";
+
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
+  buildInputs = [ glib webkitgtk libsoup libxml2 libarchive ];
 
   meta = with stdenv.lib; {
     description = "GObject based library for handling and rendering epub documents";
diff --git a/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix b/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix
index 02fa27169871..431006daf4fb 100644
--- a/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix
+++ b/pkgs/desktops/gnome-3/core/libgnomekbd/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "libgnomekbd-3.22.0.1";
+  name = "libgnomekbd-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgnomekbd/3.22/libgnomekbd-3.22.0.1.tar.xz;
-    sha256 = "4efdb6b8ec92f04caced710b5edb285fb27715059ed6ca5e100b6933999a93de";
+    url = mirror://gnome/sources/libgnomekbd/3.26/libgnomekbd-3.26.0.tar.xz;
+    sha256 = "ea3b418c57c30615f7ee5b6f718def7c9d09ce34637324361150744258968875";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 9dbed05523c3..01b3c9bc0930 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -4,9 +4,14 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ];
+  configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" "--enable-vala" ];
   propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk gnome3.geocode_glib ];
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool gnome3.vala ];
+
+  # Prevent building vapi into ${vala} derivation directory
+  prePatch = ''
+    substituteInPlace libgweather/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
+  '';
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/libgweather/src.nix b/pkgs/desktops/gnome-3/core/libgweather/src.nix
index 6324a27b6127..f2cb4c310afc 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/src.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "libgweather-3.24.1";
+  name = "libgweather-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgweather/3.24/libgweather-3.24.1.tar.xz;
-    sha256 = "1227316037b63dac4153031a22abccb3d2ac679a7409e29cd303eec499eb653c";
+    url = mirror://gnome/sources/libgweather/3.26/libgweather-3.26.0.tar.xz;
+    sha256 = "5b84badc0b3ecffff5db1bb9a7cc4dd4e400a8eb3f1282348f8ee6ba33626b6e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 208b8b756488..be4a5e1087ad 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
+{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
 , pango, cogl, clutter, libstartup_notification, libcanberra_gtk2, zenity, libcanberra_gtk3
 , libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libudev, libinput
 , libgudev, libwacom, xwayland, autoreconfHook }:
@@ -35,15 +35,6 @@ stdenv.mkDerivation rec {
       libcanberra_gtk3 zenity xkeyboard_config libxkbfile
       libxkbcommon ];
 
-  patches = [
-    # https://bugzilla.gnome.org/show_bug.cgi?id=760670
-    (fetchpatch {
-      name = "libgudev-232.patch";
-      url = https://bugzilla.gnome.org/attachment.cgi?id=358904;
-      sha256 = "0chvd7g9f2zp3a0gdhvinsfvp2h10rwb6a8ja386vsrl93ac8pix";
-    })
-  ];
-
   preFixup = ''
     wrapProgram "$out/bin/mutter" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
diff --git a/pkgs/desktops/gnome-3/core/mutter/src.nix b/pkgs/desktops/gnome-3/core/mutter/src.nix
index 579ee0689e87..b3d0841a2e5c 100644
--- a/pkgs/desktops/gnome-3/core/mutter/src.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "mutter-3.24.4";
+  name = "mutter-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/mutter/3.24/mutter-3.24.4.tar.xz;
-    sha256 = "7300b3fbf1bd0f7fe25e4869dd37134f2127bb6d9b8aa3aadd0eaf3c8bbf9aea";
+    url = mirror://gnome/sources/mutter/3.26/mutter-3.26.2.tar.xz;
+    sha256 = "83309feb05a4635c47713665c0592af8ab6d7f17a36e4bd626d67609b6422fab";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index f987df460349..0a7cd139d2cc 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
-, gtk, gnome3, libunique, intltool, gobjectIntrospection, gnome-autoar, glib
-, libnotify, wrapGAppsHook, exempi, librsvg, tracker, libselinux, gdk_pixbuf }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop_file_utils, wrapGAppsHook
+, gtk, gnome3, gnome-autoar, glib, dbus_glib, shared_mime_info, libnotify, libexif
+, exempi, librsvg, tracker, tracker-miners, libselinux, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext wrapGAppsHook desktop_file_utils ];
 
-  buildInputs = [ libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg
-                  gnome3.gnome_desktop gnome3.adwaita-icon-theme
-                  gnome3.gsettings_desktop_schemas gnome3.dconf libnotify tracker libselinux ];
+  buildInputs = [ dbus_glib shared_mime_info libexif gtk exempi libnotify libselinux
+                  tracker tracker-miners gnome3.gnome_desktop gnome3.adwaita-icon-theme
+                  gnome3.gsettings_desktop_schemas ];
 
   propagatedBuildInputs = [ gnome-autoar ];
 
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
 #  hardeningDisable = [ "format" ];
   enableParallelBuilding = true;
 
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
   patches = [ ./extension_dir.patch ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/nautilus/src.nix b/pkgs/desktops/gnome-3/core/nautilus/src.nix
index 37c81a54a316..1cc14391e394 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/src.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "nautilus-3.24.2.1";
+  name = "nautilus-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/nautilus/3.24/nautilus-3.24.2.1.tar.xz;
-    sha256 = "357d9d051fcc2c385ce9b3beb2db2ea1874b7cdf507ca10274a063023e1a61b3";
+    url = mirror://gnome/sources/nautilus/3.26/nautilus-3.26.2.tar.xz;
+    sha256 = "79c99404c665ea76b3db86f261fbd28a62b54c51429b05c3314462c9de2614b4";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 0b453d5c5332..27a1e4b0be5b 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -1,24 +1,20 @@
-{ stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool
-, libusb1, libxml2, pkgconfig, sane-backends, vala_0_32, wrapGAppsHook
-, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, wrapGAppsHook
+, cairo, gdk_pixbuf, colord, glib, gtk, gusb, packagekit, libwebp
+, libxml2, sane-backends, vala, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  buildInputs = [ cairo colord glib gnome3.defaultIconTheme gusb gtk3 libusb1 libxml2 sane-backends vala_0_32 ];
-  nativeBuildInputs = [ intltool itstool pkgconfig wrapGAppsHook ];
+  buildInputs = [ cairo gdk_pixbuf colord glib gnome3.defaultIconTheme gusb
+                gtk libwebp packagekit sane-backends vala ];
+  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig wrapGAppsHook libxml2 ];
 
-  configureFlags = [ "--disable-packagekit" ];
+  postPatch = ''
+    patchShebangs data/meson_compile_gschema.py
 
-  patchPhase = ''
     sed -i -e 's#Icon=scanner#Icon=simple-scan#g' ./data/simple-scan.desktop.in
   '';
 
-  preBuild = ''
-    # Clean up stale .c files referencing packagekit headers as of 3.20.0:
-    make clean
-  '';
-
   postInstall = ''
     mkdir -p $out/share/icons
     mv $out/share/simple-scan/icons/* $out/share/icons/
@@ -39,6 +35,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  checkPhase = "meson test";
+
   meta = with stdenv.lib; {
     description = "Simple scanning utility";
     longDescription = ''
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/src.nix b/pkgs/desktops/gnome-3/core/simple-scan/src.nix
index cea148891a72..fb430db7d844 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/src.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "simple-scan-3.22.0.1";
+  name = "simple-scan-3.26.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/simple-scan/3.22/simple-scan-3.22.0.1.tar.xz;
-    sha256 = "c505b6e63379c9256fbeaa4def3e595fd063d46a8a852ed90218d336291d2b50";
+    url = mirror://gnome/sources/simple-scan/3.26/simple-scan-3.26.2.tar.xz;
+    sha256 = "d172825b1b77e2e32c21fc847fd670c4711a504b09688f8567a98ac9516fe212";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
index 56fef3129272..c763621564c7 100644
--- a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup, gnome3 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, gmime, libxml2, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig file intltool ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext ];
   buildInputs = [ gmime libxml2 libsoup ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
index 8e352ccfb4c4..58e2ad07532e 100644
--- a/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "totem-pl-parser-3.10.2";
+  name = "totem-pl-parser-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/totem-pl-parser/3.10/totem-pl-parser-3.10.2.tar.xz;
-    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
+    url = mirror://gnome/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.0.tar.xz;
+    sha256 = "1jzvq7s6qdsdpbc58jpcwvyj7qsq58r65kmnbknjzd79j4rsalzi";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix
index 34ec9b58116f..b66405cf0510 100644
--- a/pkgs/desktops/gnome-3/core/totem/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, intltool, fetchurl, gst_all_1
+{ stdenv, fetchurl, meson, ninja, intltool, gst_all_1, clutter
 , 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 }:
+, bash, wrapGAppsHook, itstool, libxml2, dbus_glib, vala, gnome3, librsvg
+, gdk_pixbuf, file, tracker, nautilus }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -15,18 +15,31 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ 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 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 wrapGAppsHook file tracker nautilus ];
+  nativeBuildInputs = [ meson ninja vala pkgconfig intltool python3Packages.python itstool file wrapGAppsHook ];
+  buildInputs = [ gtk3 glib 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
+                  gst_all_1.gst-plugins-ugly gst_all_1.gst-libav gnome3.libpeas shared_mime_info dbus_glib
+                  gdk_pixbuf libxml2 gnome3.defaultIconTheme gnome3.gnome_desktop
+                  gnome3.gsettings_desktop_schemas tracker nautilus ];
 
   propagatedBuildInputs = [ gobjectIntrospection python3Packages.pylint python3Packages.pygobject2 ];
 
-  configureFlags = [ "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
+  checkPhase = "meson test";
+
+  patches = [
+    (fetchurl {
+      name = "remove-pycompile.patch";
+      url = "https://bug787965.bugzilla-attachments.gnome.org/attachment.cgi?id=360204";
+      sha256 = "1iphlazllv42k553jqh3nqrrh5jb63gy3nhj4ipwc9xh4sg2irhi";
+    })
+  ];
+
+  postPatch = ''
+    chmod +x meson_compile_python.py meson_post_install.py # patchShebangs requires executable file
+    patchShebangs .
+  '';
+
+  mesonFlags = [ "-Dwith-nautilusdir=lib/nautilus/extensions-3.0" ];
 
   GI_TYPELIB_PATH = "$out/lib/girepository-1.0";
   wrapPrefixVariables = [ "PYTHONPATH" ];
diff --git a/pkgs/desktops/gnome-3/core/totem/src.nix b/pkgs/desktops/gnome-3/core/totem/src.nix
index 2067945f99e4..e051b13dee8d 100644
--- a/pkgs/desktops/gnome-3/core/totem/src.nix
+++ b/pkgs/desktops/gnome-3/core/totem/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "totem-3.24.0";
+  name = "totem-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/totem/3.24/totem-3.24.0.tar.xz;
-    sha256 = "9bd78f7b940e886b5c809acdfe00a610a834de5080dd40272b92835528a58d01";
+    url = mirror://gnome/sources/totem/3.26/totem-3.26.0.tar.xz;
+    sha256 = "e32fb9a68097045e75c87ad1b8177f5c01aea2a13dcb3b2e71a0f9570fe9ee13";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
new file mode 100644
index 000000000000..baff249a03a3
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, intltool, fetchurl, libxml2, upower
+, pkgconfig, gtk3, glib
+, bash, wrapGAppsHook, itstool, vala, sqlite, libxslt
+, gnome3, librsvg, gdk_pixbuf, libnotify
+, evolution_data_server, gst_all_1, poppler
+, icu, taglib, libjpeg, libtiff, giflib, libcue
+, libvorbis, flac, exempi, networkmanager
+, libpng, libexif, libgsf, libuuid, bzip2
+, libsoup, json_glib, libseccomp
+, libiptcdata }:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler";
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ vala pkgconfig intltool itstool libxslt wrapGAppsHook ];
+  # TODO: add libgrss, libenca
+  buildInputs = [
+    bzip2 evolution_data_server exempi flac giflib glib gnome3.totem-pl-parser
+    gnome3.tracker gst_all_1.gst-plugins-base gst_all_1.gstreamer icu
+    json_glib libcue libexif libgsf libiptcdata libjpeg libpng libseccomp libsoup
+    libtiff libuuid libvorbis libxml2 poppler taglib upower
+  ];
+
+  LANG = "en_US.UTF-8"; # for running tests
+
+  doCheck = true;
+
+  postPatch = ''
+    substituteInPlace src/libtracker-common/tracker-domain-ontology.c --replace \
+      'SHAREDIR, "tracker", "domain-ontologies"' \
+      '"${gnome3.tracker}/share", "tracker", "domain-ontologies"'
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Tracker;
+    description = "Desktop-neutral user information store, search tool and indexer";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/src.nix b/pkgs/desktops/gnome-3/core/tracker-miners/src.nix
new file mode 100644
index 000000000000..2b309161fd19
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "tracker-miners-2.0.2";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/tracker-miners/2.0/tracker-miners-2.0.2.tar.xz;
+    sha256 = "cf417ece944c997f630dda41a7f5c449d609fa53dbb34fae7caa4c7af1e0e8ef";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index 0d3e8bd358d4..bf3438db338a 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -1,43 +1,23 @@
-{ stdenv, intltool, fetchurl, libxml2, upower
-, pkgconfig, gtk3, glib
-, bash, wrapGAppsHook, itstool, vala_0_32, sqlite, libxslt
-, gnome3, librsvg, gdk_pixbuf, file, libnotify
-, evolution_data_server, gst_all_1, poppler
-, icu, taglib, libjpeg, libtiff, giflib, libcue
-, libvorbis, flac, exempi, networkmanager
-, libpng, libexif, libgsf, libuuid, bzip2
-, libsoup, json_glib, libseccomp }:
+{ stdenv, fetchurl, fetchpatch, intltool, pkgconfig
+, libxml2, upower, glib, wrapGAppsHook, vala, sqlite, libxslt
+, gnome3, icu, libuuid, networkmanager, libsoup, json_glib }:
 
 stdenv.mkDerivation rec {
-
   inherit (import ./src.nix fetchurl) name src;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
-
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0 -I${poppler.dev}/include/poppler";
-
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ vala_0_32 gtk3 glib intltool itstool libxml2
-                  bzip2 gnome3.totem-pl-parser libxslt
-                  gnome3.gsettings_desktop_schemas wrapGAppsHook
-                  file gdk_pixbuf gnome3.defaultIconTheme librsvg sqlite
-                  upower libnotify evolution_data_server gnome3.libgee
-                  gst_all_1.gstreamer gst_all_1.gst-plugins-base flac
-                  poppler icu taglib libjpeg libtiff giflib libvorbis
-                  exempi networkmanager libpng libexif libgsf libuuid
-                  libsoup json_glib libseccomp
-                ];
+  nativeBuildInputs = [ vala pkgconfig intltool libxslt wrapGAppsHook ];
+  # TODO: add libstemmer
+  buildInputs = [
+    glib libxml2 sqlite upower icu networkmanager libsoup libuuid json_glib
+  ];
 
-  preConfigure = ''
-    substituteInPlace src/libtracker-sparql/Makefile.in --replace "--shared-library=libtracker-sparql" "--shared-library=$out/lib/libtracker-sparql"
-  '';
+  # TODO: figure out wrapping unit tests, some of them fail on missing gsettings_desktop_schemas
+  configureFlags = [ "--disable-unit-tests" ];
 
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share"
-    )
+  postPatch = ''
+    patchShebangs utils/g-ir-merge/g-ir-merge
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/tracker/src.nix b/pkgs/desktops/gnome-3/core/tracker/src.nix
index 7a9b9ce3e38a..afec65a4f633 100644
--- a/pkgs/desktops/gnome-3/core/tracker/src.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "tracker-1.12.3";
+  name = "tracker-2.0.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/tracker/1.12/tracker-1.12.3.tar.xz;
-    sha256 = "1mpq418lzba7fad0w0m3bnxvz3khf461b5zya8zmq5n1g0w99ki3";
+    url = mirror://gnome/sources/tracker/2.0/tracker-2.0.1.tar.xz;
+    sha256 = "ac5c9f4dbb0741af5877ae2818d8c053aa9a431477a924a17976bb7e44411e47";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index b3962015d3cc..251e27334b11 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, gnome3, ncurses, gobjectIntrospection, vala_0_32, libxml2, gnutls
+, gnome3, ncurses, gobjectIntrospection, vala, libxml2, gnutls
 , fetchFromGitHub, autoconf, automake, libtool, gtk_doc, gperf, pcre2
 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gobjectIntrospection intltool gnome3.glib
-                  gnome3.gtk3 ncurses vala_0_32 libxml2 gperf ];
+  nativeBuildInputs = [ gobjectIntrospection intltool pkgconfig vala gperf libxml2 ];
+  buildInputs = [ gnome3.glib gnome3.gtk3 ncurses ];
 
   propagatedBuildInputs = [ gnutls pcre2 ];
 
diff --git a/pkgs/desktops/gnome-3/core/vte/src.nix b/pkgs/desktops/gnome-3/core/vte/src.nix
index 45029e8bb8dd..c63873767dc4 100644
--- a/pkgs/desktops/gnome-3/core/vte/src.nix
+++ b/pkgs/desktops/gnome-3/core/vte/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "vte-0.50.1";
+  name = "vte-0.50.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/vte/0.50/vte-0.50.1.tar.xz;
-    sha256 = "cf1708e3e573160e1db107014b3ef70888fefe6b668373fed70e8d1cac45a8c2";
+    url = mirror://gnome/sources/vte/0.50/vte-0.50.2.tar.xz;
+    sha256 = "79dd316bfaff48f2fb74d066baae0d830e1f44436796fe410a57297e5c5f09cf";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/yelp/src.nix b/pkgs/desktops/gnome-3/core/yelp/src.nix
index 7f38bab736fd..dd06a6bf1ebb 100644
--- a/pkgs/desktops/gnome-3/core/yelp/src.nix
+++ b/pkgs/desktops/gnome-3/core/yelp/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "yelp-3.22.0";
+  name = "yelp-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/yelp/3.22/yelp-3.22.0.tar.xz;
-    sha256 = "8616b77c239aaa731312609f192c9b2c71d54b2cae42ff23efa23b5b3188778e";
+    url = mirror://gnome/sources/yelp/3.26/yelp-3.26.0.tar.xz;
+    sha256 = "e4cb02ed2f44cfec3c352c957f8a461d9689cbc06eb3b503a58ffe92e1753f1b";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/zenity/src.nix b/pkgs/desktops/gnome-3/core/zenity/src.nix
index cb12262725a6..ad0ce2f4d733 100644
--- a/pkgs/desktops/gnome-3/core/zenity/src.nix
+++ b/pkgs/desktops/gnome-3/core/zenity/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "zenity-3.24.0";
+  name = "zenity-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/zenity/3.24/zenity-3.24.0.tar.xz;
-    sha256 = "6ff0a026ec94e5bc1b30f78df91e54f4f82fd982f4c29b52fe5dacc886a9f7f7";
+    url = mirror://gnome/sources/zenity/3.26/zenity-3.26.0.tar.xz;
+    sha256 = "6a7f34626dd62b751fe22bcdb32f3558f8a8fdddcc9406893dd264f0ac18e830";
   };
 }
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 585f79ddea67..30afc85ae8a0 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -13,7 +13,7 @@ let
 
   callPackage = pkgs.newScope self;
 
-  version = "3.24";
+  version = "3.26";
   maintainers = with pkgs.lib.maintainers; [ lethalman ];
 
   corePackages = with gnome3; [
@@ -54,7 +54,7 @@ let
   gnome3 = self // { recurseForDerivations = false; };
   gtk = gtk3;
   gtkmm = gtkmm3;
-  vala = pkgs.vala_0_32;
+  vala = pkgs.vala_0_38;
   gegl_0_3 = pkgs.gegl_0_3.override { inherit gtk; };
 
 # Simplify the nixos module and gnome packages
@@ -237,7 +237,9 @@ let
 
   totem-pl-parser = callPackage ./core/totem-pl-parser { };
 
-  tracker = callPackage ./core/tracker { giflib = pkgs.giflib_5_0; };
+  tracker = callPackage ./core/tracker { };
+
+  tracker-miners = callPackage ./core/tracker-miners { };
 
   vte = callPackage ./core/vte { };
 
diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/src.nix b/pkgs/desktops/gnome-3/devtools/anjuta/src.nix
index bbb7696d91c9..32843b14d8e4 100644
--- a/pkgs/desktops/gnome-3/devtools/anjuta/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/anjuta/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "anjuta-3.22.0";
+  name = "anjuta-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/anjuta/3.22/anjuta-3.22.0.tar.xz;
-    sha256 = "4face1c063a5a6687a6cfc6f1f700ba15f13664633c05caa2fbf50317608dd03";
+    url = mirror://gnome/sources/anjuta/3.26/anjuta-3.26.0.tar.xz;
+    sha256 = "fb895464c1a3c915bb2bb3ea5d236fd17202caa7205f6792f70a75affc343d70";
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/src.nix b/pkgs/desktops/gnome-3/devtools/devhelp/src.nix
index b13de444c7e7..b90fc03e18da 100644
--- a/pkgs/desktops/gnome-3/devtools/devhelp/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/devhelp/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "devhelp-3.24.0";
+  name = "devhelp-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/devhelp/3.24/devhelp-3.24.0.tar.xz;
-    sha256 = "4858de1c815532ad160d1bf9facd28859972e3a052908a8edf73f866c8cce430";
+    url = mirror://gnome/sources/devhelp/3.26/devhelp-3.26.0.tar.xz;
+    sha256 = "6bf2714f7f953b5858c643585383c4e4c8e9c65055527505abbf24fbf1ac8e38";
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/gdl/src.nix b/pkgs/desktops/gnome-3/devtools/gdl/src.nix
index c8b65884e082..6475b36508cb 100644
--- a/pkgs/desktops/gnome-3/devtools/gdl/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/gdl/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gdl-3.22.0";
+  name = "gdl-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gdl/3.22/gdl-3.22.0.tar.xz;
-    sha256 = "cc5b360e1392292186924f0f9a8efc0f4db7e6e56dc7042037466b5cc839660c";
+    url = mirror://gnome/sources/gdl/3.26/gdl-3.26.0.tar.xz;
+    sha256 = "f3ad03f9a34f751f52464e22d962c0dec8ff867b7b7b37fe24907f3dcd54c079";
   };
 }
diff --git a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix
index 7f39aabda022..4838b8f9d09e 100644
--- a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix
+++ b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-devel-docs-3.22.0";
+  name = "gnome-devel-docs-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-devel-docs/3.22/gnome-devel-docs-3.22.0.tar.xz;
-    sha256 = "e0778c62670b1c19d45191ac5503568cbd09500e9e30015b48c19e95959e6d85";
+    url = mirror://gnome/sources/gnome-devel-docs/3.26/gnome-devel-docs-3.26.0.tar.xz;
+    sha256 = "12eea77b550acfa617e14a89e4d24f93881294340abcc2c3abc7092c851703c3";
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
index 4d788e909e2d..5265eab1cbc6 100644
--- a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-dash-to-dock-${version}";
-  version = "v60";
+  version = "v61";
 
   src = fetchFromGitHub {
     owner = "micheleg";
     repo = "dash-to-dock";
     rev = "extensions.gnome.org-" + version;
-    sha256 = "0w9km1zcxcskrsfr392zx945k227qajnw09pxc20d1vwv78wlgy3";
+    sha256 = "152xzhal3wr40j0pv03v0gg20054n5hqqy3s10bkj2a0x830pgjk";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
index 4aedc10e056a..84a9d26c2d76 100644
--- a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-shell-extension-topicons-plus-${version}";
-  version = "20";
+  version = "21";
 
   src = fetchFromGitHub {
     owner = "phocean";
     repo = "TopIcons-plus";
-    rev = "01535328bd43ecb3f2c71376de6fc8d1d8a88577";
-    sha256 = "0pwpg72ihgj2jl9pg63y0hibdsl27srr3mab881w0gh17vwyixzi";
+    rev = "v${version}";
+    sha256 = "15p61krd7lcmgr1d4s2ydfjy3pyq79pq5100xzy6dln1538901m3";
   };
 
   buildInputs = [ glib ];
diff --git a/pkgs/desktops/gnome-3/games/five-or-more/src.nix b/pkgs/desktops/gnome-3/games/five-or-more/src.nix
index 597db69a5dcf..676e1a7d75a3 100644
--- a/pkgs/desktops/gnome-3/games/five-or-more/src.nix
+++ b/pkgs/desktops/gnome-3/games/five-or-more/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "five-or-more-3.22.0";
+  name = "five-or-more-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/five-or-more/3.22/five-or-more-3.22.0.tar.xz;
-    sha256 = "33c0ba7723144aea496112fa85a1d7e5a2a8ecaa32f4373471470d7c3078da94";
+    url = mirror://gnome/sources/five-or-more/3.26/five-or-more-3.26.0.tar.xz;
+    sha256 = "7c24f7f2603df99299d38b40b14c005aaad88820113ed71e4b3765ac3b027772";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-chess/src.nix b/pkgs/desktops/gnome-3/games/gnome-chess/src.nix
index 3fb218ab6024..ee682d3801bd 100644
--- a/pkgs/desktops/gnome-3/games/gnome-chess/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-chess/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-chess-3.24.1";
+  name = "gnome-chess-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-chess/3.24/gnome-chess-3.24.1.tar.xz;
-    sha256 = "6c9647beb7579b0a8de4e73698d931b1d9ac2efab4e7d3649f482d2c68ebf8a3";
+    url = mirror://gnome/sources/gnome-chess/3.26/gnome-chess-3.26.0.tar.xz;
+    sha256 = "a0f6f862ab7067626a3a86cdc9c14dde595e38e6719e0198cb967e11facf1f12";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix b/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix
index 447bc1eff130..e37f3642c82e 100644
--- a/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-klotski/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-klotski-3.22.0";
+  name = "gnome-klotski-3.22.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-klotski/3.22/gnome-klotski-3.22.0.tar.xz;
-    sha256 = "25e35369d1b5d2f9e6b92d44568d21df631b5b23dd7b12ca226a04f58cb54700";
+    url = mirror://gnome/sources/gnome-klotski/3.22/gnome-klotski-3.22.2.tar.xz;
+    sha256 = "16hd6yk01rhb4pj8m01fyn72wykf41d72gsms81q0n4zm5bm1a4h";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-mines/src.nix b/pkgs/desktops/gnome-3/games/gnome-mines/src.nix
index 4b0e85fdef10..39096f00e42c 100644
--- a/pkgs/desktops/gnome-3/games/gnome-mines/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-mines/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-mines-3.24.0";
+  name = "gnome-mines-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-mines/3.24/gnome-mines-3.24.0.tar.xz;
-    sha256 = "e663af29235a5c3f03d90f135487f57e5fd9137480dafb0ae9efc0da855602f6";
+    url = mirror://gnome/sources/gnome-mines/3.26/gnome-mines-3.26.0.tar.xz;
+    sha256 = "2b041eaf0d57307498c56d8e285b2e539f634fdba95d689f6af75aa4ed6edde9";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix b/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix
index 597196a5ec8c..f19142cf251e 100644
--- a/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-sudoku/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-sudoku-3.24.0";
+  name = "gnome-sudoku-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-sudoku/3.24/gnome-sudoku-3.24.0.tar.xz;
-    sha256 = "04a29447889448ee5d5840cb5b2fd05ce6031c38a24809ce4919647ee6f485d7";
+    url = mirror://gnome/sources/gnome-sudoku/3.26/gnome-sudoku-3.26.0.tar.xz;
+    sha256 = "8774c7093a97131b94d39142f1e044c8619cfdb6ad2546176271589fbb12d3a0";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix
index 6828e56a911f..30a33e28e2de 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-taquin-3.22.0";
+  name = "gnome-taquin-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-taquin/3.22/gnome-taquin-3.22.0.tar.xz;
-    sha256 = "780af247856b91095a9a2e1a6b425e4e3a78520659e2157eddb421377e8ce982";
+    url = mirror://gnome/sources/gnome-taquin/3.26/gnome-taquin-3.26.1.tar.xz;
+    sha256 = "de352bb2dfcd759de37f6bccf1e4790760e020b4bb06a1bc8d5f03d89613b6fd";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/hitori/default.nix b/pkgs/desktops/gnome-3/games/hitori/default.nix
index 21d4ed6f520e..857aec9700f3 100644
--- a/pkgs/desktops/gnome-3/games/hitori/default.nix
+++ b/pkgs/desktops/gnome-3/games/hitori/default.nix
@@ -2,12 +2,7 @@
 , libxml2, intltool, itstool }:
 
 stdenv.mkDerivation rec {
-  name = "hitori-${gnome3.version}.1";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/hitori/${gnome3.version}/${name}.tar.xz";
-    sha256 = "07pm3xl05jgb8x151k1j2ap57dmfvk2nkz9dmqnn5iywfigsysd1";
-  };
+  inherit (import ./src.nix fetchurl) name src;
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/games/iagno/src.nix b/pkgs/desktops/gnome-3/games/iagno/src.nix
index 6c20a8f7844a..86c1f30e5d66 100644
--- a/pkgs/desktops/gnome-3/games/iagno/src.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "iagno-3.22.0";
+  name = "iagno-3.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/iagno/3.22/iagno-3.22.0.tar.xz;
-    sha256 = "e7070c55f1f74cd9345388ee120f0e6cc47392868c2601664c26a0fa2672fe13";
+    url = mirror://gnome/sources/iagno/3.26/iagno-3.26.1.tar.xz;
+    sha256 = "3476810d0c42aa1600484de2c111c94e0cf5247a98f071b23a0b5e3036362121";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/lightsoff/src.nix b/pkgs/desktops/gnome-3/games/lightsoff/src.nix
index 2a26df6615bd..18528df24a38 100644
--- a/pkgs/desktops/gnome-3/games/lightsoff/src.nix
+++ b/pkgs/desktops/gnome-3/games/lightsoff/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "lightsoff-3.24.0";
+  name = "lightsoff-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/lightsoff/3.24/lightsoff-3.24.0.tar.xz;
-    sha256 = "5d1bb7de4b3f5c7814e5599a5171cfdeef74e774a8a6dbd992c893a5af6bd8ce";
+    url = mirror://gnome/sources/lightsoff/3.26/lightsoff-3.26.0.tar.xz;
+    sha256 = "d12572bc7b70481320ec90c6130ad794b559a9990d08bef158a1d826aaa35976";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/swell-foop/src.nix b/pkgs/desktops/gnome-3/games/swell-foop/src.nix
index 7fa5f724de26..082081ca36c7 100644
--- a/pkgs/desktops/gnome-3/games/swell-foop/src.nix
+++ b/pkgs/desktops/gnome-3/games/swell-foop/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "swell-foop-3.24.0";
+  name = "swell-foop-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/swell-foop/3.24/swell-foop-3.24.0.tar.xz;
-    sha256 = "1b2d444e4d399e300afe07a243423c8b3ab1ca32828c749e0be9af48a5904a11";
+    url = mirror://gnome/sources/swell-foop/3.26/swell-foop-3.26.0.tar.xz;
+    sha256 = "122e2b5a51ad0144ea6b5fd2736ac43b101c7892198948e697bfc4c014bbba22";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix
index b3646abd6dda..4180cd3b8ea1 100644
--- a/pkgs/desktops/gnome-3/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -1,11 +1,7 @@
-{ stdenv, fetchurl, fetchgit, vala_0_32, intltool, libgit2, pkgconfig, gtk3, glib
-, json_glib, webkitgtk, wrapGAppsHook, libpeas, bash, gobjectIntrospection
+{ stdenv, fetchurl, vala, intltool, pkgconfig, gtk3, glib
+, json_glib, wrapGAppsHook, libpeas, bash, gobjectIntrospection
 , gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg, libsecret
-, dconf}:
-
-
-# TODO: icons and theme still does not work
-# use packaged gnome3.adwaita-icon-theme
+, libsoup }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -20,14 +16,11 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ shared_mime_info
                             gnome3.gnome_themes_standard ];
 
-  buildInputs = [ vala_0_32 libgit2 gtk3 glib json_glib webkitgtk libgee libpeas
+  buildInputs = [ gtk3 glib json_glib libgee libpeas gnome3.libsoup
                   libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings_desktop_schemas
                   librsvg libsecret gobjectIntrospection gnome3.adwaita-icon-theme ];
 
-  nativeBuildInputs = [ wrapGAppsHook intltool pkgconfig ];
-
-  # https://bugzilla.gnome.org/show_bug.cgi?id=758240
-  preBuild = ''make -j$NIX_BUILD_CORES Gitg-1.0.gir'';
+  nativeBuildInputs = [ vala wrapGAppsHook intltool pkgconfig ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
index ee3dd60e59ad..cce734b474e4 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome3, libxslt, packagekit
-, fontconfig, libcanberra_gtk3, libnotify, wrapGAppsHook, dbus_glib, dbus_libs }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, libxslt, packagekit, polkit
+, fontconfig, libcanberra_gtk3, systemd, libnotify, wrapGAppsHook, dbus_glib, dbus_libs, desktop_file_utils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0";
 
-  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
-  buildInputs = [ libxslt gnome3.gtk packagekit fontconfig
+  nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop_file_utils ];
+  buildInputs = [ libxslt gnome3.gtk packagekit fontconfig systemd polkit
                   libcanberra_gtk3 libnotify dbus_glib dbus_libs ];
 
+  prePatch = "patchShebangs meson_post_install.sh";
+
   meta = with stdenv.lib; {
     homepage = https://www.freedesktop.org/software/PackageKit/;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix
index 992badf1f4f4..5448eb8a83a7 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-packagekit-3.24.0";
+  name = "gnome-packagekit-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-packagekit/3.24/gnome-packagekit-3.24.0.tar.xz;
-    sha256 = "8d038681f6879c93f3f58faaa37c41c7ac8cf53eba6b8cb871f5f683ac0bd13f";
+    url = mirror://gnome/sources/gnome-packagekit/3.26/gnome-packagekit-3.26.0.tar.xz;
+    sha256 = "6a219e16923d3976f424416c944bef06913922da24bc9e6644ec114c2d563417";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch
index d236730282a9..23be404ea406 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0001-Search-for-themes-and-icons-in-system-data-dirs.patch
@@ -1,25 +1,24 @@
-From ac9e8e835888da1faa57f07c54fa4e73783621e2 Mon Sep 17 00:00:00 2001
+From f7f7fe6bf36ca08c66192077bf964036eb02ffb5 Mon Sep 17 00:00:00 2001
 From: Jascha Geerds <jascha@jgeerds.name>
-Date: Sun, 25 Jun 2017 11:32:30 +0100
+Date: Tue, 19 Sep 2017 03:08:07 +0200
 Subject: [PATCH 1/3] Search for themes and icons in system data dirs
 
 ---
- gtweak/tweaks/tweak_group_interface.py | 17 ++++-------------
- gtweak/tweaks/tweak_group_keymouse.py  |  7 ++-----
- gtweak/utils.py                        | 17 +++++++++++++++++
- 3 files changed, 23 insertions(+), 18 deletions(-)
+ gtweak/tweaks/tweak_group_appearance.py | 17 ++++-------------
+ gtweak/utils.py                         | 17 +++++++++++++++++
+ 2 files changed, 21 insertions(+), 13 deletions(-)
 
-diff --git a/gtweak/tweaks/tweak_group_interface.py b/gtweak/tweaks/tweak_group_interface.py
-index 97751ed..db89b85 100644
---- a/gtweak/tweaks/tweak_group_interface.py
-+++ b/gtweak/tweaks/tweak_group_interface.py
+diff --git a/gtweak/tweaks/tweak_group_appearance.py b/gtweak/tweaks/tweak_group_appearance.py
+index ccadefc..0d12194 100644
+--- a/gtweak/tweaks/tweak_group_appearance.py
++++ b/gtweak/tweaks/tweak_group_appearance.py
 @@ -26,7 +26,7 @@ from gi.repository import Gtk
  from gi.repository import GLib
  
  import gtweak
 -from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file
 +from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file, get_resource_dirs
- from gtweak.tweakmodel import Tweak, TWEAK_GROUP_APPEARANCE
+ from gtweak.tweakmodel import Tweak
  from gtweak.gshellwrapper import GnomeShellFactory
  from gtweak.gsettings import GSettingsSetting
 @@ -50,10 +50,7 @@ class GtkThemeSwitcher(GSettingsComboTweak):
@@ -58,33 +57,8 @@ index 97751ed..db89b85 100644
                      os.path.isdir(d) and \
                          os.path.exists(os.path.join(d, "cursors")))
          return valid
-diff --git a/gtweak/tweaks/tweak_group_keymouse.py b/gtweak/tweaks/tweak_group_keymouse.py
-index 69c4b7e..b06900c 100644
---- a/gtweak/tweaks/tweak_group_keymouse.py
-+++ b/gtweak/tweaks/tweak_group_keymouse.py
-@@ -21,7 +21,7 @@ from gi.repository import GLib
- 
- import gtweak
- from gtweak.gshellwrapper import GnomeShellFactory
--from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default
-+from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default, get_resource_dirs
- from gtweak.widgets import ListBoxTweakGroup, GSettingsComboTweak, GSettingsSwitchTweak, GetterSetterSwitchTweak, Title, GSettingsComboEnumTweak
- 
- _shell = GnomeShellFactory().get_shell()
-@@ -41,10 +41,7 @@ class KeyThemeSwitcher(GSettingsComboTweak):
-             **options)
- 
-     def _get_valid_key_themes(self):
--        dirs = ( os.path.join(gtweak.DATA_DIR, "themes"),
--                 os.path.join(GLib.get_user_data_dir(), "themes"),
--                 os.path.join(os.path.expanduser("~"), ".themes"))
--        valid = walk_directories(dirs, lambda d:
-+        valid = walk_directories(get_resource_dirs("themes"), lambda d:
-                     os.path.isfile(os.path.join(d, "gtk-3.0", "gtk-keys.css")) and \
-                     os.path.isfile(os.path.join(d, "gtk-2.0-key", "gtkrc")))
-         return valid
 diff --git a/gtweak/utils.py b/gtweak/utils.py
-index 39f8833..b0993b6 100644
+index de6c345..6c60b88 100644
 --- a/gtweak/utils.py
 +++ b/gtweak/utils.py
 @@ -21,6 +21,7 @@ import tempfile
@@ -95,7 +69,7 @@ index 39f8833..b0993b6 100644
  
  import gtweak
  from gtweak.gsettings import GSettingsSetting
-@@ -116,6 +117,22 @@ def execute_subprocess(cmd_then_args, block=True):
+@@ -117,6 +118,22 @@ def execute_subprocess(cmd_then_args, block=True):
          stdout, stderr = p.communicate()
          return stdout, stderr, p.returncode
  
@@ -119,5 +93,5 @@ index 39f8833..b0993b6 100644
  class AutostartManager:
  
 -- 
-2.12.2
+2.14.1
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch
index 40c0969d5880..77b952b4b1e9 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0002-Don-t-show-multiple-entries-for-a-single-theme.patch
@@ -1,25 +1,24 @@
-From 25c047ac6a2ac892e2be3d7e002fbf7a16725a4c Mon Sep 17 00:00:00 2001
+From 8e75fe5f1ebd8a140a7306294d2219aea4ac47d2 Mon Sep 17 00:00:00 2001
 From: Jascha Geerds <jascha@jgeerds.name>
-Date: Sun, 25 Jun 2017 11:35:10 +0100
+Date: Tue, 19 Sep 2017 03:16:07 +0200
 Subject: [PATCH 2/3] Don't show multiple entries for a single theme
 
 ---
- gtweak/tweaks/tweak_group_interface.py |  8 ++++----
- gtweak/tweaks/tweak_group_keymouse.py  |  4 ++--
- gtweak/utils.py                        | 16 ++++++++++++++++
- 3 files changed, 22 insertions(+), 6 deletions(-)
+ gtweak/tweaks/tweak_group_appearance.py |  8 ++++----
+ gtweak/utils.py                         | 16 ++++++++++++++++
+ 2 files changed, 20 insertions(+), 4 deletions(-)
 
-diff --git a/gtweak/tweaks/tweak_group_interface.py b/gtweak/tweaks/tweak_group_interface.py
-index db89b85..4697fe3 100644
---- a/gtweak/tweaks/tweak_group_interface.py
-+++ b/gtweak/tweaks/tweak_group_interface.py
+diff --git a/gtweak/tweaks/tweak_group_appearance.py b/gtweak/tweaks/tweak_group_appearance.py
+index 0d12194..8e05077 100644
+--- a/gtweak/tweaks/tweak_group_appearance.py
++++ b/gtweak/tweaks/tweak_group_appearance.py
 @@ -26,7 +26,7 @@ from gi.repository import Gtk
  from gi.repository import GLib
  
  import gtweak
 -from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file, get_resource_dirs
 +from gtweak.utils import walk_directories, make_combo_list_with_default, extract_zip_file, get_resource_dirs, get_unique_resources
- from gtweak.tweakmodel import Tweak, TWEAK_GROUP_APPEARANCE
+ from gtweak.tweakmodel import Tweak
  from gtweak.gshellwrapper import GnomeShellFactory
  from gtweak.gsettings import GSettingsSetting
 @@ -54,7 +54,7 @@ class GtkThemeSwitcher(GSettingsComboTweak):
@@ -49,33 +48,11 @@ index db89b85..4697fe3 100644
  
  class ShellThemeTweak(Gtk.Box, Tweak):
  
-diff --git a/gtweak/tweaks/tweak_group_keymouse.py b/gtweak/tweaks/tweak_group_keymouse.py
-index b06900c..d34793e 100644
---- a/gtweak/tweaks/tweak_group_keymouse.py
-+++ b/gtweak/tweaks/tweak_group_keymouse.py
-@@ -21,7 +21,7 @@ from gi.repository import GLib
- 
- import gtweak
- from gtweak.gshellwrapper import GnomeShellFactory
--from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default, get_resource_dirs
-+from gtweak.utils import XSettingsOverrides, walk_directories, make_combo_list_with_default, get_resource_dirs, get_unique_resources
- from gtweak.widgets import ListBoxTweakGroup, GSettingsComboTweak, GSettingsSwitchTweak, GetterSetterSwitchTweak, Title, GSettingsComboEnumTweak
- 
- _shell = GnomeShellFactory().get_shell()
-@@ -44,7 +44,7 @@ class KeyThemeSwitcher(GSettingsComboTweak):
-         valid = walk_directories(get_resource_dirs("themes"), lambda d:
-                     os.path.isfile(os.path.join(d, "gtk-3.0", "gtk-keys.css")) and \
-                     os.path.isfile(os.path.join(d, "gtk-2.0-key", "gtkrc")))
--        return valid
-+        return get_unique_resources(valid)
- 
- TWEAK_GROUPS = [
-     ListBoxTweakGroup(_("Keyboard and Mouse"),
 diff --git a/gtweak/utils.py b/gtweak/utils.py
-index b0993b6..0d995bc 100644
+index 6c60b88..6fd7c6a 100644
 --- a/gtweak/utils.py
 +++ b/gtweak/utils.py
-@@ -133,6 +133,22 @@ def get_resource_dirs(resource):
+@@ -134,6 +134,22 @@ def get_resource_dirs(resource):
  
      return [dir for dir in dirs if os.path.isdir(dir)]
  
@@ -99,5 +76,5 @@ index b0993b6..0d995bc 100644
  class AutostartManager:
  
 -- 
-2.12.2
+2.14.1
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch
index 5082a55387a8..fcb35a026795 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/0003-Create-config-dir-if-it-doesn-t-exist.patch
@@ -1,6 +1,6 @@
-From ba2eb4be6c69ee8206e0139268c896e6a2b278d8 Mon Sep 17 00:00:00 2001
+From 6a6a7d1c708a2f568277699c5b605fa03ccb5faa Mon Sep 17 00:00:00 2001
 From: Jascha Geerds <jascha@jgeerds.name>
-Date: Sun, 25 Jun 2017 11:50:33 +0100
+Date: Tue, 19 Sep 2017 03:17:20 +0200
 Subject: [PATCH 3/3] Create config dir if it doesn't exist
 
 ---
@@ -8,7 +8,7 @@ Subject: [PATCH 3/3] Create config dir if it doesn't exist
  1 file changed, 4 insertions(+)
 
 diff --git a/gtweak/gtksettings.py b/gtweak/gtksettings.py
-index a0c163b..f5883ec 100644
+index a11363b..2871c49 100644
 --- a/gtweak/gtksettings.py
 +++ b/gtweak/gtksettings.py
 @@ -36,6 +36,10 @@ class GtkSettingsManager:
@@ -23,5 +23,5 @@ index a0c163b..f5883ec 100644
              keyfile.load_from_file(self._path, 0)
          except MemoryError:
 -- 
-2.12.2
+2.14.1
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
index ad415368368d..0ab752cf1ba7 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, intltool, fetchurl, atk
+{ stdenv, meson, ninja, gettext, fetchurl, atk
 , pkgconfig, gtk3, glib, libsoup
-, bash, itstool, libxml2, python2Packages
+, bash, itstool, libxml2, python3Packages
 , gnome3, librsvg, gdk_pixbuf, file, libnotify, gobjectIntrospection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -8,22 +8,25 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
+  checkPhase = "meson test";
 
-  makeFlags = [ "DESTDIR=/" ];
+  propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxml2
-                  gnome3.gsettings_desktop_schemas file
+  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool libxml2 file wrapGAppsHook ];
+  buildInputs = [ gtk3 glib gnome3.gsettings_desktop_schemas
                   gdk_pixbuf gnome3.defaultIconTheme librsvg
-                  libnotify gnome3.gnome_shell python2Packages.pygobject3
+                  libnotify gnome3.gnome_shell python3Packages.pygobject3
                   libsoup gnome3.gnome_settings_daemon gnome3.nautilus
-                  gnome3.gnome_desktop wrapGAppsHook gobjectIntrospection
+                  gnome3.gnome_desktop gobjectIntrospection
                 ];
 
+  postPatch = ''
+    patchShebangs meson-postinstall.py
+  '';
+
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix PYTHONPATH : "$out/${python2Packages.python.sitePackages}:$PYTHONPATH")
+      --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}:$PYTHONPATH")
   '';
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix
index 0af83053fa89..da1c01152113 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-tweak-tool-3.24.1";
+  name = "gnome-tweak-tool-3.26.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-tweak-tool/3.24/gnome-tweak-tool-3.24.1.tar.xz;
-    sha256 = "19226b374148d660330af9a8341087c2f869bb24355f4dcc87857169eca9f565";
+    url = mirror://gnome/sources/gnome-tweak-tool/3.26/gnome-tweak-tool-3.26.3.tar.xz;
+    sha256 = "9406447850b14de204f9c5a6eaa6b63ba805ddb1a10fd863239841090af76430";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index a43f9206cdd6..b92aac4f9433 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -2,12 +2,12 @@
 , pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  version = "3.24.2";
+  version = "3.26.0";
   name = "gpaste-${version}";
 
   src = fetchurl {
     url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "16142jfpkz8qfs7zp9k3c5l9pnvxbr5yygj8jdpx6by1142s6340";
+    sha256 = "0xlcbm9qnw61h6xwa1c0lz5mp1ca3vjjn5wpk0ahhhl6k94mzjs7";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig vala wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/misc/libgames-support/default.nix b/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
index 90ee658fd096..107200d0895b 100644
--- a/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgames-support/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, intltool }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.3";
   name = "libgnome-games-support-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgnome-games-support/1.2/${name}.tar.xz";
-    sha256 = "1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6";
+    sha256 = "1vwad7kqy7yd6wqyr71nq0blh7m53r3lz6ya16dmh942kd0w48v1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/misc/libgda/default.nix b/pkgs/desktops/gnome-3/misc/libgda/default.nix
index f477c13c7bae..edb34996867b 100644
--- a/pkgs/desktops/gnome-3/misc/libgda/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgda/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, openssl }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, itstool, libxml2, gtk3, openssl }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
index 36feb09d7eef..3c9652de4990 100644
--- a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
@@ -8,7 +8,12 @@ stdenv.mkDerivation rec {
     gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection
   ];
 
-  buildInputs = [ libssh2 libgit2 glib ];
+  propagatedBuildInputs = [
+    # Required by libgit2-glib-1.0.pc
+    libgit2 glib
+  ];
+
+  buildInputs = [ libssh2 ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
index 63f59357db5e..b6338d1f615a 100644
--- a/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/misc/pomodoro/default.nix
@@ -1,29 +1,29 @@
 { stdenv, fetchFromGitHub, autoconf-archive, appstream-glib, intltool, pkgconfig, libtool, wrapGAppsHook,
-  dbus_glib, libcanberra_gtk2, gst_all_1, vala_0_34, gnome3, gtk3,
+  dbus_glib, libcanberra_gtk2, gst_all_1, vala, gnome3, gtk3, libxml2,
   glib, gobjectIntrospection, libpeas
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.3";
+  version = "0.13.4";
   name = "gnome-shell-pomodoro-${version}";
 
   src = fetchFromGitHub {
     owner = "codito";
     repo = "gnome-pomodoro";
     rev = "${version}";
-    sha256 = "1hi4mdzyz2f8k19bkfzrrnavsbkr621w0bfpza8ij2yccpxz81h2";
+    sha256 = "0fiql99nhj168wbfhvzrhfcm4c4569gikd2zaf10vzszdqjahrl1";
   };
 
   configureScript = "./autogen.sh";
 
   nativeBuildInputs = [
     autoconf-archive libtool intltool appstream-glib
-    wrapGAppsHook pkgconfig
+    wrapGAppsHook pkgconfig libxml2
   ];
 
   buildInputs = [
     glib gobjectIntrospection libpeas
-    dbus_glib libcanberra_gtk2 vala_0_34 gst_all_1.gstreamer
+    dbus_glib libcanberra_gtk2 vala gst_all_1.gstreamer
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gnome3.gsettings_desktop_schemas
     gnome3.gnome_common gnome3.gnome_shell gtk3
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
index d91f06e0c3a1..b7c27ec3d0a9 100644
--- a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, perl, cmake, vala_0_23, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
+{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  majorVersion = "0.3";
-  minorVersion = "1.3";
+  majorVersion = "0.4";
+  minorVersion = "3";
   name = "pantheon-terminal-${majorVersion}.${minorVersion}";
   src = fetchurl {
     url = "https://launchpad.net/pantheon-terminal/${majorVersion}.x/${majorVersion}.${minorVersion}/+download/${name}.tgz";
@@ -20,9 +20,10 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  nativeBuildInputs = [ perl cmake vala_0_38 pkgconfig makeWrapper ];
   buildInputs = with gnome3; [
-    perl cmake vala_0_23 pkgconfig glib gtk3 granite libnotify gettext makeWrapper
-    vte_290 libgee gsettings_desktop_schemas defaultIconTheme
+    glib gtk3 granite libnotify gettext vte_290 libgee
+    gsettings_desktop_schemas defaultIconTheme
   ];
   meta = {
     description = "Elementary OS's terminal";
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 543fc6dfa48f..525d2bb33a58 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.27";
+  name = "orc-0.4.28";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
-    sha256 = "14vbwdydwarcvswzf744jdjb3ibhv6k4j6hzdacfan41zic3xrai";
+    sha256 = "bfcd7c6563b05672386c4eedfc4c0d4a0a12b4b4775b74ec6deb88fc2bcd83ce";
   };
 
   outputs = [ "out" "dev" ];
@@ -15,10 +15,7 @@ stdenv.mkDerivation rec {
     sed "/^toolsdir=/ctoolsdir=$dev/bin" -i "$dev"/lib/pkgconfig/orc*.pc
   '';
 
-  # building memcpy_speed.log
-  # ../test-driver: line 107:  4495 Segmentation fault      "$@" > $log_file 2>&1
-  # FAIL: memcpy_speed
-  doCheck = false; # see https://bugzilla.gnome.org/show_bug.cgi?id=728129#c7
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "The Oil Runtime Compiler";
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index baf48d7a532c..57c22f08550f 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -12,6 +12,8 @@ let
       inherit sha256;
     };
 
+    outputs = [ "out" "devdoc" ];
+
     nativeBuildInputs = [ pkgconfig flex bison libxslt ] ++ extraNativeBuildInputs;
 
     buildInputs = [ glib libiconv ] ++ libintlOrEmpty ++ extraBuildInputs;
@@ -65,5 +67,5 @@ in rec {
     extraBuildInputs = [ graphviz ];
   };
 
-  vala = vala_0_34;
+  vala = vala_0_38;
 }
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 076f43b71f36..3c954bdd1474 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -117,7 +117,7 @@ let
         -exec sed '1i#line 1 "{}"' -i '{}' \;
     )
   '' + optionalString (hostPlatform.libc == "msvcrt") ''
-    ${stdenv.cc.prefix}ranlib "$out/lib/"*.a
+    ${stdenv.cc.targetPrefix}ranlib "$out/lib/"*.a
   '';
 
 in
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 41e863d4512b..d131fc13ced3 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -447,7 +447,7 @@ stdenv.mkDerivation rec {
   crossAttrs = {
     configurePlatforms = [];
     configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.prefix}"
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
       "--enable-cross-compile"
       "--target_os=${hostPlatform.parsed.kernel.name}"
       "--arch=${hostPlatform.arch}"
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 1bd8b7392601..e8eab4827e62 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -173,7 +173,7 @@ stdenv.mkDerivation rec {
   crossAttrs = {
     configurePlatforms = [];
     configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.prefix}"
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
       "--enable-cross-compile"
       "--target_os=${hostPlatform.parsed.kernel}"
       "--arch=${hostPlatform.arch}"
diff --git a/pkgs/development/libraries/giflib/5.0.nix b/pkgs/development/libraries/giflib/5.0.nix
deleted file mode 100644
index 95038284cd60..000000000000
--- a/pkgs/development/libraries/giflib/5.0.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
-
-stdenv.mkDerivation {
-  name = "giflib-5.0.6";
-  src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-5.0.6.tar.bz2;
-    sha256 = "1sk9ysh27nabwb6z7a38n8gy2y2rnl3vjkbapv7pbjnzrff862c9";
-  };
-
-  buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
-  meta = {
-    description = "A library for reading and writing gif images";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    branch = "5.0";
-  };
-}
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index b82fd5f1e299..325a6e5bfa97 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -43,7 +43,7 @@ let
   '';
 
   ver_maj = "2.54";
-  ver_min = "1";
+  ver_min = "2";
 in
 
 stdenv.mkDerivation rec {
@@ -51,11 +51,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
-    sha256 = "50c01b1419324f10fbf9b9709ec2164b18586968bdce7540583bf32302cf47a3";
+    sha256 = "bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
-    ++ optional doCheck ./skip-timer-test.patch;
+    ++ optional doCheck ./skip-timer-test.patch
+    ++ [ ./schema-override-variable.patch ];
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
diff --git a/pkgs/development/libraries/glib/schema-override-variable.patch b/pkgs/development/libraries/glib/schema-override-variable.patch
new file mode 100644
index 000000000000..1cb5a730351b
--- /dev/null
+++ b/pkgs/development/libraries/glib/schema-override-variable.patch
@@ -0,0 +1,12 @@
+--- a/gio/gsettingsschema.c
++++ b/gio/gsettingsschema.c
+@@ -352,6 +352,9 @@
+ 
+       try_prepend_data_dir (g_get_user_data_dir ());
+ 
++      if ((path = g_getenv ("NIX_GSETTINGS_OVERRIDES_DIR")) != NULL)
++        try_prepend_dir (path);
++
+       if ((path = g_getenv ("GSETTINGS_SCHEMA_DIR")) != NULL)
+         try_prepend_dir (path);
+ 
diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.6.nix
index 0422592e70d5..9dc6d5389d9c 100644
--- a/pkgs/development/libraries/gnutls/3.5.nix
+++ b/pkgs/development/libraries/gnutls/3.6.nix
@@ -1,11 +1,11 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.5.15";
+  version = "3.6.1";
 
   src = fetchurl {
-    url = "mirror://gnupg/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "1mgsxkbs44csw07ngwbqns2y2s03m975lk1sl5ay87wbic882q04";
+    url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
+    sha256 = "1vdsir53ddxyapnxh5fpnfyij3scx3818iri4hl07g4lk4n0vc90";
   };
 
   # Skip two tests introduced in 3.5.11.  Probable reasons of failure:
@@ -14,5 +14,6 @@ callPackage ./generic.nix (args // rec {
   postPatch = ''
     sed '2iexit 77' -i tests/pkgconfig.sh
     sed '/^void doit(void)/,$s/{/{ exit(77);/; t' -i tests/trust-store.c
+    # TODO: remove just this line on some rebuild
   '';
 })
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index be869063111c..4e41545687a9 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   majorVersion = "0.4";
-  minorVersion = "0.1";
+  minorVersion = "1";
   name = "granite-${majorVersion}.${minorVersion}";
   src = fetchurl {
     url = "https://launchpad.net/granite/${majorVersion}/${majorVersion}.${minorVersion}/+download/${name}.tar.xz";
-    sha256 = "1pf4jkz3xyn1sqv70063im80ayb5kdsqwqwx11dc7vgypsl458cm";
+    sha256 = "177h5h1q4qd7g99mzbczvz78j8c9jf4f1gwdj9f6imbc7r913d4b";
   };
   cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index c52f30a21f73..4c377c735717 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -4,7 +4,7 @@
 , waylandSupport ? stdenv.isLinux, wayland, wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
-, darwin
+, darwin, gnome3
 }:
 
 assert cupsSupport -> cups != null;
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libxkbcommon epoxy json_glib ];
   propagatedBuildInputs = with xorg; with stdenv.lib;
-    [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk
+    [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk gnome3.gsettings_desktop_schemas
       libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ]
     ++ optionals waylandSupport [ wayland wayland-protocols ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa ])
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 78f507ca1465..15e7e736e0c6 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, libtool
 , glib, dbus, udev, libgudev, udisks2, libgcrypt, libcap, polkit
 , libgphoto2, avahi, libarchive, fuse, libcdio, file, bzip2, lzma
-, libxml2, libxslt, docbook_xsl, samba, libmtp
+, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, samba, libmtp
 , gnomeSupport ? false, gnome, makeWrapper }:
 
 let
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig intltool libtool file makeWrapper
-    libxml2 libxslt docbook_xsl
+    libxml2 libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
   buildInputs =
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index f5756d1f5702..2c38387eb837 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "1.5.1";
+  version = "1.7.1";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "56838dfdad2729b8866763c82d623354d138a4d99d9ffb710c7d377b5cfc7c51";
+    sha256 = "9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index e348fe0fae28..6a80a856df3c 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -110,7 +110,7 @@ let
     crossAttrs = {
       configurePlatforms = [];
       configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.prefix}"
+        "--cross-prefix=${stdenv.cc.targetPrefix}"
         "--enable-cross-compile"
         "--target_os=linux"
         "--arch=${hostPlatform.arch}"
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 992b1ea70dca..533d5d4cac81 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.84";
+  name = "libdrm-2.4.88";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "7ae9c24d91139ac9a2cdee06fe46dbe1c401a1eda1c0bd2a6d1ecf72f479e0aa";
+    sha256 = "b5e55dbac2124e742e639f5b8553e8b7395863bf73dab4f77e99fe2fc25572b5";
   };
 
   outputs = [ "out" "dev" "bin" ];
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
   configureFlags = [ "--enable-install-test-programs" ]
-    ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
+    ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64)
+      [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
     ++ stdenv.lib.optional stdenv.isDarwin "-C";
 
   crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 0f8207e83c82..75438e00570e 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl, gtk_doc
-, libgcrypt, gobjectIntrospection, vala_0_32 }:
+, libgcrypt, gobjectIntrospection, vala_0_38 }:
 let
   version = "0.18.5";
 in
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl ];
-  buildInputs = [ libgcrypt gobjectIntrospection vala_0_32 ];
+  buildInputs = [ libgcrypt gobjectIntrospection vala_0_38 ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
   meta = {
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 229a92d84bf5..cdf24c79e5ef 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig
 , gnomeSupport ? true, libgnome_keyring3, sqlite, glib_networking, gobjectIntrospection
-, valaSupport ? true, vala_0_32
+, valaSupport ? true, vala_0_38
 , libintlOrEmpty
 , intltool, python }:
 let
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" ];
 
   buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]
-    ++ stdenv.lib.optionals valaSupport [ vala_0_32 ];
+    ++ stdenv.lib.optionals valaSupport [ vala_0_38 ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
     ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring3 ];
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 23b36db8fe10..226fe5be536a 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a";
   };
 
+  outputs = [ "out" "devdoc" ];
+
   nativeBuildInputs = [ pkgconfig perl ];
 
   propagatedBuildInputs = [ libxml2 glibmm ];
diff --git a/pkgs/development/libraries/libxmlxx/v3.nix b/pkgs/development/libraries/libxmlxx/v3.nix
index 646fdfbac4f3..5e1e947b8f7c 100644
--- a/pkgs/development/libraries/libxmlxx/v3.nix
+++ b/pkgs/development/libraries/libxmlxx/v3.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r";
   };
 
+  outputs = [ "out" "devdoc" ];
+
   nativeBuildInputs = [ pkgconfig perl ];
 
   buildInputs = [ glibmm ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 728ef96666f6..2fe872701b70 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -66,7 +66,7 @@ let
 in
 
 let
-  version = "17.2.4";
+  version = "17.2.6";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -81,7 +81,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "0l75q9l4g15y66rqk2swqvj18qj60hpimv0f97jk44bfrpz0i92v";
+    sha256 = "1pihiymglf3bf6w2vphac65v64hv71wgrj38mckbwc03c8j55n3a";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 3923daad6f4b..5b998926f0a5 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.3";
+  version = "3.4";
 
   src = fetchurl {
     url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
-    sha256 = "07mif3af077763vc35s1x8vzhzlgqcgxh67c1xr13jnhslkjd526";
+    sha256 = "150y8655h629wn946dvzasq16qxsc1m9nf58mifvhl350bgl4ymf";
   };
 })
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index e00decca2ffd..c4e019bf3ac6 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   crossAttrs = {
-    makeFlags = "CROSS_COMPILE=${stdenv.cc.prefix}";
+    makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 85032677aae3..3806926fa244 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -6,14 +6,14 @@ with stdenv.lib;
 
 let
   ver_maj = "1.40";
-  ver_min = "12";
+  ver_min = "14";
 in
 stdenv.mkDerivation rec {
   name = "pango-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
-    sha256 = "75f1a9a8e4e2b28cbc078b50c1fa927ee4ded994d1ade97c5603e2d1f3161cfc";
+    sha256 = "90af1beaa7bf9e4c52db29ec251ec4fd0a8f2cc185d521ad1f88d01b3a6a17e3";
   };
 
   outputs = [ "bin" "dev" "out" "devdoc" ];
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 3b698ff74cfa..dd562d2e0f1c 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -29,6 +29,13 @@ stdenv.mkDerivation rec {
       stripLen = 2;
       addPrefixes = true;
     })
+    (fetchpatch {
+      name = "CVE-2017-8786.patch";
+      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2test.c?r1=692&r2=697&view=patch";
+      sha256 = "1c629nzrk4il2rfclwyc1a373q58m4q9ys9wr91zhl4skfk7x19b";
+      stripLen = 2;
+      addPrefixes = true;
+    })
   ];
 
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index f5bce5fb2997..056ba301d843 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -229,11 +229,11 @@ stdenv.mkDerivation rec {
     '' + optionalString hostPlatform.isMinGW " -xplatform win32-g++-4.6";
     patches = [];
     preConfigure = ''
-      sed -i -e 's/ g++/ ${stdenv.cc.prefix}g++/' \
-        -e 's/ gcc/ ${stdenv.cc.prefix}gcc/' \
-        -e 's/ ar/ ${stdenv.cc.prefix}ar/' \
-        -e 's/ strip/ ${stdenv.cc.prefix}strip/' \
-        -e 's/ windres/ ${stdenv.cc.prefix}windres/' \
+      sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
+        -e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
+        -e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
+        -e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
+        -e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
         mkspecs/win32-g++/qmake.conf
     '';
 
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index ed84dec365e1..3c50de6cc6b7 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
     sha256 = "0vw6m0azycqabbz8f0fd8xsh5kf6j3ig4wpqlhw6sklvf44ii5b8";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
-
   configureScript = "./autogen.sh";
 
   configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index ceb4bb9f370b..de2e0b62f9e2 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   ];
 
   makeFlags = [
-    "PREFIX=${stdenv.cc.prefix}"
+    "PREFIX=${stdenv.cc.targetPrefix}"
   ] ++ stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
     "-f" "win32/Makefile.gcc"
   ] ++ stdenv.lib.optionals (!static) [
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 94428ecc174d..b04b38e30486 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -17,7 +17,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "3.9";
-  minorVersion = "4";
+  minorVersion = "6";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    # from https://cmake.org/files/v3.9/cmake-3.9.4-SHA-256.txt
-    sha256 = "b5d86f12ae0072db520fdbdad67405f799eb728b610ed66043c20a92b4906ca1";
+    # from https://cmake.org/files/v3.9/cmake-3.9.6-SHA-256.txt
+    sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
   };
 
   prePatch = optionalString (!useSharedLibraries) ''
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 8e4c5d4801a4..8092e9b16f1a 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -18,6 +18,15 @@ python3Packages.buildPythonApplication rec {
     popd
   '';
 
+  patches = [
+    # Unlike libtool, vanilla Meson does not pass any information
+    # about the path library will be installed to to g-ir-scanner,
+    # breaking the GIR when path other than ${!outputLib}/lib is used.
+    # We patch Meson to add a --fallback-library-path argument with
+    # library install_dir to g-ir-scanner.
+    ./gir-fallback-path.patch
+  ];
+
   postPatch = ''
     sed -i -e 's|e.fix_rpath(install_rpath)||' mesonbuild/scripts/meson_install.py
   '';
diff --git a/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
new file mode 100644
index 000000000000..d8d14f188a2f
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
@@ -0,0 +1,13 @@
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -427,6 +427,10 @@
+         scan_command += ['--no-libtool', '--namespace=' + ns, '--nsversion=' + nsversion, '--warn-all',
+                          '--output', '@OUTPUT@']
+ 
++        fallback_libpath = girtarget.get_custom_install_dir()[0]
++        if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
++            scan_command += ['--fallback-library-path=' + fallback_libpath]
++
+         header = kwargs.pop('header', None)
+         if header:
+             if not isinstance(header, str):
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 5f0b6b628cb2..f6920a83e09c 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -10,8 +10,14 @@ python2Packages.buildPythonApplication {
     sha256 = "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb";
   };
 
+  nativeBuildInputs = [ intltool pkgconfig ];
+  buildInputs = [ libxslt ];
+
   configureFlags = "--disable-scrollkeeper";
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxslt intltool ];
+
+  preBuild = ''
+    substituteInPlace xml2po/xml2po/Makefile --replace '-e "s+^#!.*python.*+#!$(PYTHON)+"' '-e "s\"^#!.*python.*\"#!$(PYTHON)\""'
+  '';
+
   propagatedBuildInputs = [ libxml2Python ];
 }
diff --git a/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch b/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
index 78c57306b797..95f6879a0069 100644
--- a/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
+++ b/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
@@ -1,28 +1,13 @@
-diff --git a/m4/gtkdoc_jh_check_xml_catalog.m4 b/m4/gtkdoc_jh_check_xml_catalog.m4
-index 618c1c9..1842a0d 100644
 --- a/m4/gtkdoc_jh_check_xml_catalog.m4
 +++ b/m4/gtkdoc_jh_check_xml_catalog.m4
-@@ -10,7 +10,21 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
+@@ -5,8 +5,8 @@
+ [
+ 	AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+ 	AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+-	if $jh_found_xmlcatalog && \
+-		AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
++	# empty argument forces libxml to use XML_CATALOG_FILES variable
++	if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
  		AC_MSG_RESULT([found])
  		ifelse([$3],,,[$3])
  	else
--		AC_MSG_RESULT([not found])
--		ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
-+		jh_check_xml_catalog_saved_ifs="$IFS"
-+		IFS=' '
-+		for f in $XML_CATALOG_FILES; do
-+			if [[ -f "$f" ]] && \
-+				AC_RUN_LOG([$XMLCATALOG --noout "$f" "$1" >&2]); then
-+				jh_found_xmlcatalog=true
-+				AC_MSG_RESULT([found])
-+				ifelse([$3],,,[$3])
-+				break
-+			fi
-+		done
-+		IFS="$jh_check_xml_catalog_saved_ifs"
-+		if ! $jh_found_xmlcatalog; then
-+			AC_MSG_RESULT([not found])
-+			ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
-+		fi
- 	fi
- ])
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 8e44a982067d..519d5c722af8 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -11,13 +11,13 @@ let
   version = "2.28.1";
   basename = "binutils-${version}";
   inherit (stdenv.lib) optional optionals optionalString;
-  # The prefix prepended to binary names to allow multiple binuntils on the
+  # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
-  prefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
+  targetPrefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-";
 in
 
 stdenv.mkDerivation rec {
-  name = prefix + basename;
+  name = targetPrefix + basename;
 
   src = fetchurl {
     url = "mirror://gnu/binutils/${basename}.tar.bz2";
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
     then "-Wno-string-plus-int -Wno-deprecated-declarations"
     else "-static-libgcc";
 
-  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
   configurePlatforms =
     # TODO(@Ericson2314): Figure out what's going wrong with Arm
     if hostPlatform == targetPlatform && targetPlatform.isArm
@@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit prefix version;
+    inherit targetPrefix version;
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 1947fd30a401..199e4bd896d7 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -63,7 +63,7 @@ let
     crossAttrs = {
       makeFlags = [
         "ARCH=${hostPlatform.platform.kernelArch}"
-        "CROSS_COMPILE=${stdenv.cc.prefix}"
+        "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
       ];
     };
 
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 8ac93689373d..613606b50358 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -3,24 +3,24 @@
 }:
 
 # Make sure both underlying packages claim to have prepended their binaries
-# with the same prefix.
-assert binutils-raw.prefix == cctools.prefix;
+# with the same targetPrefix.
+assert binutils-raw.targetPrefix == cctools.targetPrefix;
 
 let
-  inherit (binutils-raw) prefix;
+  inherit (binutils-raw) targetPrefix;
   cmds = [
     "ar" "ranlib" "as" "dsymutil" "install_name_tool"
     "ld" "strip" "otool" "lipo" "nm" "strings" "size"
   ];
 in
 
-# TODO loop over prefixed binaries too
+# TODO loop over targetPrefixed binaries too
 stdenv.mkDerivation {
-  name = "${prefix}cctools-binutils-darwin";
+  name = "${targetPrefix}cctools-binutils-darwin";
   buildCommand = ''
     mkdir -p $out/bin $out/include
 
-    ln -s ${binutils-raw.out}/bin/${prefix}c++filt $out/bin/${prefix}c++filt
+    ln -s ${binutils-raw.out}/bin/${targetPrefix}c++filt $out/bin/${targetPrefix}c++filt
 
     # We specifically need:
     # - ld: binutils doesn't provide it on darwin
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
     # - strip: the binutils one seems to break mach-o files
     # - lipo: gcc build assumes it exists
     # - nm: the gnu one doesn't understand many new load commands
-    for i in ${stdenv.lib.concatStringsSep " " (builtins.map (e: prefix + e) cmds)}; do
+    for i in ${stdenv.lib.concatStringsSep " " (builtins.map (e: targetPrefix + e) cmds)}; do
       ln -sf "${cctools}/bin/$i" "$out/bin/$i"
     done
 
@@ -44,6 +44,6 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    inherit prefix;
+    inherit targetPrefix;
   };
 }
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index e08e78339832..bcca11d66b19 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -5,9 +5,9 @@
 }:
 
 let
-  # The prefix prepended to binary names to allow multiple binuntils on the
+  # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
-  prefix = stdenv.lib.optionalString
+  targetPrefix = stdenv.lib.optionalString
     (targetPlatform != hostPlatform)
     "${targetPlatform.config}-";
 in
@@ -19,7 +19,7 @@ assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
 
 let
   baseParams = rec {
-    name = "${prefix}cctools-port-${version}";
+    name = "${targetPrefix}cctools-port-${version}";
     version = "895";
 
     src = fetchFromGitHub {
@@ -49,7 +49,7 @@ let
 
     enableParallelBuilding = true;
 
-    # TODO(@Ericson2314): Always pass "--target" and always prefix.
+    # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
     configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
     configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [
       "CXXFLAGS=-I${libcxx}/include/c++/v1"
@@ -113,7 +113,7 @@ let
       '';
 
     passthru = {
-      inherit prefix;
+      inherit targetPrefix;
     };
 
     meta = {
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 0030f60000d2..03b30af6c3e1 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
     CONFIG_DEFAULT_SETFONT_DIR "/etc/kbd"
 
     ${extraConfig}
-    CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.prefix}"
+    CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cc.targetPrefix}"
     EOF
 
     make oldconfig
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
   '';
 
   postConfigure = lib.optionalString useMusl ''
-    makeFlagsArray+=("CC=${stdenv.cc.prefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
+    makeFlagsArray+=("CC=${stdenv.cc.targetPrefix}gcc -isystem ${musl}/include -B${musl}/lib -L${musl}/lib")
   '';
 
   nativeBuildInputs = lib.optional (hostPlatform != buildPlatform) buildPackages.stdenv.cc;
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index b64242e911db..4bcf6e037e0f 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     /* I don't want cross-python or cross-perl -
        I don't know if cross-python even works */
     propagatedBuildInputs = [ elfutils.crossDrv newt.crossDrv ];
-    makeFlags = "CROSS_COMPILE=${stdenv.cc.prefix}";
+    makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
     elfutils = elfutils.crossDrv;
     inherit (kernel.crossDrv) src patches;
   };
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index 92ac1a77898c..c503b982aa29 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   ] # TODO(@Ericson2314): We now can get the ABI from
     # `hostPlatform.parsed.abi`, is this still a good idea?
     ++ stdenv.lib.optional (hostPlatform.platform.kernelArch == "arm") "CONFIG_AEABI=y"
-    ++ stdenv.lib.optional (hostPlatform != buildPlatform) "CROSS_COMPILE=${stdenv.cc.prefix}";
+    ++ stdenv.lib.optional (hostPlatform != buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
 
   # Install static binaries as well.
   postInstall = ''
diff --git a/pkgs/os-specific/linux/mdadm/4.nix b/pkgs/os-specific/linux/mdadm/4.nix
index 5511d72884a5..f9c2a5e09af6 100644
--- a/pkgs/os-specific/linux/mdadm/4.nix
+++ b/pkgs/os-specific/linux/mdadm/4.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm"
     "STRIP="
   ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [
-    "CROSS_COMPILE=${stdenv.cc.prefix}"
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
   ];
 
   nativeBuildInputs = [ groff ];
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 0929bae991dd..1e2c1dafb2db 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm"
     "STRIP="
   ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [
-    "CROSS_COMPILE=${stdenv.cc.prefix}"
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
   ];
 
   nativeBuildInputs = [ groff ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 7c8ffef86eec..aeda85584e79 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "nixos";
     repo = "systemd";
-    rev = "ba777535a890c2a2b7677dfacc63e12c578b9b3f";
-    sha256 = "1vb45fbqkrgczfwkb0y07ldnwhjqk2sh446hzfkdn8hrwl1lifg5";
+    rev = "eef5613fda5";
+    sha256 = "0wgh5y319v56hcs82mhs58ipb100cz4x41vz3kh4bq1n7sx88cdz";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix
index b2b23f200455..8befa51566de 100644
--- a/pkgs/os-specific/windows/jom/default.nix
+++ b/pkgs/os-specific/windows/jom/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   QTDIR = qt48;
   
   crossAttrs = {
-    # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.prefix}windres";
+    # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres";
     QTDIR = qt48.crossDrv;
     preBuild = ''
       export NIX_CROSS_CFLAGS_COMPILE=-fpermissive
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index a0a337dd4283..d1c7c81c101e 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -44,16 +44,16 @@ let
   }) // {inherit libX11 xproto libXt ;};
 
   bdftopcf = (mkDerivation "bdftopcf" {
-    name = "bdftopcf-1.0.5";
+    name = "bdftopcf-1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2;
-      sha256 = "09i03sk878cmx2i40lkpsysn7zqcvlczb30j7x3lryb11jz4gx1q";
+      url = mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2;
+      sha256 = "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab";
     };
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ libXfont ];
+    buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXfont ;};
+  }) // {inherit ;};
 
   bigreqsproto = (mkDerivation "bigreqsproto" {
     name = "bigreqsproto-1.1.2";
@@ -800,11 +800,11 @@ let
   }) // {inherit compositeproto libX11 libXfixes xproto ;};
 
   libXcursor = (mkDerivation "libXcursor" {
-    name = "libXcursor-1.1.14";
+    name = "libXcursor-1.1.15";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2;
-      sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv";
+      url = mirror://xorg/individual/lib/libXcursor-1.1.15.tar.bz2;
+      sha256 = "0syzlfvh29037p0vnlc8f3jxz8nl55k65blswsakklkwsc6nfki9";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 libXfixes xproto libXrender ];
@@ -860,11 +860,11 @@ let
   }) // {inherit fixesproto libX11 xextproto xproto ;};
 
   libXfont = (mkDerivation "libXfont" {
-    name = "libXfont-1.5.3";
+    name = "libXfont-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont-1.5.3.tar.bz2;
-      sha256 = "1l4k3i3xzqdmaszykh6bb2ah78p6c3z7fak7xzgq2d38s87w31db";
+      url = mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2;
+      sha256 = "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
@@ -872,11 +872,11 @@ let
   }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
 
   libXfont2 = (mkDerivation "libXfont2" {
-    name = "libXfont2-2.0.2";
+    name = "libXfont2-2.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXfont2-2.0.2.tar.bz2;
-      sha256 = "04f1lswh1ridkycgaivf1hrr77l5ap8smbfr2rqjrm7phwxqs24l";
+      url = mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2;
+      sha256 = "0klwmimmhm3axpj8pwn5l41lbggh47r5aazhw63zxkbwfgyvg2hf";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
@@ -1112,11 +1112,11 @@ let
   }) // {inherit xproto zlib ;};
 
   libpciaccess = (mkDerivation "libpciaccess" {
-    name = "libpciaccess-0.13.5";
+    name = "libpciaccess-0.14";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.13.5.tar.bz2;
-      sha256 = "16dr80rdw5bzdyhahvilfjrflj7scs2yl2mmghsb84f3nglm8b3m";
+      url = mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2;
+      sha256 = "197jbcpvp4z4x6j705mq2y4fsnnypy6f85y8xalgwhgx5bhl7x9x";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ zlib ];
@@ -1760,11 +1760,11 @@ let
   }) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
-    name = "xf86-input-libinput-0.25.0";
+    name = "xf86-input-libinput-0.26.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-libinput-0.25.0.tar.bz2;
-      sha256 = "0vsmijamfzf6vcljrr0am2qcz33zl2l0lj2mzmbwgrm7ixjx2zxv";
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2;
+      sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
     };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 5286b805be28..20d57b32dd71 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -24,6 +24,10 @@ let
   compose = f: g: x: f (g x);
 in
 {
+  bdftopcf = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.fontsproto ];
+  };
+
   bitmap = attrs: attrs // {
     nativeBuildInputs = attrs.nativeBuildInputs ++ [ makeWrapper ];
     postInstall = ''
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 7ad172b2c5ee..4ea77fee4431 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -1,5 +1,5 @@
 mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2
-mirror://xorg/individual/app/bdftopcf-1.0.5.tar.bz2
+mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2
 mirror://xorg/individual/app/bitmap-1.0.8.tar.gz
 mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2
@@ -57,20 +57,20 @@ mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2
 mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2
 mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2
 mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.13.5.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2
 mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libX11-1.6.5.tar.bz2
 mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2
 mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2
 mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2
-mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2
+mirror://xorg/individual/lib/libXcursor-1.1.15.tar.bz2
 mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libXdmcp-1.1.2.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.2.tar.bz2
-mirror://xorg/individual/lib/libXfont-1.5.3.tar.bz2
-mirror://xorg/individual/lib/libXfont2-2.0.2.tar.bz2
+mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
+mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
@@ -123,7 +123,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-libinput-0.25.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 020599e17a81..9af7de8b35e4 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, bash-completion
 , glib, polkit, pkgconfig, gettext, gusb, lcms2, sqlite, systemd, dbus
 , gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_38
-, libgudev, sane-backends }:
+, libgudev, sane-backends, udev, gnome3, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "colord-1.4.1";
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     ./fix-build-paths.patch
   ];
 
-  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection ];
+  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection makeWrapper ];
 
   buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus
                   bash-completion argyllcms libgudev sane-backends ];
@@ -36,6 +36,12 @@ stdenv.mkDerivation rec {
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
+  postFixup = ''
+    wrapProgram "$out/libexec/colord-session" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+  '';
+
   meta = {
     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
     homepage = https://www.freedesktop.org/software/colord/;
diff --git a/pkgs/tools/misc/colord/fix-build-paths.patch b/pkgs/tools/misc/colord/fix-build-paths.patch
index 7eb66a0b34be..d4bf0f36ad74 100644
--- a/pkgs/tools/misc/colord/fix-build-paths.patch
+++ b/pkgs/tools/misc/colord/fix-build-paths.patch
@@ -36,6 +36,13 @@
    )
  endif
  
+@@ -50,5 +50,5 @@
+   output : 'org.freedesktop.ColorManager.conf',
+   configuration : con2,
+   install: true,
+-  install_dir: join_paths(get_option('datadir'), 'dbus-1', 'system.d') ,
++  install_dir: join_paths(get_option('prefix'), 'etc', 'dbus-1', 'system.d') ,
+ )
 --- a/meson.build
 +++ b/meson.build
 @@ -258,6 +258,3 @@
@@ -54,3 +61,14 @@
 -  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
 +  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
  )
+--- a/src/plugins/meson.build
++++ b/src/plugins/meson.build
+@@ -66,7 +66,7 @@
+     install_dir: join_paths(get_option('libdir'), 'colord-plugins'),
+     c_args : [
+       cargs,
+-      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('libexecdir'), 'colord-sane' + '"'),
++      '-DCOLORD_SANE_BINARY="' + join_paths(get_option('prefix'), get_option('libexecdir'), 'colord-sane' + '"'),
+     ],
+     dependencies : [
+       gio,
diff --git a/pkgs/tools/networking/htpdate/default.nix b/pkgs/tools/networking/htpdate/default.nix
index 47163b94dc52..f0bb4ab46fae 100644
--- a/pkgs/tools/networking/htpdate/default.nix
+++ b/pkgs/tools/networking/htpdate/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "INSTALL=install"
-    "STRIP=${stdenv.cc.bintools.prefix}strip"
+    "STRIP=${stdenv.cc.bintools.targetPrefix}strip"
     "prefix=$(out)"
   ];
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0dbb11a04f87..4d834fb249ab 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8545,14 +8545,12 @@ with pkgs;
 
   gnu-efi = callPackage ../development/libraries/gnu-efi { };
 
-  gnutls = gnutls35;
-
-  gnutls35 = callPackage
+  gnutls = callPackage
     (if stdenv.isDarwin
       # Avoid > 3.5.10 due to frameworks for now; see discussion on:
       # https://github.com/NixOS/nixpkgs/commit/d6454e6a1
       then ../development/libraries/gnutls/3.5.10.nix
-      else ../development/libraries/gnutls/3.5.nix)
+      else ../development/libraries/gnutls/3.6.nix)
     {
       guileBindings = config.gnutls.guile or false;
     };
@@ -9695,7 +9693,6 @@ with pkgs;
 
   giflib = giflib_5_1;
   giflib_4_1 = callPackage ../development/libraries/giflib/4.1.nix { };
-  giflib_5_0 = callPackage ../development/libraries/giflib/5.0.nix { };
   giflib_5_1 = callPackage ../development/libraries/giflib/5.1.nix { };
 
   libungif = callPackage ../development/libraries/giflib/libungif.nix { };
@@ -16928,9 +16925,9 @@ with pkgs;
   };
 
   deepin-terminal = callPackage ../applications/misc/deepin-terminal {
-    vte = gnome3.vte;
+    inherit (gnome3) libgee vte;
     wnck = libwnck3;
-    gee = libgee_0_8;
+    vala = vala_0_34;
   };
 
   termite = callPackage ../applications/misc/termite {