about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
commitab15a62c68bf7bf3b02e3bab00d121cc1426733c (patch)
tree398a82403b04bfa0bae8cadf1c5a64cf83145965 /pkgs/applications
parentc643ccaa8c91f78b8c89eb87589886b8906d5b38 (diff)
parenta26357eefe017964448b5bb464163646b927a267 (diff)
downloadnixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.gz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.bz2
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.lz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.xz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.zst
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.zip
Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/banshee/default.nix55
-rw-r--r--pkgs/applications/audio/clementine/default.nix6
-rw-r--r--pkgs/applications/audio/drumgizmo/default.nix6
-rw-r--r--pkgs/applications/audio/ekho/default.nix1
-rw-r--r--pkgs/applications/audio/faust/faust2.nix17
-rw-r--r--pkgs/applications/audio/meterbridge/default.nix2
-rw-r--r--pkgs/applications/audio/meterbridge/fix_build_with_gcc-5.patch31
-rw-r--r--pkgs/applications/audio/pithos/default.nix5
-rw-r--r--pkgs/applications/audio/seq24/default.nix9
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/audio/vmpk/default.nix1
-rw-r--r--pkgs/applications/audio/xmp/default.nix1
-rw-r--r--pkgs/applications/audio/zam-plugins/default.nix2
-rw-r--r--pkgs/applications/audio/zynaddsubfx/default.nix8
-rw-r--r--pkgs/applications/backup/crashplan/CrashPlanDesktop.patch16
-rw-r--r--pkgs/applications/backup/crashplan/default.nix18
-rw-r--r--pkgs/applications/editors/aseprite/default.nix1
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/default.nix17
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix10
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix4
-rw-r--r--pkgs/applications/editors/geany/default.nix4
-rw-r--r--pkgs/applications/editors/idea/default.nix12
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix10
-rw-r--r--pkgs/applications/editors/kdevelop/gettext.patch8
-rw-r--r--pkgs/applications/editors/nano/default.nix7
-rw-r--r--pkgs/applications/editors/tiled/default.nix1
-rw-r--r--pkgs/applications/editors/tweak/default.nix21
-rw-r--r--pkgs/applications/editors/vim/default.nix4
-rw-r--r--pkgs/applications/editors/vim/macvim.nix1
-rw-r--r--pkgs/applications/graphics/antimony/default.nix11
-rw-r--r--pkgs/applications/graphics/darktable/default.nix6
-rw-r--r--pkgs/applications/graphics/digikam/default.nix224
-rw-r--r--pkgs/applications/graphics/giv/build.patch27
-rw-r--r--pkgs/applications/graphics/giv/default.nix12
-rw-r--r--pkgs/applications/graphics/hugin/default.nix4
-rw-r--r--pkgs/applications/graphics/leocad/default.nix5
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix4
-rw-r--r--pkgs/applications/graphics/pencil/default.nix4
-rw-r--r--pkgs/applications/graphics/phototonic/default.nix6
-rw-r--r--pkgs/applications/graphics/sane/backends/git.nix6
-rw-r--r--pkgs/applications/graphics/simple-scan/default.nix8
-rw-r--r--pkgs/applications/graphics/wings/default.nix19
-rw-r--r--pkgs/applications/misc/abook/default.nix18
-rw-r--r--pkgs/applications/misc/blender/default.nix6
-rw-r--r--pkgs/applications/misc/buku/default.nix34
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cdrtools/default.nix5
-rw-r--r--pkgs/applications/misc/d4x/default.nix2
-rw-r--r--pkgs/applications/misc/deco/default.nix36
-rw-r--r--pkgs/applications/misc/electrum/default.nix9
-rw-r--r--pkgs/applications/misc/emem/default.nix12
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix8
-rw-r--r--pkgs/applications/misc/gqrx/default.nix18
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/khal/default.nix1
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix21
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix10
-rw-r--r--pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch16
-rw-r--r--pkgs/applications/misc/octoprint/default.nix4
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix4
-rw-r--r--pkgs/applications/misc/opencpn/default.nix32
-rw-r--r--pkgs/applications/misc/pgadmin/default.nix2
-rw-r--r--pkgs/applications/misc/ranger/default.nix1
-rw-r--r--pkgs/applications/misc/slic3r/default.nix2
-rw-r--r--pkgs/applications/misc/spacefm/default.nix4
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch19
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch13
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch20
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch13
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch26
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch39
-rw-r--r--pkgs/applications/misc/stardict/stardict.nix44
-rw-r--r--pkgs/applications/misc/weather/default.nix23
-rw-r--r--pkgs/applications/misc/xautoclick/default.nix24
-rw-r--r--pkgs/applications/misc/yakuake/3.0.nix66
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix46
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/build_fixes_46.patch (renamed from pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch)0
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_46.patch (renamed from pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_46.patch)0
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_50.patch (renamed from pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_50.patch)0
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/widevine.patch (renamed from pkgs/applications/networking/browsers/chromium/source/widevine.patch)0
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix15
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/default.nix78
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sources.nix18
-rw-r--r--pkgs/applications/networking/browsers/chromium/update.nix (renamed from pkgs/applications/networking/browsers/chromium/source/update.nix)19
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh5
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix360
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/lynx/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/rq/default.nix36
-rw-r--r--pkgs/applications/networking/cluster/rq/rq.patch12
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix2
-rw-r--r--pkgs/applications/networking/dropbox-cli/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/default.nix24
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/pythonpath.patch45
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix71
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix38
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix85
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/vacuum/default.nix66
-rw-r--r--pkgs/applications/networking/irc/communi/default.nix21
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix13
-rw-r--r--pkgs/applications/networking/irc/quassel/qt-5.nix19
-rw-r--r--pkgs/applications/networking/irc/quassel/source.nix9
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix234
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix5
-rw-r--r--pkgs/applications/office/calligra/default.nix6
-rw-r--r--pkgs/applications/office/scribus/default.nix6
-rw-r--r--pkgs/applications/office/zim/default.nix17
-rw-r--r--pkgs/applications/office/zotero/default.nix22
-rw-r--r--pkgs/applications/science/logic/acgtk/default.nix2
-rw-r--r--pkgs/applications/science/math/lp_solve/default.nix1
-rw-r--r--pkgs/applications/science/math/scotch/default.nix36
-rw-r--r--pkgs/applications/science/robotics/gazebo/6.nix8
-rw-r--r--pkgs/applications/science/robotics/gazebo/default.nix81
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch140
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix98
-rw-r--r--pkgs/applications/search/catfish/default.nix60
-rw-r--r--pkgs/applications/search/grepm/default.nix33
-rw-r--r--pkgs/applications/version-management/bugseverywhere/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix38
-rw-r--r--pkgs/applications/version-management/rcs/default.nix2
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix7
-rw-r--r--pkgs/applications/version-management/subversion/default.nix8
-rw-r--r--pkgs/applications/video/avidemux/default.nix127
-rw-r--r--pkgs/applications/video/avidemux/dynamic_install_dir.patch12
-rw-r--r--pkgs/applications/video/avidemux/wrapper.nix29
-rw-r--r--pkgs/applications/video/dvdbackup/default.nix20
-rw-r--r--pkgs/applications/video/kodi/plugins.nix126
-rw-r--r--pkgs/applications/video/makemkv/default.nix6
-rw-r--r--pkgs/applications/video/mjpg-streamer/default.nix37
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix94
-rw-r--r--pkgs/applications/video/pitivi/default.nix1
-rw-r--r--pkgs/applications/video/popcorntime/default.nix78
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix63
-rw-r--r--pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch55
-rw-r--r--pkgs/applications/video/vlc/default.nix5
-rw-r--r--pkgs/applications/virtualization/docker/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix36
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix4
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix34
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix23
-rw-r--r--pkgs/applications/window-managers/clfswm/default.nix1
-rw-r--r--pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix33
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix4
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/sway/default.nix30
169 files changed, 2573 insertions, 1439 deletions
diff --git a/pkgs/applications/audio/banshee/default.nix b/pkgs/applications/audio/banshee/default.nix
new file mode 100644
index 000000000000..4e5086bdb26d
--- /dev/null
+++ b/pkgs/applications/audio/banshee/default.nix
@@ -0,0 +1,55 @@
+{ pkgs, stdenv, lib, fetchurl, intltool, pkgconfig, gstreamer, gst_plugins_base
+, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly, gst_ffmpeg, glib
+, mono, mono-addins, dbus-sharp-1_0, dbus-sharp-glib-1_0, notify-sharp, gtk-sharp-2_0
+, boo, gdata-sharp, taglib-sharp, sqlite, gnome-sharp, gconf, gtk-sharp-beans, gio-sharp
+, libmtp, libgpod, mono-zeroconf }:
+
+stdenv.mkDerivation rec {
+  name = "banshee-${version}";
+  version = "2.6.2";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/banshee/2.6/banshee-${version}.tar.xz";
+    sha256 = "1y30p8wxx5li39i5gpq2wib0ympy8llz0gyi6ri9bp730ndhhz7p";
+  };
+
+  dontStrip = true;
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [
+    gtk-sharp-2_0.gtk gstreamer gst_plugins_base gst_plugins_good
+    gst_plugins_bad gst_plugins_ugly gst_ffmpeg
+    mono dbus-sharp-1_0 dbus-sharp-glib-1_0 mono-addins notify-sharp
+    gtk-sharp-2_0 boo gdata-sharp taglib-sharp sqlite gnome-sharp gconf gtk-sharp-beans
+    gio-sharp libmtp libgpod mono-zeroconf
+  ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  postPatch = ''
+    patchShebangs data/desktop-files/update-desktop-file.sh
+    patchShebangs build/private-icon-theme-installer
+    sed -i "s,DOCDIR=.*,DOCDIR=$out/lib/monodoc," configure
+  '';
+
+  postInstall = let
+    ldLibraryPath = lib.makeLibraryPath [ gtk-sharp-2_0.gtk gtk-sharp-2_0 sqlite gconf glib gstreamer ];
+
+    monoGACPrefix = lib.concatStringsSep ":" [
+      mono dbus-sharp-1_0 dbus-sharp-glib-1_0 mono-addins notify-sharp gtk-sharp-2_0
+      boo gdata-sharp taglib-sharp sqlite gnome-sharp gconf gtk-sharp-beans
+      gio-sharp libmtp libgpod mono-zeroconf
+    ];
+  in ''
+    sed -e '2a export MONO_GAC_PREFIX=${monoGACPrefix}' \
+        -e 's|LD_LIBRARY_PATH=|LD_LIBRARY_PATH=${ldLibraryPath}:|' \
+        -e "s|GST_PLUGIN_PATH=|GST_PLUGIN_PATH=$GST_PLUGIN_SYSTEM_PATH:|" \
+        -e 's| mono | ${mono}/bin/mono |' \
+        -i $out/bin/banshee
+  '';
+  meta = with lib; {
+    description = "A music player written in C# using GNOME technologies";
+    platforms = platforms.linux;
+    maintainers = [ maintainers.zohl ];
+  };
+}
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index c9b16b65267d..cf58dffef02c 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -50,6 +50,12 @@ let
     name = "clementine-free-${version}";
     inherit patches src buildInputs;
     enableParallelBuilding = true;
+    postPatch = ''
+      sed -i src/CMakeLists.txt \
+        -e 's,-Werror,,g' \
+        -e 's,-Wno-unknown-warning-option,,g' \
+        -e 's,-Wno-unused-private-field,,g'
+    '';
     meta = with stdenv.lib; {
       homepage = "http://www.clementine-player.org";
       description = "A multiplatform music player";
diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix
index 9afcae1901ef..08d0afcd3f2b 100644
--- a/pkgs/applications/audio/drumgizmo/default.nix
+++ b/pkgs/applications/audio/drumgizmo/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.8.1";
+  version = "0.9.9";
   name = "drumgizmo-${version}";
 
   src = fetchurl {
     url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
-    sha256 = "1plfjhwhaz1mr3kgf5imcp3kjflk6ni9sq39gmxjxzya6gn2r6gg";
+    sha256 = "03dnh2p4s6n107n0r86h9j1jwy85a8qwjkh0288k60qpdqy1c7vp";
   };
 
   configureFlags = [ "--enable-lv2" ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "An LV2 sample based drum plugin";
     homepage = http://www.drumgizmo.org;
-    license = licenses.gpl3;
+    license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu maintainers.nico202 ];
   };
diff --git a/pkgs/applications/audio/ekho/default.nix b/pkgs/applications/audio/ekho/default.nix
index 78383eec9539..209ffa05bf28 100644
--- a/pkgs/applications/audio/ekho/default.nix
+++ b/pkgs/applications/audio/ekho/default.nix
@@ -20,7 +20,6 @@ in stdenv.mkDerivation rec {
     license        = licenses.gpl2Plus;
     platforms      = platforms.linux;
     hydraPlatforms = [];
-    maintainers    = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 4759f228e358..612a3dab99fe 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -37,7 +37,8 @@ let
 
     inherit src;
 
-    buildInputs = [ makeWrapper llvm emscripten openssl libsndfile pkgconfig libmicrohttpd vim ];
+    nativeBuildInputs = [ makeWrapper pkgconfig vim ];
+    buildInputs = [ llvm emscripten openssl libsndfile libmicrohttpd ];
 
 
     passthru = {
@@ -53,6 +54,20 @@ let
       # correct system.
       unset system
       sed -e "232s/LLVM_STATIC_LIBS/LLVMLIBS/" -i compiler/Makefile.unix
+
+      # The makefile sets LLVM_<version> depending on the current llvm
+      # version, but the detection code is quite brittle.
+      #
+      # Failing to properly detect the llvm version means that the macro
+      # LLVM_VERSION ends up being the raw output of `llvm-config --version`, while
+      # the code assumes that it's set to a symbol like `LLVM_35`.  Two problems result:
+      # * <command-line>:0:1: error: macro names must be identifiers.; and
+      # * a bunch of undefined reference errors due to conditional definitions relying on
+      #   LLVM_XY being defined.
+      #
+      # For now, fix this by 1) pinning the llvm version; 2) manually setting LLVM_VERSION
+      # to something the makefile will recognize.
+      sed '52iLLVM_VERSION=3.7.0' -i compiler/Makefile.unix
     '';
 
     # Remove most faust2appl scripts since they won't run properly
diff --git a/pkgs/applications/audio/meterbridge/default.nix b/pkgs/applications/audio/meterbridge/default.nix
index e15febda2310..d6ba094f4584 100644
--- a/pkgs/applications/audio/meterbridge/default.nix
+++ b/pkgs/applications/audio/meterbridge/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0jb6g3kbfyr5yf8mvblnciva2bmc01ijpr51m21r27rqmgi8gj5k";
   };
 
-  patches = [ ./buf_rect.patch ];
+  patches = [ ./buf_rect.patch ./fix_build_with_gcc-5.patch];
 
   buildInputs =
     [ pkgconfig SDL SDL_image libjack2
diff --git a/pkgs/applications/audio/meterbridge/fix_build_with_gcc-5.patch b/pkgs/applications/audio/meterbridge/fix_build_with_gcc-5.patch
new file mode 100644
index 000000000000..a738cd0b82a9
--- /dev/null
+++ b/pkgs/applications/audio/meterbridge/fix_build_with_gcc-5.patch
@@ -0,0 +1,31 @@
+Description: Fix build with gcc-5
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778003
+Author: Jaromír Mikeš <mira.mikes@seznam.cz>
+Forwarded: No
+
+Index: meterbridge/src/linedraw.h
+===================================================================
+--- meterbridge.orig/src/linedraw.h
++++ meterbridge/src/linedraw.h
+@@ -1,7 +1,7 @@
+ #ifndef LINEDRAW_H
+ #define LINEDRAW_H
+ 
+-inline void set_rgba(SDL_Surface *surface, Uint32 x, Uint32 y, Uint32 col);
++void set_rgba(SDL_Surface *surface, Uint32 x, Uint32 y, Uint32 col);
+ 
+ void draw_ptr(SDL_Surface *surface, int x1, int y1, int x2, int y2, Uint32 nedle_col, Uint32 aa_col);
+ 
+Index: meterbridge/src/linedraw.c
+===================================================================
+--- meterbridge.orig/src/linedraw.c
++++ meterbridge/src/linedraw.c
+@@ -4,7 +4,7 @@
+ /* set a pixel on an SDL_Surface, assumes that the surface is 32bit RGBA,
+  * ordered ABGR (I think), probably wont work on bigendian systems */
+ 
+-inline void set_rgba(SDL_Surface *surface, Uint32 x, Uint32 y, Uint32 col)
++void set_rgba(SDL_Surface *surface, Uint32 x, Uint32 y, Uint32 col)
+ {
+ 	Uint32 *bufp = (Uint32 *)surface->pixels + y*surface->pitch/4 + x;
+ 	*bufp = col;
diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix
index 1083f9434a94..ac42fc716424 100644
--- a/pkgs/applications/audio/pithos/default.nix
+++ b/pkgs/applications/audio/pithos/default.nix
@@ -19,6 +19,11 @@ pythonPackages.buildPythonApplication rec {
     substituteInPlace setup.py --replace "/usr/share" "$out/share"
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/applications
+    cp -v data/pithos.desktop $out/share/applications
+  '';
+
   buildInputs = [ wrapGAppsHook ];
 
   propagatedBuildInputs =
diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix
index 63db865eba5d..7976a7bf6789 100644
--- a/pkgs/applications/audio/seq24/default.nix
+++ b/pkgs/applications/audio/seq24/default.nix
@@ -2,20 +2,21 @@
 
 stdenv.mkDerivation  rec {
   name = "seq24-${version}";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchurl {
     url = "http://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz";
-    sha256 = "07n80zj95i80vjmsflnlbqx5vv90qmp5f6a0zap8d30849l4y258";
+    sha256 = "1qpyb7355s21sgy6gibkybxpzx4ikha57a8w644lca6qy9mhcwi3";
   };
 
-  buildInputs = [ alsaLib gtkmm libjack2 pkgconfig ];
+  buildInputs = [ alsaLib gtkmm libjack2 ];
+  nativeBuildInputs = [ pkgconfig ];
 
   meta = with stdenv.lib; {
     description = "minimal loop based midi sequencer";
     homepage = "http://www.filter24.org/seq24";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu nckx ];
   };
 }
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 769396dd838c..bc16a957c317 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -5,7 +5,7 @@
 assert stdenv.system == "x86_64-linux";
 
 let
-  version = "1.0.23.93.gd6cfae15-30";
+  version = "1.0.26.125.g64dc8bc6-14";
 
   deps = [
     alsaLib
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "0n6vz51jv6s20dp4zlqkk52bpmpyfm1qn5bfm4lfq09x1g6ir5lr";
+      sha256 = "09wanpml2a6k8asfc0pd56n7fia37amgsplsan1qdh6dwdzr3rv5";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix
index 5db7fe5afbc0..dde96764fe6c 100644
--- a/pkgs/applications/audio/vmpk/default.nix
+++ b/pkgs/applications/audio/vmpk/default.nix
@@ -12,7 +12,6 @@ in stdenv.mkDerivation rec {
     homepage    = "http://vmpk.sourceforge.net/";
     license     = licenses.gpl3Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix
index 6bec03bd71b0..10b5bc0c117d 100644
--- a/pkgs/applications/audio/xmp/default.nix
+++ b/pkgs/applications/audio/xmp/default.nix
@@ -8,7 +8,6 @@ stdenv.mkDerivation rec {
     homepage    = "http://xmp.sourceforge.net/";
     license     = licenses.gpl2Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/applications/audio/zam-plugins/default.nix b/pkgs/applications/audio/zam-plugins/default.nix
index 48f559dfd86d..0710e7f942af 100644
--- a/pkgs/applications/audio/zam-plugins/default.nix
+++ b/pkgs/applications/audio/zam-plugins/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     url = "https://github.com/zamaudio/zam-plugins.git";
     deepClone = true;
     rev = "91fe56931a3e57b80f18c740d2dde6b44f962aee";
-    sha256 = "0n29zxg4l2m3jsnfw6q2alyzaw7ibbv9nvk57k07sv3lh2yy3f30";
+    sha256 = "1s0s028h3z3pfd4qvi63fsg6bv33bvz0p5fbmbmhypzqjlx6mlkb";
   };
 
   buildInputs = [ boost libX11 mesa liblo libjack2 ladspaH lv2 pkgconfig rubberband libsndfile ];
diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix
index 84a62d34fa63..0fccf66ddbc7 100644
--- a/pkgs/applications/audio/zynaddsubfx/default.nix
+++ b/pkgs/applications/audio/zynaddsubfx/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation  rec {
   name = "zynaddsubfx-${version}";
-  version = "2.5.2";
+  version = "2.5.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.gz";
-    sha256 = "11yrady7xwfrzszkk2fvq81ymv99mq474h60qnirk27khdygk24m";
+    url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2";
+    sha256 = "16llaa2wg2gbgjhwp3632b2vx9jvanj4csv7d41k233ms6d1sjq1";
   };
 
   buildInputs = [ alsaLib libjack2 fftw fltk13 libjpeg minixml zlib liblo ];
@@ -19,6 +19,6 @@ stdenv.mkDerivation  rec {
     homepage = http://zynaddsubfx.sourceforge.net;
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu maintainers.palo ];
+    maintainers = [ maintainers.goibhniu maintainers.nico202 ];
   };
 }
diff --git a/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch b/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch
index 005164848905..7fa68ba4a388 100644
--- a/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch
+++ b/pkgs/applications/backup/crashplan/CrashPlanDesktop.patch
@@ -1,8 +1,12 @@
---- ./scripts/CrashPlanDesktop    2014-12-18 09:51:14.050804325 +0100
-+++ ./scripts/CrashPlanDesktop-1  2014-12-18 09:51:32.271009382 +0100
-@@ -9,4 +9,4 @@
- 
+--- ./scripts/CrashPlanDesktop	2016-03-02 21:01:58.000000000 -0500
++++ ./scripts/CrashPlanDesktop-1	2016-03-18 20:52:10.117686266 -0400
+@@ -11,7 +11,7 @@
  cd ${TARGETDIR}
  
--${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
-+${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop &
+ if [ "_${VERSION_5_UI}" == "_true" ]; then
+-	${TARGETDIR}/electron/crashplan > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
++	${TARGETDIR}/electron/crashplan &
+ else
+-	${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop > ${TARGETDIR}/log/ui_output.log 2> ${TARGETDIR}/log/ui_error.log &
++	${JAVACOMMON} ${GUI_JAVA_OPTS} -classpath "./lib/com.backup42.desktop.jar:./lang:./skin" com.backup42.desktop.CPDesktop &
+ fi
diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix
index f86ab91344f1..e89de9b4c6aa 100644
--- a/pkgs/applications/backup/crashplan/default.nix
+++ b/pkgs/applications/backup/crashplan/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
 
-let version = "3.6.4";
+let version = "4.6.0";
 
 in stdenv.mkDerivation rec {
   name = "crashplan-${version}";
 
   crashPlanArchive = fetchurl {
-    url = "http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
-    sha256 = "0xmzpxfm8vghk552jy167wg1nky1pp93dqds1p922hn73g0x5cv3";
+    url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
+    sha256 = "0h9zk6i1pdvl101c8l4v4x6i7q4wkmkqp2dkm0lq7ha96lrvac47";
   };
 
   srcs = [ crashPlanArchive ];
@@ -16,7 +16,6 @@ in stdenv.mkDerivation rec {
     description = "An online/offline backup solution";
     homepage = "http://www.crashplan.org";
     license = licenses.unfree;
-    broken = true;  # outdated and new client has trouble starting (nullpointer exception)
     maintainers = with maintainers; [ sztupi iElectric ];
   };
 
@@ -38,7 +37,7 @@ in stdenv.mkDerivation rec {
     # Make sure the daemon is running using the same localization as
     # the (installing) user
     echo "" >> run.conf
-    echo "export LC_ALL=en_US.UTF-8" >> run.conf
+    echo "LC_ALL=en_US.UTF-8" >> run.conf
 
     install -d -m 755 unpacked $out
 
@@ -49,15 +48,15 @@ in stdenv.mkDerivation rec {
     install -D -m 644 scripts/CrashPlan.desktop $out/share/applications/CrashPlan.desktop
 
     rm -r $out/log
+    mv -v $out/conf $out/conf.template
     ln -s $vardir/log $out/log
     ln -s $vardir/cache $out/cache
     ln -s $vardir/backupArchives $out/backupArchives
-    ln -s $vardir/conf/service.model $out/conf/service.model
-    ln -s $vardir/conf/my.service.xml $out/conf/my.service.xml
+    ln -s $vardir/conf $out/conf
 
     echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars
     echo "APP_BASENAME=CrashPlan" >> $out/install.vars
-    echo "TARGETDIR=$out" >> $out/install.vars
+    echo "TARGETDIR=${vardir}" >> $out/install.vars
     echo "BINSDIR=$out/bin" >> $out/install.vars
     echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars
     echo "VARDIR=${vardir}" >> $out/install.vars
@@ -77,7 +76,8 @@ in stdenv.mkDerivation rec {
     
     substituteInPlace $out/share/applications/CrashPlan.desktop \
       --replace /usr/local  $out \
-      --replace crashplan/skin skin
+      --replace crashplan/skin skin \
+      --replace bin/CrashPlanDesktop CrashPlanDesktop
 
     wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${gtk2}/lib:${glib}/lib:${libXtst}/lib"
   '';
diff --git a/pkgs/applications/editors/aseprite/default.nix b/pkgs/applications/editors/aseprite/default.nix
index 43180bd04e31..15230a7a0000 100644
--- a/pkgs/applications/editors/aseprite/default.nix
+++ b/pkgs/applications/editors/aseprite/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
     homepage = "http://www.aseprite.org/";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [iyzsong];
   };
 }
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 8dc1e2d0c013..de857b7a8c6e 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -16,11 +16,11 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.5.4";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "0jnszf1v7xqhm2sy5wzm3f8aw7j1dnapnbw4d46bvshv9hbbzrn8";
+    sha256 = "1izp2fwxk4rrksdbhcaj8fn0aazi7brid72n1vp7f49adrkqqc1b";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 8dca75d0af61..e4eb6eb8f658 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -312,7 +312,7 @@ rec {
   };
   eclipse_sdk_451 = eclipse-sdk-451; # backward compatibility, added 2016-01-30
 
-  eclipse-platform = eclipse-platform-451;
+  eclipse-platform = eclipse-platform-452;
 
   eclipse-platform-45 = buildEclipse {
     name = "eclipse-platform-4.5";
@@ -344,6 +344,21 @@ rec {
     };
   };
 
+  eclipse-platform-452 = buildEclipse {
+    name = "eclipse-platform-4.5.2";
+    description = "Eclipse platform";
+    sources = {
+      "x86_64-linux" = fetchurl {
+          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz;
+          sha256 = "13dsd5f5i39wd0sr2bgp57hd2msn8g2dnmw5j8hfwif22c62py47";
+        };
+      "i686-linux" = fetchurl {
+          url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk.tar.gz;
+          sha256 = "00jsmbrl4xhpbgd8hyxijgzqdic700kd3yw2qwgl0cs3ncvybxvq";
+        };
+    };
+  };
+
   eclipseWithPlugins = { eclipse, plugins ? [], jvmArgs ? [] }:
     let
       # Gather up the desired plugins.
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 3bde9b1434c6..0e0c75fcfc88 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -377,16 +377,16 @@ rec {
 
   testng = buildEclipsePlugin rec {
     name = "testng-${version}";
-    version = "6.9.10.201512020421";
+    version = "6.9.11.201603260617";
 
     srcFeature = fetchurl {
       url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar";
-      sha256 = "17y0cb1xprldjav14iy2sinv7lcw4xnjs2fwz9gl41m9m1c0hajk";
+      sha256 = "0cd7d3bdp6f081vrampsv53z55g1mjn04w9ngz3h8dr0h6jnxz3y";
     };
 
     srcPlugin = fetchurl {
       url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar";
-      sha256 = "1iwq0ifk9l56z11vhy5yscvl8l1xk6igkp103v9vwvcx6nlmkfgc";
+      sha256 = "10kdwnydmsvngn8ahijxrv50aps6wa4ckbf7p24mxbwlnmpqfj03";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index 7fc8a06644f9..29cb586484a2 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -35,11 +35,11 @@ self:
     };
 
     overrides = {
-      # These packages require emacs-25
-      el-search = markBroken super.el-search;
-      iterators = markBroken super.iterators;
-      midi-kbd = markBroken super.midi-kbd;
-      stream = markBroken super.stream;
+      el-search = markBroken super.el-search; # requires emacs-25
+      iterators = markBroken super.iterators; # requires emacs-25
+      midi-kbd = markBroken super.midi-kbd; # requires emacs-25
+      stream = markBroken super.stream; # requires emacs-25
+      cl-lib = null; # builtin
     };
 
     elpaPackages = super // overrides;
diff --git a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
index d72ab12b580d..850041ccfc77 100644
--- a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--with-lispdir=$out/share/emacs/site-lisp"
-    "--with-icondir=$out/share/emacs/site-lisp/images/w3m"
+    "--with-lispdir=$(out)/share/emacs/site-lisp"
+    "--with-icondir=$(out)/share/emacs/site-lisp/images/w3m"
   ];
 
   postInstall = ''
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 1b99d44bcc5a..b4f6baa9c64a 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }:
 
 let
-  version = "1.26";
+  version = "1.27";
 in
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "e38530e87c577e1e9806be3b40e08fb9ee321eb1abc6361ddacdad89c825f90d";
+    sha256 = "846ff699a5944c5c3c068ae0199d4c13946a668bfc6d03f8c79765667c20cadf";
   };
 
   buildInputs = [ gtk2 which pkgconfig intltool file ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index e9d25720f346..7a9f409d1289 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -185,25 +185,25 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "15.0.4";
-    build = "IC-143.2287";
+    version = "2016.1";
+    build = "IC-145.258.11";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "05kah5cx7x3rlaaxkvbbm7g8jvy9hc38q4jv7j5r9rkxd38fslvn";
+      sha256 = "1grgyaapsbf7xn0m18x6fgghjh9n1n2zblz9608g9qgx5p28kn6q";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "15.0.4";
-    build = "IU-143.2287";
+    version = "2016.1";
+    build = "IU-145.258.11";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "0416y7krrak1q5pb8axskdamy06nfxmn4hj7421j8jaz0nc50dn4";
+      sha256 = "15ybqdy311wi3iqi7bzk798cd91jpl73ngl86kzwr68d24nyy3zb";
     };
   };
 
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index b0ac24ee61a0..938a56518d5f 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "4.7.1";
+  version = "4.7.3";
   pname = "kdevelop";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "e3ad5377f53739a67216d37cda3f88c03f8fbb0c96e2a9ef4056df3c124e95c1";
+    url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
+    sha256 = "9db388d1c8274da7d168c13db612c7e94ece7815757b945b0aa0371620a06b35";
   };
 
   buildInputs = [ kdevplatform kdebase_workspace okteta qjson ];
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ kdevplatform kate konsole kde_runtime oxygen_icons ];
 
+  patches = [ ./gettext.patch ];
+
   NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
 
   meta = with stdenv.lib; {
@@ -31,6 +33,6 @@ stdenv.mkDerivation rec {
         programing languages. It is based on KDevPlatform, KDE and Qt
         libraries and is under development since 1998.
       '';
-    homepage = http://www.kdevelop.org;
+    homepage = https://www.kdevelop.org;
   };
 }
diff --git a/pkgs/applications/editors/kdevelop/gettext.patch b/pkgs/applications/editors/kdevelop/gettext.patch
new file mode 100644
index 000000000000..cefbc743fc3e
--- /dev/null
+++ b/pkgs/applications/editors/kdevelop/gettext.patch
@@ -0,0 +1,8 @@
+diff -urN kdevelop-4.7.3.orig/po/CMakeLists.txt kdevelop-4.7.3/po/CMakeLists.txt
+--- kdevelop-4.7.3.orig/po/CMakeLists.txt	2016-03-04 23:29:09.411886565 +0100
++++ kdevelop-4.7.3/po/CMakeLists.txt	2016-03-04 23:28:35.108451713 +0100
+@@ -1,3 +1,4 @@
++cmake_policy(SET CMP0002 OLD)
+ find_package(Gettext REQUIRED)
+ if (NOT GETTEXT_MSGMERGE_EXECUTABLE)
+ MESSAGE(FATAL_ERROR "Please install msgmerge binary")
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 61818561f74e..efec2410f9b5 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -12,12 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.5.0";
+  version = "2.5.3";
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.gz";
-    sha256 = "1vl9bim56k1b4zwc3icxp46w6pn6gb042j1h4jlz1jklxxpkwcpz";
+    sha256 = "1vhjrcydcfxqq1719vcsvqqnbjbq2523m00dhzag5vwzkc961c5j";
   };
-  buildInputs = [ ncurses texinfo ] ++ optional enableNls gettext;
+  nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
+  buildInputs = [ ncurses ];
   outputs = [ "out" "info" ];
   configureFlags = ''
     --sysconfdir=/etc
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 4590baf6b8e2..059b85cee5f7 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
     # The rest is GPL2 or later.
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 }
diff --git a/pkgs/applications/editors/tweak/default.nix b/pkgs/applications/editors/tweak/default.nix
new file mode 100644
index 000000000000..5ebe4672cab0
--- /dev/null
+++ b/pkgs/applications/editors/tweak/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "tweak-${version}";
+  version = "3.02";
+
+  src = fetchurl {
+    url = "http://www.chiark.greenend.org.uk/~sgtatham/tweak/${name}.tar.gz";
+    sha256 = "06js54pr5hwpwyxj77zs5s40n5aqvaw48dkj7rid2d47pyqijk2v";
+  };
+
+  buildInputs = [ ncurses ];
+  preBuild = "substituteInPlace Makefile --replace '$(DESTDIR)/usr/local' $out";
+
+  meta = with stdenv.lib; {
+    description = "An efficient hex editor";
+    homepage = "http://www.chiark.greenend.org.uk/~sgtatham/tweak";
+    license = licenses.mit;
+    platform = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 1249b0b95641..97a40e5c7e5a 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   name = "vim-${version}";
-  version = "7.4.827";
+  version = "7.4.1585";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "1m34s2hsc5lcish6gmvn2iwaz0k7jc3kg9q4nf30fj9inl7gaybs";
+    sha256 = "1kjdwpka269i4cyl0rmnmzg23dl26g65k26h32w8ayzfm3kbj123";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index 69e9ab35e96e..6f43a2f9a897 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -75,6 +75,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/Applications
     cp -r src/MacVim/build/Release/MacVim.app $out/Applications
+    rm -rf $out/MacVim.app
 
     rm $out/bin/{Vimdiff,Vimtutor,Vim,ex,rVim,rview,view}
 
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 5e8dfd93f30e..dded423652ce 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -16,6 +16,15 @@ in
     };
 
     patches = [ ./paths-fix.patch ];
+    # fix build with glibc-2.23
+    postPatch = ''
+      sed 's/\<isinf(/std::isinf(/g' -i \
+        src/export/export_heightmap.cpp \
+        src/fab/types/bounds.cpp \
+        src/graph/hooks/meta.cpp \
+        src/ui/dialogs/resolution_dialog.cpp \
+        src/render/render_task.cpp
+    '';
 
     buildInputs = [
       libpng python3 (boost.override { python = python3; })
@@ -32,6 +41,8 @@ in
       qmake antimony.pro PREFIX=$out
     '';
 
+    enableParallelBuilding = true;
+
     meta = with stdenv.lib; {
       description = "A computer-aided design (CAD) tool from a parallel universe";
       homepage    = "https://github.com/mkeeter/antimony";
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index ef222d2e816f..d0a1f7b78d3b 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -11,12 +11,12 @@
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "2.0.0";
+  version = "2.0.2";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "1cbwvzqn3158cy7r499rdwipx7fpb30lrrvh6jy5a4xvpcjzbwnl";
+    sha256 = "0014j73sy956xqdhd4jrxvbamildqqadx8hmagrbiah8xda67skm";
   };
 
   buildInputs =
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Virtual lighttable and darkroom for photographers";
-    homepage = http://www.darktable.org;
+    homepage = https://www.darktable.org;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu maintainers.rickynils maintainers.flosse ];
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index bc3678811a5b..119125066bda 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -3,42 +3,222 @@
 , libgphoto2, libjpeg, libkdcraw, libkexiv2, libkipi, libpgf, libtiff
 , libusb1, liblqr1, marble, mysql, opencv, perl, phonon, pkgconfig
 , qca2, qimageblitz, qjson, qt4, soprano
+
+# Optional build time dependencies
+, baloo, doxygen, kfilemetadata
+, lcms2
+, kfaceSupport ? true, libkface ? null
+, kgeomapSupport ? true, libkgeomap ? null
+, libxslt
+
+# Plugins optional build time dependencies
+, gdk_pixbuf, imagemagick
+, libgpod, libksane, libkvkontakte
+, qt_gstreamer1 /*qt_soap, <https://github.com/commontk/QtSOAP>  herqq <http://www.herqq.org> -> is missing its av part.*/
+  /*qt_koauth <http://gitorious.org/kqoauth>*/
+
+# Supplementary packages required only by the wrapper.
+, bash, kde_runtime, kde_baseapps, makeWrapper, oxygen_icons
+, phonon_backend_vlc /*phonon_backend_gstreamer,*/
+, ffmpegthumbs /*mplayerthumbs*/
+, runCommand, shared_mime_info, writeScriptBin
 }:
 
-stdenv.mkDerivation rec {
-  name = "digikam-4.12.0";
+let 
+  version = "4.12.0";
+  pName = "digikam-${version}";
+
+  build = stdenv.mkDerivation rec {
+    name = "digikam-build-${version}";
+
+    src = fetchurl {
+      url = "http://download.kde.org/stable/digikam/${pName}.tar.bz2";
+      sha256 = "081ldsaf3frf5khznjd3sxkjmi4dyp6w6nqnc2a0agkk0kxkl10m";
+    };
+
+    nativeBuildInputs = [ 
+      automoc4 cmake gettext perl pkgconfig
+    ] ++ [
+      # Optional
+      doxygen 
+    ];
+
+    buildInputs = [
+      boost eigen jasper kdelibs kdepimlibs lcms lensfun
+      libgphoto2 libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf
+      libtiff marble mysql.lib opencv phonon qca2 qimageblitz qjson qt4
+      shared_desktop_ontologies soprano ]
+    # Optional build time dependencies
+    ++ [
+      baloo 
+      kfilemetadata 
+      lcms2 ] 
+    ++ stdenv.lib.optional (kfaceSupport && null != libkface) [ libkface ]
+    ++ stdenv.lib.optional (kgeomapSupport && null != libkgeomap) [ libkgeomap ] ++ 
+    [ libxslt ]
+    # Plugins optional build time dependencies
+    ++ [
+      gdk_pixbuf imagemagick libgpod libksane
+      libkvkontakte
+      qt_gstreamer1 ];
+
+    # Make digikam find some FindXXXX.cmake
+    KDEDIRS="${marble}:${qjson}";
+
+    # Find kdepimlibs's upper case headers under `include/KDE`.
+    NIX_CFLAGS_COMPILE = "-I${kdepimlibs}/include/KDE";
+
+    # Help digiKam find libusb, otherwise gphoto2 support is disabled
+    cmakeFlags = [
+      "-DLIBUSB_LIBRARIES=${libusb1.out}/lib"
+      "-DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0"
+      "-DENABLE_BALOOSUPPORT=ON"
+      "-DENABLE_KDEPIMLIBSSUPPORT=ON"
+      "-DENABLE_LCMS2=ON" ] 
+    ++ stdenv.lib.optional (kfaceSupport && null == libkface) [ "-DDIGIKAMSC_COMPILE_LIBKFACE=ON" ]
+    ++ stdenv.lib.optional (kgeomapSupport && null == libkgeomap) [ "-DDIGIKAMSC_COMPILE_LIBKGEOMAP=ON" ];
 
-  src = fetchurl {
-    url = "http://download.kde.org/stable/digikam/${name}.tar.bz2";
-    sha256 = "081ldsaf3frf5khznjd3sxkjmi4dyp6w6nqnc2a0agkk0kxkl10m";
+    enableParallelBuilding = true;
+
+    meta = {
+      description = "Photo Management Program";
+      license = stdenv.lib.licenses.gpl2;
+      homepage = http://www.digikam.org;
+      maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ];
+      inherit (kdelibs.meta) platforms;
+    };
   };
 
-  nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
 
-  buildInputs = [
-    boost eigen jasper kdelibs kdepimlibs lcms lensfun libgphoto2
-    libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf libtiff marble
-    mysql.lib opencv phonon qca2 qimageblitz qjson qt4
-    shared_desktop_ontologies soprano
+  kdePkgs = [
+    build # digikam's own build
+    kdelibs kdepimlibs kde_runtime kde_baseapps libkdcraw oxygen_icons
+    /*phonon_backend_gstreamer*/ phonon_backend_vlc
+    ffmpegthumbs /*mplayerthumbs*/ shared_mime_info ]
+  # Optional build time dependencies
+  ++ [
+
+    baloo kfilemetadata ] 
+  ++ stdenv.lib.optional (kfaceSupport && null != libkface) [ libkface ]
+  ++ stdenv.lib.optional (kgeomapSupport && null != libkgeomap) [ libkgeomap ] 
+  ++ [ 
+    libkipi ] 
+  # Plugins optional build time dependencies
+  ++ [
+    libksane libkvkontakte
   ];
 
-  # Make digikam find some FindXXXX.cmake
-  KDEDIRS="${marble}:${qjson}";
 
-  # Help digiKam find libusb, otherwise gphoto2 support is disabled
-  cmakeFlags = [
-    "-DLIBUSB_LIBRARIES=${libusb1.out}/lib"
-    "-DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0"
-    "-DDIGIKAMSC_COMPILE_LIBKFACE=ON"
-  ];
+  # TODO: It should be the responsability of these packages to add themselves to `KDEDIRS`. See
+  # <https://github.com/ttuegel/nixpkgs/commit/a0efeacc0ef2cf63bbb768bfb172a483307d080b> for
+  # a practical example.
+  # IMPORTANT: Note that using `XDG_DATA_DIRS` here instead of `KDEDIRS` won't work properly.
+  KDEDIRS = with stdenv.lib; concatStrings (intersperse ":" (map (x: "${x}") kdePkgs));
+
+  sycocaDirRelPath = "var/lib/kdesycoca";
+  sycocaFileRelPath = "${sycocaDirRelPath}/${pName}.sycoca";
+
+  sycoca = runCommand "${pName}" {
+
+    name = "digikam-sycoca-${version}";
+
+    nativeBuildInputs = [ kdelibs ];
+
+    dontPatchELF = true;
+    dontStrip = true;
+
+  } ''
+    # Make sure kbuildsycoca4 does not attempt to write to user home directory.
+    export HOME=$PWD
 
-  enableParallelBuilding = true;
+    export KDESYCOCA="$out/${sycocaFileRelPath}"
+
+    mkdir -p $out/${sycocaDirRelPath}
+    export XDG_DATA_DIRS=""
+    export KDEDIRS="${KDEDIRS}"
+    kbuildsycoca4 --noincremental --nosignal
+  '';
+
+
+  replaceExeListWithWrapped = 
+    let f = exeName: ''
+        rm -f "$out/bin/${exeName}"
+        makeWrapper "${build}/bin/${exeName}" "$out/bin/${exeName}" \
+          --set XDG_DATA_DIRS "" \
+          --set KDEDIRS "${KDEDIRS}" \
+          --set KDESYCOCA "${sycoca}/${sycocaFileRelPath}"
+      '';
+    in 
+      with stdenv.lib; exeNameList: concatStrings (intersperse "\n" (map f exeNameList));
+
+in
+
+
+with stdenv.lib;
+
+/*
+  Final derivation
+  ----------------
+
+   -  Create symlinks to our original build derivation items.
+   -  Wrap specific executables so that they know of the appropriate
+      sycoca database, `KDEDIRS` to use and block any interference
+      from `XDG_DATA_DIRS` (only `dnginfo` is not wrapped).
+*/
+runCommand "${pName}" {
+  inherit build;
+  inherit sycoca;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = kdePkgs;
+
+  dontPatchELF = true;
+  dontStrip = true;
 
   meta = {
     description = "Photo Management Program";
     license = stdenv.lib.licenses.gpl2;
     homepage = http://www.digikam.org;
-    maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ];
+    maintainers = with stdenv.lib.maintainers; [ /*jraygauthier*/ ];
     inherit (kdelibs.meta) platforms;
   };
-}
+
+} ''
+  pushd $build > /dev/null
+  for d in `find . -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do
+    mkdir -p $out/$d
+    for f in `find $d -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do
+        ln -s "$build/$d/$f" "$out/$d/$f"
+    done
+  done
+  popd > /dev/null
+  
+  ${replaceExeListWithWrapped [ "cleanup_digikamdb" "digitaglinktree" "digikam" "dngconverter" 
+                                "expoblending" "photolayoutseditor" "scangui" "showfoto" ]}
+''
+
+/*
+  
+TODO
+----
+
+### Useful ###
+
+ -  Per lib `KDELIBS` environment variable export. See above in-code TODO comment.
+ -  Missing optional `qt_soap` or `herqq` (av + normal package) dependencies. Those are not
+    yet (or not fully) packaged in nix. Mainly required for upnp export.
+ -  Possibility to use the `phonon_backend_gstreamer` with its own user specified set of backend.
+ -  Allow user to disable optional features or dependencies reacting properly.
+ -  Compile `kipiplugins` as a separate package (so that it can be used by other kde packages
+    and so that this package's build time is reduced).
+
+### Not so useful ###
+
+ -  Missing optional `qt_koauth` (not packaged in nix).
+ -  Missing optional `libmediawiki` (not packaged in nix)..
+ -  For some reason the cmake build does not detect `libkvkontakte`. Fix this.
+ -  Possibility to use `mplayerthumbs` thumbnail creator backend. In digikam dev docs,
+    it is however suggested to use `ffmpegthumbs`. Maybe we should stick to it.
+
+*/
diff --git a/pkgs/applications/graphics/giv/build.patch b/pkgs/applications/graphics/giv/build.patch
index 639d881f4159..ec343c902386 100644
--- a/pkgs/applications/graphics/giv/build.patch
+++ b/pkgs/applications/graphics/giv/build.patch
@@ -15,30 +15,3 @@ index 16eccd9..603e931 100644
  
  env['SBOX'] = False
  
-diff --git a/giv/SConstruct b/giv/SConstruct
-index 047839a..2c267aa 100644
---- a/giv/SConstruct
-+++ b/giv/SConstruct
-@@ -3,8 +3,9 @@
- 
- import sys
- import re
-+import os
- 
--env = Environment()
-+env = Environment(ENV = os.environ)
- 
- src = ["giv.c",
-        "giv-backstore.c",
-diff --git a/src/plugins/dcmtk/SConstruct.standalone b/src/plugins/dcmtk/SConstruct.standalone
-index ffce001..74246f8 100644
---- a/src/plugins/dcmtk/SConstruct.standalone
-+++ b/src/plugins/dcmtk/SConstruct.standalone
-@@ -1,4 +1,6 @@
--env = Environment()
-+import os
-+
-+env = Environment(ENV = os.environ)
- 
- variant = "Debug"
- 
diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix
index 2e9d55a3f3f2..f9ea3173b430 100644
--- a/pkgs/applications/graphics/giv/default.nix
+++ b/pkgs/applications/graphics/giv/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, gdk_pixbuf, scons, pkgconfig, gtk, glib,
+{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk, glib,
   pcre, cfitsio, perl, gob2, vala, libtiff, json_glib }:
 
 stdenv.mkDerivation rec {
-  name = "giv-0.9.22";
+  name = "giv-20150811-git";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/giv/${name}.tar.gz";
-    sha256 = "1q0806b66ajppxbv1i71wx5d3ydc1h3hsz23m6g4g80dhiai7dly";
+  src = fetchFromGitHub {
+    owner = "dov";
+    repo = "giv";
+    rev = "64648bfbbf10ec4a9adfbc939c96c7d1dbdce57a";
+    sha256 = "1sz2n7jbmg3g97bs613xxjpzqbsl5rvpg6v7g3x3ycyd35r8vsfp";
   };
 
   # It built code to be put in a shared object without -fPIC
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index 97181cb0d1bf..338b3cf0f97e 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,6 +1,6 @@
 { stdenv, cmake, fetchurl, gnumake, pkgconfig, makeWrapper
 , boost, gettext, tclap, wxGTK
-, freeglut, glew, libXi, libXmu, mesa
+, freeglut, glew, libX11, libXi, libXmu, mesa, cairo
 , autopanosiftc, enblend-enfuse, exiv2, fftw, ilmbase, lensfun, libpng, libtiff
 , openexr, panotools, perlPackages, sqlite, vigra
 }:
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
   buildInputs = [ boost gettext tclap wxGTK
-                  freeglut glew libXi libXmu mesa
+                  freeglut glew libX11 libXi libXmu mesa cairo
                   exiv2 fftw ilmbase lensfun libtiff libpng openexr panotools
                   sqlite vigra
                   perlPackages.ImageExifTool makeWrapper
diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix
index eaaf047c9bb3..9ca9c5921028 100644
--- a/pkgs/applications/graphics/leocad/default.nix
+++ b/pkgs/applications/graphics/leocad/default.nix
@@ -16,8 +16,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qt4 zlib ];
 
-  prefixKey="INSTALL_PREFIX=";
+  prefixKey = "INSTALL_PREFIX=";
   configureScript = "qmake leocad.pro";
+  postPatch = ''
+    substituteInPlace common/camera.cpp --replace "isnan(" "std::isnan("
+  '';
 
   meta = with stdenv.lib; {
     description = "CAD program for creating virtual LEGO models";
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index 97607e819514..79db732750dd 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "openimageio-${version}";
-  version = "1.6.9";
+  version = "1.6.11";
 
   src = fetchurl {
     url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
-    sha256 = "0942xj877875f4dpfg7aqwyw015y82vkhaqap7yhybmvzsfj7wki";
+    sha256 = "0cr0z81a41bg193dx9crcq1mns7mmzz7qys4lrbm18cmdbwkk88x";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index 8ee39c135ef8..80774fba5ff2 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, xulrunner }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.15";
+  version = "2.0.18";
   name = "pencil-${version}";
 
   src = fetchurl {
     url = "https://github.com/prikhi/pencil/releases/download/v${version}/Pencil-${version}-linux-pkg.tar.gz";
-    sha256 = "be338558b613f51506337a2c7c80f209e8644656c2925f41c294e2872feabc3b";
+    sha256 = "0x0kibb2na12fwl0x68xhkjpbm5h2widm346cx2r29gp1kq9kklc";
   };
 
   buildPhase = "";
diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix
index 6803b969b4b5..a26346add7ff 100644
--- a/pkgs/applications/graphics/phototonic/default.nix
+++ b/pkgs/applications/graphics/phototonic/default.nix
@@ -2,12 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "phototonic-${version}";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     repo = "phototonic";
     owner = "oferkv";
-    rev = "v${version}";
+    # There is currently no tag for 1.7.1 see
+    # https://github.com/oferkv/phototonic/issues/214
+    rev = "c37070e4a068570d34ece8de1e48aa0882c80c5b";
     sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj";
   };
 
diff --git a/pkgs/applications/graphics/sane/backends/git.nix b/pkgs/applications/graphics/sane/backends/git.nix
index 84e1f783e2a3..b285edd71e03 100644
--- a/pkgs/applications/graphics/sane/backends/git.nix
+++ b/pkgs/applications/graphics/sane/backends/git.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "2016-03-05";
+  version = "2016-03-24";
   src = fetchgit {
-    sha256 = "dc84530d5e0233427acfd132aa08a4cf9973c936ff72a66ee08ecf836200d367";
-    rev = "23eb95582da718791103b83ea002e947caa0f5fc";
+    sha256 = "593672ccfef6e3e0f3cb8ae4bbc67db9b2f1a821df4914343e4cf32f75cea865";
+    rev = "41a416e4afcf6cada69193dc408ef184d0e5f678";
     url = "git://alioth.debian.org/git/sane/sane-backends.git";
   };
 })
diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix
index 7ee298f72811..417d117d6886 100644
--- a/pkgs/applications/graphics/simple-scan/default.nix
+++ b/pkgs/applications/graphics/simple-scan/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "simple-scan-${version}";
-  version = "3.19.91";
+  version = "3.20.0";
 
   src = fetchurl {
-    sha256 = "1c5glf5vxgld41w4jxfqcv17q76qnh43fawpv33hncgh8d283xkf";
-    url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz";
+    sha256 = "0b5ndrjwi7yipkr9bhyifpbdil65izdm677if23yj832n2jsbxcd";
+    url = "https://launchpad.net/simple-scan/3.20/${version}/+download/${name}.tar.xz";
   };
 
   buildInputs = [ cairo colord glib gusb gtk3 libusb1 libxml2 sane-backends
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--disable-packagekit" ];
 
   preBuild = ''
-    # Clean up stale .c files referencing packagekit headers as of 3.19.91:
+    # Clean up stale .c files referencing packagekit headers as of 3.20.0:
     make clean
   '';
 
diff --git a/pkgs/applications/graphics/wings/default.nix b/pkgs/applications/graphics/wings/default.nix
index 9e6d6fe492a3..9ecf94e21c01 100644
--- a/pkgs/applications/graphics/wings/default.nix
+++ b/pkgs/applications/graphics/wings/default.nix
@@ -1,29 +1,34 @@
-{ fetchurl, stdenv, erlang, esdl }:
+{ fetchurl, stdenv, erlang, esdl, cl }:
 
 stdenv.mkDerivation rec {
-  name = "wings-1.4.1";
+  name = "wings-1.5.4";
   src = fetchurl {
     url = "mirror://sourceforge/wings/${name}.tar.bz2";
-    sha256 = "16kqy92rapmbvkc58mc50cidp1pm8nlwlwx69riyadc9w4qs9bji";
+    sha256 = "0qz6rmmkqgk3p0d3v2ikkf22n511bq0m7xp3kkradwrp28fcl15x";
   };
 
-  ERL_LIBS = "${esdl}/lib/erlang/addons";
+  ERL_LIBS = "${esdl}/lib/erlang/lib:${cl}/lib/erlang/lib";
 
   patchPhase = ''
     sed -i 's,include("sdl_keyboard.hrl"),include_lib("esdl/include/sdl_keyboard.hrl"),' \
       src/wings_body.erl plugins_src/commands/wpc_constraints.erl
+
+    # Fix reference
+    sed -i 's,wings/e3d/,,' plugins_src/import_export/wpc_lwo.erl
   '';
 
-  buildInputs = [ erlang esdl ];
+  buildInputs = [ erlang esdl cl ];
 
+  # I did not test the *cl* part. I added the -pa just by imitation.
   installPhase = ''
     mkdir -p $out/bin $out/lib/${name}/ebin
     cp ebin/* $out/lib/${name}/ebin
     cp -R fonts textures shaders plugins $out/lib/$name
     cat << EOF > $out/bin/wings
     #!/bin/sh
-    export ROOTDIR=$out/lib/erlang/addons/${name}
-    ${erlang}/bin/erl -smp disable -pa ${esdl}/lib/erlang/addons/${esdl.name}/ebin \
+    ${erlang}/bin/erl -smp disable \
+      -pa ${esdl}/lib/erlang/lib/${cl.name}/ebin \
+      -pa ${esdl}/lib/erlang/lib/${esdl.name}/ebin \
       -pa $out/lib/${name}/ebin -run wings_start start_halt "$@"
     EOF
     chmod +x $out/bin/wings
diff --git a/pkgs/applications/misc/abook/default.nix b/pkgs/applications/misc/abook/default.nix
index 77e48e49dd89..2c4bc0f21284 100644
--- a/pkgs/applications/misc/abook/default.nix
+++ b/pkgs/applications/misc/abook/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchurl, pkgconfig, ncurses, readline }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, ncurses, readline }:
 
-let version = "0.6.0pre2"; in
 stdenv.mkDerivation rec {
-  name = "abook-${version}";
+  name = "abook-0.6.0pre2";
 
   src = fetchurl {
     url = "http://abook.sourceforge.net/devel/${name}.tar.gz";
-    sha256 = "59d444504109dd96816e003b3023175981ae179af479349c34fa70bc12f6d385";
+    sha256 = "11fkyq9bqw7s6jf38yglk8bsx0ar2wik0fq0ds0rdp8985849m2r";
   };
 
-  buildInputs = [ pkgconfig ncurses readline ];
+  patches = [
+    (fetchpatch {
+       url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/gcc5.patch?h=packages/abook";
+       name = "gcc5.patch";
+       sha256 = "13n3qd6yy45i5n8ppjn9hj6y63ymjrq96280683xk7f7rjavw5nn";
+     })
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses readline ];
 
   meta = {
     homepage = "http://abook.sourceforge.net/";
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 0b9cbe029998..0085da5b468f 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -10,11 +10,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "blender-2.76b";
+  name = "blender-2.77";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "0pb0mlj4vj0iir528ifqq67nsh3ca1942933d9cwlbpcja2jm1dx";
+    sha256 = "0aynm249xgrnm6h5hlp9x40ww0hn391d9ka2mg9mmqrdzhih286n";
   };
 
   buildInputs =
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     # They comment two licenses: GPLv2 and Blender License, but they
     # say: "We've decided to cancel the BL offering for an indefinite period."
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
new file mode 100644
index 000000000000..ccebb8bfc115
--- /dev/null
+++ b/pkgs/applications/misc/buku/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, pythonPackages, fetchFromGitHub,
+  encryptionSupport ? false
+}:
+
+pythonPackages.buildPythonApplication rec {
+  version = "1.8";
+  name = "buku-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jarun";
+    repo = "buku";
+    rev = "53d48ee56a3abfb53b94ed25fb620ee759141c96";
+    sha256 = "185d3gndw20c3l6f3mf0iq4qapm8g30bl0hn0wsqpp36vl0bpq28";
+  };
+
+  buildInputs = stdenv.lib.optional encryptionSupport pythonPackages.pycrypto;
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    make install PREFIX=$out
+  '';
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Private cmdline bookmark manager";
+    homepage = https://github.com/jarun/Buku;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
+
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index b6e99cc13bfb..61abe9b19be2 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.52.0";
+  version = "2.53.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "http://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "1la114vhkm73iv0rrzwws28ydiszl58q5y9d6aafn5sh16ph2aws";
+    sha256 = "0rvfh39a6j5r398p6xzrbzvhxapm1iyhc0d46xk5fwa52kscadhz";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix
index b83857b6045e..2168a21f7da0 100644
--- a/pkgs/applications/misc/cdrtools/default.nix
+++ b/pkgs/applications/misc/cdrtools/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ acl libcap ];
 
+  postPatch = ''
+    sed "/\.mk3/d" -i libschily/Targets.man
+    substituteInPlace man/Makefile --replace "man4" ""
+  '';
+
   configurePhase = "true";
 
   GMAKE_NOWARN = true;
diff --git a/pkgs/applications/misc/d4x/default.nix b/pkgs/applications/misc/d4x/default.nix
index 3c146249dd0b..cdcada196b98 100644
--- a/pkgs/applications/misc/d4x/default.nix
+++ b/pkgs/applications/misc/d4x/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   inherit boost;
 
   src = fetchurl {
-    url =  http://d4x.krasu.ru/files/d4x-2.5.7.1.tar.bz2;
+    url = http://pkgs.fedoraproject.org/repo/pkgs/d4x/d4x-2.5.7.1.tar.bz2/68d6336c3749a7caabb0f5a5f84f4102/d4x-2.5.7.1.tar.bz2;
     sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m";
   };
 
diff --git a/pkgs/applications/misc/deco/default.nix b/pkgs/applications/misc/deco/default.nix
new file mode 100644
index 000000000000..170018dc972d
--- /dev/null
+++ b/pkgs/applications/misc/deco/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, scsh, feh, xlibs }:
+
+stdenv.mkDerivation rec {
+  pname = "deco";
+  version = "0.0.1";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ebzzry";
+    repo = pname;
+    rev = "037f473ae4bdce5d3e2f76891785f0f7479cca75";
+    sha256 = "1fv15nc9zqbn3c51vnm50yidj5ivpi61zg55cs46x3gi2x79x43q";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${pname} $out/bin
+    chmod +x $out/bin/${pname}
+  '';
+
+  postFixup = ''
+    substituteInPlace $out/bin/deco --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
+    substituteInPlace $out/bin/deco --replace "feh" "${feh}/bin/feh"
+    substituteInPlace $out/bin/deco --replace "xdpyinfo" "${xlibs.xdpyinfo}/bin/xdpyinfo"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ebzzry/deco;
+    description = "A simple root image setter";
+    license = licenses.mit;
+    maintainers = [ maintainers.ebzzry ];
+    platforms = platforms.unix;
+  };
+
+  dontBuild = true;
+}
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index c9b6de715d2a..69f41571c450 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -18,11 +18,11 @@ in
 
 pythonPackages.buildPythonApplication rec {
   name = "electrum-${version}";
-  version = "2.6.1";
+  version = "2.6.3";
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "14q6y1hwzki56nfhd3nfbxid07d5fv0pgmklvcf7yxjmpdxrg0iq";
+    sha256 = "0lj3a8zg6dznpnnxyza8a05c13py52j62rqlad1zcgksm5g63vic";
   };
 
   propagatedBuildInputs = with pythonPackages; [
@@ -55,6 +55,11 @@ pythonPackages.buildPythonApplication rec {
     pyrcc4 icons.qrc -o gui/qt/icons_rc.py
   '';
 
+  doCheck = true;
+  checkPhase = ''
+    $out/bin/electrum help >/dev/null
+  '';
+
   meta = with stdenv.lib; {
     description = "Bitcoin thin-client";
     longDescription = ''
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
index 3d8e4742fa64..b2855e5a287e 100644
--- a/pkgs/applications/misc/emem/default.nix
+++ b/pkgs/applications/misc/emem/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "emem";
-  version = "0.2.12";
+  version = "0.2.15";
   name = "${pname}-${version}";
 
   inherit jdk;
 
   src = fetchurl {
     url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
-    sha256 = "1ynn72n9pw9zk29c9q2zybxjg8dniilp05vghrc9vnslyi8ml90d";
+    sha256 = "0jj990syd9biq2awnjydi4x3p4hivigc522ds59hdf5wg4y2gg6c";
   };
 
   buildInputs = [ ];
@@ -22,14 +22,14 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    cp $src $out/share/java
+    cp $src $out/share/java/${pname}.jar
 
-    cat > $out/bin/emem <<EOF
+    cat > $out/bin/${pname} <<EOF
 #! $SHELL
-$jdk/bin/java -jar $out/share/java/$(basename $src) "\$@"
+$jdk/bin/java -jar $out/share/java/${pname}.jar "\$@"
 EOF
 
-    chmod +x $out/bin/emem
+    chmod +x $out/bin/${pname}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index ab02238606ab..734ffee51e23 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnuradio-${version}";
-  version = "3.7.8.1";
+  version = "3.7.9.1";
 
   src = fetchurl {
     url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "1ap5gbgisnbny3jbnm2i5wm2sy6qkbhz747av3sjxp2z12fz81l4";
+    sha256 = "0zlnxyqq3dyrg0nz2hpydlhyzv26vlkdavs8w01k448lxkqz01lw";
   };
 
   buildInputs = [
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
     cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
   ];
 
+  enableParallelBuilding = true;
+
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable"
   '';
@@ -72,6 +74,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnuradio.org;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor fpletz ];
   };
 }
diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix
index d3e61da4fab0..d30b6b8e8f96 100644
--- a/pkgs/applications/misc/gqrx/default.nix
+++ b/pkgs/applications/misc/gqrx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, gnuradio, boost, gnuradio-osmosdr
+{ stdenv, fetchFromGitHub, qt4, gnuradio, boost, gnuradio-osmosdr
 # drivers (optional):
 , rtl-sdr, hackrf
 , pulseaudioSupport ? true, libpulseaudio
@@ -8,11 +8,13 @@ assert pulseaudioSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
   name = "gqrx-${version}";
-  version = "2.3.2";
+  version = "2.5.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/gqrx/${version}/${name}.tar.xz";
-    sha256 = "1vfqqa976xlbapqkpc9nka364zydvsy18xiwfqjy015kpasshdz1";
+  src = fetchFromGitHub {
+    owner = "csete";
+    repo = "gqrx";
+    rev = "v${version}";
+    sha256 = "02pavd1kc0gsnrl18bfa01r2f3j4j05zly4a8zwss9yrsgf8432x";
   };
 
   buildInputs = [
@@ -21,12 +23,14 @@ stdenv.mkDerivation rec {
 
   configurePhase = ''qmake PREFIX="$out"'';
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     mkdir -p "$out/share/applications"
     mkdir -p "$out/share/icons"
 
     cp gqrx.desktop "$out/share/applications/"
-    cp icons/gqrx.svg "$out/share/icons/"
+    cp resources/icons/gqrx.svg "$out/share/icons/"
   '';
 
   meta = with stdenv.lib; {
@@ -42,6 +46,6 @@ stdenv.mkDerivation rec {
     # it's currently unknown which version of the BSD license that is.
     license = licenses.gpl3Plus;
     platforms = platforms.linux;  # should work on Darwin / OS X too
-    maintainers = with maintainers; [ bjornfor the-kenny ];
+    maintainers = with maintainers; [ bjornfor the-kenny fpletz ];
   };
 }
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 99e337baa1a4..410f56c2299b 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "josm-${version}";
-  version = "9900";
+  version = "9979";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1dsfamh2bsiz3xkhmh7g4jz6bbh25x22k3zgj1k0v0gj8k6yl7dy";
+    sha256 = "0zy88f4h71qyj7vlhiwnayaaz50gg6bj5pfypy43ghmjrh01d9vh";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 948d03262b6b..d6835388d89e 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -8,11 +8,11 @@
 # plugin derivations in the Nix store and nowhere else.
 with builtins; buildDotnetPackage rec {
   baseName = "keepass";
-  version = "2.31";
+  version = "2.32";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    sha256 = "10bqxpq30gzfq2ip6dkmqlzzsh3bnfdb01jry5xhgxvlycq1lnsm";
+    sha256 = "11bkflmqrpfk95v2j7pjcm78nilx2s611mn2x7kxwn77ilnbcjbw";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index ab55e3618ec7..9f083592c409 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -24,6 +24,7 @@ python3Packages.buildPythonApplication rec {
     urwid
     pkginfo
   ];
+  buildInputs = with python3Packages; [ setuptools_scm ];
 
   meta = with stdenv.lib; {
     homepage = http://lostpackets.de/khal/;
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index ffb4c147c776..83130164fd99 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, wxGTK, desktop_file_utils, libSM, imagemagick }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, wxGTK
+, desktop_file_utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.82";
+  version = "0.7.83";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "0ivvmxx93aldfbms6wg46x9npghg304j2zxl5i70m710gybjr232";
+    sha256 = "0d8mph9lbg2lw0ccg1la0kqhbisra8q9rzn195lncch5cia5zyg7";
   };
 
-  buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo wxGTK desktop_file_utils libSM imagemagick ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libzen libmediainfo wxGTK desktop_file_utils libSM
+                  imagemagick ];
 
   sourceRoot = "./MediaInfo/Project/GNU/GUI/";
 
-  preConfigure = "sh autogen.sh";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Supplies technical and tag information about a video or audio file (GUI version)";
     longDescription = ''
       MediaInfo is a convenient unified display of the most relevant technical
       and tag data for video and audio files.
     '';
     homepage = http://mediaarea.net/;
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.devhell ];
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.devhell ];
   };
 }
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 5d953fed53a9..cf1a4ce82800 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, zlib }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.82";
+  version = "0.7.83";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "0ivvmxx93aldfbms6wg46x9npghg304j2zxl5i70m710gybjr232";
+    sha256 = "0d8mph9lbg2lw0ccg1la0kqhbisra8q9rzn195lncch5cia5zyg7";
   };
 
-  buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libzen libmediainfo zlib ];
 
   sourceRoot = "./MediaInfo/Project/GNU/CLI/";
 
   configureFlags = [ "--with-libmediainfo=${libmediainfo}" ];
-  preConfigure = "sh autogen.sh";
 
   meta = with stdenv.lib; {
     description = "Supplies technical and tag information about a video or audio file";
diff --git a/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch b/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
index 01b0c8f9cce9..54116b80a6e8 100644
--- a/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
+++ b/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
@@ -1,7 +1,7 @@
-From 73ff28c3ee5b737303871268a5487db0fcffc0f6 Mon Sep 17 00:00:00 2001
+From 0be3198cccf753226758684955f49a32d8d920c0 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Wed, 17 Feb 2016 14:37:31 +0300
-Subject: [PATCH 1/2] Don't use static library
+Subject: [PATCH] Don't use static library
 
 ---
  octoprint_m3dfio/__init__.py   | 67 +-----------------------------------------
@@ -9,23 +9,23 @@ Subject: [PATCH 1/2] Don't use static library
  2 files changed, 5 insertions(+), 68 deletions(-)
 
 diff --git a/octoprint_m3dfio/__init__.py b/octoprint_m3dfio/__init__.py
-index 5e5369b..9f59768 100644
+index a2ca533..43f178a 100644
 --- a/octoprint_m3dfio/__init__.py
 +++ b/octoprint_m3dfio/__init__.py
-@@ -764,72 +764,7 @@ class M3DFioPlugin(
+@@ -793,72 +793,7 @@ class M3DFioPlugin(
  		# Set file locations
  		self.setFileLocations()
  		
 -		# Check if running on Linux
 -		if platform.uname()[0].startswith("Linux") :
 -		
--			# Check if running on a Raspberry Pi
+-			# Check if running on a Raspberry Pi 1
 -			if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
 -			
 -				# Set shared library
 -				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm1176jzf-s.so")
 -			
--			# Otherwise check if running on a Raspberry Pi 2
+-			# Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
 -			elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
 -			
 -				# Set shared library
@@ -87,7 +87,7 @@ index 5e5369b..9f59768 100644
  		if self.sharedLibrary :
  		
 diff --git a/shared library source/Makefile b/shared library source/Makefile
-index 4062a91..89dab71 100644
+index 9d015a1..a24f134 100644
 --- a/shared library source/Makefile	
 +++ b/shared library source/Makefile	
 @@ -58,13 +58,15 @@ ifeq ($(TARGET_PLATFORM), OSX64)
@@ -109,5 +109,5 @@ index 4062a91..89dab71 100644
  clean:
  	rm -f ../octoprint_m3dfio/static/libraries/$(PROG)
 -- 
-2.7.0
+2.7.1
 
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 67b351ba906e..b9b6c10a13fa 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "OctoPrint-${version}";
-  version = "1.2.9";
+  version = "1.2.10";
 
   src = fetchFromGitHub {
     owner = "foosel";
     repo = "OctoPrint";
     rev = version;
-    sha256 = "00hhq52jqwykhk3p57mn9kkcjbjz6g9mcrp96vx8lqzhw42m3a86";
+    sha256 = "1ips1083c4qrfnkssvp1lxrs92svlid29l225ifsymrinpbjawav";
   };
 
   # We need old Tornado
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 1ae11be3cdd3..7ff6686a9372 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -8,13 +8,13 @@ in {
 
   m3d-fio = buildPlugin rec {
     name = "M3D-Fio-${version}";
-    version = "0.28.2";
+    version = "0.30.2";
 
     src = fetchFromGitHub {
       owner = "donovan6000";
       repo = "M3D-Fio";
       rev = "V${version}";
-      sha256 = "1fwy6xmbid89rn7w7v779wb34gmfzc1fkggv3im1r7a7jrzph6nx";
+      sha256 = "1knm41hwjf6v4yjx8khr2zd9ryndmw8bkp3y80hgjc5p4nqxrmg3";
     };
 
     patches = [
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
new file mode 100644
index 000000000000..d6b9b943b6e4
--- /dev/null
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, gtk2, wxGTK30, libpulseaudio, curl,
+  gettext, glib, portaudio }:
+
+stdenv.mkDerivation rec {
+  name = "opencpn-${version}";
+  version = "4.2.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenCPN";
+    repo = "OpenCPN";
+    rev = "v${version}";
+    sha256 = "1m6fp9lf9ki9444h0dq6bj0vr7d0pcxkbjv3j2v76p0ksk2l8kw3";
+  };
+
+  buildInputs = [ pkgconfig cmake gtk2 wxGTK30 libpulseaudio curl gettext
+                  glib portaudio ];
+
+  cmakeFlags = [
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A concise ChartPlotter/Navigator";
+    maintainers = [ stdenv.lib.maintainers.kragniz ];
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.gpl2;
+    homepage = "http://opencpn.org/";
+  };
+}
diff --git a/pkgs/applications/misc/pgadmin/default.nix b/pkgs/applications/misc/pgadmin/default.nix
index 55db70c1d249..894aeaab4253 100644
--- a/pkgs/applications/misc/pgadmin/default.nix
+++ b/pkgs/applications/misc/pgadmin/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0gkqpj8cg6jd6yhssrij1cbh960rg9fkjbdzcpryi6axwv0ag7ki";
   };
 
+  enableParallelBuilding = true;
+
   buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 14ae58a29327..7969695f1ad2 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -8,7 +8,6 @@ buildPythonApplication rec {
     homepage = "http://ranger.nongnu.org/";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index 1a5fa03c54ca..5dd9795fba05 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     EncodeLocale MathClipper ExtUtilsXSpp threads
     MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo
     IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX
-    ExtUtilsMakeMaker OpenGL WxGLCanvas
+    ExtUtilsMakeMaker OpenGL WxGLCanvas ModuleBuild
   ];
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 46500077a082..f0c244af05e7 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "spacefm-${version}";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "IgnorantGuru";
     repo = "spacefm";
     rev = "${version}";
-    sha256 = "1jywsb5yjrq4w9m94m4mbww36npd1jk6s0b59liz6965hv3xp2sy";
+    sha256 = "06askkrwls09d1x382zjrmnvcm0ghfgz4cms2qbhdkazfyy0ff65";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch
deleted file mode 100644
index 86825555d9cb..000000000000
--- a/pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-This patch is from OpenSUSE .src.rpm for the following crash on startup:
-
-ERROR:compositelookup.cpp:53:void CompositeLookup::send_net_dict_request(const string&, const string&): assertion failed: (NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
-
---- dict/src/lib/compositelookup.cpp
-+++ dict/src/lib/compositelookup.cpp
-@@ -50,8 +50,10 @@
- void CompositeLookup::send_net_dict_request(const std::string& dict_id, const std::string& key)
- {
- 	NetDictRequest request(dict_id, key);
--	g_assert(NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request));
--	NetDictRequests.push_back(request);
-+	if(NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
-+	{
-+	  NetDictRequests.push_back(request);
-+	}
- }
- 
- /* returns true if got expected response */
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch
deleted file mode 100644
index fd89243938eb..000000000000
--- a/pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-http://bugs.gentoo.org/396219
-
---- dict/src/tomboykeybinder.h
-+++ dict/src/tomboykeybinder.h
-@@ -21,7 +21,7 @@
- #ifndef __TOMBOY_KEY_BINDER_H__
- #define __TOMBOY_KEY_BINDER_H__
- 
--#include <glib/gtypes.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch
deleted file mode 100644
index 38182b0c8e0b..000000000000
--- a/pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-warning: key "Encoding" in group "Desktop Entry" is deprecated
-error: value "stardict.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension
-error: value "Dictionary" in key "Categories" in group "Desktop Entry" requires another category to be present among the following categories: Office;TextTools
-
---- dict/data/stardict.desktop.in
-+++ dict/data/stardict.desktop.in
-@@ -1,11 +1,10 @@
- [Desktop Entry]
--Encoding=UTF-8
- _Name=StarDict
- _Comment=Lookup words
- Exec=stardict
- Terminal=false
- Type=Application
--Icon=stardict.png
-+Icon=stardict
- StartupNotify=true
--Categories=Utility;Dictionary;
-+Categories=Utility;Office;TextTools;Dictionary;
- X-GNOME-DocPath=stardict/stardict.xml
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch
deleted file mode 100644
index d85bc0de5ce0..000000000000
--- a/pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-http://bugs.gentoo.org/362299
-
---- dict/stardict-plugins/stardict-wordnet-plugin/scene.h
-+++ dict/stardict-plugins/stardict-wordnet-plugin/scene.h
-@@ -25,6 +25,8 @@
- #ifndef __PHYSICS_H__
- #define __PHYSICS_H__
- 
-+#include <cstddef>
-+
- #include "partic.h"
- #include "spring.h"
- 
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch
deleted file mode 100644
index 482490105704..000000000000
--- a/pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-This patch is stardict-tools-3.0.3-destbufferoverflow.patch from OpenSUSE .src.rpm for:
-
-warning: call to ‘__fgets_chk_warn’ declared with attribute warning: fgets called with bigger size than length of destination buffer [enabled by default]
-
---- tools/src/myspell2dic.c
-+++ tools/src/myspell2dic.c
-@@ -132,7 +132,7 @@ if (argc<3) 
- 
- fprintf(stderr, "Enter grammar language [Spanish]: ");
- fflush(stderr);
--fgets(lang, 100, stdin);
-+fgets(lang, 50, stdin);
- if ((p=strchr(lang, '\n'))!=NULL) *p=0;
- if (*lang==0) strcpy(lang, "Spanish");
- 
---- tools/src/ooo2dict.c
-+++ tools/src/ooo2dict.c
-@@ -71,7 +71,7 @@ current2=malloc(10000);
- 
- fprintf(stderr, "Enter thesaurus language [WordNet_English]: ");
- fflush(stderr);
--fgets(lang, 100, stdin);
-+fgets(lang, 50, stdin);
- if ((p=strchr(lang, '\n'))!=NULL) *p=0;
- if (*lang==0) strcpy(lang, "WordNet_English");
- F=fopen((argc>1)? argv[1]: "/usr/share/myspell/dicts/th_en_US_v2.dat", "rt");
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch
deleted file mode 100644
index 6a320bd4a9f2..000000000000
--- a/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-http://bugs.gentoo.org/401887
-
-diff --git a/lib/src/libcommon.cpp b/lib/src/libcommon.cpp
-index 16770a3..a4299e7 100644
---- a/lib/src/libcommon.cpp
-+++ b/lib/src/libcommon.cpp
-@@ -614,7 +614,7 @@ int unpack_zlib(const char* arch_file_name, const char* out_file_name)
- 		return EXIT_FAILURE;
- 	}
- 	while(true) {
--		len = gzread(get_impl(in), buf, buffer_size);
-+		len = gzread((gzFile)get_impl(in), buf, buffer_size);
- 		if(len < 0) {
- 			g_critical(read_file_err, arch_file_name, "");
- 			return EXIT_FAILURE;
-@@ -871,3 +871,8 @@ int remove_recursive(const std::string& path)
- 		return res;
- 	}
- }
-+
-+int gzclose_compat(void * file)
-+{
-+    return gzclose ((gzFile)file);
-+}
-diff --git a/lib/src/libcommon.h b/lib/src/libcommon.h
-index 10f13b4..bdcbf2f 100644
---- a/lib/src/libcommon.h
-+++ b/lib/src/libcommon.h
-@@ -187,8 +187,9 @@ namespace clib {
- 	typedef ResourceWrapper<FILE, FILE*, int, fclose> File;
- }
- 
-+extern int gzclose_compat(void * file);
- namespace zip {
--typedef ResourceWrapper<void, void*, int, gzclose> gzFile;
-+typedef ResourceWrapper<void, void*, int, gzclose_compat> gzFile;
- }
- 
- /* Create a new temporary file. Return file name in file name encoding.
diff --git a/pkgs/applications/misc/stardict/stardict.nix b/pkgs/applications/misc/stardict/stardict.nix
deleted file mode 100644
index 600642f488ac..000000000000
--- a/pkgs/applications/misc/stardict/stardict.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{stdenv, fetchurl, pkgconfig, gtk, glib, zlib, libxml2, intltool, gnome_doc_utils, libgnomeui, scrollkeeper, mysql, pcre, which, libxslt}:
-stdenv.mkDerivation rec {
-  name= "stardict-3.0.3";
-
-  src = fetchurl {
-    url = "http://stardict-3.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "0wrb8xqy6x9piwrn0vw5alivr9h3b70xlf51qy0jpl6d7mdhm8cv";
-  };
-
-  buildInputs = [ pkgconfig gtk glib zlib libxml2 intltool gnome_doc_utils libgnomeui scrollkeeper mysql.lib pcre which libxslt];
-
-  postPatch = ''
-    # mysql hacks: we need dynamic linking as there is no libmysqlclient.a
-    substituteInPlace tools/configure --replace '/usr/local/include/mysql' '${mysql.lib}/include/mysql/'
-    substituteInPlace tools/configure --replace 'AC_FIND_FILE([libmysqlclient.a]' 'AC_FIND_FILE([libmysqlclient.so]'
-    substituteInPlace tools/configure --replace '/usr/local/lib/mysql' '${mysql.lib}/lib/mysql/'
-    substituteInPlace tools/configure --replace 'for y in libmysqlclient.a' 'for y in libmysqlclient.so'
-    substituteInPlace tools/configure --replace 'libmysqlclient.a' 'libmysqlclient.so'
-
-    # a list of p0 patches from gentoo devs
-    patch -p0 < ${./stardict-3.0.3-overflow.patch}
-    patch -p0 < ${./stardict-3.0.3-gcc46.patch}
-    patch -p0 < ${./stardict-3.0.3-compositelookup_cpp.patch}
-    patch -p0 < ${./stardict-3.0.3-correct-glib-include.patch}
-    patch -p0 < ${./stardict-3.0.3-entry.patch}
-
-    # disable the xsltproc internet query
-    substituteInPlace dict/help/Makefile.am --replace 'xsltproc -o' 'xsltproc --nonet -o'
-    substituteInPlace dict/help/Makefile.in --replace 'xsltproc -o' 'xsltproc --nonet -o'
-  '';
-
-  # another gentoo patch: a p1 patch
-  patches = [ ./stardict-3.0.3-zlib-1.2.5.2.patch ];
-
-  configurePhase = ''
-    ./configure --disable-spell --disable-gucharmap --disable-festival --disable-espeak --disable-scrollkeeper --prefix=$out
-  '';
-
-  meta = {
-    description = "An international dictionary supporting fuzzy and glob style matching";
-    license = stdenv.lib.licenses.lgpl3;
-    maintainers = with stdenv.lib.maintainers; [qknight];
-  };
-}
diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix
index dec18aea961d..192e4406b6d8 100644
--- a/pkgs/applications/misc/weather/default.nix
+++ b/pkgs/applications/misc/weather/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgs }:
+{ stdenv, fetchurl, pythonPackages }:
 
 stdenv.mkDerivation rec {
     version = "2.0";
@@ -9,15 +9,26 @@ stdenv.mkDerivation rec {
         sha256 = "0yil363y9iyr4mkd7xxq0p2260wh50f9i5p0map83k9i5l0gyyl0";
     };
 
+    nativeBuildInputs = [ pythonPackages.wrapPython ];
+
+    buildInputs = [ pythonPackages.python ];
+
     phases = [ "unpackPhase" "installPhase" ];
 
     installPhase = ''
-        mkdir $out/{share,man,bin} -p
-        cp weather{,.py} $out/bin/
-        cp {airports,overrides.{conf,log},places,slist,stations,weatherrc,zctas,zlist,zones} $out/share/
+        site_packages=$out/${pythonPackages.python.sitePackages}
+        mkdir -p $out/{share/{man,weather-util},bin,etc} $site_packages
+        cp weather $out/bin/
+        cp weather.py $site_packages/
         chmod +x $out/bin/weather
-        cp ./weather.1 $out/man/
-        cp ./weatherrc.5 $out/man/
+        cp airports overrides.{conf,log} places slist stations zctas zlist zones $out/share/weather-util/
+        cp weatherrc $out/etc
+        cp weather.1 weatherrc.5 $out/share/man/
+        sed -i \
+          -e "s|/etc|$out/etc|g" \
+          -e "s|else: default_setpath = \".:~/.weather|&:$out/share/weather-util|" \
+          $site_packages/weather.py
+        wrapPythonPrograms
     '';
 
     meta = {
diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix
new file mode 100644
index 000000000000..49a94ac39797
--- /dev/null
+++ b/pkgs/applications/misc/xautoclick/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, xorg, pkgconfig
+, gtkSupport ? true, gtk
+, qtSupport ? true, qt4
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.31";
+  name = "xautoclick-${version}";
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz";
+    sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm";
+  };
+  buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext pkgconfig ]
+    ++ stdenv.lib.optionals gtkSupport [ gtk ]
+    ++ stdenv.lib.optionals qtSupport [ qt4 ];
+  patchPhase = ''
+    substituteInPlace configure --replace /usr/X11R6 ${xorg.libX11}
+  '';
+  preConfigure = stdenv.lib.optional qtSupport ''
+    mkdir .bin
+    ln -s ${qt4}/bin/moc .bin/moc-qt4
+    addToSearchPath PATH .bin
+  '';
+}
diff --git a/pkgs/applications/misc/yakuake/3.0.nix b/pkgs/applications/misc/yakuake/3.0.nix
new file mode 100644
index 000000000000..f3aff480914a
--- /dev/null
+++ b/pkgs/applications/misc/yakuake/3.0.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, lib
+, fetchurl
+, cmake
+, extra-cmake-modules
+, karchive
+, kcrash
+, kdbusaddons
+, ki18n
+, kiconthemes
+, knewstuff
+, knotifications
+, knotifyconfig
+, konsole
+, kparts
+, kwindowsystem
+, makeQtWrapper
+
+}:
+
+let
+  pname = "yakuake";
+  version = "3.0.2";
+in
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz";
+    sha256 = "0vcdji1k8d3pz7k6lkw8ighkj94zff2l2cf9v1avf83f4hjyfhg5";
+  };
+
+  buildInputs = [
+    cmake
+    extra-cmake-modules
+    karchive
+    kcrash
+    kdbusaddons
+    ki18n
+    kiconthemes
+    knewstuff
+    knotifications
+    knotifyconfig
+    kparts
+    kwindowsystem
+  ];
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    makeQtWrapper
+  ];
+
+  propagatedUserEnvPkgs = [
+    konsole
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/yakuake"
+  '';
+
+  meta = {
+    homepage = https://yakuake.kde.org;
+    description = "Quad-style terminal emulator for KDE";
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 2fb33fda6105..982c6d659ee6 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -29,8 +29,6 @@ mkChromiumDerivation (base: rec {
     done
   '';
 
-  preHook = "unset NIX_ENFORCE_PURITY";
-
   meta = {
     description = "An open source web browser from Google";
     homepage = http://www.chromium.org/;
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index e5727e63a100..8003aaf5c285 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ninja, which
+{ stdenv, ninja, which
 
 # default dependencies
 , bzip2, flac, speex, libopus
@@ -29,8 +29,7 @@
 , pulseSupport ? false, libpulseaudio ? null
 , hiDPISupport ? false
 
-, source
-, plugins
+, upstream-info
 }:
 
 buildFun:
@@ -98,9 +97,17 @@ let
 
   base = rec {
     name = "${packageName}-${version}";
-    inherit (source) version;
+    inherit (upstream-info) version;
     inherit packageName buildType buildPath;
-    src = source;
+
+    src = upstream-info.main;
+
+    unpackCmd = ''
+      tar xf "$src" \
+        --anchored \
+        --no-wildcards-match-slash \
+        --exclude='*/tools/gyp'
+    '';
 
     buildInputs = defaultDependencies ++ [
       which
@@ -118,16 +125,21 @@ let
       ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional pulseSupport libpulseaudio;
 
-    # XXX: Wait for https://crbug.com/239107 and https://crbug.com/239181 to
-    #      be fixed, then try again to unbundle everything into separate
-    #      derivations.
-    prePatch = ''
-      cp -dr --no-preserve=mode "${source.main}"/* .
-      cp -dr "${source.bundled}" third_party
-      chmod -R u+w third_party
-    '';
+    patches = [
+      ./patches/build_fixes_46.patch
+      ./patches/widevine.patch
+      (if versionOlder version "50.0.0.0"
+       then ./patches/nix_plugin_paths_46.patch
+       else ./patches/nix_plugin_paths_50.patch)
+    ];
 
     postPatch = ''
+      sed -i -r \
+        -e 's/-f(stack-protector)(-all)?/-fno-\1/' \
+        -e 's|/bin/echo|echo|' \
+        -e "/python_arch/s/: *'[^']*'/: '""'/" \
+        build/common.gypi chrome/chrome_tests.gypi
+
       sed -i -e '/module_path *=.*libexif.so/ {
         s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
       }' chrome/utility/media_galleries/image_metadata_extractor.cc
@@ -142,8 +154,8 @@ let
     gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
       linux_use_bundled_binutils = false;
       linux_use_bundled_gold = false;
-      linux_use_gold_binary = false;
-      linux_use_gold_flags = false;
+      linux_use_gold_flags = true;
+
       proprietary_codecs = false;
       use_sysroot = false;
       use_gnome_keyring = gnomeKeyringSupport;
@@ -182,8 +194,8 @@ let
     } // (extraAttrs.gypFlags or {}));
 
     configurePhase = ''
-      # Precompile .pyc files to prevent race conditions during build
-      python -m compileall -q -f . || : # ignore errors
+      echo "Precompiling .py files to prevent race conditions..." >&2
+      python -m compileall -q -f . > /dev/null 2>&1 || : # ignore errors
 
       # This is to ensure expansion of $out.
       libExecPath="${libExecPath}"
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index f9ed1f31e540..79e5e2dfec34 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -19,10 +19,9 @@ let
   callPackage = newScope chromium;
 
   chromium = {
-    source = callPackage ./source {
-      inherit channel;
-      # XXX: common config
-    };
+    upstream-info = (import ./update.nix {
+      inherit (stdenv) system;
+    }).getChannel channel;
 
     mkChromiumDerivation = callPackage ./common.nix {
       inherit enableSELinux enableNaCl enableHotwording gnomeSupport
diff --git a/pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch b/pkgs/applications/networking/browsers/chromium/patches/build_fixes_46.patch
index c0aeb5d3a56c..c0aeb5d3a56c 100644
--- a/pkgs/applications/networking/browsers/chromium/source/build_fixes_46.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/build_fixes_46.patch
diff --git a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_46.patch b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_46.patch
index 7482be7062d0..7482be7062d0 100644
--- a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_46.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_46.patch
diff --git a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_50.patch b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_50.patch
index 062098a85225..062098a85225 100644
--- a/pkgs/applications/networking/browsers/chromium/source/nix_plugin_paths_50.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_50.patch
diff --git a/pkgs/applications/networking/browsers/chromium/source/widevine.patch b/pkgs/applications/networking/browsers/chromium/patches/widevine.patch
index 45048cada875..45048cada875 100644
--- a/pkgs/applications/networking/browsers/chromium/source/widevine.patch
+++ b/pkgs/applications/networking/browsers/chromium/patches/widevine.patch
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index ebdb3d844187..82b3bc3ea59c 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -3,7 +3,7 @@
 , enablePepperFlash ? false
 , enableWideVine ? false
 
-, source
+, upstream-info
 }:
 
 with stdenv.lib;
@@ -40,17 +40,16 @@ let
   plugins = stdenv.mkDerivation {
     name = "chromium-binary-plugins";
 
-    # XXX: Only temporary and has to be version-specific
-    src = source.plugins;
+    src = upstream-info.binary;
 
     phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ];
     outputs = [ "flash" "widevine" ];
     out = "flash"; # outputs TODO: is this a hack?
 
     unpackCmd = let
-      chan = if source.channel == "dev"    then "chrome-unstable"
-        else if source.channel == "stable" then "chrome"
-        else "chrome-${source.channel}";
+      chan = if upstream-info.channel == "dev"    then "chrome-unstable"
+        else if upstream-info.channel == "stable" then "chrome"
+        else "chrome-${upstream-info.channel}";
     in ''
       mkdir -p plugins
       ar p "$src" data.tar.xz | tar xJ -C plugins --strip-components=4 \
@@ -85,7 +84,9 @@ let
       wvModule = "@widevine@/lib/libwidevinecdmadapter.so";
       wvInfo = "#${wvName}#${wvDescription};${wvMimeTypes}";
     in ''
-      flashVersion="$(${jshon}/bin/jshon -F PepperFlash/manifest.json -e version -u)"
+      flashVersion="$(
+        "${jshon}/bin/jshon" -F PepperFlash/manifest.json -e version -u
+      )"
 
       install -vD PepperFlash/libpepflashplayer.so \
         "$flash/lib/libpepflashplayer.so"
diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix
deleted file mode 100644
index a566c4bb1c87..000000000000
--- a/pkgs/applications/networking/browsers/chromium/source/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, patchutils, python
-, channel ? "stable"
-}:
-
-with stdenv.lib;
-
-with (import ./update.nix {
-  inherit (stdenv) system;
-}).getChannel channel;
-
-let
-  transform = flags: concatStringsSep ";" (map (subst: subst + flags) [
-    "s,^[^/]+(.*)$,$main\\1,"
-    "s,$main/(build|tools)(/.*)?$,$out/\\1\\2,"
-    "s,$main/third_party(/.*)?$,$bundled\\1,"
-    "s,^/,,"
-  ]);
-
-in stdenv.mkDerivation {
-  name = "chromium-source-${version}";
-
-  src = fetchurl main;
-
-  buildInputs = [ python ]; # cannot patch shebangs otherwise
-
-  phases = [ "unpackPhase" "patchPhase" ];
-  outputs = [ "out" "bundled" "main" ];
-
-  unpackPhase = ''
-    tar xf "$src" -C / \
-      --transform="${transform "xS"}" \
-      --anchored \
-      --no-wildcards-match-slash \
-      --exclude='*/tools/gyp' \
-      --exclude='*/.*'
-  '';
-
-  prePatch = ''
-    for i in $outputs; do
-      eval patchShebangs "\$$i"
-    done
-  '';
-
-  patches = [
-    ./build_fixes_46.patch
-    ./widevine.patch
-    (if versionOlder version "50.0.0.0"
-     then ./nix_plugin_paths_46.patch
-     else ./nix_plugin_paths_50.patch)
-  ];
-
-  patchPhase = let
-    diffmod = sym: "/^${sym} /{s/^${sym} //;${transform ""};s/^/${sym} /}";
-    allmods = "${diffmod "---"};${diffmod "\\+\\+\\+"}";
-    sedexpr = "/^(---|\\+\\+\\+) *\\/dev\\/null/b;${allmods}";
-  in ''
-    runHook prePatch
-    for i in $patches; do
-      header "applying patch $i" 3
-      sed -r -e "${sedexpr}" "$i" | patch -d / -p0
-      stopNest
-    done
-    runHook postPatch
-  '';
-
-  postPatch = ''
-    sed -i -r \
-      -e 's/-f(stack-protector)(-all)?/-fno-\1/' \
-      -e 's|/bin/echo|echo|' \
-      -e "/python_arch/s/: *'[^']*'/: '""'/" \
-      "$out/build/common.gypi" "$main/chrome/chrome_tests.gypi"
-  '';
-
-  passthru = {
-    inherit version channel;
-    plugins = fetchurl binary;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
deleted file mode 100644
index ffec5c8b8073..000000000000
--- a/pkgs/applications/networking/browsers/chromium/source/sources.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file is autogenerated from update.sh in the parent directory.
-{
-  beta = {
-    sha256 = "1xc2npbc829nxria1j37kxyy95jkalkkphxgv24if0ibn62lrzd4";
-    sha256bin64 = "1arm15g3vmm3zlvcql3qylw1fhrn5ddzl2v8mkpb3a251m425dsi";
-    version = "49.0.2623.75";
-  };
-  dev = {
-    sha256 = "04j0nyz20gi7vf1javbw06wrqpkfw6vg024i3wkgx42hzd6hjgw4";
-    sha256bin64 = "12ff4q615rwakgpr9v84p55maasqb4vg61s89vgxrlsgqrmkahg4";
-    version = "50.0.2661.11";
-  };
-  stable = {
-    sha256 = "1xc2npbc829nxria1j37kxyy95jkalkkphxgv24if0ibn62lrzd4";
-    sha256bin64 = "01qi5jmlmdpy6icc4y51bn5a063mxrnkncg3pbmbl4r02vqca5jh";
-    version = "49.0.2623.75";
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/source/update.nix b/pkgs/applications/networking/browsers/chromium/update.nix
index d4dc3b59cbc7..cff841995624 100644
--- a/pkgs/applications/networking/browsers/chromium/source/update.nix
+++ b/pkgs/applications/networking/browsers/chromium/update.nix
@@ -1,12 +1,12 @@
 { system ? builtins.currentSystem }:
 
 let
-  inherit (import ../../../../../../. {
+  inherit (import ../../../../../. {
     inherit system;
-  }) lib runCommand writeText stdenv curl cacert nix;
+  }) lib runCommand fetchurl writeText stdenv curl cacert nix;
 
-  sources = if builtins.pathExists ./sources.nix
-            then import ./sources.nix
+  sources = if builtins.pathExists ./upstream-info.nix
+            then import ./upstream-info.nix
             else {};
 
   bucketURL = "https://commondatastorage.googleapis.com/"
@@ -32,14 +32,15 @@ in rec {
   getChannel = channel: let
     chanAttrs = builtins.getAttr channel sources;
   in {
+    inherit channel;
     inherit (chanAttrs) version;
 
-    main = {
+    main = fetchurl {
       url = mkVerURL chanAttrs.version;
       inherit (chanAttrs) sha256;
     };
 
-    binary = let
+    binary = fetchurl (let
       mkUrls = arch: let
         mkURLForMirror = getDebURL channel chanAttrs.version arch;
       in map mkURLForMirror ([ debURL ] ++ debMirrors);
@@ -49,7 +50,7 @@ in rec {
     } else if !stdenv.is64bit && chanAttrs ? sha256bin32 then {
       urls = mkUrls "i386";
       sha256 = chanAttrs.sha256bin32;
-    } else throw "No Chrome plugins are available for your architecture.";
+    } else throw "No Chrome plugins are available for your architecture.");
   };
 
   update = let
@@ -224,8 +225,8 @@ in rec {
       mkAttr = key: val: "${mkIndent (indent + 1)}${key} = ${mkVal val};\n";
       attrLines = lib.mapAttrsToList mkAttr attrs;
     in "{\n" + (lib.concatStrings attrLines) + (mkIndent indent) + "}";
-  in writeText "chromium-new-sources.nix" ''
-    # This file is autogenerated from update.sh in the parent directory.
+  in writeText "chromium-new-upstream-info.nix" ''
+    # This file is autogenerated from update.sh in the same directory.
     ${dumpAttrs 0 newChannels}
   '';
 }
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index 05cc671d31ce..df53068713de 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -1,3 +1,4 @@
 #!/bin/sh -e
-sp="$(nix-build -Q --no-out-link source/update.nix -A update)"
-cat "$sp" > source/sources.nix
+cd "$(dirname "$0")"
+sp="$(nix-build -Q --no-out-link update.nix -A update)"
+cat "$sp" > upstream-info.nix
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
new file mode 100644
index 000000000000..bcb5c3f2311a
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -0,0 +1,18 @@
+# This file is autogenerated from update.sh in the same directory.
+{
+  beta = {
+    sha256 = "1lgpjnjhy3idha5b6wp31kdk6knic96dmajyrgn1701q3mq81g1i";
+    sha256bin64 = "1yb3rk38zfgjzka0aim1xc4r0qaz2qkwaq06mjifpkszmfffhyd0";
+    version = "50.0.2661.26";
+  };
+  dev = {
+    sha256 = "0z9m1mv6pv43y3ccd0nzqg5f9q8qxc8mlmy9y3dc9kqpvmqggnvp";
+    sha256bin64 = "0khsxci970vclfg24b7m8w1jqfkv5rzswgwa62b4r7jzrglx1azj";
+    version = "50.0.2661.18";
+  };
+  stable = {
+    sha256 = "0kbph3l964bh7cb9yf8nydjaxa20yf8ls5a2vzsj8phz7n20z3f9";
+    sha256bin64 = "1k6nhccdqzzzicwi07nldqfsdlic65i2xfyb7dbasbbg9zl3s9yw";
+    version = "49.0.2623.87";
+  };
+}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 31ec6f313a8b..1ff70cb8ccf7 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -4,185 +4,187 @@
 # ruby generate_sources.rb > sources.nix
 
 {
-  version = "44.0.2";
+  version = "45.0.1";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "2d0ab9fba584576d67ccb600339efeb5ad7aac1629b2d7865e121825b1a5a6d5"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "188b9aab64ab1beda84dbe7b36d899210472a3e445dd827b64ca7083ae3c0b32"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "e6b5fb28e5ad03240f0e156c81db1df16bfaf99a946ffab9672c06d8561de9c3"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "c2856308c9e87bf82f621c5d4c96e9c5a70e5ebb86a8e4ba8ecb4d08c1ae98ec"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "f138b17a230e9b42b334d3900bebf23156fe1dec1f4ec75f9a3b94348523e241"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "82d24b07dc8d887837e8fbd610c2feb1ff4975917d8a19836ec0d0db56522de8"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "b530e58161331bff3222083298ddc5af0055c6b3337b58b1a4eb1d5d4e348d62"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "67c0e4ce7dfe54d0e4fedb168342ea86a82458e2d3ce6aca78b4497f4e813bfd"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "f17e991e97e85b981c3191a0becad6df457a29b7042d31a667fd227dadc24e80"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "2d955443b785a65d2f9f914232d521aeb9082b4dead8fedc89cfa29329ab8e2a"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "c9e2784047b58eddfd72c1e56964eea8ac098240436d029665bc940c7b8d8f8d"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "4bd5cc7c34f0a1fc1e2e899942c4ebec6bdab2fbd9e3d331ecc0c67a6f8c16e4"; }
-    { locale = "az"; arch = "linux-i686"; sha256 = "1789f6c5524314df239e4b4beb677adf48ce926a097128e053b352067d13016f"; }
-    { locale = "az"; arch = "linux-x86_64"; sha256 = "4881ccb7521512b4275faa2598efda6bbcc3d7838b6200e79c8fcae358d32c23"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "e9e31e92e0732188f6c4494023de260e5b64e97c56ff07857b290355c50e25f4"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "00ef0cea013cdb8606d8786bb5a21e502a6054ab57b2fad4d24161c47768f418"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "6428fa1d4f2bd0b703f207a1571e425f8076438954f955f60c0e8c1525743823"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "fc156d3d76582c95eb6a0a7ee88dbdbd6c99d46ca42b011e1d789b0552bb5885"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "d0b69158e5ce85eec29dc70c4942bfc76eaf2d8e3359c45de5783d39fe1ccaf0"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "928575b759e4ae89d3e5ee475ffa18c69e945846981102d540de01c9bd87582e"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "a92a902e4380ddda37b8e70922e91ee029d47f866adea53220dd76182c52b596"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "022b9ff7141cd89df35477d357df74556bc4a24639141d21111eccfbf8e2f98c"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "c398c00b98edcaa2618363637075ccf749a4d3567dfdae070b4b0cbe23832f56"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "60f471fdf1b71072751396049f12a198c73d11892ec69fc142f925a12c6515f4"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "d9e3c1b5c94ad207071cea86295ef3f98d4bd9201e896f6b9d67a2e475ea2898"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "2ea3bb1c14a849b5039b633963687629839174ea886d3f8314f67eddafa2b16b"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "bf1c1c3aaa900d66c4684cf48623bb0c9e0313cd919ad0e67e8a2e3ca5987aa6"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "30c0217722c599ed8fc0e713e0b763a01dc0da37dc2f290a2a4d02cb2a86b6a3"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "5ebd809827cdc85da0e6c973855c60426ab98e2cb898c030acd403577d3bb78a"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "a1d55b7c54fd7eb89bcf5dbdadcaea0f5d2da7110a090c424c52a55ae23150f2"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "55df045619bbe01af6f33c6cd563d6097b9c9023ab9133fa7def0800cc9aec83"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "2ddb8bcd515aad4ddb029cf4e5c49e771aa1da14394924c4ec532c5125b7ca7b"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "b322bef3e95b24337f294b2786fc5a819d954adb43f98dee69674d41fd234b5c"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "3e5164351808ef2f8f4e9cea6bb1121c4d3394de56536d17869a56df3b783d3b"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "a404bf7c19dbc65adea8872b8bd080a17417bc0f1ffa3015513d86750b2903a9"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "3590e100bf84f2734d1b3c81508d8fa137fd100bdd1e764ae5da1f88602d5b9d"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "c4be1a5cc431f3aeb26694bfd0749da0dfc85c119f75b551e69083a384042833"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "36f451bb07af47aff7c930a2810ef628e3382f92560efbe396133735275f7075"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "736ee0dffe7c5dc0d5abc7755a83e29da718901252034ee503775fc3f11e31c1"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "1638e1fd69d1887bbfd2de95ffe7945f52934055f8e15eb919d9ccac930959e0"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "1f9c8404fd01c1cac530c0e2b1fb488a2b4f7a02d8c2f0e568e0db050dc66f18"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "4f7491b919ca7a0563cd3444bd4a1abf48a4448ccdd743c5b5eb58584e5b1e94"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "abe3e5d23cf557ee81e7064d6d1b2d3a8f6b6e1a5f80947fc7229f0b2b631380"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "a4b439e28274feb4bf5494ba180143e6b8617428a63d11fa2fd0e650dda41908"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "9de2931e926e0b0667f6916283a7ef019d1c067b29d6bd5b4b903fdf87ad9c17"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "6ada8b6a9a2b19f9515a1aaf63ad66cf35a1ab5491fc8ffc86a17fe1378ab553"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "92db868c78ae49a8275d217327ca442ef6733b955ddc5b4940183c9a596da3de"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "2e8267fb43ba6b7636c98fe386c35ddb9032265565844dcbc90f3dba18a2bc05"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "6343bacb35c929c8f7c5cb554aa0e5f67100032c71bc24203b663409e45cbf40"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "0b5a07e745aab7d1e0bb8bcf0afe12ab71a88679024ef6e9edd53bab7518df7f"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "7288765c2222624e69b367ab83686c21a348330a8f26eff7c6ea8dca03a3aabf"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "543778259a5d7c4198c8125b72f9e66e9ae98b398bc3b07ac0e103f07ab7ef2c"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "c1aec91c45591eaa6df8b15ba13ea58d15ab2cce20361719ea2549896d26ea1f"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "ee3b11c04ca280ff77e3cedd3dc2040b7b1722384639c02507bedc927c7b558b"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "8adb9435f57da461150d8b283161760683e46b068eaade916119c2240f0a9c66"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "b624c4345794a22a7c63b4f6b7a1ed6f52472fa5cba4173f69f3c12ee3b4cbe1"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "efb6c6753e8a9d8174e8bd1ae7cbf3f75b479e5da3ebe07dbbbb4ac140e60eb9"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "c84bb0597fa14e8a7a2d086f24d71ad2f3c04b3fca794b76977d1a4cb1aea479"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "d116553c492ec41b811befb35393553b9174da3960034ce5106558befbf9728a"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "16c922f152d5e14c46277e23d30cfe0792c8e9828b8862df603aeff242c7ec96"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "744ad5a8cb4473d502d1db50b6bf343e23525927b3a982677dd8a68aea111b3f"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "968fea07386b96215af400524062447245fa038766caf0b133c932db6f105077"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "0fdf06aa42cbd4d031fdad74d8ac9d6056708fc783180d72c5806cc45c5b8eec"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "bfb65ec25192288b2f04f94bdcc9ce36a40a27c8a1f35f728f932c071b6756ce"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "334c121cbd9a1469996ebc5535d838e3fecfcc419861cc70d5cdeb0cd584d5f5"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "44883a9b819a24bef03c3322681e1b9f3fe61779e382a740900dfc16a5f7db06"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "cd196dff293aabc39156e82deb5163e139a4b0173de92a2ba72df49bb4b0afe5"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "77da207f48d7af908cb5e95767e61a2e6c04f1851e55430820ff8207da172361"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "39e8da569f2a6f67abac7782a938a906c810f8474fbb2c799dd26fb846c82707"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "44dbf644b3f96dd607e5c88eece8aaafd61ec42af9f7ba4c6ed06a272a45fa4a"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "783532acf3967f94232f42c9cd559e288db499c0ff74776543b59d71d281a74c"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "39509082dbeb935f481e95d6038943a17c5053f7001fbf71bdb0edea536adb9d"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "dd73e1bf159f3d437d69306c5daeb7a06c951d6c5841315363c354f9aa1570c5"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "a2fb4aa1ba4a50bdb308e8c12090158c5e040ae85617171786e93852d4f48de5"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "8ac3fd13e0f173aa1dfffd44c91511bd457c6a751daa978fbaae3f9901427cae"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "cf52827a18b400f8c3e426b00e2984bd5835014f3e97e9c1279f0b285ca5a5dc"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "1ef44836085733b52c338fdcaea78e7df5f78a0f0f470b9de3ac7b13e3ec4844"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "374280216142897536979fff6f876253caaf0eeb12a3d12d17b013e7ab3ba722"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "1dcca6ae796da1a1317a4f094f06369242cdf7c0f8ce3df7c9fabd22910996ab"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "e032513a673ba091207996b8a6a6b9da6ef05d5c080a93ed326fc4ac4ca6976a"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "2057287b406513a332d162f03f75ef7ff4c83834809163c8b870d9e5ab3f8cdf"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "8d19043416484c382fc9caec5dff4914fbc28feefd41a089591ef2b21f822a43"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "995a6dd027a5a6b2123c62b74f524db53940e2c8fa6c7254dc41dca236f7889b"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "4410e7d1cbce028de083b82ee68f442d27c2219544ec1be72ef2c274cb7c445a"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "0dcb0de11e35475cab33e11b08b88ff766915d7d98ceeb466a0fee90883ebaed"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "1695167eea386aec4fca23bb0bf4e5b83876a22f8c584f4e81886be229e9a43b"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "31026a26c9fa9b3777c2f9dd1d55da7e0204e4d98586f887b67588ccb86c3843"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "82d8fbe932765f100a116b6d572035297be2f027b4f0e0ba84ef88cb4b651000"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "864c112f13628bd9bc715a6a405dc92c3f8027b0e505722d819b84775fb27066"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "dddd71e651056c373225baab9bb190810f8ed6849abfa76587fcd05cc5060d89"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "3425906d6513d3e06286b9b3c62c30d702a47a3d7a31638a58f926e2fa4a254f"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "095d970add8bf54fc2fb2581532013f4792f648b58fa12d49a6a859f26a0e579"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "f3687eb0e7ce24e14621345543abdf2b92435466ededc98a4ec4a117c4593c3c"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "dbac8774c64e6c978a3eb900cf61d85a210d0c39c28df4a21e4295ba5febd0ea"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "62091c6f5214f4717462d9e2f6bacd7f30417b7e714de3fdec6fc2f703970eb7"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "480b9ffd4326a9a2e2002510027a15d4fdaf8ba1ea023ee6e55b2aa78b119a6c"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "ef143bf31fa67cab3ccafc0083d81ffa8997e3365312b12312623755eb24f48d"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "f74808de8fb999dceb067b3fda64e891c37bde7190e9eff68f1693f5b5feae0d"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "a532d49011b632aa83f6b881b39c74bcb66fab0237e3e4f8682445aa0a053d4c"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "7f32ee329e8281e89472b092248a26e1d38089bdc9830d2d1d0b1af8230ca20b"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "34ecf596b0870aca2db30513ef5d6522d86caf70fce38b23a7bff08c55551b69"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "6e7efd621e941674038887d1e8d90c36d0ac06a095386caa01d228494228be14"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "062ebd6b27ef9094e65e60ad64be30470ed58eb2d92f247a87a781b97e0654d9"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "e88428b1cd2e1919336dda303d8795bd02e4967ba8c6d2830205f68fa4c528d0"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "6c43a7f86f908cccc7ca3a7ed45f95ea84b69e4a21ff1e1d58136ea19bf7bd2c"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "9db2bfd818d82ee0c9bc35b6fd651ad8fe80f8d73d51326fde25fc4c2aaa295c"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "be87fc2a6863f33f9ff9ad2990e1e6425a65002f2ee411a254dde80cbd5a31c4"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "9cfb239df8195cfa355bc8ddaf63accd865de21086c5bc3180b2ad9886445f3e"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "11e18e6baac8f31c62a301e8ee51056c707ca47332fbeb6f3492e8eaffa25c57"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "3bb4dca607abc4e08300dfa61667d2f2b06661f47cf0029d078e14fa4686d4b8"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "bc484992f230229ab4ab6d47fab9664f43341ad1202010f5dea91d2d78200c85"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "42bdc60ad7edf2ed3e82f765abfc3815f98095adc2988f8d809a8834eada63ef"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "628f0685185f91e695af5ce9a536d9263305cfd747683ef33dccd0c90f3e1bfb"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "688c33b159b4fcd23fb4c6d3a7f845d03929b4a8b02eaa2ebb93682b396c73a2"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "a59b2a8ee82513ef78f3509afc4dba75ec3128f0f42c657bbbfbad117b981b36"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "3058ff9ac581a65ee0713fe3707f8b98eace0f833b8e7b901fa397538e9503f0"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "43c80f530ad3eaf7c138e16b23b9eb32afc1f774374fe213f580cf68e4d0e245"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "43f061317f9eb5a174cd13539bb3972535b552113d38c05d9888e7a37346ef22"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "30c0ee68eadffcc95271f1e7c1c1b0151ee21ca3744fad61a723a9a6bfb751b0"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "d9dd27af41ca021f323499be556d208f69b706aff079c8d7392c7f19092705d8"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "adb5e1968c66378ff9b59dc57c00a2c953ad1f54f67e1bc40abc499bcf79653f"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "3e4b43a88b3aa2887673e1962fa4ccbd895640113e683c849a3c9733677e1fe1"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "f4be0cff21abdc80fba10db2bf781fecfb4e503c70cb95a8b083c5f7123f8dc8"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "e9b191268a6694805a5ba86559e798c9a4e29eae39a7f64dab92a925fb31611d"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "581c73084993be0bf1ab23bb468674d062fb98e99573d823e977a263b4cfaa91"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "3fd8929341ae048187379b7648ec8e008ace53e4a5f0af1421ecabcb5ad3bf61"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "b2104d5895a727903f6a273888989887542ad9e61c998cc651bb24d64efc6cfd"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "1bf582e66da985cbb01c22f865fc291196c55b14d2f84516f68f184ea842a664"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "1ffbc776fb3ae030e6dedea009b71873bff57f9294e63331404b53e1ba36499c"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "b988f433a238b2cb3766042d911a1f002a5f91a47dbed5b937f70cb59ed060d2"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "6ba4941b5bef7b860194114c2704662a42f9f3007a0b634662e42f38c0aa601a"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "0d9920d4b358cfdcf8cdf4b2d2e07ceb191709eee9dbae4c59f9dbfcfffbf0f5"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "e080fb35bf49f9eb2fc39a435a188164eedf2ea7a24f8e950d62567620a91954"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "cc37624f0c1e82d2de2048129f58e85fe8a518ee4b0ebdbee0a5205517602cf9"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "d19bf65889c686cbb284e697e8ba1315b6ec004b57096725fb576898ef105346"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "0d00d2d0bbc6045117c4df93045f70ebe0468e004504a06dfc508bfca6c6df1f"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "5225afadf2ea62792376dfda1d2b3533d986f1ee3a281781a5be294b8883ac8b"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "0c1d841ba80e32d51d41c99b551e68c6b591e97af4ccee4d7c7d6ef03f8707ea"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "2cc9200a132c967a7158f5422dad8f4b2d90dfc7e46ada305daebabc44806de8"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "0dff628773d4f2e24b767501b9c768586a27e82c0e8b259ef1cc676985ad0125"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "500142fe612fe6144a14ebaad486da04050940a755e205297473c1be6b9dc428"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "f3a57abec8553c8b9d8db9fb5600cd7b6e1189ebf0225df96608eaf2863e41b3"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "1266ed09db881af90794bef049cdfee777d7179026de8c0de2931275f3f288e9"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "0f1b44177633149aaa31574ba3cf343971bd4e11ac6b4bb92a5875b6a30a42af"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "e027afd86b00379c12e014b8d0d11a05811c598f53490edf7070e7acccbf0d79"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "518c19c5351a2c1bd05afe63e9d8c2a0be3a9cedccf7aa1d84d1af9de7ecf7fd"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "e3dcda7406d00166a601b77fbdf0b84181ba5372f760eb08d5476fe9d219caef"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "019c03ecd24f394b0ff76aff5cd9f0db017ffd3b8dd65388c4f5ee3188e77a6c"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "a88391cc29643277f9d8c58a205ac959af825326b61c16361d4def6f7da31235"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "fcf45e13a0bc543988495a83e5e96400707564d2ed4fcd0579219c999ee71e83"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "a75e273e01df51ffbe2c8666545f1e6f4d00af373d7aac08978947d7afc1e5f4"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "9f28df29d980e6c7467e99b2b81740cb078ce8e6896fe4e2a6b1473770e6bef5"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "2243773d7d38608e17233e1d98e4fc1ca19f40f27a3e87557ad7fbd958c080ba"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "c18faf9d8971c43db18fcc66329a85018a04e8cf4819c4843d826bc86414cadb"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "0cd5e6a3910923aed9a88fafd95bc11263de7359c38685e209212339bb2f50dc"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "1ec48c65323b15332932060ec5193908d89715736bd0abd88472dc05e639a62a"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "6718eb3e71a3d4f5487b80bbd784fd61422345f94d3271f6de6f6feab9e2f6da"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "5b356a6334d424b5e47ea4b1c32403a858ff5dc8727bbc0b2f72e6a29c9b625f"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "fdb4e36497a61af9badb848a067eff4e4dada7dfffefbfe6bb7266ad89a8707a"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "de5f0b871425412f9f261eff5b1abb3ddbd40f588647fd8e174e2d6c5ba17b90"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "0cc82774a46580c9e2f890848f705b1dc4effac197a902f9d244f0b6f6258650"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "65ceda67a572053dd4d9e15b9bd47c91364651736417414d4ca4a0a7ded9775a"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "1c0084ed26218713c4606ab073bf09de888051e9dcc49652a87fb58209a8c614"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "5a70e29d282961e27350d26cf164472fe51247db1d7d1228dca693423c32d0a6"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "f7fa2029a36eda63544beebb6534fc2f8432c87d7a8d08d4c8927275e659b686"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "1e3744f5908164e163818522fa902bd57edb62837b2b399983ea5a4ed487cda8"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "0f465eda0f7e87eef88bc17b3e6868ad90a270e6993d327fecca532637442df4"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "6530af36cfab509fff37519b435c7939110c000dbdd94000fe964283a14b1622"; }
-    { locale = "uz"; arch = "linux-i686"; sha256 = "7ee5997bcb4915c3907cee90e350e3bc2b67965975faecffa738a728cf2e12e3"; }
-    { locale = "uz"; arch = "linux-x86_64"; sha256 = "d7b34e36bcb423977a2a7667504c096730ca684c9f2e861b17e8f0174f5bb0d0"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "e9497a8eed98ec34b31e3b1ec7086a4d219121f0edf21fd8f6a01599afa41f12"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "b94fbaee83014b88490bf19cc37dbda87fb9260ed5879be3b688a2abbe709a87"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "d5a86db6b9f3bb5162a86f976cbbc01f542a924c05729eb54a2c24dabc711065"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "d765b2d324e89119fee522ad8972031c8727841c2fa2700d010be7d23633bbbc"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "fb3bbc44952207f42112c291dccb82f02fbd23bba7b54b06a1047809d2bb18d2"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "255d19959cb0e0efbcb2eeceb39b43bbb567ab2474af4da6675574a0110781e1"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "cfc90ac621dc57d7eb922c564aa3a7d5ad7f2aacc95196606d34cba7b7e30d1a"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "ff119be821acb8f99a485a60de506123c76a7a3a13ac678576248f97ff1ab882"; }
+    { locale = "ach"; arch = "linux-i686"; sha256 = "6dff17afbbbb9ba8e064b431db1f6b6a1862ec56e11dfa8cb8ef5d89dd9f7705"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha256 = "4f806511a1e7c2100d976a9753f0e7ecee483f19ca1176e1867021a55725aabf"; }
+    { locale = "af"; arch = "linux-i686"; sha256 = "0a2e0b55e43b41304895f624ae95372e4ab52b06c8892e0ef02a8e41c5ff28e5"; }
+    { locale = "af"; arch = "linux-x86_64"; sha256 = "c865d4a431c3b92347393b62c4589fe67f4323458faf1ee07367e1f432d0e839"; }
+    { locale = "an"; arch = "linux-i686"; sha256 = "d58dcdb222fad88650d65623005897de7a693d16c44d86f25694a00d7fa5111d"; }
+    { locale = "an"; arch = "linux-x86_64"; sha256 = "b00ac5cf76fe562cac8f72327cdf0e54b2c4384586fbb064deb72d2741e05268"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "42851096189bc53d18ea26d9de1d0321b033a5601594c0515530263cf3155b12"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "4d7e8760da3dac6cffa8eafeb22c759bfad3664bba7f690c0f1d1aa5284aed3c"; }
+    { locale = "as"; arch = "linux-i686"; sha256 = "706d584ea78172ec88c29d124abf2bd34881c9752231fdb3f491d0bf858fc5c5"; }
+    { locale = "as"; arch = "linux-x86_64"; sha256 = "13ed628c2ef29b8d3188274e6fc101ba622d4e1ca20880b381e62225c5f057d5"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "9f8f5870245cf0016d4a9a540d29d31249188fa8f390c47cfd330874eb20e8dd"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "9bd85381abe1335ca9208ad764477e6f2a926288058c91aee0af3a3967aa1e57"; }
+    { locale = "az"; arch = "linux-i686"; sha256 = "9e117f5aabdb8f71bcaf8073c76c4b795c957e6739471fed0f484d0ed39b5a98"; }
+    { locale = "az"; arch = "linux-x86_64"; sha256 = "06ee5bd4f1096e6728120fbed4ed6cbc88cb1003c484a15dd624254ae93ed849"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "c6091272b395905e746271176d354ff59eccc9d96c5e1ecc2e8e5c3ac65ed2f0"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "090ba5d28858b2c58a6a29ce0f435797a938cd788ebd3413db4ced224329d2e4"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "1b8b5bbe6473b13fb80ca31514f7386015f5920c7a3d8391aa5549eedcfd09ce"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "b49fa01d8749c1b4d327dca2379e4940d5d85d310e998cad66efecc2f485cf9c"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "3372a82af514706d8eacc5e4d35584379408db964c3cfd35ea75597ddefad7e8"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "798a2a405e175f8347dfd933300eba728cde6dbe47fa831552e40b87455bd921"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "3895feec666feb59a554310efc70b248d63906ca6bde59c03d9a29fa2d4cd7c2"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "58725666980beeb5a651683a76be2084ba9d40530a063f1f1ebf160fb4db8e0b"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "21d56c17d225a6a35711bb8354724a05ad15ec565cc70ec128384f9b8762edba"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "c0cc5568b2fac5ba35ef742fd1f87fbb73e1bca47240e888848ac804f4bd7714"; }
+    { locale = "bs"; arch = "linux-i686"; sha256 = "4b2d818c81bc15dad48c47847c14a00cec5b93615a23cb5d2068f4a2ef98b810"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha256 = "a35a4cd723c446ac5593989f7fc4a56aace5cbf6bce757f3a92986e795ab07ba"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "66497de3bf6069c1af68f6a50988919b8ff37afb9da7ce327a5beb014b75aa0f"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "188b43172959c2ef064ef558d0b6518409eb19bb33add98d77a8bf260def55e6"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "2ccd96ef1b831580dcfe84f62501fcebae7fdf8a803786913bd24a9cc9904ff7"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "c9e1665399f055c561ec6d8df90235c3bfb3570d7ec613b959e80c5080e7c614"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "789aadc04e83af8cc08cb9dd67bc61aef337a31d2ac17239c194de2d12608b6e"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "6d695037d9000911422a6b50d09ef250044d629368900ec569a06ac245c1eb2a"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "b63788d28be0cbc37499e5ad41b8a904413c537a5786b1c2934c304f2adf4ded"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "a5d4cf1dec637ce5c09ee9f8be82ad32756a56ff0e8c529c945b40adb3b928e0"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "ae3b299a514423faf79bd21952f90e37a4d8e7be2cadca9a1befff4160f103e7"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "971b80131db7e1facd480546d9bd780bf69d2a99338d9e50415eb6583e550cdd"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "87c439cfbd139477055e5a8bd421aa65cb75cdb93090a54899d25411ab3d5dde"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "2a04b723d1ed3f9bab3dc9f11fc315fbce2543bfff37532e7cd7a4b9a33d7936"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "37e02fb347d8cb1f3b5079c3be055c0e37cdb3a6ab97b2928237beeb446e800e"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "9a439341ff9c39cfe8dcb6681221d0d78690ad063ac99a201001f5787b5ec270"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "a3cc4951a826e483ddb7832333e032e9197418cacdb4250e5072de1ad2fef5d2"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "433ecbabc4d1fabb2ebad958c4e7a0bb9cff9a657b1a641f820d5f0a7ba8c1f1"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "a78498b51059f46d42cf2fcb2232d57d97f2ab4e8a789151d3a26e013132dbb8"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "251e8d67abe989ddbf7cf9e78bba58eee43e3b1eb0c461a9c6c376bda6c71a87"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "d6195b72e56ca9ea366ab47885ee22b0f7bf4811b3cc937c36af53fe4e6f5d89"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "f82eba9a593fd6ad8a9b5b8b61d2ccf986080a1cff2af598afe930cd96423a5d"; }
+    { locale = "eo"; arch = "linux-i686"; sha256 = "b6bcfea89be5883e1e5d2899bab371b7d972d4be5717d21d522bc56679463dd9"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha256 = "4908438cf56646665f91bf12e46c611818c5323979048d01bbdc4d5cf945832d"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "ace48b5a36bccf1d21e17611e9ef7c21786f207da111473479473e5bc5817fe9"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "277ec48d9b45bd41dcaa141d67f5f814845d5e0faeca97c6f5d507f8c9ce5312"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha256 = "78cb60452201df5cff7ed7da54f3f876596de0a895887f8016b3d642d727e96c"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "3be79c28ea7f7ea075fc92e418ff980176dc9707329f1043c54161e703b43028"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "4bb8d2732754c1112bc8d32a26b0cfee79449447a4cb8ca368f1d41e9ba43d37"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "f512f8f1b163c72234173944c5781550810b90c2b6a1a6f8d070b87a8f85192e"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha256 = "01f2b5e09792714b6315933ec714c5d1baa77bbab5b4e4d06ecf670c47c75d40"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "c7af08a37c116a5cb805cf0b60ef1b1a8f956fec3381ceb0288c62355b05c91b"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "0aac86a5cd520a806aedc2f8111798eebcb08919099973f7d7fc7addfbaa0584"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "fa0ad1bfd65d231cc58c9d79fb07cd4a98d5976e870af017642a77ebd7a4b260"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "4bad5d7e4e2d917606f63efa079092516ff1435013adb8aedbe95a53aa2c594a"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "9e390ebf06c5abc46f80ec8c77bd7572de827ee5d368de34c1252ee386687372"; }
+    { locale = "fa"; arch = "linux-i686"; sha256 = "9738ddfbaaf3e34c5546c584d9dbdeca68086e66f06b438760befb23e07593cd"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha256 = "55e8f1f2547a9c7c3bb3cf7029e166ae42a3745f51b58c87d7eeaf6ecdb81952"; }
+    { locale = "ff"; arch = "linux-i686"; sha256 = "dfb266913e27299469de2a5ffedd5fa47f344d6d7e092ddf630cde726b94934d"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha256 = "370e310c39f0a87cc8e3ecc5bd6c8f3bbd863b1a8d7e613a0c2fa9be7b8b988c"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "2d10c5e21f414cc83a5413e8a2fc53124c2dadb718861410fa45e57c8ba4fd7c"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "d791eda3135572d0735393ee1101383b4d20142a4279dfe615a9e20c341ea4ea"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "94118a53c25a0fb243b63d51a64c077672c4c93d7ca964f6384e3bb8234891a1"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "6ccd8216017b2593430a812ea167a97012060d41fbf610bf518b8d997ac59c53"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "bd5cfd3565353ae8d01d8c9089a364394aa0ebc4547a41dba11ced14a494ed9d"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "0db0aa59c0df881f901d794fdf99f5abd27db88e0c3ab2d364b22eb7326152db"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "59486516e8aa13ca113e1f2998b05509dba0546aa7b11d99ff6da55a6f069f64"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "1cda950ea6cc6d8957d580fd2c59784bf6cd339083f0fc3cd3a084e0326b0041"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "602047e1669e9551f7a3501082e81e3e79287082b981d59f515887c5e892fb70"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "d5b901d78e06a75d2534214bb849e31696ec44349c18b9b511e68951d29fde90"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "d55a556321c600024ea2fc38d9671f34c490046da88a89e4ae46d9217bf64677"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "3deb86b766f51a218266cf4d97e1b3332c8ca7d75cc86491d940a8b9f37c0bb5"; }
+    { locale = "gn"; arch = "linux-i686"; sha256 = "f38099f998e5bc396360856fe2543152feed086b64a85b7ac3bd2b9e3e0ad609"; }
+    { locale = "gn"; arch = "linux-x86_64"; sha256 = "af4055322dc0524a00fc3ac08a4b2eb40a305dd574b92cc591fee6a00482c4b6"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "3210857982a6628f8c2632995c248eed1bd1c719ddcbacb663839990e67b88c8"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bb2154aba760896180ae747648530880127c8c46481b04a1ea0cb3b47c2a6f41"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "18b5217fee9e30bd4bb7f1ea27445ff4aede149a286c07b7c8e9740330b7e6eb"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "2f51ccc6e5c64976c2f81818d0a4381e508aa5f70ec2108f0e6f512a51574709"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "555318d41795c988f41655bcf4653aef259c2e3dc80fdcf95670c6ada7fe687c"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "683e0437ff9168e159e933bf72f6db2d95ae94bb06bc48a1d1fafd30b7028fe1"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "c7a2cfb5f4594a3690797ee5559949154b3dd8c9e6a4dbd774e312f914e0b268"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "94098ca5f069445a6514d4b7500ae10b018b4e1dba2eb7052a200c5eb707ba41"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "c81cde05298660186d2760e977e43e554a896105765c043caac74b09326358fb"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "4cdd381d2eb94f163637a328e5ee9369eddc0559f17861377566853e2a7ec571"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "0af518a42e35174f838b958823ad1aa24a14ff75a6058c2171594e16d5670d77"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "b4c0212fe6a8df9689d5dfcaa9ebb2a1cf07e1e9817727581411542ea9bf26b5"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "0d62e6627e3ea838089a6b8b8692d034a64b47c66af80561a23bcdd74fcc777b"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "0e07e77cfac6588f8b1c3579b7dfc62feafcb72e7f9f57e2618364e3c02c0527"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "9361b3c83f4b3fe84d2918810b4651bc2878eeb3cdc849c513aa3faa17bb9a72"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "baaa11970fb695434fc2c7829d99578f7f48debb5e11729f94b58df330608c36"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "3f1fc35dc18a684a22c05a2ce468b5a164b6c83457694f9de4e6f9a72c28c6df"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "046fa860343ea079db768d94c5dbc563d6564df5a177f2a5cb7fdfa965576019"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "ce736af6240e803a3c1fabb58bdae2e27e44ff593e56172b3d6d174c89f606e5"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "e2a8fb6e3f18b2be4b7736e3c8adf77968bc13dea7f981e20ae47430b137695c"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "2153c10104c62a5814a4f72fab7be6ffa2e03e5c5cc5f7172820d0a139134fe6"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "446a20d4ca5c7086045f8750eb0bcc850118d2f020a77f8fa4d116064b443953"; }
+    { locale = "kk"; arch = "linux-i686"; sha256 = "3ddda0311feee7c247fd309a7721f4be8458fa528e63a2e8f58c005f70007144"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha256 = "4dd8f3ea040fb2d6056f0c0f615ed38f09c980cee660fba1f8aaf0fd506745eb"; }
+    { locale = "km"; arch = "linux-i686"; sha256 = "a295d9d466aef89c95989866a38080d3d1b110e4efb52b1a01479817dd1c866c"; }
+    { locale = "km"; arch = "linux-x86_64"; sha256 = "dbb249a1398c335a155ea2b2f6ac4656f8ff00b999035dce9f5a59532043f9c3"; }
+    { locale = "kn"; arch = "linux-i686"; sha256 = "357077be38c6869602a13abf1f494ec8a124a9eb2c03a395a1b30276110b6913"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha256 = "11658a25f30558a6f11f28c80a98800095ef4c5879d456dc3503737a8d9cb465"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "a653f4030480ab17d77c48b144296e78faba7ad48fdce812afbe8243299575c5"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "182858b0c4bd6ece47aff2b406da7442eb3fbe148c3bc20975f6bafd2acd37ac"; }
+    { locale = "lij"; arch = "linux-i686"; sha256 = "449088107c0077318d95176a90a65219a76c851c98dd5b929452bfde2a87773f"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha256 = "8b45df098143a01f915b8eee0f8b7d56b4ec73fc9cfd0fba8c5f4b8582992f80"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "085e9873154fab87c909cef005a82f0d5ab81a8ece9adfe46766ae69418084f6"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "dde643769a14714cb9990fa489389fd5cabcfb26b23c31bb32dbaa17a38f5150"; }
+    { locale = "lv"; arch = "linux-i686"; sha256 = "f6363da3c7ebd5f9d80454ad126ac1cf03ef2c9fd2eebf5cb174f0d7a9cf1e36"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha256 = "41fb793c10d5eb52dd3847f9dee30c3f67c8ad5061897d9f13135b7d1666a84b"; }
+    { locale = "mai"; arch = "linux-i686"; sha256 = "96af787075b06d96a2e8a261b900f6eb590f4997354dcd9f57a8714af3432a12"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha256 = "514e75157308cd6fc96c54592dd1c1f5b556c15c5b211543644f324eee09b1a2"; }
+    { locale = "mk"; arch = "linux-i686"; sha256 = "1f809ef4d0afcb13bb40459a63be49ab6e074641e8f4ce54e9d2bd89c4b0b141"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha256 = "4931d99ddd6851e4e4596a808e6b6e5fe45012711723c6748b752217c70be9d6"; }
+    { locale = "ml"; arch = "linux-i686"; sha256 = "5081b42676c174226c357c798d64cade2acecf6e935bbfabdaab548d364dd1ff"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha256 = "1cbaa2c64d8fc098b67f77660e18a3df3e051396a3d5e0f984294b0823324365"; }
+    { locale = "mr"; arch = "linux-i686"; sha256 = "d1cc4ef0d9938c85a21e64e4a71539d46a78c709edd1ac1dc331da8ae6af57e1"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha256 = "8fc0abfe8e834c0894187fab63becd1e3d4e071609676c1d0a8fd35a4265ec60"; }
+    { locale = "ms"; arch = "linux-i686"; sha256 = "7f471e30f28f0ccf6bc285d24923be2b53415891f4f0909c31160bd09d8e2c21"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha256 = "150101c5a3556664a9e3827edf36c412c64037871a5af5f66c47bed448c8931d"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "67b888c5b666e1428c182dfa79aa1a9a471c785d4dac85e6cf1f618dee9c796a"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "57c1aee6f309536788a9a9bd2be3046d65c9b174583de7e0b72cf45f28156f67"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "43feb0205631ff5caa6e7d71fa37a6643b3b3fd92fc06b77cef9e9a0113bb1ce"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "182481c49deb71d9344a8789db40e233326719dbe19973fedeaaa504ba771fcb"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "995abcace6138d11252b60958a8d5a13a1abf94c8017e567053468f811549b24"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d449fa5534d9a7f5e772678388770f14fa32226b0366e9a2adf7cd245b911139"; }
+    { locale = "or"; arch = "linux-i686"; sha256 = "a7abea23a03ed38048e724e2f7fa234e24f0f74d8681e39bca5ef183178df923"; }
+    { locale = "or"; arch = "linux-x86_64"; sha256 = "b05963dc6e13757b4afd1a1fa72c3128cbdfc9db3ba16adc20d2fd2eb101f165"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "4a30beb8ca9feca58487264abbed2a403336835140767ebac31be24bcf4b9386"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "77b77274a7eac09f4d1a7163ba5555ced722369717d98ba1dab014140a4ac235"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "699b72fd6bdda12d71521bc0e32fb1a95d933dc45f62595e6b02f5441ff6d016"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "d748461e3e45a3d07aa36bde8fd265a51888e34ce0a8e23fdf893e540cc90e16"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "0b7062f911ce1d70e5300cd85328aa507c9a39ad14110a0241e23280af0f6db5"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "b2de3df121d0ca4b4c322533040ae5187cff9fad8e8b83997425867c051b636c"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "801a04cd65d7253c95bfb9b680abba87b45e3f0cff18f94b81945ed47154b9e7"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "5e6a28463b388fb2a242af899e521a7c2a4bcc48959d0f6813335fd11e3b5861"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "57d8127547da954a6fdecaaab0006d570125ad577ad7d66e53c97e1c2194258e"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "f6158506cbf3c96a5f6a551969338a65369f2be52bfa80359da3941d2f3277bb"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "980701a87255b999c4df5d82a53b653bb513675ba93e5138bc47e91174d03c3f"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "95e80b8bbd38510719463ca1b67e574f0a1d62daa8fbd09f4bba277749c57517"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "16e6775a26756b445e5c72220297062b3e4e1ab66efd0324eb161a4d5b353874"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "9bc067f5c158f33fdafd8b7ea1ab3492002ceca579a177a292a835d52c430c27"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "2fdc744bc85488514b9bcf93b017e6f6fcfd4cf7c249c1e7d307956cb62baf43"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "366893e7b7337ff6bdfe0def0ac88615e9cadb460fbcb17dd047f18172782208"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "3efabb4f04376688f51df5c70fb4cfc0b382e9b6160eb625969945a8e3272a18"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "dd97fc87382cca475b4b8ef8ab137b8f436e4a4792bfc06bcf0e7736e1f5e452"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "3ba940deb5b1db31aaf07c005e62ddbd6acf44d3d0e775aab51c2eb0dc2da936"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "dae438abc4cdd552bc7750ecebe958cbb7ef0edbb745d19e9b670db1e5c9fa8f"; }
+    { locale = "son"; arch = "linux-i686"; sha256 = "ef1baa4e6b333cd19df938dd13b91e091c9ed838b72767def2c0eec7a473532f"; }
+    { locale = "son"; arch = "linux-x86_64"; sha256 = "c2e45137b18717889977e0203951ddd078e1379f05875915f295b14677b6e75a"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "d4f48c90a2bd4f8751b66653e0aed0de3f4ff9b40bba306377577ef8cbf94541"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "85cf583913978c109dcaf07b22442505554813b6129862668ef78f491588a153"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "08725f28304608e029e9e4ccf0fb478eda4b6cde138ad65a53e2f88af97e8a6c"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "bfdca6d30f044bed181d45396c81f0a1d0e9b9026607e0700cc1bf225408ac20"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "01f98e4954e1a1df5b0aaf711696b6f7e7237ea3df57071479e8749c621fbbf1"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "b1c292410edaa4d6595b21b803287030d21ddd64e7a6a941d7627bb4cbff2435"; }
+    { locale = "ta"; arch = "linux-i686"; sha256 = "d6d62857ccfe54ab870bcbe0ea98e41d59524b3958c28ddffcfb009d6305fde0"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha256 = "253080f66f47850222c676d98626c5a879ee708d1f03b3598d4ac205998676c4"; }
+    { locale = "te"; arch = "linux-i686"; sha256 = "ffa9371d8960707a0062bc6cb5ed5aa84c9e5b9b898ddc403b346b519bf6f814"; }
+    { locale = "te"; arch = "linux-x86_64"; sha256 = "69c3776bfd41bae4067da4f5f350c5f0a906c2b8d1edffe5d3907bc7ca2ee863"; }
+    { locale = "th"; arch = "linux-i686"; sha256 = "3dbead624ae46c14208a61ed8c6b515117d472a8f8bebf14478bc467da23eeee"; }
+    { locale = "th"; arch = "linux-x86_64"; sha256 = "4c0db90021ad46d67f68b3d2d928a279cdff14b7d62f8fa4e07a33135ab925b7"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "744327c6a3c514ff7b0bc5940f1744c95c6ac47165d5b316bbea11412a2d8550"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "321f096a89898ed027b95efa4f02fdaa9118eb414e35088ce259b76048bf77fd"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "f3d0a5a328b686cf18339e50a59920fe002166b35c5b5b29c04156bc5b5c6d4b"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "b15e82737c69703bcdd97f5699280338e4c2029b5eea7df98fb218a5e2a579f3"; }
+    { locale = "uz"; arch = "linux-i686"; sha256 = "dfdf28670cacfd43f71d81c609fc2961682ec2c7a64ea540e49a571195e68852"; }
+    { locale = "uz"; arch = "linux-x86_64"; sha256 = "eaacd1534711def0ab30eb9a53db2553c4cc202ec07c40bc5b2ded7e729347ac"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "4b4753038753d814d1e5a1ff995445abec80fd74d9443cac38495193bf039762"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "3051a5f8b0d47860f98839c4496298d71aeb6ef98f099937b8da9d87d7a1986c"; }
+    { locale = "xh"; arch = "linux-i686"; sha256 = "2798bca7d894a0ba223694fe585e1b9fcf60cc96d881d7570c06a4d77afc4b20"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha256 = "acb1084e32bc467cd3374e6930c8f51deea38e94ddde09bf5a257d473d2579e8"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "93a3f1b92aeb7a3e7659ebe0ad7c7df966279926fe3fdc7b0047bd858482234f"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "047d74546e4767d728e7522d908056c8aaad9cd8152517425443b59ff580bebe"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "b710126e2d7cd6f55b0dd54811de64c30eb69f97ea8a71905b3ea49e59abdfe2"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "d3b52404ab397385fcbb617f6cd8cda821d3927852e0a617dd60443c2cad6b65"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 834c6ed339cd..41f8cc155a8e 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -73,7 +73,7 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec {
     ++ lib.optional enableGTK3 "--enable-default-toolkit=cairo-gtk3"
     ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
                       else [ "--disable-debug" "--enable-release"
-                             "--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"
+                             "--enable-optimize"
                              "--enable-strip" ])
     ++ lib.optional enableOfficialBranding "--enable-official-branding";
 
@@ -81,13 +81,9 @@ common = { pname, version, sha256 }: stdenv.mkDerivation rec {
 
   preConfigure =
     ''
+      configureScript="$(realpath ./configure)"
       mkdir ../objdir
       cd ../objdir
-      if [ -e ../${pname}-${version} ]; then
-        configureScript=../${pname}-${version}/configure
-      else
-        configureScript=../mozilla-*/configure
-      fi
     '';
 
   preInstall =
@@ -133,14 +129,14 @@ in {
 
   firefox-unwrapped = common {
     pname = "firefox";
-    version = "44.0.2";
-    sha256 = "17id7ala1slb2mjqkikryqjadcsmdzqmkxrrnb5m1316m50qichb";
+    version = "45.0.1";
+    sha256 = "1j6raz51zcj2hxk0spk5zq8xzxi5nlxxm60dpnb7cs6dv334m0fi";
   };
 
   firefox-esr-unwrapped = common {
     pname = "firefox-esr";
-    version = "38.6.1esr";
-    sha256 = "1zyhzczhknplxfmk2r7cczavbsml8ckyimibj2sphwdc300ls5wi";
+    version = "45.0.1esr";
+    sha256 = "0rkk3cr3r7v5xzbcqhyx8b633v4a16ika0wk46p0ichh9n5mci0s";
   };
 
 }
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index 89e545d12e4b..eb51fa5c1020 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -30,7 +30,7 @@
 
 with stdenv.lib;
 
-with (import ../chromium/source/update.nix {
+with (import ../chromium/update.nix {
   inherit (stdenv) system;
 }).getChannel channel;
 
@@ -59,7 +59,7 @@ in stdenv.mkDerivation rec {
 
   name = "google-chrome-${version}";
 
-  src = fetchurl binary;
+  src = binary;
 
   buildInputs = [ env patchelf ];
 
diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix
index 74c9574c7d62..e7b5ba89db69 100644
--- a/pkgs/applications/networking/browsers/lynx/default.nix
+++ b/pkgs/applications/networking/browsers/lynx/default.nix
@@ -4,22 +4,23 @@
 
 assert sslSupport -> openssl != null;
 
-stdenv.mkDerivation {
-  name = "lynx-2.8.8";
+stdenv.mkDerivation rec {
+  name = "lynx-${version}";
+  version = "2.8.8rel.2";
   
   src = fetchurl {
-    url = http://lynx.isc.org/lynx2.8.8/lynx2.8.8.tar.bz2;
+    url = "http://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2";
     sha256 = "1rxysl08acqll5b87368f04kckl8sggy1qhnq59gsxyny1ffg039";
   };
   
-  configureFlags = if sslSupport then "--with-ssl=${openssl}" else "";
+  configureFlags = []
+    ++ stdenv.lib.optionals sslSupport [ "--with-ssl=${openssl}" ];
   
   buildInputs = [ ncurses gzip ];
   nativeBuildInputs = [ ncurses ];
 
   crossAttrs = {
-    configureFlags = "--enable-widec" +
-      (if sslSupport then " --with-ssl" else "");
+    configureFlags = configureFlags ++ [ "--enable-widec" ];
   };
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index 353c133ee5d0..23ed0bc2c1ea 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     homepage = "http://midori-browser.org";
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ raskin iyzsong ];
+    maintainers = with stdenv.lib.maintainers; [ raskin ];
   };
 
   src = fetchurl {
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
     -DUSE_ZEITGEIST=OFF
   '';
 
+  NIX_LDFLAGS="-lX11";
+
   preFixup = ''
     wrapProgram $out/bin/midori \
       --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index f29f569cd3a0..2b6b0d5b4123 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -59,11 +59,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
-  version = "11.2.202.559";
+  version = "11.2.202.577";
 
   src = fetchurl {
     url = "https://fpdownload.macromedia.com/pub/flashplayer/installers/archive/fp_${version}_archive.zip";
-    sha256 = "1vb01pd1jhhh86r01nwdzcf66d72jksiyiyp92hs4khy6n5qfsl3";
+    sha256 = "1k02d6c9y8z9lxyqyq04zsc5735cvm30mkwli71mh87fr1va2q4j";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 86b82db60e14..b1b451855110 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -41,25 +41,43 @@ in stdenv.mkDerivation rec {
 
   preConfigure = ''
     substituteInPlace src/Makefile.am --subst-var-by mavenRepo ${mavenRepo}
+    
+    substituteInPlace 3rdparty/libprocess/include/process/subprocess.hpp \
+      --replace '"sh"' '"${bash}/bin/bash"'
+
+    substituteInPlace 3rdparty/libprocess/3rdparty/stout/include/stout/posix/os.hpp \
+      --replace '"sh"' '"${bash}/bin/bash"'
 
+    substituteInPlace 3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/fork.hpp \
+      --replace '"sh"' '"${bash}/bin/bash"'
+
+    substituteInPlace src/cli/mesos-scp        \
+      --replace "'scp " "'${openssh}/bin/scp "
+
+    substituteInPlace src/launcher/executor.cpp \
+      --replace '"sh"' '"${bash}/bin/bash"'
+    
     substituteInPlace src/launcher/fetcher.cpp \
       --replace '"gzip' '"${gzip}/bin/gzip'    \
       --replace '"tar' '"${gnutar}/bin/tar'    \
       --replace '"unzip' '"${unzip}/bin/unzip'
 
-    substituteInPlace src/cli/mesos-scp        \
-      --replace "'scp " "'${openssh}/bin/scp "
-
     substituteInPlace src/python/cli/src/mesos/cli.py \
      --replace "['mesos-resolve'" "['$out/bin/mesos-resolve'"
+    
+    substituteInPlace src/slave/containerizer/mesos/launch.cpp \
+      --replace '"sh"' '"${bash}/bin/bash"'
 
-  '' + lib.optionalString (stdenv.isLinux) ''
+  '' + lib.optionalString stdenv.isLinux ''
 
     substituteInPlace configure.ac             \
       --replace /usr/include/libnl3 ${libnl}/include/libnl3
 
     substituteInPlace src/linux/perf.cpp       \
       --replace '"perf ' '"${perf}/bin/perf '
+    
+    substituteInPlace src/linux/systemd.cpp \
+      --replace 'os::realpath("/sbin/init")' '"${systemd}/lib/systemd/systemd"'
 
     substituteInPlace src/slave/containerizer/mesos/isolators/filesystem/shared.cpp \
       --replace '"mount ' '"${utillinux}/bin/mount ' \
@@ -72,15 +90,6 @@ in stdenv.mkDerivation rec {
       --replace '"ip ' '"${iproute}/bin/ip '   \
       --replace '"mount ' '"${utillinux}/bin/mount ' \
       --replace '/bin/sh' "${stdenv.shell}"
-    
-    substituteInPlace src/launcher/executor.cpp \
-      --replace '"sh"' '"${bash}/bin/bash"'
-    
-    substituteInPlace src/slave/containerizer/mesos/launch.cpp \
-      --replace '"sh"' '"${bash}/bin/bash"'
-    
-    substituteInPlace src/linux/systemd.cpp \
-      --replace 'os::realpath("/sbin/init")' '"${systemd}/lib/systemd/systemd"'
   '';
 
   configureFlags = [
diff --git a/pkgs/applications/networking/cluster/rq/default.nix b/pkgs/applications/networking/cluster/rq/default.nix
deleted file mode 100644
index fdf11adfb6c0..000000000000
--- a/pkgs/applications/networking/cluster/rq/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{stdenv, fetchurl, sqlite, ruby }:
-
-# Package builds rq with all dependencies into one blob. This to ascertain
-# the combination of packages works.
-
-stdenv.mkDerivation {
-  name = "rq-3.4.0";
-  src = fetchurl {
-    url = http://www.codeforpeople.com/lib/ruby/rq/rq-3.4.0.tgz;
-    sha256 = "1g8wiv83dcn4vzk9wjjzs9vjnwzwpy4h84h34cj32wfz793wfb8b";
-  };
-
-  buildInputs = [ ruby ];
-
-  # patch checks for existing stdin file - sent it upstream
-  patches = [ ./rq.patch ];
-
-  buildPhase = ''
-    cd all
-    ./install.sh $out
-    cd ..
-  '';
-
-  installPhase = ''
-  '';
-
-  meta = {
-    license = stdenv.lib.licenses.ruby;
-    homepage = "http://www.codeforpeople.com/lib/ruby/rq/";
-    description = "Simple cluster queue runner";
-    longDescription = "rq creates instant linux clusters by managing priority work queues, even on a multi-core single machine. This cluster runner is easy to install and easy to manage, contrasting with the common complicated solutions.";
-    pkgMaintainer = "Pjotr Prins";
-    # rq installs a separate Ruby interpreter, which has lower priority
-    priority = "10";
-  };
-}
diff --git a/pkgs/applications/networking/cluster/rq/rq.patch b/pkgs/applications/networking/cluster/rq/rq.patch
deleted file mode 100644
index d57c7d0a71a8..000000000000
--- a/pkgs/applications/networking/cluster/rq/rq.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -r b58e759f84db lib/rq/jobrunner.rb
---- a/lib/rq/jobrunner.rb	Sun Sep 28 13:33:06 2008 +0200
-+++ b/lib/rq/jobrunner.rb	Sun Sep 28 13:35:09 2008 +0200
-@@ -85,7 +85,7 @@ unless defined? $__rq_jobrunner__
- 
-         command =
-           if @sh_like 
--            sin = "0<#{ @stdin }" if @stdin
-+            sin = "0<#{ @stdin }" if @stdin and File.exist?(@stdin)
-             sout = "1>#{ @stdout }" if @stdout
-             serr = "2>#{ @stderr }" if @stderr
-             "( PATH=#{ path }:$PATH #{ command } ;) #{ sin } #{ sout } #{ serr }"
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index a0abe4f31422..79074d2d28e6 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url    = "mirror://apache/spark/${name}/${name}-bin-cdh4.tgz";
-    sha256 = "0waq8xx4bjj1yvfbadv1gdvz8s4kh5zasicv2n5623ld6lj7zgad";
+    sha256 = "19ycx1r8g82vkvzmn9wxkssmv2damrg72yfmrgzpc6xyh071g91c";
   };
 
   buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox-cli/default.nix
index 892d8fa33009..ab79159ea6e1 100644
--- a/pkgs/applications/networking/dropbox-cli/default.nix
+++ b/pkgs/applications/networking/dropbox-cli/default.nix
@@ -16,8 +16,7 @@ stdenv.mkDerivation {
   phases = "unpackPhase installPhase";
 
   installPhase = ''
-    mkdir -p "$out/bin/" "$out/share/applications"
-    cp data/dropbox.desktop "$out/share/applications"
+    mkdir -p "$out/bin/"
     substitute "dropbox.in" "$out/bin/dropbox" \
       --replace '@PACKAGE_VERSION@' ${version} \
       --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \
@@ -25,6 +24,7 @@ stdenv.mkDerivation {
       --replace '@IMAGEDATA64@' '"too-lazy-to-fix"'
     sed -i 's:db_path = .*:db_path = "${dropboxd}":' $out/bin/dropbox
     chmod +x "$out/bin/"*
+    mv $out/bin/dropbox $out/bin/dropbox-cli
     patchShebangs "$out/bin"
   '';
 
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 57b93bfd6568..698f379c09cf 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla }:
 
-let version = "3.16.0"; in
+let version = "3.16.1"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "0ilv4xhgav4srx6iqn0v0kv8rifgkysyx1hb9bnm45dc0skmbgbx";
+    sha256 = "1a6xvpnsjpgdrxla0i2zag30hy825rfsl4ka9p0zj5za9j2ny11v";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index e085adbdcda7..532ab3613138 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,14 +1,12 @@
-{ stdenv, fetchFromGitHub, ocamlPackages, zlib }:
+{ stdenv, fetchurl, ocamlPackages, zlib }:
 
 stdenv.mkDerivation rec {
   name = "google-drive-ocamlfuse-${version}";
-  version = "0.5.18";
+  version = "0.5.22";
 
-  src = fetchFromGitHub {
-    owner  = "astrada";
-    repo   = "google-drive-ocamlfuse";
-    rev    = "v${version}";
-    sha256 = "0a545zalsqw3jndrvkc0bsn4aab74cf8lwnsw09b5gjm8pm79b9r";
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1587/${name}.tar.gz";
+    sha256 = "1hjm6hyva9sl6lddb0372wsy7f76105iaxh976yyzfn3b4ran6ab";
   };
 
   buildInputs = [ zlib ] ++ (with ocamlPackages; [ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl]);
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index 41a698be2907..89ee38a7380f 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -2,25 +2,21 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "bitlbee-3.4.1";
+  name = "bitlbee-3.4.2";
 
   src = fetchurl {
     url = "mirror://bitlbee/src/${name}.tar.gz";
-    sha256 = "1qf0ypa9ba5jvsnpg9slmaran16hcc5fnfzbb1sdch1hjhchn2jh";
+    sha256 = "0mza8lnfwibmklz8hdzg4f7p83hblf4h6fbf7d732kzpvra5bj39";
   };
 
   buildInputs = [ gnutls glib pkgconfig libotr python ]
     ++ optional doCheck check;
 
-  patches = [(fetchpatch {
-    url = "https://github.com/bitlbee/bitlbee/commit/34d16d5b4b5265990125894572a90493284358cd.patch";
-    sha256 = "05in9kxabb6s2c1l4b9ry58ppfciwmwzrkaq33df2zv0pr3z7w33";
-  })];
-
   configureFlags = [
     "--gcov=1"
     "--otr=1"
     "--ssl=gnutls"
+    "--pidfile=/var/lib/bitlbee/bitlbee.pid"
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
index 7a2c6d7c0dca..d2a08b98c076 100644
--- a/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pythonPackages, pyqt4, cython, libvncserver, zlib, twisted
-, gnutls, libvpx }:
+, gnutls, libvpx, makeDesktopItem }:
 
 pythonPackages.buildPythonApplication rec {
   name = "blink-${version}";
-  version = "1.4.2";
+  version = "2.0.0";
   
   src = fetchurl {
     url = "http://download.ag-projects.com/BlinkQt/${name}.tar.gz";
-    sha256 = "0ia5hgwyg6cm393ik4ggzhcmc957ncswycs07ilwj6vrrzraxfk7";
+    sha256 = "07hvy45pavgkvdlh4wbz3shsxh4fapg96qlqmfymdi1nfhwghb05";
   };
 
   patches = [ ./pythonpath.patch ];
@@ -20,16 +20,30 @@ pythonPackages.buildPythonApplication rec {
 
   buildInputs = [ cython zlib libvncserver libvpx ];
 
+  desktopItem = makeDesktopItem {
+    name = "Blink";
+    exec = "blink";
+    comment = meta.description;
+    desktopName = "Blink";
+    icon = "blink";
+    genericName = "Instant Messaging";
+    categories = "Application;Internet;";
+  };
+
   postInstall = ''
     wrapProgram $out/bin/blink \
       --prefix LD_LIBRARY_PATH ":" ${gnutls.out}/lib
+    mkdir -p "$out/share/applications"
+    mkdir -p "$out/share/pixmaps"
+    cp "$desktopItem"/share/applications/* "$out/share/applications"
+    cp "$out"/share/blink/icons/blink.* "$out/share/pixmaps"
   '';
 
   meta = with stdenv.lib; {
     homepage = http://icanblink.com/;
-    description = "A state of the art, easy to use SIP client";
+    description = "A state of the art, easy to use SIP client for Voice, Video and IM";
     platforms = platforms.linux;
-    license = licenses.mit;
+    license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch b/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
index 723e097ea826..0df8bc84ff30 100644
--- a/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
+++ b/pkgs/applications/networking/instant-messengers/blink/pythonpath.patch
@@ -1,14 +1,44 @@
-diff -rupN a/blink/resources.py b/blink/resources.py
---- a/blink/resources.py	2015-03-17 03:24:06.000000000 -0600
-+++ b/blink/resources.py	2015-04-07 22:52:06.101096413 -0600
-@@ -60,14 +60,7 @@ class Resources(object):
+--- blink-2.0.0/blink/resources.py	2016-03-09 14:39:07.000000000 +0100
++++ blink-2.0.0/blink/resources-patched.py	2016-03-12 21:34:14.965476623 +0100
+@@ -1,7 +1,10 @@
++# Copyright (C) 2010-2013 AG Projects. See LICENSE for details.
++#
+ 
+ """Provide access to Blink's resources"""
+ 
+-import __main__
++__all__ = ['ApplicationData', 'Resources', 'IconManager']
++
+ import imghdr
+ import os
+ import platform
+@@ -19,14 +22,10 @@
+ from blink.util import run_in_gui_thread
+ 
+ 
+-__all__ = ['ApplicationData', 'Resources', 'IconManager']
+-
+-
+ class DirectoryContextManager(unicode):
+     def __enter__(self):
+         self.directory = os.getcwdu()
+         os.chdir(self)
+-
+     def __exit__(self, type, value, traceback):
+         os.chdir(self.directory)
+ 
+@@ -61,18 +60,7 @@
      @classproperty
      def directory(cls):
          if cls._cached_directory is None:
--            if sys.path[0] == '':
--                application_directory = os.path.realpath('') # executed in interactive interpreter
+-            try:
+-                binary_directory = os.path.dirname(os.path.realpath(__main__.__file__))
+-            except AttributeError:
+-                if hasattr(sys, 'frozen'):
+-                    application_directory = os.path.dirname(os.path.realpath(sys.executable))
+-                else:
+-                    application_directory = os.path.realpath('')  # executed in interactive interpreter
 -            else:
--                binary_directory = os.path.dirname(os.path.realpath(sys.argv[0]))
 -                if os.path.basename(binary_directory) == 'bin':
 -                    application_directory = os.path.dirname(binary_directory)
 -                else:
@@ -17,4 +47,3 @@ diff -rupN a/blink/resources.py b/blink/resources.py
              if os.path.exists(os.path.join(application_directory, 'resources', 'blink.ui')):
                  cls._cached_directory = os.path.join(application_directory, 'resources').decode(sys.getfilesystemencoding())
              else:
-Binary files a/blink/.resources.py.swp and b/blink/.resources.py.swp differ
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index 6dc0df03eef8..3ff93c35dcd1 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -1,58 +1,48 @@
-{ stdenv, fetchurl, libtool, xorg, freetype, fontconfig, openssl, glib
-, mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid
-, libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra
-, makeWrapper, libredirect, xkeyboard_config, xcbutilkeysyms }:
+{ stdenv, fetchurl, xorg, freetype, fontconfig, openssl, glib, nss, nspr, expat
+, alsaLib, dbus, zlib, libxml2, libxslt, makeWrapper, xkeyboard_config, systemd
+, mesa_noglu, xcbutilkeysyms }:
 
 let
 
-  version = "2.2.1388";
+  version = "4.0.1631";
 
   rpath = stdenv.lib.makeSearchPath "lib" [
-    stdenv.glibc
-    libtool
     xorg.libXext
     xorg.libSM
     xorg.libICE
     xorg.libX11
-    xorg.libXft
-    xorg.libXau
-    xorg.libXdmcp
+    xorg.libXrandr
+    xorg.libXdamage
     xorg.libXrender
     xorg.libXfixes
     xorg.libXcomposite
+    xorg.libXcursor
     xorg.libxcb
     xorg.libXi
+    xorg.libXScrnSaver
+    xorg.libXtst
     freetype
     fontconfig
     openssl
     glib
-    mesa
-    gstreamer
-    gst_plugins_base
+    nss
+    nspr
     dbus
     alsaLib
     zlib
-    libuuid
     libxml2
     libxslt
-    sqlite
-    libogg
-    libvorbis
-    xz
-    libcanberra
+    expat
     xcbutilkeysyms
-  ] + ":${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}";
+    systemd
+    mesa_noglu
+  ] + ":${stdenv.cc.cc}/lib64";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
-        sha256 = "18vl0c7xgyzd2miwkfzc638z0wzszgsdlbnslkkvxmg95ykdrdnz";
-      }
-    else if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
-        sha256 = "12q8hf3gmcgrqg6v9xqyknwsmwywpwm76jc54sfniiqv5ngq24hl";
+        url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
+        sha256 = "1ip79zq7j7842sf254296wvvd236w7c764r8wgjdyxzqyvfjfd81";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
@@ -67,36 +57,37 @@ stdenv.mkDerivation {
   buildInputs = [ makeWrapper ];
 
   buildCommand = ''
-    tar xf ${src}
+    ar x $src
+    tar xfvz data.tar.gz
 
-    mkdir -p $out/libexec/hipchat/bin
+    mkdir -p $out/libexec/hipchat
     d=$out/libexec/hipchat/lib
-    rm -rfv opt/HipChat/lib/{libstdc++*,libz*,libuuid*,libxml2*,libxslt*,libsqlite*,libogg*,libvorbis*,liblzma*,libcanberra.*,libcanberra-*}
-    mv opt/HipChat/lib/ $d
+    mv opt/HipChat4/* $out/libexec/hipchat/
     mv usr/share $out
 
     for file in $(find $d -type f); do
         patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $file || true
-        patchelf --set-rpath ${rpath}:\$ORIGIN $file || true
+        patchelf --set-rpath ${rpath}:$out/libexec/hipchat/lib:\$ORIGIN $file || true
     done
 
-    substituteInPlace $out/share/applications/hipchat.desktop \
-      --replace /opt/HipChat/bin $out/bin
+    substituteInPlace $out/share/applications/hipchat4.desktop \
+      --replace /opt/HipChat4/bin/HipChat4 $out/bin/hipchat
 
-    makeWrapper $d/hipchat.bin $out/bin/hipchat \
+    makeWrapper $d/HipChat.bin $out/bin/hipchat \
       --set HIPCHAT_LD_LIBRARY_PATH '"$LD_LIBRARY_PATH"' \
       --set HIPCHAT_QT_PLUGIN_PATH '"$QT_PLUGIN_PATH"' \
-      --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
-      --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
+      --set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb \
+      --set QTWEBENGINEPROCESS_PATH $d/QtWebEngineProcess
 
-    mv opt/HipChat/bin/linuxbrowserlaunch $out/libexec/hipchat/bin/
+    makeWrapper $d/QtWebEngineProcess.bin $d/QtWebEngineProcess \
+      --set QT_PLUGIN_PATH "$d/plugins"
   '';
 
   meta = with stdenv.lib; {
     description = "Desktop client for HipChat services";
     homepage = http://www.hipchat.com;
     license = licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ jgeerds ];
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ jgeerds puffnfresh ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
index c6801105a84a..9f5c246ede63 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libotr, pidgin, intltool } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-otr-4.0.1";
+  name = "pidgin-otr-4.0.2";
   src = fetchurl {
     url = "http://www.cypherpunks.ca/otr/${name}.tar.gz";
-    sha256 = "02pkkf86fh5jvzsdn9y78impsgzj1n0p81kc2girvk3vq941yy0v";
+    sha256 = "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl";
   };
 
   postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
new file mode 100644
index 000000000000..b04673a5d6ad
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, pkgconfig, pidgin, libwebp, libgcrypt, gettext } :
+
+let
+  version = "2016-03-17";
+in
+stdenv.mkDerivation rec {
+  name = "telegram-purple-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/majn/telegram-purple";
+    rev = "ee2a6fb740fe9580336e4af9a153b845bc715927";
+    sha256 = "10y99rclxbpbmmyiapn4vk1d7yjwmg7v1wb4jlz678qkvcni3nv7";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ pidgin libwebp libgcrypt gettext ];
+
+  preConfigure = ''
+    sed -i "s|/etc/telegram-purple/server.tglpub|$out/lib/pidgin/server.tglpub|g" telegram-purple.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/pidgin/
+    cp bin/*.so $out/lib/pidgin/
+    cp tg-server.tglpub $out/lib/pidgin/server.tglpub
+    mkdir -p $out/pixmaps/pidgin/protocols/{16,22,48}
+    cp imgs/telegram16.png $out/pixmaps/pidgin/protocols/16
+    cp imgs/telegram22.png $out/pixmaps/pidgin/protocols/22
+    cp imgs/telegram48.png $out/pixmaps/pidgin/protocols/48
+  '';
+
+  meta = {
+    homepage = https://github.com/majn/telegram-purple;
+    description = "Telegram for Pidgin / libpurple";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = stdenv.lib.maintainers.jagajaga;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index 541fb5727ced..e08a112664ac 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -4,7 +4,7 @@
   qtbase, qtsvg, qttools, qttranslations, sqlcipher }:
 
 let
-  version = "1.2.4";
+  version = "1.3.0";
   revision = "v${version}";
 in
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
       owner = "tux3";
       repo = "qTox";
       rev = revision;
-      sha256 = "0iqnl00kmbpf3pn6z38n3cjzzsqpw2793j60c24kkrydapihknz9";
+      sha256 = "0z2rxsa23vpl4q0h63mybw7kv8n1sm6nwb93l0cc046a3n9axid8";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index 1e84e015bc14..98672a29d0b6 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     cat > $out/bin/skype << EOF
     #!${stdenv.shell}
     export PULSE_LATENCY_MSEC=60  # workaround for pulseaudio glitches
-    $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
+    exec $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
     EOF
 
     chmod +x $out/bin/skype
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     description = "A proprietary voice-over-IP (VoIP) client";
     homepage = http://www.skype.com/;
     license = stdenv.lib.licenses.unfree;
+    platforms = [ "i686-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
new file mode 100644
index 000000000000..c6e550b5e8fd
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -0,0 +1,85 @@
+{ stdenv, fetchurl, dpkg
+, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, glib, gnome
+, libnotify, nspr, nss, systemd, xorg }:
+
+let
+
+  version = "2.0.1";
+
+  rpath = stdenv.lib.makeSearchPath "lib" [
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    glib
+    gnome.GConf
+    gnome.gdk_pixbuf
+    gnome.gtk
+    gnome.pango
+    libnotify
+    nspr
+    nss
+    systemd
+
+    xorg.libX11
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXtst
+  ] + ":${stdenv.cc.cc}/lib64";
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb";
+        sha256 = "12d84e61ba366cc5bac105b3f9930f2dfdd64c1e5fabbb08a6877e1c98bfb9c7";
+      }
+    else
+      throw "Slack is not supported on ${stdenv.system}";
+
+in stdenv.mkDerivation {
+  name = "slack-${version}";
+
+  inherit src;
+
+  buildInputs = [ dpkg ];
+  unpackPhase = "true";
+  buildCommand = ''
+    mkdir -p $out
+    dpkg -x $src $out
+    cp -av $out/usr/* $out
+    rm -rf $out/usr
+
+    # Otherwise it looks "suspicious"
+    chmod -R g-w $out
+
+    for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
+      patchelf --set-rpath ${rpath}:$out/share/slack $file || true
+    done
+
+    # Fix the symlink
+    rm $out/bin/slack
+    ln -s $out/share/slack/slack $out/bin/slack
+
+    # Fix the desktop link
+    substituteInPlace $out/share/applications/slack.desktop \
+      --replace /usr/share/slack/slack $out/share/slack/slack
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Desktop client for Slack";
+    homepage = "https://slack.com";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
index ec188e982843..29a0f188516f 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
@@ -2,7 +2,7 @@
 , qtbase, qtmultimedia, qtquick1, qtquickcontrols
 , qtimageformats, qtgraphicaleffects
 , telegram-qml, libqtelegram-aseman-edition
-, gst_plugins_base, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly
+, gst_all_1
 , makeQtWrapper }:
 
 stdenv.mkDerivation rec {
@@ -18,13 +18,18 @@ stdenv.mkDerivation rec {
   [ qtbase qtmultimedia qtquick1 qtquickcontrols
     qtimageformats qtgraphicaleffects
     telegram-qml libqtelegram-aseman-edition 
-    gst_plugins_base gst_plugins_good gst_plugins_bad gst_plugins_ugly ];
+  ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ]);
+
   nativeBuildInputs = [ makeQtWrapper ];
-  enableParallelBuild = true;
+
+  enableParallelBuilding = true;
 
   configurePhase = "qmake -r PREFIX=$out";
 
-  fixupPhase = "wrapQtProgram $out/bin/cutegram";
+  fixupPhase = ''
+    wrapQtProgram $out/bin/cutegram \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  '';
 
   meta = with stdenv.lib; {
     version = "2.7.1";
@@ -32,6 +37,7 @@ stdenv.mkDerivation rec {
     homepage = "http://aseman.co/en/products/cutegram/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ profpatsch AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
 #TODO: appindicator, for system tray plugin (by @profpatsch)
diff --git a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix b/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
index 957c59b88e55..206b2a074763 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ qtbase qtmultimedia qtquick1 ];
-  enableParallelBuild = true;
+  enableParallelBuilding = true;
 
   patchPhase = ''
     substituteInPlace libqtelegram-ae.pro --replace "/libqtelegram-ae" ""
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
     version = "6.1";
     description = "A fork of libqtelegram by Aseman, using qmake";
     homepage = src.meta.homepage;
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
     maintainers = [ maintainers.profpatsch ];
+    platforms = platforms.linux;
   };
 
 }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
index aa442cbe8b2d..372531f658e5 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   propagatedBuildInputs = [ qtbase qtmultimedia qtquick1 libqtelegram-aseman-edition ];
-  enableParallelBuild = true;
+  enableParallelBuilding = true;
 
   patchPhase = ''
     substituteInPlace telegramqml.pro --replace "/\$\$LIB_PATH" ""
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
     version = "0.9.2";
     description = "Telegram API tools for QtQml and Qml";
     homepage = src.meta.homepage;
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
     maintainers = [ maintainers.profpatsch ];
+    platforms = platforms.linux;
   };
 
 }
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 55ec1560c5e5..0ae0cca59918 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "utox-${version}";
-  version = "0.5.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "GrayHatter";
     repo = "uTox";
     rev = "v${version}";
-    sha256 = "074wa0np8hyqwy9xqgyyds94pdfv2i1jh019m98d8apxc5vn36wk";
+    sha256 = "1md8fw6zqd3giskd89i56dgrsl83vn27xwr8k22263wkj1fxxw4c";
   };
 
   buildInputs = [ pkgconfig libtoxcore-dev dbus libvpx libX11 openal freetype
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index 205c21adab42..d7798273e7c6 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -1,56 +1,30 @@
-x@{builderDefsPackage
+{ stdenv, lib, fetchurl
   , qt4, openssl
   , xproto, libX11, libXScrnSaver, scrnsaverproto
-  , xz
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+  , xz, zlib
+}:
+stdenv.mkDerivation rec {
+  name = "vacuum-im-${version}";
+  version = "1.2.4";
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    version="1.2.4";
-    baseName="vacuum-im";
-    name="${baseName}-${version}";
-    url="https://googledrive.com/host/0B7A5K_290X8-d1hjQmJaSGZmTTA/vacuum-1.2.4.tar.gz";
-    sha256="10qxpfbbaagqcalhk0nagvi5irbbz5hk31w19lba8hxf6pfylrhf";
+  src = fetchurl {
+    url = "https://googledrive.com/host/0B7A5K_290X8-d1hjQmJaSGZmTTA/vacuum-${version}.tar.gz";
+    sha256 = "10qxpfbbaagqcalhk0nagvi5irbbz5hk31w19lba8hxf6pfylrhf";
   };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.sha256;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["addInputs" "doQMake" "doMakeInstall"];
+  buildInputs = [
+    qt4 openssl xproto libX11 libXScrnSaver scrnsaverproto xz zlib
+  ];
 
-  doQMake = a.fullDepEntry (''
+  configurePhase = ''
     qmake INSTALL_PREFIX=$out -recursive vacuum.pro
-  '') ["doUnpack" "addInputs"];
-      
-  meta = {
+  '';
+
+  meta = with stdenv.lib; {
     description = "An XMPP client fully composed of plugins";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = with a.lib.licenses;
-      gpl3;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
     homepage = "http://code.google.com/p/vacuum-im/";
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/vacuum-im/downloads/list?can=2&q=&colspec=Filename";
-    };
-  };
-}) x
-
+}
diff --git a/pkgs/applications/networking/irc/communi/default.nix b/pkgs/applications/networking/irc/communi/default.nix
index 05a597199025..312fd8df908a 100644
--- a/pkgs/applications/networking/irc/communi/default.nix
+++ b/pkgs/applications/networking/irc/communi/default.nix
@@ -1,5 +1,4 @@
-{ fetchgit, libcommuni, qt5, stdenv
-}:
+{ fetchgit, libcommuni, makeQtWrapper, qt5, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "communi-${version}";
@@ -11,20 +10,34 @@ stdenv.mkDerivation rec {
     sha256 = "0gk6gck09zb44qfsal7bs4ln2vl9s9x3vfxh7jvfc7mmf7l3sspd";
   };
 
+  nativeBuildInputs = [ makeQtWrapper ];
+
   buildInputs = [ libcommuni qt5.qtbase ];
 
   enableParallelBuild = true;
 
   configurePhase = ''
     export QMAKEFEATURES=${libcommuni}/features
-    qmake -r COMMUNI_INSTALL_PREFIX=$out
+    qmake -r \
+      COMMUNI_INSTALL_PREFIX=$out \
+      COMMUNI_INSTALL_BINS=$out/bin \
+      COMMUNI_INSTALL_PLUGINS=$out/lib/communi/plugins \
+      COMMUNI_INSTALL_ICONS=$out/share/icons/hicolor \
+      COMMUNI_INSTALL_DESKTOP=$out/share/applications \
+      COMMUNI_INSTALL_THEMES=$out/share/communi/themes
+  '';
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/communi"
+    substituteInPlace "$out/share/applications/communi.desktop" \
+      --replace "/usr/bin" "$out/bin"
   '';
 
   meta = with stdenv.lib; {
     description = "A simple and elegant cross-platform IRC client";
     homepage = https://github.com/communi/communi-desktop;
     license = licenses.bsd3;
-    platforms = platforms.all;
     maintainers = with maintainers; [ hrdinka ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index 9c77e6b133f1..f48309d0b049 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -5,6 +5,7 @@
 , tag ? "" # tag added to the package name
 , withKDE ? stdenv.isLinux # enable KDE integration
 , kdelibs ? null
+, static ? false # link statically
 
 , stdenv, fetchurl, cmake, makeWrapper, qt, automoc4, phonon, dconf, qca2 }:
 
@@ -21,17 +22,13 @@ assert !buildClient -> !withKDE; # KDE is used by the client only
 
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
+  source = import ./source.nix { inherit fetchurl; };
 
 in with stdenv; mkDerivation rec {
+  inherit (source) src version;
 
-  version = "0.12.2";
   name = "quassel${tag}-${version}";
 
-  src = fetchurl {
-    url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
-    sha256 = "15vqjiw38mifvnc95bhvy0zl23xxldkwg2byx9xqbyw8rfgggmkb";
-  };
-
   enableParallelBuilding = true;
 
   buildInputs =
@@ -42,8 +39,8 @@ in with stdenv; mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-fPIC";
 
   cmakeFlags = [
-    "-DEMBED_DATA=OFF"
-    "-DSTATIC=OFF" ]
+    "-DEMBED_DATA=OFF" ]
+    ++ edf static "STATIC"
     ++ edf monolithic "WANT_MONO"
     ++ edf daemon "WANT_CORE"
     ++ edf client "WANT_QTCLIENT"
diff --git a/pkgs/applications/networking/irc/quassel/qt-5.nix b/pkgs/applications/networking/irc/quassel/qt-5.nix
index b5075fe20758..c80624ac0510 100644
--- a/pkgs/applications/networking/irc/quassel/qt-5.nix
+++ b/pkgs/applications/networking/irc/quassel/qt-5.nix
@@ -3,6 +3,7 @@
 , client ? false # build Quassel client
 , previews ? false # enable webpage previews on hovering over URLs
 , tag ? "" # tag added to the package name
+, static ? false # link statically
 
 , stdenv, fetchurl, cmake, makeWrapper, dconf
 , qtbase, qtscript, qtwebkit
@@ -32,25 +33,13 @@ assert !buildClient -> !withKDE; # KDE is used by the client only
 
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
+  source = import ./source.nix { inherit fetchurl; };
 
 in with stdenv; mkDerivation rec {
+  inherit (source) src version;
 
-  version = "0.12.2";
   name = "quassel${tag}-${version}";
 
-  src = fetchurl {
-    url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
-    sha256 = "15vqjiw38mifvnc95bhvy0zl23xxldkwg2byx9xqbyw8rfgggmkb";
-  };
-
-  patches = [
-    # fix build with Qt 5.5
-    (fetchurl {
-      url = "https://github.com/quassel/quassel/commit/078477395aaec1edee90922037ebc8a36b072d90.patch";
-      sha256 = "1njwnay7pjjw0g7m0x5cwvck8xcznc7jbdfyhbrd121nc7jgpbc5";
-    })
-  ];
-
   enableParallelBuilding = true;
 
   buildInputs =
@@ -66,9 +55,9 @@ in with stdenv; mkDerivation rec {
 
   cmakeFlags = [
     "-DEMBED_DATA=OFF"
-    "-DSTATIC=OFF"
     "-DUSE_QT5=ON"
   ]
+    ++ edf static "STATIC"
     ++ edf monolithic "WANT_MONO"
     ++ edf daemon "WANT_CORE"
     ++ edf client "WANT_QTCLIENT"
diff --git a/pkgs/applications/networking/irc/quassel/source.nix b/pkgs/applications/networking/irc/quassel/source.nix
new file mode 100644
index 000000000000..17d12b575d75
--- /dev/null
+++ b/pkgs/applications/networking/irc/quassel/source.nix
@@ -0,0 +1,9 @@
+{ fetchurl }:
+
+rec {
+  version = "0.12.3";
+  src = fetchurl {
+    url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
+    sha256 = "0d6lwf6qblj1ia5j9mjy112zrmpbbg9mmxgscbgxiqychldyjgjd";
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 19477d86a3c4..e3ffa283ad9e 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -4,123 +4,123 @@
 # ruby generate_sources.rb > sources.nix
 
 {
-  version = "38.6.0";
+  version = "38.7.1";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha256 = "141b3e5a5a51b0ed8f11bc9233d19bccc3116e55d568eb4995bcd48c91ba3390"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "f2841d9da85e788d868eb56a43baa8e7d72d40c9c82ca60f4f958b9285be5bc3"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "aa52c0672bf8c2b28ae5efb26aa552592aad6c637b660f9cb4533cad72b9a4fc"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "1a083214fc2f31e52b0d03bffbef64e364b77457e447ddc134dc363004768b03"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "f3e7653a7f9957e9722cf29a7a97b751ffc2b19bd4982ff603f6460afb07445d"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "55d7082b20da1bbe23b8d1a2e1e07f6a02f9dd96b065cab1a8a2acd086790d21"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "132fb89107e653cb30e9f6fffbca6ced0451811080b89058a652dcb5187601f3"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "03868dab14f8bd671eed93a05c50c3836bb047e4195a2b8e92d04d3cf3244c67"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "ffa2c116e814da8f0a5995f382de0b4d614e72b55ecc905185c014abea763851"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "74631bb2d75687aefc6e8dfa9414176a92de7a22890704f6f84603703a3dd880"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "3942e35a9ea655ac365a4b00f70d8b97e7833e50d00d7d07e5ce851956f55f00"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "33dba57581571faac7cc11aeafda68fce323c9fc322a3c8e43cbce794489ab39"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "5001132684f89e6e4c4ab8d22f37739da4465577e850bed4748ad3079a0b592e"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "3cfad5f05320d179b575bc263ceecef0c9bfec08e7a3471dd779be8798f8f8e8"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "14879dadca5936473b42ccefc2485707330aa7062bd1c2094adafee0dde83a50"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "92f39de732f2264c5658e3282d0a4259b437f81277c926b3fe0a1c51bb18a27b"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "e38d9c45558bbf1414efff8568b79ed58c0383329923944aca72bcd075c71967"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "43f11c8ea150c1b58031fd765fc5d789e56df68ef36dd989a8a67135d9a1e501"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "9815c3fb3c95d4fb73faeb9db10591a39131edcb846fb72b6c2b01ac132602f5"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "6435f69ebb748f2f81dfcd1da4d66030792e73735d11c788c4478cdb750de89d"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "d8601890fe1021c61b48cb755a98358fffb0e5c3de106d0408baa748c6e4ff21"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "96626e10573940ce9a77277f8776066e1f33d852ff1a9be25c613ea54b2ad3d0"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "c0cf3e5db343c031171cca6507839e18bb4232a498eb0ff87864c0d3f54c31d3"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "5c94f8200bf7e5bccdb4f454232707c1354d4cb87713648847d742d1d127b5bc"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "43b61ae50412d5df24f903bd1890be52164689b53ec9bbfe134b7bbb36952377"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "163e041e125f84db5f9d55f6e8a2e8d15b7ac6335187a55f00f7019b3038249c"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "b34105daffdf9088fecd199e1525ebbc332ff6536487caa058d19daa4c7306c4"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "ac54bf8c804d17ecebab6a865471ce5adf712466612eb435e5871a4ffcc7238a"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "2e60a2a5764cdee16659b125f7ad2dde7ff6e993c69a738d86fb39530e469328"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "f0b4b0d5a7f4b21845e76411cd75d59b0e34a341747cafcb3e871a00b1b2535e"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "fa9de1698297336d3db8d7cc6c59ea1cad595c2d5caf8081f85fc217535d630d"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "62bf96299b20de2b6ea17db2113fd8220c60507314d9c3dfbd2ef06557746298"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "1e79df1375e29c6aaf2839584ee51e23a326587e02440c07f10969f82e29daa3"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "e5ef4e579c83b1f982b5d071966b3c1be39b94aa128e0ef14f4244e51b19c6c9"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "110dc75c81abcca2199c2f6bee542fe0909bfbe678e91376a1413a81bac88edf"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "71f7f7d5d9025423438138a62728d3494f2227c3b1daf8945cbd20d65e7629b3"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "ad2e6071fafe18f3db5d4af4d938450ec1a8f538e2a5efc7f8ce1d28f1f3dd66"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "32c8b0e825912b97a36cedf19ead4eba8427e08ac059b4bb9fda15c568ce6cff"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "203006ba5572a315f851e69e74779f92123df25d6a1964283bbf546c43ca0ecb"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "f87904779b68a60aef440a7eb5cf490fe224bc25517d9fa463575fd35c4fc895"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "4d92b6273006f6a20c6b405cfdd017930e7341230f0deefdbe8961a3ab2099d7"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "a7858e1fca3007710053cd6ffcd8d17fe111ec3727e98cfc410f426fb4dd04a1"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "d222ea0506db332ab7590fc85dce4102613489506d7680bac31c82b855ae238e"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "b466075727c3d3f709b9ddb1987f9fe69deb1efa34fecbd73aa1c5231ef844d8"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "d786389a7866d2be769c079ec65396fe3888968f80f3fbd8d54e355ac3098f91"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "8134a011c31cf63a5538fea89ef332a28ab510fb08e1251a9d460ba83946f656"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "a5b5cb6e9a2daf1587af84083cd680b14f49a0f998d4e6e80f09c37aebac0b0f"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "7b15ab841f95eda59256c7cb4c9c876b0bea34df9f0e1d3af3bd144230d7254a"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "7bee6ae14c9f43689ab2c7b9a7de60af9fe4d9d567efb94b26e3109af04d6c43"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "b9a6e5bd2c62745a82fd3685a694a6f34d3327b60a62af6e283caf3a67d77f22"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "17a322f92322de536ead76e292d877ab8e9deff9855b1c12fc20855d3935a548"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "e542cfdfd29f7d54520dc86c9b73252e57fd3346874f9d629fd31b25be463471"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "fe1fc94042eaeeedc1e7592cbedc5e4c922c5e05cd212feff8a654898d2c2a9e"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "de191f3cc421ed5b06ce981c0431decb933799252107b27103bc3c45ac6995be"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "f55ad886854541ea1d684d168f8fb3c858fc8a11324dc14fb64340cb47f6d7fe"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "ee03f60c834c141d3340dca9ecfce8f427ee50a3b6b963f4a565a843e895f614"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "8462e0a665d04b9273dbfc1095ef57831165438c21c34b5d04d22b51276fc047"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "6cc42919c6417860e19fcc851b8210b9d6e405c4b2ff0bf51cffb18af733b488"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "2c3f4f4358387dad669254da46e21b4da1f54cedbc7be62c38448862a88edf37"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "0556cb57c012554449d7044efaa5e8b4b938b15d55a19f91cb31ea5187b7ef76"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "26d31f04b836d3e5e3874c4e37d258effc8bd228223f6b963df3434d2276529c"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "55b2be7503278c0a41785796425fe35f5635e0c635d79a4246f7830a7cf6f075"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "29ce03e041c320aaa61c8ecefbe1a6cd2e9b96e916f3605f09a59cd271cfb741"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "44d7856e1779e86d715026a26fdc0db8beb8fac1bcba5c27ed652779f858c12e"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "47dd016eda154be31646105061570653ab61ab99d8bf873cf9e8e4b727847fc6"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "299941c56912734dd06c2f1dd89838d3a746dfde10df39f6caf198cf4fc6a332"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "ff809f8f752612d242d5787f511b4821294855dd42027d7493f789200747575a"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "babda834d5e6fa669691b974c4c4ea4b9207c3926796d0c1d76784b733d738a3"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "a04ca9cd1cd435d4ab5d832efaeb1a6fee5e9e6c933c5a3a9b0e21bbc5141f24"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "0390d47ca644679631b8bbb83cb45e404b4b7f1e4ad237d439318fd6464aeeb4"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "9e9d3ed60a3ba5ef761937e5b2b06a4eaac1c6f6c1d72a9b3fe0ab7818e3d18f"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "8d7cf2a173df6b7930a37244829934b2729341a8938288c988120010d1a52d2f"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "fde6089efa39e867f8c8b4b6d6e9d5c006f87c4ceaabb78517b34ea288cebe1e"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "9ff74ec5e87468f3912b1ec847eff2d215c35224b4ef82ba29efaba4a48f2bb0"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "349101916960741272549700a4050850730679826ef3f6c837b542628ac9b17b"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "0bc2cf52b46f15976cd5355960b81106279c4cea9b7d55ac0360a56dd934ce6a"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6eff1f88b362d81d71833b50606afffdb7e0210160bc9933226c472daa692259"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "748726556948ebc59913a72965a54de67615217a93cf0351ece356524d8e3097"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "6606ee970387998235ed96fdbacc64a47fe2bc0d78061cf4205200517ab6f092"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "0a77fe35ddce1921252d2e2acbeb09d6e719d34b4d81af8d6ef9c5c846359780"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "b8d81eba8470a29768ded1c6882cdbf2f3306843754d29fa35e385b0a6efce25"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "2b10f69274860e7af35cbb795042d058c9480ad195cd435e457923da2341c99d"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "4391c285e1db0767f7242fad4fbf6441572ef930acabc63209f1d2ac64e6d08c"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "003060a341e1134870f96e1e032023884f3f22fa62261b07084e3cb8813423fb"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "d261cbc11bd9b176b656c3ae75f802aee4f1828e14f1a9f0e8c7822e9a24c090"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "81fb37b9591a159e9d5ceff18921683037b4c965765b47e736c9124ba6268ee2"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "a7d699ac74a568922a363eabaa38627564fbc715cdd3612a8f51e0c373594646"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "ab9c84765f54f02e385b360025d1c70937af91350cbf8eea666f97aec4e36276"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "00db7d515ee4abcba36713a7bac64a2afdfa1782bc3e4175ae2c69535c7b6cdf"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "03da97e6c832ce49ccf6736ddac4a14b92768442f6f462b0174324964693aaa7"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "d7d78792a83d76ce4c521674275b3b6443d0c12ad376b4ec3c34bc4edef64078"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "bc4c751c5079d3863df1b0dd5717d7f5c07c031fefe798642ff3ff91e8f7512c"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "9525a7a704f262efa1ad18ab154d7f0eeec8f923f641621a38cce3be5c090cd4"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "2e847ce3ee90d27b7e20602844cbc1c3a9e458a7d449386e5bc8067163b6559d"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "389e6dea7b61aced9ad491b57441963cf9c3f5f0c90a80778ccee71320a8bf53"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "c36e78ce9aecaa23cf183a453e6ae817a52b84e2129f4e41fd409a61e1705c6a"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "e8f1dd49850b2c359a66e8f79839a95d6e1a09de5cdd41a64c44315fdcea544c"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "3ae2a85dadbaf99109fa971bb0c7a825d4ad3d1357f4d51bc7bb20455564ea68"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "dd52238fbd564d49ae8f3dfcee7e608615d3e78bd99373b1bbcdf51b9e20c354"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "cbeadcb1de666c42c9e5b42b2a6c1fa14f80e4c6454ea8cfc34b0ad5dd472bb8"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "1318c997a56245b296b2f9ac004b07f87d6492448272c8978e78193fe484336b"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "0898d16c990669028fbea084755221c747db48392b30b7c498770fcb5df7b328"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "50c76b8904b51a84136a1c69939e49541205ce8b804c2ce90cff196e826c275c"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "bf3e5c83815458726317c8415963825975500452202f240200be0fab43b1e226"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "7d62ec98b8f01b12425e7692c4966faeeeb42ea66cd6105c37742698215bde5a"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "416cffbe25f2b00cd584fa455768b09c5f8d1bc7938263880903050f8c08fab4"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "581d6c8df1611d749d0dda9d1f248ebf354825f8a8097624fd08338ea5e01d38"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "24b1b9bfa251add2d7f3183b0c3aafdea6b4caa5bdbcea718462185d6dc63e5b"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "97175dba275e382b2436e9b7a948c46f137ed38612e90ea43466dd3fe20c878b"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "273b08710fbc57c30828736c38a158ff66ac788b2ca3726118367466cab09797"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "e0391fdecb11b5daac913f57894970208b51e1e7f1665ff56cb7a68dba0c442a"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "af51ee3bd2ac246a4b465aa65b13d1aa661dbce5e0988524532616fb9d2d651b"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "5e7d1543d41912ffa0a71137b90c40ab5569ffab65e8b99f0b62446561a78ca2"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f85c8086b462474e40b0b090f9b566aa55b228ec49ec18fa1b5987ec3efa048b"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "6f161428af67a1635364660a8ec6d7c785350204d5bac602ebcd32861e9baf62"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "2088379539a9b4ece3012b603a5731c92567fa4b3e5c448ae54e2729c8df0658"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "186ba5f03adc7cb94c69351f5edcf241abdba1a3602f9b140a46682cb94b053c"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "7c6308024524c8ba458bb43cace95bdf92dfa7d797c7ff936598257c018e4807"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "61de0fc548ff70367334c82bec580caa895f3db63c6b045c5a717bfa282e69db"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "34c935a0b162e182a341699782143cad1e225ea63bf314c158d25f629889c5e1"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "4442d37c8bb411c5c151bd98d06a375dc8ffcf72fee4d03bed6ac8691ccd8e2c"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "e7226b6b42e7cfe4d36c430eca755f5deae8899fd64ea1877ad576f96fe29b8c"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "eaf46e571b55800dfaf63a807236e8bf5fa8e8ba77bc996830ab0dfcdce23300"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "62edb0cee78dd88a871355c996107901456f1fb70793d21209e75875c33d91a3"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "76e3222d9b7bc4f5948c56be6248deb23c1777550f497f115487e323c16b2f95"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "b7ad9dd397abb89b844f8a1adbd34d0dfdea6bb85b3f8ad5d5f297e7f8b1b081"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "b10c7e572ba88f79acb2d57988308c5af6fde268f64434956c4312f8a7c3ed42"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "174f671aa90307e4dd6756d60f37a0b628d7d1cee8c7bb623a1a32c55b26a967"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "b966f3381a30567db88890dd3885c56f9cf367d9c92e192d0c6c79066e482c91"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "e5d96ddd9ed6b685b872d90e95bded23124e21575e9e0bcb7aeaa77ef0226009"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "fdbe97bc87656569b20d8154619cd7b3b5c3b03cbbcd7ff2f1e07a3af547bb41"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "b24ea0ae2977d9380cadfd130f83971e798677ce956152d794523e90a54222e6"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "ba39bd39698ad0486e22806ff468b9a763712f35e943b93e6021365dc061c2ce"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "f51e4dcaeac1aeb53d858d029c34c366e948616f7ca3f35eb22b165fd2839376"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "511441bfe56749643f59e10c9219b8c3192d64c50008ee3d8a2dc342993c0133"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "9f60a1c06da4e61a415359eeaed831d61a8c8ad377952948c1475ee6a2bc0cd3"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "d48939ad0dab7c4829cd41cd6afe9239d12ab2a2337296203b660613cbba2698"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "6b1398161ab1271caa14b20c4ad0b3e4372fca743b4ae2e3d5bd1d77d8038c15"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "c30f3fea47cca28fcc928d813e8c631db43a665d8f347f174b23ef3c1fdd7550"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "592b18fa8ff3749c7a68b5f5406f5ae42f9f97e47cc8c2f9c18b242c8f192b8d"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "1ccdde8b11337e75feabbd1e40f1316c287862769d0b9c37934f22108c74bf1a"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "acb837b0120f00f6cb39e447e86cb140c0cabbe599bff70d85429126df377d85"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "ba4c223c22fda306f4b66daa6ed0d157c5c24489ec7627e1124c9f79b5aca989"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "f4bb5a60493f3fbf519a55dc7ff2fa7bb455ad344d27b133addb2864f9d9d100"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "205729f0ce14666ef98b7e23dad0882d450a508b568fc1d2c99cdfffd2cc9547"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "7c7cb801ea902f93e57f944209e1358bcbe73f8ee312112e94ade2a2ef4b1194"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "8bbb39afd31656bc7cdab60b179e0a5bb9d9d9fed62e1ad398dfc5c0f40a35ab"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "0d86ebebfd2ba294b0f27b5eb84b083a7c8cecc8fea944705525831cf3c161b8"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "76673ffb93fb3b902366c5939619dfa11ecd724dc5ff37fe769d598dc937c353"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "6e7098cf9eb6f1b55d7504b341b709133fb5d4d20cb761984647422749b71615"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "3de2c84af3c7111a306e35f1f7304bf7a77a0e50c8d2c9bfbc896a11a6a23e5d"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "a2bb5c2b6e174a65cf825293f57cc1628930686f6a674d2cb7fcee6aaf755afc"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "f0ec8c9613ee04c7f7c1b55cb81386036220a715b58edc302e2099882e2c642d"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "3ed3c4431fc604fbc05b6f17c9c6e74057278e9ef85480d60ea638843eab1394"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "e4dac93472bc5f41a75daf9ca18265de527b5fc621812bde2c634f1fa5a4692c"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "8a30c0c7a586f598e6065f20b2a0dc1e105f59d3e4adac8167da462e8e0193d2"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "adfe8aca07faf08ba780ca0f84d638d461f4a0f00b92d5a9cebe8102a94bce79"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "19ccb4a2ec44b1c8edce204627af3d0e84f214591d3b7a4f6e67e297dd9db0f9"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "88f763080b2bbfb8957ed6b52189f2195b3317a1bfb851a6e686765e8a12181a"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "5955d594802281794ef25e9fda196206464ac0594ce12e957b5c40c589c89ad0"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "7fb849565e25b1bba853b434d7f0207bfc9b3f39251f08edf65a8a38ccd0dd96"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "b56cd8b5fc665ad24061fdf2ac3196aff9f953395e894007b133bc83f676be33"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "860dca420cd8c6c18bc703ab4934948e038b4e7e91a1d80d3f632980f0799424"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "4e8723dacd9a4961f02fece36066166c044880fbc0c7aab4e0f1289a36bd22c6"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "fd071bf547ba0baaf13141e30f34c15108fb6e44432b02d55508cf3dfca91cdb"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "b999261eb53e28c5b43fa5d3ffcb2f9c12cca45a38c6e8fc56a342b1a5dda78a"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "2c2e7d7a459dd85f88fb3839002e2eb602d47ce5df4d0572928d8a35a0df4773"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "0c540f0ffb1224c8d3b18423690f319d25ff5e0c004d18cc8bc6b7d69ecbc48a"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "5d7e14f94f53c7623dc4fce69aa991a67792e0d2405a6c7044558d5023ea0cc0"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "6355145ae642332d1798f8ce169cb85cc930af6add6c8cda142e8183666fdb71"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "897eca9ffdbf28f3d3f720dd44f68f67a289e4d2aff91005c180688b34358b08"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "43d2cf464be8be57a5d2bdba1683e6179641448e351d9a8bee9889febe1ebefd"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "5e6b806364d7e97384bf3f30e4f398c8041cd8acc000b21edcf218ca24e1903a"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "5b96ea401ec1af9473cc57e4f09f6f264598e52196dd9da38cebe3e802649fc9"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "3fbd40d914f9347f09848ffb3486d1cec9734f9ae3cc969bc71a8d9c61aea92b"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "9f60903ccb571eebdf7fab4c62e1f0675d4c7f5bcbca7589e669c931b355b55a"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "bd0e53bb5d792c9caf2aedc67cf1df2281d234905b96748766446e842448e39e"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "f7bc98632e15fb73c61c5fd54c3e349e93f3f07b61ee92d704b105b05386949d"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "6361b21f9a57468cb8e6273805437d4a40f90c0b461d447b17543f84f9cae8c2"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "df4d4ef5a25a8aa2f9cbbfef2425056c19b568030e2b217f9bb535fcd81cc017"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "def27fdc02da10e148b3312199826157b981165a98ea9a3f5135866092e07ad3"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "3c55c72d8b9936dc0b0ecf2e88024d4e128f4cbdb32ec5770d4caa930e12d696"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "7f1e39da21362857afd57151b0bb606c7a8b52f0ea1362cbb5bf9c4eb9b18db8"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "3b70e990616d999c572a9e95f92dc62b004f5449891778a6530ee81dc1f42703"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "7023635ab8fde872b41b08f523128721863091d7bd7e76646ea2f2929a667719"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "370075633a30d3f4afbe69c617ecc4df33e51aa95704ef9fff599a13e9cb3ab2"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "f143791c658916ee2ddac2199293ded234cfd8201cd6399775ccb996cb784e18"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "5d48abb53a5b71be190dc4c127c5718704fbc12590c2c5fbcf3b4046f9840415"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "319df90e458817537f7323e97c3d7fdeb2fd965a215b1173f87378b3c94e3ac7"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "2f93a35135f387c8cb2e4ca4b0c800f846596d0f93350f3be0983797a0571359"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "8e3d9003a67a0d38821dae7a070eebe32698ae6a89272394d4f7faea91595360"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "bf2bb1676c5966b6fdcf34c93eb3444ed0f3dd6ed03c8e2a39f6757811bf0e7f"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "e938fcf2e84bc19d766c89312f8ca8e055ffeaf7fe20ba8d616aeb0b862cd064"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ab0b01922e883a34874de33f6eae08a8e4e40d23dd7ddcdf42254386218728e6"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "fd3fd9fe5280365a27ef4e81f7965da2e85ad149e4e026f6a8714a73d976eeb2"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "6a68c72828036a256a8d04b1678be58c786671ef97f106b23812ebcf149f1d15"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "26bb8ca3617c70d1126ef4111787ab267bc6dcd28b2b995e07b7296bdf24723b"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "de6ac16163aab662ba4fef2130dd822ec9cfecc0f4beec54f2017785fec8eb0a"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "82c459a487d2a7b156f92db36e85c815c714d59474ed9bd8cde46b08c69f1d57"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "1f4caae64ced0c69fe6ba6330921fce0d220b616a0eb8b1e696da85cdcf5ec01"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "830b649a394cd844bb1b159a76d265455f6ace76dec6697491367b2f6eff1588"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "e89e906cd896c8e04754a9658dc72617954e0a097e6e3b648e5ce827c8cec7d7"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "260fc959ce74945d827c230124a451cec75b6347b78d7d8bbeb65a2bd91f5bd8"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "aa416170d0d04d0e2e570d0b0874b6c585d706f8b670de3c24bc5a9ce9819d8d"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "a24ec33c8812921ad0f15dd4306218a2443f7018be5141bcc8e87e0ce3f52929"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "5c8bb4872206cacd17cfb77ed3cf58024cdc81be181908213f80659c4d36594b"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "06bde08af3d4b73db3f0a8b87f4f5f3bbc95fd92d717a9ac83efddb7ebc0f12b"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "6adf1e6992b05b6c93152bb19a79fe39f319b5a5a62d2491191544eaaabbcc1b"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "3f757064e857d8c4d025c0de8325b3bfd81648ac2b77ee11ca847e8ea85d35a5"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "01147194ad382e4cc61c22c6a2672a01740ced6fdb3d4c2a9394ca9d62503c24"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "ffd8e8bbadb7be4672555f1ec8e4134af5c0898041cc197e1d0081b636d07642"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "d1e9df7d081afa272e94534ee3d6310c3498629cd7bba0fd7ab86675ea885714"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "2835ea496c48c171efa0d79924cd3183c12f6de49ce05af72214f6ad4a407c85"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "e585b0839c2b31ef12f562c4303b46b392493c6619b7e1b0c92e21c3afdb7461"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "592ece3de096b4135c24e9079f20b85b8c394d488caa6b7907b75d49f51fb30d"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "048bcb92d0915b909e2174c990948dd5c50345452369e067bf8c5770bc7b40c4"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "b24e02beeb02d44ba64884864cdfb6605e7b3454b6e953767ceeaf4817f41d95"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "caad067689a49308c2e51385750f3d2319e3a06757cf56060ce3c5ecb74a9ed6"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "a2dc5de82a1736dd3aa157da305f5db478625508444df244a3492dfaff8278f3"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "d2c4ab30e6e5d17716d7981d0039f043a41107edb917a838be66659d60653074"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "58773ebf8d949541a2c19924935eb09f0d996aa4059ad3c17a71c664357c2bcc"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "bb5c4d1d81373c1d25c1df4d896fbd1ba52acfed4e890a81650e34e5b9bd2ef0"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "c95f531aaa3d36788cf6511d51afa1242657890bdc10628218aef60d6d80b106"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "bf04a4f7b629e20f8389aad530b89b592686bd1a8340090311882934f9bea391"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "2c0c6d3a2d4228b7838864835665ff7d46cf8564d59db817ee1d8f9665828410"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "c51477c9aaa96765205c163df83acb003c2db837243225d5d1e8753b1de5b71b"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "3c92aef738962dab12fa0e118d64d29bb0d110f9ef2050630b3649d574036476"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "4854536b65fb7afb8925315ff4192c369db53f55b3ccec698cb561af1bc03f68"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "3aa69342828a99d075e0b70938d1360dcb9016ad322638c57fba9288e37b9b3e"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "9d590c31e369d8e1287c915cb91061f14359329c89e5038e3491052ff3df894a"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "f133efa32b74f0203186abfeb5b191bf50711f04bf29762e2569b78e0feb66e3"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "15d71526ef072de2b9adacb300e0eb158170839be82a7def9efa6ac55adcda37"; }
   ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 093e7a22b921..ef9ec03ecd9f 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,7 +13,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "38.6.0"; in
+let version = "38.7.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,9 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://archive.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-
-    # https://archive.mozilla.org/pub/thunderbird/releases/${verName}/SHA1SUMS
-    sha1 = "7c8ef066d6b6516fddbb654b38353f894f85d469";
+    sha256 = "1wbkj8a0p62mcbxlq8yyzrx51xi65qm8f2ccqiv5pb6qd51b5d0v";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
@@ -69,7 +67,7 @@ stdenv.mkDerivation rec {
                                "--enable-optimize" "--enable-strip" ])
     ++ [
       "--disable-javaxpcom"
-      "--enable-stdcxx-compat" # Avoid dependency on libstdc++ 4.7
+      #"--enable-stdcxx-compat" # Avoid dependency on libstdc++ 4.7
     ]
     ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
   in ''
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index dbd23195a1cd..24b7a50b032f 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "2.90";
+  version = "2.92";
 in
 
 with { inherit (stdenv.lib) optional optionals optionalString; };
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://transmission.cachefly.net/transmission-${version}.tar.xz";
-    sha256 = "1lig7y9fhmv2ajgq1isj9wqgpcgignzlczs3dy95ahb8h6pqrzv9";
+    sha256 = "0pykmhi7pdmzq47glbj8i2im6iarp4wnj4l1pyvsrnba61f0939s";
   };
 
   buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools zlib ]
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [ "--with-systemd-daemon" ]
+    ++ [ "--enable-cli" ]
     ++ optional enableGTK3 "--with-gtk";
 
   preFixup = optionalString enableGTK3 /* gsettings schemas for file dialogues */ ''
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 7c2131d2fcb8..1ced6f3d02dd 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -9,11 +9,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calligra-2.9.8";
+  name = "calligra-2.9.11";
 
   src = fetchurl {
     url = "mirror://kde/stable/${name}/${name}.tar.xz";
-    sha256 = "08a5k8gjmzp9yzq46xy0p1sw7dpvxmxh8zz6dyj8q1dq29719kkc";
+    sha256 = "02gaahp7a7m53n0hvrp3868s8w37b457isxir0z7b4mwhw7jv3di";
   };
 
   nativeBuildInputs = [ automoc4 cmake perl pkgconfig makeWrapper ];
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
       vector graphics.
     '';
     homepage = http://calligra.org;
-    maintainers = with stdenv.lib.maintainers; [ urkud phreedom ];
+    maintainers = with stdenv.lib.maintainers; [ urkud phreedom ebzzry ];
     inherit (kdelibs.meta) platforms;
   };
 }
diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix
index 720a07afcfa3..d592e149588a 100644
--- a/pkgs/applications/office/scribus/default.nix
+++ b/pkgs/applications/office/scribus/default.nix
@@ -3,11 +3,11 @@
 , zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "scribus-1.4.5";
+  name = "scribus-1.4.6";
 
   src = fetchurl {
-    url = "mirror://sourceforge/scribus/scribus/${name}.tar.bz2";
-    sha256 = "1644ym79q7a1m5xf3xl1wf4kdk870np911jmpqdv2syjc42nyw4z";
+    url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz";
+    sha256 = "16m1g38dig37ag0zxjx3wk1rxx9xxzjqfc7prj89rp4y1m83dqr1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 4d2396e8a117..9014e3884688 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,19 +9,18 @@
 
 buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.63";
+  version = "0.65";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "077vf4h0hjmbk8bxj9l0z9rxcb3dw642n32lvfn6vjdna1qm910m";
+    sha256 = "15pdq4fxag85qjsrdmmssiq85qsk5vnbp8mrqnpvx8lm8crz6hjl";
   };
 
   propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk pythonPackages.pyxdg pygobject ];
 
   preBuild = ''
-    mkdir -p /tmp/home
-    export HOME="/tmp/home"
+    export HOME=$TMP
 
     sed -i '/zim_install_class,/d' setup.py
   '';
@@ -30,8 +29,14 @@ buildPythonApplication rec {
   preFixup = ''
     export makeWrapperArgs="--prefix XDG_DATA_DIRS : $out/share --argv0 $out/bin/.zim-wrapped"
   '';
-  # Testing fails.
-  doCheck = false;
+
+  postFixup = ''
+    wrapPythonPrograms
+    substituteInPlace $out/bin/.zim-wrapped \
+    --replace "sys.argv[0] = 'zim'" "sys.argv[0] = '$out/bin/zim'"
+  '';
+
+  doCheck = true;
 
   meta = {
       description = "A desktop wiki";
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 5939478d695f..5a21754b44e3 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -1,21 +1,13 @@
-{ stdenv, fetchurl, fetchpatch, bash, firefox, perl, unzipNLS, xorg }:
+{ stdenv, fetchurl, bash, firefox, perl, unzipNLS, xorg }:
 
 let
 
   xpi = fetchurl {
     url = "https://download.zotero.org/extension/zotero-${version}.xpi";
-    sha256 = "02h2ja08v8as4fawj683rh5rmxsjf5d0qmvqa77i176nm20y5s7s";
+    sha256 = "1dyf578yfj3xr9kkhmsvbkvraw2arghmh67ksi5c8qlxczx5i1xy";
   };
 
-  firefox' = stdenv.lib.overrideDerivation (firefox) (attrs: {
-    patches = [ (fetchpatch {
-      url = "https://hg.mozilla.org/releases/mozilla-beta/raw-rev/0558da46f20c";
-      sha256 = "08ibp7hny78x8ywfvrh56z90kf8fjpf04mibdlrwkw4f1vgm3fc3";
-      name = "fix-external-xpi-loader";
-    }) ];
-  });
-
-  version = "4.0.28";
+  version = "4.0.29";
 
 in
 stdenv.mkDerivation {
@@ -23,15 +15,13 @@ stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    url = "https://github.com/zotero/zotero-standalone-build/archive/4.0.28.8.tar.gz";
-    sha256 = "ab1fd5dde9bd2a6b6d31cc9a53183a04de3698f1273a943ef31ecc4c42808a68";
+    url = "https://github.com/zotero/zotero-standalone-build/archive/4.0.29.2.tar.gz";
+    sha256 = "0pfip6s5dawp7wp8r5czvzlnxvvdwjja64g71h9dxyxrh49v2mxa";
   };
 
   nativeBuildInputs = [ perl unzipNLS ];
 
-  inherit bash;
-
-  firefox = firefox';
+  inherit bash firefox;
 
   phases = "unpackPhase installPhase fixupPhase";
 
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
index 0fd90ac13b6e..fa890c03b6f7 100644
--- a/pkgs/applications/science/logic/acgtk/default.nix
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
     homepage = "http://www.loria.fr/equipes/calligramme/acg";
     description = "A toolkit for developing ACG signatures and lexicon";
     license = licenses.cecill20;
-    platforms = ocaml.meta.platforms;
+    platforms = ocaml.meta.platforms or [];
     maintainers = [ maintainers.jirkamarsik ];
   };
 }
diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/applications/science/math/lp_solve/default.nix
index 7726793fcaf8..b92691cb6119 100644
--- a/pkgs/applications/science/math/lp_solve/default.nix
+++ b/pkgs/applications/science/math/lp_solve/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ smironov ];
     platforms   = platforms.unix;
+    broken      = true;
   };
 
 }
diff --git a/pkgs/applications/science/math/scotch/default.nix b/pkgs/applications/science/math/scotch/default.nix
new file mode 100644
index 000000000000..2e928bc8f344
--- /dev/null
+++ b/pkgs/applications/science/math/scotch/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, bison, openmpi, flex, zlib}:
+
+stdenv.mkDerivation rec {
+  version = "6.0.4";
+  name = "scotch-${version}";
+  src_name = "scotch_${version}";
+
+  buildInputs = [ bison openmpi flex zlib ];
+
+  src = fetchurl {
+    url = "http://gforge.inria.fr/frs/download.php/file/34618/${src_name}.tar.gz";
+    sha256 = "f53f4d71a8345ba15e2dd4e102a35fd83915abf50ea73e1bf6efe1bc2b4220c7";
+  };
+
+  sourceRoot = "${src_name}/src";
+
+  preConfigure = ''
+    ln -s Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc
+  '';
+
+  buildFlags = [ "scotch ptscotch" ];
+  installFlags = [ "prefix=\${out}" ];
+
+  meta = {
+    description = "Graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering";
+    longDescription = ''
+      Scotch is a software package for graph and mesh/hypergraph partitioning, graph clustering, 
+      and sparse matrix ordering.
+    '';
+    homepage = "http://www.labri.fr/perso/pelegrin/scotch";
+    license = stdenv.lib.licenses.cecill-c;
+    maintainers = [ stdenv.lib.maintainers.bzizou ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/science/robotics/gazebo/6.nix b/pkgs/applications/science/robotics/gazebo/6.nix
new file mode 100644
index 000000000000..0d1aa4a9085f
--- /dev/null
+++ b/pkgs/applications/science/robotics/gazebo/6.nix
@@ -0,0 +1,8 @@
+{ stdenv, fetchurl, callPackage, ignition, gazeboSimulator, ... } @ args:
+
+callPackage ./default.nix (args // rec {
+  version = "6.5.1";
+  src-sha256 = "96260aa23f1a1f24bc116f8e359d31f3bc65011033977cb7fb2c64d574321908";
+  sdformat = gazeboSimulator.sdformat3;
+})
+
diff --git a/pkgs/applications/science/robotics/gazebo/default.nix b/pkgs/applications/science/robotics/gazebo/default.nix
new file mode 100644
index 000000000000..1b71e45eb821
--- /dev/null
+++ b/pkgs/applications/science/robotics/gazebo/default.nix
@@ -0,0 +1,81 @@
+{ stdenv, fetchurl, cmake, pkgconfig, boost, protobuf, freeimage
+  , boost-build, boost_process
+  , xorg_sys_opengl, tbb, ogre, tinyxml-2
+  , libtar, glxinfo,  libusb, libxslt, ruby, ignition
+  , pythonPackages, utillinux
+
+  # these deps are hidden; cmake doesn't catch them
+  , gazeboSimulator, sdformat ? gazeboSimulator.sdformat, curl, tinyxml, kde4, x11
+  , withIgnitionTransport ? true
+  , libav, withLibAvSupport ? true
+  , openal, withAudioSupport ? false
+  , withQuickBuild ? false, withHeadless ? false, withLowMemorySupport ? false
+  , doxygen, withDocs ? true
+  , bullet, withBulletEngineSupport ? false
+  , graphviz, withModelEditorSchematicView ? true # graphviz needed for this view
+  , gdal, withDigitalElevationTerrainsSupport ? true
+  , gts, withConstructiveSolidGeometrySupport ? true
+  , hdf5, withHdf5Support ? true
+  , version ? "7.0.0"
+  , src-sha256 ? "127q2g93kvmak2b6vhl13xzg56h09v14s4pki8wv7aqjv0c3whbl"
+  , ...
+}: with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  inherit version;
+  name = "gazebo-${version}";
+
+  src = fetchurl {
+    url = "http://osrf-distributions.s3.amazonaws.com/gazebo/releases/${name}.tar.bz2";
+    sha256 = src-sha256;
+  };
+
+  enableParallelBuilding = true; # gazebo needs this so bad
+  cmakeFlags = []
+    ++ optional withQuickBuild [ "-DENABLE_TESTS_COMPILATION=False" ]
+    ++ optional withLowMemorySupport [ "-DUSE_LOW_MEMORY_TESTS=True" ]
+    ++ optional withHeadless [ "-DENABLE_SCREEN_TESTS=False" ];
+
+  buildInputs = [
+    #cmake pkgconfig boost protobuf
+    freeimage
+    xorg_sys_opengl
+    tbb
+    ogre
+    tinyxml-2
+    libtar
+    glxinfo
+    libusb
+    libxslt
+    ignition.math2
+    sdformat
+    pythonPackages.pyopengl
+
+    # TODO: add these hidden deps to cmake configuration & submit upstream
+    curl
+    tinyxml
+    x11
+    kde4.qt4
+  ] ++ optional stdenv.isLinux utillinux # on Linux needs uuid/uuid.h
+    ++ optional withDocs doxygen
+    ++ optional withLibAvSupport libav  #TODO: package rubygem-ronn and put it here
+    ++ optional withAudioSupport openal
+    ++ optional withBulletEngineSupport bullet
+    ++ optional withIgnitionTransport ignition.transport
+    ++ optional withModelEditorSchematicView graphviz
+    ++ optional withDigitalElevationTerrainsSupport gdal
+    ++ optional withConstructiveSolidGeometrySupport gts
+    ++ optional withHdf5Support hdf5;
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  propagatedNativeBuildInputs = [ boost boost-build boost_process protobuf ];
+
+  meta = with stdenv.lib; {
+    homepage = http://gazebosim.org/;
+    description = "Multi-robot simulator for outdoor environments";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pxc ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch b/pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch
new file mode 100644
index 000000000000..e6c9ca38a989
--- /dev/null
+++ b/pkgs/applications/science/robotics/qgroundcontrol/0001-fix-gcc-cmath-namespace-issues.patch
@@ -0,0 +1,140 @@
+From fffc383c10c7c194e427d78c83802c3b910fa1c2 Mon Sep 17 00:00:00 2001
+From: Patrick Callahan <pxcallahan@gmail.com>
+Date: Thu, 24 Mar 2016 18:17:57 -0700
+Subject: [PATCH] fix gcc cmath namespace issues
+
+---
+ src/Vehicle/Vehicle.cc        | 6 +++---
+ src/comm/QGCFlightGearLink.cc | 4 ++--
+ src/comm/QGCJSBSimLink.cc     | 4 ++--
+ src/uas/UAS.cc                | 8 ++++----
+ src/ui/QGCDataPlot2D.cc       | 4 ++--
+ 5 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc
+index a0d3605..205b1de 100644
+--- a/src/Vehicle/Vehicle.cc
++++ b/src/Vehicle/Vehicle.cc
+@@ -638,17 +638,17 @@ void Vehicle::setLongitude(double longitude){
+ 
+ void Vehicle::_updateAttitude(UASInterface*, double roll, double pitch, double yaw, quint64)
+ {
+-    if (isinf(roll)) {
++    if (std::isinf(roll)) {
+         _rollFact.setRawValue(0);
+     } else {
+         _rollFact.setRawValue(roll * (180.0 / M_PI));
+     }
+-    if (isinf(pitch)) {
++    if (std::isinf(pitch)) {
+         _pitchFact.setRawValue(0);
+     } else {
+         _pitchFact.setRawValue(pitch * (180.0 / M_PI));
+     }
+-    if (isinf(yaw)) {
++    if (std::isinf(yaw)) {
+         _headingFact.setRawValue(0);
+     } else {
+         yaw = yaw * (180.0 / M_PI);
+diff --git a/src/comm/QGCFlightGearLink.cc b/src/comm/QGCFlightGearLink.cc
+index 2a520fb..886aecf 100644
+--- a/src/comm/QGCFlightGearLink.cc
++++ b/src/comm/QGCFlightGearLink.cc
+@@ -230,7 +230,7 @@ void QGCFlightGearLink::updateControls(quint64 time, float rollAilerons, float p
+     Q_UNUSED(systemMode);
+     Q_UNUSED(navMode);
+ 
+-    if(!isnan(rollAilerons) && !isnan(pitchElevator) && !isnan(yawRudder) && !isnan(throttle))
++    if(!std::isnan(rollAilerons) && !std::isnan(pitchElevator) && !std::isnan(yawRudder) && !std::isnan(throttle))
+     {
+         QString state("%1\t%2\t%3\t%4\t%5\n");
+         state = state.arg(rollAilerons).arg(pitchElevator).arg(yawRudder).arg(true).arg(throttle);
+@@ -240,7 +240,7 @@ void QGCFlightGearLink::updateControls(quint64 time, float rollAilerons, float p
+     }
+     else
+     {
+-        qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << isnan(rollAilerons) << ", pitch: " << isnan(pitchElevator) << ", yaw: " << isnan(yawRudder) << ", throttle: " << isnan(throttle);
++        qDebug() << "HIL: Got NaN values from the hardware: std::isnan output: roll: " << std::isnan(rollAilerons) << ", pitch: " << std::isnan(pitchElevator) << ", yaw: " << std::isnan(yawRudder) << ", throttle: " << std::isnan(throttle);
+     }
+ }
+ 
+diff --git a/src/comm/QGCJSBSimLink.cc b/src/comm/QGCJSBSimLink.cc
+index 1210621..89db371 100644
+--- a/src/comm/QGCJSBSimLink.cc
++++ b/src/comm/QGCJSBSimLink.cc
+@@ -242,7 +242,7 @@ void QGCJSBSimLink::updateControls(quint64 time, float rollAilerons, float pitch
+     Q_UNUSED(systemMode);
+     Q_UNUSED(navMode);
+ 
+-    if(!isnan(rollAilerons) && !isnan(pitchElevator) && !isnan(yawRudder) && !isnan(throttle))
++    if(!std::isnan(rollAilerons) && !std::isnan(pitchElevator) && !std::isnan(yawRudder) && !std::isnan(throttle))
+     {
+         QString state("%1\t%2\t%3\t%4\t%5\n");
+         state = state.arg(rollAilerons).arg(pitchElevator).arg(yawRudder).arg(true).arg(throttle);
+@@ -250,7 +250,7 @@ void QGCJSBSimLink::updateControls(quint64 time, float rollAilerons, float pitch
+     }
+     else
+     {
+-        qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << isnan(rollAilerons) << ", pitch: " << isnan(pitchElevator) << ", yaw: " << isnan(yawRudder) << ", throttle: " << isnan(throttle);
++        qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << std::isnan(rollAilerons) << ", pitch: " << std::isnan(pitchElevator) << ", yaw: " << std::isnan(yawRudder) << ", throttle: " << std::isnan(throttle);
+     }
+     //qDebug() << "Updated controls" << state;
+ }
+diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc
+index 4d5c1c2..ac88852 100644
+--- a/src/uas/UAS.cc
++++ b/src/uas/UAS.cc
+@@ -558,7 +558,7 @@ void UAS::receiveMessage(mavlink_message_t message)
+ 

+             setAltitudeAMSL(hud.alt);

+             setGroundSpeed(hud.groundspeed);

+-            if (!isnan(hud.airspeed))

++            if (!std::isnan(hud.airspeed))

+                 setAirSpeed(hud.airspeed);

+             speedZ = -hud.climb;

+             emit altitudeChanged(this, altitudeAMSL, altitudeRelative, -speedZ, time);

+@@ -654,7 +654,7 @@ void UAS::receiveMessage(mavlink_message_t message)
+ 

+                     float vel = pos.vel/100.0f;

+                     // Smaller than threshold and not NaN

+-                    if ((vel < 1000000) && !isnan(vel) && !isinf(vel)) {

++                    if ((vel < 1000000) && !std::isnan(vel) && !std::isinf(vel)) {

+                         setGroundSpeed(vel);

+                         emit speedChanged(this, groundSpeed, airSpeed, time);

+                     } else {

+@@ -1439,8 +1439,8 @@ void UAS::setExternalControlSetpoint(float roll, float pitch, float yaw, float t
+     if (countSinceLastTransmission++ >= 5) {

+         sendCommand = true;

+         countSinceLastTransmission = 0;

+-    } else if ((!isnan(roll) && roll != manualRollAngle) || (!isnan(pitch) && pitch != manualPitchAngle) ||

+-             (!isnan(yaw) && yaw != manualYawAngle) || (!isnan(thrust) && thrust != manualThrust) ||

++    } else if ((!std::isnan(roll) && roll != manualRollAngle) || (!std::isnan(pitch) && pitch != manualPitchAngle) ||

++             (!std::isnan(yaw) && yaw != manualYawAngle) || (!std::isnan(thrust) && thrust != manualThrust) ||

+              buttons != manualButtons) {

+         sendCommand = true;

+ 

+diff --git a/src/ui/QGCDataPlot2D.cc b/src/ui/QGCDataPlot2D.cc
+index 2e530b2..9d5a774 100644
+--- a/src/ui/QGCDataPlot2D.cc
++++ b/src/ui/QGCDataPlot2D.cc
+@@ -535,7 +535,7 @@ void QGCDataPlot2D::loadCsvLog(QString file, QString xAxisName, QString yAxisFil
+                 {
+                     bool okx = true;
+                     x = text.toDouble(&okx);
+-                    if (okx && !isnan(x) && !isinf(x))
++                    if (okx && !std::isnan(x) && !std::isinf(x))
+                     {
+                         headerfound = true;
+                     }
+@@ -561,7 +561,7 @@ void QGCDataPlot2D::loadCsvLog(QString file, QString xAxisName, QString yAxisFil
+                         y = text.toDouble(&oky);
+                         // Only INF is really an issue for the plot
+                         // NaN is fine
+-                        if (oky && !isnan(y) && !isinf(y) && text.length() > 0 && text != " " && text != "\n" && text != "\r" && text != "\t")
++                        if (oky && !std::isnan(y) && !std::isinf(y) && text.length() > 0 && text != " " && text != "\n" && text != "\r" && text != "\t")
+                         {
+                             // Only append definitely valid values
+                             xValues.value(curveName)->append(x);
+-- 
+2.7.4
+
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
new file mode 100644
index 000000000000..47a6ee44952b
--- /dev/null
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -0,0 +1,98 @@
+{ stdenv, fetchgit, git,  espeak, SDL, udev, doxygen, cmake, overrideCC#, gcc48
+  , qtbase, qtlocation, qtserialport, qtdeclarative, qtconnectivity, qtxmlpatterns
+  , qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects
+  , makeQtWrapper, lndir
+  , gst_all_1, qt_gstreamer1, pkgconfig, glibc
+  , version ? "2.9.4"
+}:
+
+stdenv.mkDerivation rec {
+  name = "qgroundcontrol-${version}";
+  buildInputs = [
+   SDL udev doxygen git
+  ] ++ gstInputs;
+
+  qtInputs = [
+    qtbase qtlocation qtserialport qtdeclarative qtconnectivity qtxmlpatterns qtsvg 
+    qtquick1 qtquickcontrols qtgraphicaleffects
+  ];
+
+  gstInputs = with gst_all_1; [
+    gstreamer gst-plugins-base
+  ];
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [
+    pkgconfig makeQtWrapper
+ ] ++ qtInputs;
+
+  patches = [ ./0001-fix-gcc-cmath-namespace-issues.patch ];
+
+  preConfigure = ''
+    git submodule init
+    git submodule update
+
+  '';
+
+  configurePhase = ''
+    mkdir build
+    pushd build
+
+    qmake ../qgroundcontrol.pro
+
+    popd
+  '';
+
+  preBuild = "pushd build/";
+  postBuild = "popd";
+
+  installPhase = ''
+    mkdir -p $out/share/applications
+    cp -v qgroundcontrol.desktop $out/share/applications
+    
+    mkdir -p $out/bin
+    cp -v build/release/qgroundcontrol "$out/bin/"
+    
+    mkdir -p $out/share/qgroundcontrol
+    cp -rv resources/ $out/share/qgroundcontrol
+    
+    mkdir -p $out/share/pixmaps
+    cp -v resources/icons/qgroundcontrol.png $out/share/pixmaps
+
+    # we need to link to our Qt deps in our own output if we want
+    # this package to work without being installed as a system pkg
+    mkdir -p $out/lib/qt5 $out/etc/xdg
+    for pkg in $qtInputs; do
+      if [[ -d $pkg/lib/qt5 ]]; then
+        for dir in lib/qt5 share etc/xdg; do
+          if [[ -d $pkg/$dir ]]; then
+            ${lndir}/bin/lndir "$pkg/$dir" "$out/$dir"
+          fi
+        done
+      fi
+    done
+  '';
+
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/qgroundcontrol" \
+      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
+  '';
+  
+
+  # TODO: package mavlink so we can build from a normal source tarball
+  src = fetchgit {
+    url = "https://github.com/mavlink/qgroundcontrol.git";
+    rev = "refs/tags/v${version}";
+    sha256 = "0rwn2ddlar58ydzdykvnab1anr4xzvb9x0sxx5rs037i49f6sqga";
+    fetchSubmodules = true;
+  };
+
+  meta = {
+    description = "provides full ground station support and configuration for the PX4 and APM Flight Stacks";
+    homepage = http://qgroundcontrol.org/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ pxc ];
+  };
+}
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix
new file mode 100644
index 000000000000..795d804038d8
--- /dev/null
+++ b/pkgs/applications/search/catfish/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl, file, which, intltool, findutils, xdg_utils, pycairo,
+  gnome3, pythonPackages, wrapGAppsHook }:
+
+pythonPackages.buildPythonApplication rec {
+  majorver = "1.4";
+  minorver = "1";
+  version = "${majorver}.${minorver}";
+  name = "catfish-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/catfish-search/${majorver}/${version}/+download/${name}.tar.bz2";
+    sha256 = "0dc9xq1l1w22xk1hg63mgwr0920jqxrwfzmkhif01yms1m7vfdv8";
+  };
+
+  nativeBuildInputs = [
+    pythonPackages.distutils_extra
+    file
+    which
+    intltool
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gnome3.gtk
+    gnome3.dconf
+    pythonPackages.pyxdg
+    pythonPackages.ptyprocess
+    pycairo
+  ];
+
+  propagatedBuildInputs = [
+    pythonPackages.pygobject3
+    pythonPackages.pexpect
+    xdg_utils
+    findutils
+  ];
+  
+  preFixup = ''
+    for f in \
+      "$out/${pythonPackages.python.sitePackages}/catfish_lib/catfishconfig.py" \
+      "$out/share/applications/catfish.desktop"
+    do
+      substituteInPlace $f --replace "${pythonPackages.python}" "$out"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A handy file search tool";
+    longDescription = ''
+      Catfish is a handy file searching tool. The interface is
+      intentionally lightweight and simple, using only GTK+3.
+      You can configure it to your needs by using several command line
+      options.
+    '';
+    homepage = https://launchpad.net/catfish-search;
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/applications/search/grepm/default.nix b/pkgs/applications/search/grepm/default.nix
new file mode 100644
index 000000000000..99c149b79d9d
--- /dev/null
+++ b/pkgs/applications/search/grepm/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, perlPackages, mutt }:
+
+stdenv.mkDerivation rec {
+  name = "grepm-${version}";
+  version = "0.6";
+
+  src = fetchurl {
+    url = "http://www.barsnick.net/sw/grepm";
+    sha256 = "0ppprhfw06779hz1b10qvq62gsw73shccsav982dyi6xmqb6jqji";
+  };
+
+  phases = [ "installPhase" ];
+
+  buildInputs = [ perlPackages.grepmail mutt ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a $src $out/bin/grepm
+    chmod +x $out/bin/grepm
+    sed -i \
+      -e "s:^grepmail:${perlPackages.grepmail}/bin/grepmail:" \
+      -e "s:^\( *\)mutt:\1${mutt}/bin/mutt:" \
+      $out/bin/grepm
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "Wrapper for grepmail utilizing mutt";
+    homepage = http://www.barsnick.net/sw/grepm.html;
+    license = licenses.free;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix
new file mode 100644
index 000000000000..f8081ade61f5
--- /dev/null
+++ b/pkgs/applications/version-management/bugseverywhere/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, pythonPackages, fetchurl }:
+
+#
+# Upstream stopped development of this package. If this package does not build
+# anymore, feel free to remove it by reverting the appropriate patch
+# (git log --grep bugseverywhere)
+#
+pythonPackages.buildPythonApplication rec {
+    version = "1.1.1";
+    name = "bugseverywhere-${version}";
+
+    src = fetchurl {
+      url =
+      "https://pypi.python.org/packages/source/b/bugs-everywhere/bugs-everywhere-${version}.tar.gz";
+      sha256 = "1ikm3ckwpimwcvx32vy7gh5gbp7q750j3327m17nvrj99g3daz2d";
+    };
+
+    # There are no tests in the repository.
+    doCheck = false;
+
+    buildInputs = with pythonPackages; [
+        jinja2
+        cherrypy
+    ];
+
+    meta = with stdenv.lib; {
+        description = "Bugtracker supporting distributed revision control";
+        homepage = "http://www.bugseverywhere.org/";
+        license = licenses.gpl2Plus;
+        platforms = platforms.all;
+        maintainers = [ maintainers.matthiasbeyer ];
+    };
+}
+
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 2878fec3c095..82a3dc79d7c5 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -9,7 +9,7 @@
 }:
 
 let
-  version = "2.7.1";
+  version = "2.8.0";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "1zkbdmh5gvxalr8l1cwnirqq5raijmp2d0s36s6qabrlvqvq2yj7";
+    sha256 = "0k77b5x41k80fqqmkmg59rdvs92xgp73iigh01l49h383r7rl2cs";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 5f9983674308..9a3ce8bed224 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundler, fetchFromGitHub, bundlerEnv, defaultGemConfig, libiconv, ruby
+{ stdenv, lib, bundler, fetchFromGitHub, bundlerEnv, libiconv, ruby
 , tzdata, git, nodejs, procps
 }:
 
@@ -24,7 +24,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "gitlab-${version}";
-  version = "8.5.1";
+  version = "8.5.7";
 
   buildInputs = [ ruby bundler tzdata git nodejs procps ];
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "1pn5r4axzjkgdjr59y3wgxsd2n83zfd5bry1g2w4c2qw0wcw7zqb";
+    sha256 = "0n76dafndhp0rwnnvf12zby9xap5fhcplld86pq2wyvqabg4s9yj";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index f63a356a1f6d..b06652781837 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -975,10 +975,10 @@
     dependencies = ["actionpack" "activesupport" "rake" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07vmyrppa1x80whdjxhjij93qh9wvnmnxpsgn6fr9x2lqmzdyq5l";
+      sha256 = "cfff64cbc0e409341003c35fa2e576e6a8cd8259a9894d09f15c6123be73f146";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   rails-html-sanitizer = {
     dependencies = ["loofah"];
@@ -1011,10 +1011,10 @@
     dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03j6hfsqdl0bay59m4qjj2081s4vnhqagpl14qpm4wfrqrgpkcqb";
+      sha256 = "aa93c1b9eb8b535eee58280504e30237f88217699fe9bb016e458e5122eefa2e";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -2906,10 +2906,10 @@
     dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16zgsvzwwf4hx3ywi2lz0dcm6d1ljsy6zr5k2q41amd7g62d886d";
+      sha256 = "80ad345adf7e2b72c5d90753c0df91eacc34f4de02b34cfbf60bcf6c83483031";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   activerecord-session_store = {
     dependencies = ["actionpack" "activerecord" "railties"];
@@ -2940,55 +2940,55 @@
     dependencies = ["activemodel" "activesupport" "arel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qj5ii36yn9kb0ljnl05xgpgvs7j9l20yg2phsssy0j31g1ymmc5";
+      sha256 = "c2b1b6a4c6b8542c2464b457dce4cac4915efcbd3d5acfba57102e58474c33f2";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   activemodel = {
     dependencies = ["activesupport" "builder"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zr83avw82infmzdzpilk6xpv5r9fr8pxgf5ql16b3vysp6va57p";
+      sha256 = "09ce967be3086b34ae9fcbd919e714b2bdf72b8ab6e89b64aa74627267d93962";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xfj7lwp1v3k9zscavzq87wbbn6y825angz4zpx4xsvlwf3dn7jc";
+      sha256 = "cecb9bbc55292dee064ca479990c6e50fa3e2273aac6722ce058d18c22383026";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dp1gqh0yxpyydza1ada0jjbpww97qhnkj9c9pm9rg5jbmpzg12m";
+      sha256 = "e8ce01cf6cc822ec023a15a856a0fae0e078ebb232b95b722c23af4117d2d635";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13shdiwjfyqvfb11k0wqhcd7p7ix168fxd5l8m2pnn0bzskpswxv";
+      sha256 = "a22e1818f06b707433c9a76867932929751b5d57edbeacc258635a7b23da12cf";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fxn8f53nnpgan5xl9i5lszl1m8yk4q6ayc33d9xfzsnvhavpl4n";
+      sha256 = "8cee5f2f1e58c8ada17cca696377443c0cbc9675df2b7eef97a04318876484b5";
       type = "gem";
     };
-    version = "4.2.5.1";
+    version = "4.2.5.2";
   };
   ace-rails-ap = {
     source = {
@@ -3014,4 +3014,4 @@
     };
     version = "2.3.2";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index a829af8aa235..44f72c3f0fe7 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  NIX_CFLAGS_COMPILE = if stdenv.isDarwin then "-std=gnu99" else null;
+  NIX_CFLAGS_COMPILE = [ "-std=c99" ];
 
   meta = {
     homepage = http://www.gnu.org/software/rcs/;
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
index 420031a81019..292d6fc934b5 100644
--- a/pkgs/applications/version-management/smartgithg/default.nix
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "smartgithg-${version}";
-  version = "7_1_0";
+  version = "7_1_2";
 
   src = fetchurl {
-    url = "http://www.syntevo.com/downloads/smartgit/smartgit-linux-${version}.tar.gz";
-    sha256 = "0nlv2ipmv3z1j4642gfsrpsgc2y4mxngiz6mz3nidrbrkz0ylsvy";
+    url = "http://www.syntevo.com/static/smart/download/smartgit/smartgit-linux-${version}.tar.gz";
+    sha256 = "18jw4g2akhj6h9w8378kacv7ws35ndcnc3kkhci9iypwy432ak8d";
   };
 
   buildInputs = [
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.syntevo.com/smartgit/;
     license = licenses.unfree;
     platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ jraygauthier ];
   };
 }
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index f18184162fe7..da21c29e6f9f 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
 
 let
 
-  common = { version, sha1 }: stdenv.mkDerivation (rec {
+  common = { version, sha256 }: stdenv.mkDerivation (rec {
     inherit version;
     name = "subversion-${version}";
 
     src = fetchurl {
       url = "mirror://apache/subversion/${name}.tar.bz2";
-      inherit sha1;
+      inherit sha256;
     };
 
   # Can't do separate $lib and $bin, as libs reference bins
@@ -98,12 +98,12 @@ in {
 
   subversion18 = common {
     version = "1.8.15";
-    sha1 = "680acf88f0db978fbbeac89ed63776d805b918ef";
+    sha256 = "0b68rjy1sjd66nqcswrm1bhda3vk2ngkgs6drcanmzbcd3vs366g";
   };
 
   subversion19 = common {
     version = "1.9.3";
-    sha1 = "27e8df191c92095f48314a415194ec37c682cbcf";
+    sha256 = "8bbf6bb125003d88ee1c22935a36b7b1ab7d957e0c8b5fbfe5cb6310b6e86ae0";
   };
 
 }
diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix
index 3b48a447f6ff..177f3d1b20c9 100644
--- a/pkgs/applications/video/avidemux/default.nix
+++ b/pkgs/applications/video/avidemux/default.nix
@@ -1,46 +1,115 @@
-{stdenv, fetchurl, cmake, pkgconfig, libxml2, qt4, gtk, gettext, SDL,
-libXv, pixman, libpthreadstubs, libXau, libXdmcp, libxslt, x264,
-alsaLib, lame, faad2, libvorbis, yasm, libvpx, xvidcore, libva,
-faac ? null, faacSupport ? false }:
+{ stdenv, lib, fetchurl, cmake, pkgconfig, lndir
+, zlib, gettext, libvdpau, libva, libXv, sqlite, x265
+, yasm, fribidi, gtk3, qt4
+, withX264 ? true, x264
+, withLAME ? true, lame
+, withFAAC ? false, faac
+, withVorbis ? true, libvorbis
+, withPulse ? true, libpulseaudio
+, withFAAD ? true, faad2
+, withOpus ? true, libopus
+, withVPX ? true, libvpx
+}:
 
-assert stdenv ? glibc;
-assert faacSupport -> faac != null;
-
-stdenv.mkDerivation {
-  name = "avidemux-2.5.6";
+stdenv.mkDerivation rec {
+  name = "avidemux-${version}";
+  version = "2.6.12";
 
   src = fetchurl {
-    url = mirror://sourceforge/avidemux/avidemux_2.5.6.tar.gz;
-    sha256 = "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn";
+    url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz";
+    sha256 = "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn";
   };
 
-  buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv
-    pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib
-    lame faad2 libvorbis yasm libvpx xvidcore libva
-  ] ++ stdenv.lib.optional faacSupport faac;
+  nativeBuildInputs = [ cmake pkgconfig yasm lndir ];
+  buildInputs = [ zlib gettext libvdpau libva libXv sqlite x265 fribidi gtk3 qt4 ]
+             ++ lib.optional withX264 x264
+             ++ lib.optional withLAME lame
+             ++ lib.optional withFAAC faac
+             ++ lib.optional withVorbis libvorbis
+             ++ lib.optional withPulse libpulseaudio
+             ++ lib.optional withFAAD faad2
+             ++ lib.optional withOpus libopus
+             ++ lib.optional withVPX libvpx
+             ;
+
+  enableParallelBuilding = false;
+
+  outputs = [ "out" "cli" "gtk" "qt4" ];
+
+  patches = [ ./dynamic_install_dir.patch ];
+
+  buildCommand = ''
+    unpackPhase
+    cd "$sourceRoot"
+    patchPhase
+
+    export cmakeFlags="$cmakeFlags -DAVIDEMUX_SOURCE_DIR=$(pwd)"
+
+    function buildOutput() {
+      ( plugin_ui="$1"
+        output_dir="$2"
+        shift 2
+        export cmakeFlags="$cmakeFlags -DPLUGIN_UI=$plugin_ui -DCMAKE_INSTALL_PREFIX=$output_dir"
+        for i in "$@" avidemux_plugins; do
+          ( cd "$i"
+            cmakeConfigurePhase
+            buildPhase
+            installPhase
+          )
+        done
+        rm -rf avidemux_plugins/build
+      )
+    }
+
+    function buildUi() {
+      plugin_ui="$1"
+      output_dir="$2"
+      shift 2
+
+      # Hack to split builds properly
+      mkdir -p $output_dir
+      lndir $out $output_dir
+      buildOutput $plugin_ui $output_dir "$@"
+    }
+
+    function fixupUi() {
+      output_dir="$1"
+      shift
 
-  cmakeFlags = "-DPTHREAD_INCLUDE_DIR=${stdenv.glibc.dev}/include" +
-    " -DGETTEXT_INCLUDE_DIR=${gettext}/include" +
-    " -DSDL_INCLUDE_DIR=${SDL.dev}/include/SDL";
+      find $output_dir -lname $out\* -delete
+      find $output_dir -type f | while read -r f; do
+        rpath="$(patchelf --print-rpath $f 2>/dev/null)" || continue
+        new_rpath=""
+        IFS=':' read -ra old_rpath <<< "$rpath"
+        for p in "''${old_rpath[@]}"; do
+          new_rpath="$new_rpath:$p"
+          if [[ $p = $output_dir* ]]; then
+            new_rpath="$new_rpath:$out/''${p#$output_dir}"
+          fi
+        done
+        patchelf --set-rpath "$new_rpath" $f
+        patchelf --shrink-rpath $f
+      done
+    }
 
-  NIX_LDFLAGS="-lpthread";
+    buildOutput COMMON $out avidemux_core
+    buildOutput SETTINGS $out
+    buildUi CLI $cli avidemux/cli
+    buildUi GTK $gtk avidemux/gtk
+    buildUi QT4 $qt4 avidemux/qt4
 
-  postInstall = ''
-    cd $NIX_BUILD_TOP/$sourceRoot
-    mkdir build_plugins
-    cd build_plugins
-    cmake $cmakeFlags -DAVIDEMUX_INSTALL_PREFIX=$out \
-      -DAVIDEMUX_SOURCE_DIR=$NIX_BUILD_TOP/$sourceRoot \
-      -DAVIDEMUX_CORECONFIG_DIR=$NIX_BUILD_TOP/$sourceRoot/build/config ../plugins
+    fixupPhase
 
-    make
-    make install
+    fixupUi $cli
+    fixupUi $gtk
+    fixupUi $qt4
   '';
 
   meta = {
     homepage = http://fixounet.free.fr/avidemux/;
     description = "Free video editor designed for simple video editing tasks";
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric abbradar ];
     platforms = with stdenv.lib.platforms; linux;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/avidemux/dynamic_install_dir.patch b/pkgs/applications/video/avidemux/dynamic_install_dir.patch
new file mode 100644
index 000000000000..f2f963e51694
--- /dev/null
+++ b/pkgs/applications/video/avidemux/dynamic_install_dir.patch
@@ -0,0 +1,12 @@
+diff -ru3 avidemux_2.6.12.old/avidemux_core/ADM_core/src/ADM_fileio.cpp avidemux_2.6.12/avidemux_core/ADM_core/src/ADM_fileio.cpp
+--- avidemux_2.6.12.old/avidemux_core/ADM_core/src/ADM_fileio.cpp	2016-03-25 15:26:00.368213627 +0300
++++ avidemux_2.6.12/avidemux_core/ADM_core/src/ADM_fileio.cpp	2016-03-26 02:32:56.163550537 +0300
+@@ -393,7 +393,7 @@
+ 

+ 	return ADM_getRelativePath(buffer, base1, base2, base3);

+ #else

+-	return ADM_getRelativePath(ADM_INSTALL_DIR, base1, base2, base3);

++	return ADM_getRelativePath(getenv("ADM_ROOT_DIR"), base1, base2, base3);

+ #endif

+ }

+ 

diff --git a/pkgs/applications/video/avidemux/wrapper.nix b/pkgs/applications/video/avidemux/wrapper.nix
new file mode 100644
index 000000000000..ad41f56d39d2
--- /dev/null
+++ b/pkgs/applications/video/avidemux/wrapper.nix
@@ -0,0 +1,29 @@
+{ buildEnv, avidemux, makeWrapper
+# GTK version is broken upstream, see https://bugzilla.redhat.com/show_bug.cgi?id=1244340
+, withUi ? "qt4"
+}:
+
+let
+  ui = builtins.getAttr withUi avidemux;
+
+in buildEnv {
+  name = "avidemux-${withUi}-" + avidemux.version;
+
+  paths = [ avidemux ui ];
+
+  buildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    if [ -L $out/bin ]; then
+      rm $out/bin
+      mkdir $out/bin
+      for i in ${ui}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    for i in $out/bin/*; do
+      wrapProgram $i --set ADM_ROOT_DIR $out
+    done
+  '';
+}
diff --git a/pkgs/applications/video/dvdbackup/default.nix b/pkgs/applications/video/dvdbackup/default.nix
new file mode 100644
index 000000000000..cb2a69b53ca9
--- /dev/null
+++ b/pkgs/applications/video/dvdbackup/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libdvdread, libdvdcss, dvdauthor }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.2";
+  name = "dvdbackup-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dvdbackup/${name}.tar.xz";
+    sha256 = "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g";
+  };
+
+  buildInputs = [ libdvdread libdvdcss dvdauthor ];
+
+  meta = {
+    description = "A tool to rip video DVDs from the command line";
+    homepage = http://dvdbackup.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.bradediger ];
+  };
+}
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 96c47a15ef1c..0ad638dd7054 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -89,41 +89,46 @@ in
     };
   }).override { buildInputs = [ unzip ]; };
 
-  urlresolver = (mkKodiPlugin rec {
-
-    plugin = "urlresolver";
-    namespace = "script.module.urlresolver";
-    version = "2.10.0";
-
-    src = fetchFromGitHub {
-      name = plugin + "-" + version + ".tar.gz";
-      owner = "Eldorados";
-      repo = namespace;
-      rev = "72b9d978d90d54bb7a0224a1fd2407143e592984";
-      sha256 = "0r5glfvgy9ri3ar9zdkvix8lalr1kfp22fap2pqp739b6k2iqir6";
+  hyper-launcher = let
+    pname = "hyper-launcher";
+    version = "1.2.0";
+    src = fetchFromGitHub rec {
+      name = pname + "-" + version + ".tar.gz";
+      owner = "teeedubb";
+      repo = owner + "-xbmc-repo";
+      rev = "9bd170407436e736d2d709f8af9968238594669c";
+      sha256 = "019nqf7kixicnrzkg671x4yq723igjkhfl8hz5bifi9gx2qcy8hy";
     };
-
     meta = with stdenv.lib; {
-      homepage = "https://github.com/Eldorados/urlresolver";
-      description = "Resolve common video host URL's to be playable in XBMC/Kodi";
+      homepage = http://forum.kodi.tv/showthread.php?tid=258159;
+      description = "A ROM launcher for Kodi that uses HyperSpin assets.";
       maintainers = with maintainers; [ edwtjo ];
     };
-  }).override {
-    postPatch = "sed -i -e 's,settings_file = os.path.join(addon_path,settings_file = os.path.join(profile_path,g' lib/urlresolver/common.py";
+  in {
+    service = mkKodiPlugin {
+      plugin = pname + "-service";
+      namespace = "service.hyper.launcher";
+      inherit version src meta;
+    };
+    plugin = mkKodiPlugin {
+      plugin = pname;
+      namespace = "plugin.hyper.launcher";
+      inherit version src meta;
+    };
   };
 
   salts = mkKodiPlugin rec {
 
     plugin = "salts";
     namespace = "plugin.video.salts";
-    version = "2.0.6";
+    version = "2.0.19";
 
     src = fetchFromGitHub {
       name = plugin + "-" + version + ".tar.gz";
       owner = "tknorris";
       repo = plugin;
-      rev = "5100565bec5818cdcd8a891ab6a6d67b0018e070";
-      sha256 = "00nlcddmgzyi3462i12qikdryfwqzqd1i30rkp485ay16akyj0lr";
+      rev = "9c1882bad35cab9e62687847e097c37a576b900d";
+      sha256 = "0saq578xsxvyg1v8jg2m3131hfrr95gv74b2npxr7g715yyx5bjq";
     };
 
     meta = with stdenv.lib; {
@@ -137,14 +142,14 @@ in
 
     plugin = "svtplay";
     namespace = "plugin.video.svtplay";
-    version = "4.0.21";
+    version = "4.0.23";
 
     src = fetchFromGitHub {
       name = plugin + "-" + version + ".tar.gz";
       owner = "nilzen";
       repo = "xbmc-" + plugin;
-      rev = "1fb099dcddc65e58ca8691d19de657321b1b1fc2";
-      sha256 = "178krh8kzll7cprqwyhydb41b1jh961av875bm5yfdlplzaiynm0";
+      rev = "80b6d241adb046c105ceb63d637da3f7f3684f1a";
+      sha256 = "1236kanzl4dra78whpwic1r5iifaj3f27qycia9jr54z01id083s";
     };
 
     meta = with stdenv.lib; {
@@ -166,13 +171,13 @@ in
 
     plugin = "steam-launcher";
     namespace = "script.steam.launcher";
-    version = "3.1.1";
+    version = "3.1.4";
 
     src = fetchFromGitHub rec {
       owner = "teeedubb";
       repo = owner + "-xbmc-repo";
-      rev = "bb66db7c4927619485373699ff865a9b00e253bb";
-      sha256 = "1skjkz0h6nkg04vylhl4zzavf5lba75j0qbgdhb9g7h0a98jz7s4";
+      rev = "db67704c3e16bdcdd3bdfe2926c609f1f6bdc4fb";
+      sha256 = "001a7zs3a4jfzj8ylxv2klc33mipmqsd5aqax7q81fbgwdlndvbm";
     };
 
     meta = with stdenv.lib; {
@@ -191,23 +196,22 @@ in
     propagatedBuildinputs = [ steam ];
   };
 
-  t0mm0-common = mkKodiPlugin rec {
-
-    plugin = "t0mm0-common";
-    namespace = "script.module.t0mm0.common";
-    version = "0.0.1";
+  pdfreader = mkKodiPlugin rec {
+    plugin = "pdfreader";
+    namespace = "plugin.image.pdf";
+    version = "1.0.2";
 
-    src = fetchFromGitHub {
+    src = fetchFromGitHub rec {
       name = plugin + "-" + version + ".tar.gz";
-      owner = "t0mm0";
-      repo = "xbmc-urlresolver";
-      rev = "ab16933a996a9e77b572953c45e70900c723d6e1";
-      sha256 = "1yd00md8iirizzaiqy6fv1n2snydcpqvp2f9irzfzxxi3i9asb93";
+      owner = "teeedubb";
+      repo = owner + "-xbmc-repo";
+      rev = "0a405b95208ced8a1365ad3193eade8d1c2117ce";
+      sha256 = "1iv7d030z3xvlflvp4p5v3riqnwg9g0yvzxszy63v1a6x5kpjkqa";
     };
 
     meta = with stdenv.lib; {
-      homepage = "https://github.com/t0mm0/xbmc-urlresolver/";
-      description = "t0mm0's common stuff";
+      homepage = http://forum.kodi.tv/showthread.php?tid=187421;
+      descritpion = "A comic book reader";
       maintainers = with maintainers; [ edwtjo ];
     };
   };
@@ -241,7 +245,51 @@ in
     # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
     installPhase = ''
       make install
-      ln -s $out/lib/kodi/addons/pvr.hts/pvr.hts.so $out/share/kodi/addons/pvr.hts
+      ln -s $out/lib/kodi/addons/pvr.hts/pvr.hts.so* $out/share/kodi/addons/pvr.hts
     '';
   };
+
+  t0mm0-common = mkKodiPlugin rec {
+
+    plugin = "t0mm0-common";
+    namespace = "script.module.t0mm0.common";
+    version = "0.0.1";
+
+    src = fetchFromGitHub {
+      name = plugin + "-" + version + ".tar.gz";
+      owner = "t0mm0";
+      repo = "xbmc-urlresolver";
+      rev = "ab16933a996a9e77b572953c45e70900c723d6e1";
+      sha256 = "1yd00md8iirizzaiqy6fv1n2snydcpqvp2f9irzfzxxi3i9asb93";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "https://github.com/t0mm0/xbmc-urlresolver/";
+      description = "t0mm0's common stuff";
+      maintainers = with maintainers; [ edwtjo ];
+    };
+  };
+
+  urlresolver = (mkKodiPlugin rec {
+
+    plugin = "urlresolver";
+    namespace = "script.module.urlresolver";
+    version = "2.10.0";
+
+    src = fetchFromGitHub {
+      name = plugin + "-" + version + ".tar.gz";
+      owner = "Eldorados";
+      repo = namespace;
+      rev = "72b9d978d90d54bb7a0224a1fd2407143e592984";
+      sha256 = "0r5glfvgy9ri3ar9zdkvix8lalr1kfp22fap2pqp739b6k2iqir6";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "https://github.com/Eldorados/urlresolver";
+      description = "Resolve common video host URL's to be playable in XBMC/Kodi";
+      maintainers = with maintainers; [ edwtjo ];
+    };
+  }).override {
+    postPatch = "sed -i -e 's,settings_file = os.path.join(addon_path,settings_file = os.path.join(profile_path,g' lib/urlresolver/common.py";
+  };
 }
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index b65dfe921c49..30fd9a57c4b6 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -4,17 +4,17 @@
 
 stdenv.mkDerivation rec {
   name = "makemkv-${ver}";
-  ver = "1.9.7";
+  ver = "1.9.9";
   builder = ./builder.sh;
 
   src_bin = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
-    sha256 = "1b1kdfs89ms2vyi4406ydw01py0mvvij01rx9anblgy10bc0yvfy";
+    sha256 = "1rsmsfyxjh18bdj93gy7whm4j6k1098zfak8napxsqfli7dyijb6";
   };
 
   src_oss = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
-    sha256 = "169fl1v3i133ihldyfq3akj3x30qsxndw7q52vv90gmn5r52bzb9";
+    sha256 = "070x8l88nv70abd9gy8jchs09mh09x6psjc0zs4vplk61cbqk3b0";
   };
 
   buildInputs = [openssl qt4 mesa zlib pkgconfig libav];
diff --git a/pkgs/applications/video/mjpg-streamer/default.nix b/pkgs/applications/video/mjpg-streamer/default.nix
index 7cacc4fcf05e..5409cf9f2f7f 100644
--- a/pkgs/applications/video/mjpg-streamer/default.nix
+++ b/pkgs/applications/video/mjpg-streamer/default.nix
@@ -1,34 +1,31 @@
-{stdenv, fetchsvn, pkgconfig, libjpeg, imagemagick, libv4l}:
+{ stdenv, fetchFromGitHub, cmake, libjpeg }:
 
 stdenv.mkDerivation rec {
-  rev = "182";
-  name = "mjpg-streamer-${rev}";
+  name = "mjpg-streamer-${version}";
+  version = "2016-03-08";
 
-  src = fetchsvn {
-    url = https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer/mjpg-streamer;
-    inherit rev;
-    sha256 = "008k2wk6xagprbiwk8fvzbz4dd6i8kzrr9n62gj5i1zdv7zcb16q";
+  src = fetchFromGitHub {
+    owner = "jacksonliam";
+    repo = "mjpg-streamer";
+    rev = "4060cb64e3557037fd404d10e1c1d076b672e9e8";
+    sha256 = "0g7y832jsz4ylmq9qp2l4fq6bm8l6dhsbi60fr5jfqpx4l0pia8m";
   };
 
-  patchPhase = ''
-    substituteInPlace Makefile "make -C plugins\/input_gspcav1" "# make -C plugins\/input_gspcav1"
-    substituteInPlace Makefile "cp plugins\/input_gspcav1\/input_gspcav1.so" "# cp plugins\/input_gspcav1\/input_gspcav1.so"
+  prePatch = ''
+    cd mjpg-streamer-experimental
   '';
 
-  postFixup = ''
-    patchelf --set-rpath "$(patchelf --print-rpath $out/bin/mjpg_streamer):$out/lib:$out/lib/plugins" $out/bin/mjpg_streamer
-  '';
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libjpeg ];
 
-  makeFlags = "DESTDIR=$(out)";
-
-  preInstall = ''
-    mkdir -p $out/{bin,lib}
+  postFixup = ''
+    patchelf --set-rpath "$(patchelf --print-rpath $out/bin/mjpg_streamer):$out/lib/mjpg-streamer" $out/bin/mjpg_streamer
   '';
 
-  buildInputs = [ pkgconfig libjpeg imagemagick libv4l ];
-  
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://sourceforge.net/projects/mjpg-streamer/;
     description = "MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software";
+    platforms = platforms.linux;
+    licenses = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index cda861497e12..05bd5ad980bd 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,76 +1,54 @@
-{ stdenv, fetchurl, gettext, pkgconfig, ruby
-, boost, expat, file, flac, libebml, libmatroska, libogg, libvorbis, xdg_utils, zlib
-# pugixml (not packaged)
-, buildConfig ? "all"
-, withGUI ? false, qt5 ? null # Disabled for now until upstream issues are resolved
-, legacyGUI ? true, wxGTK ? null
-# For now both qt5 and wxwidgets gui's are enabled, if wxwidgets is disabled the
-# build system doesn't install desktop entries, icons, etc...
-, libiconv
+{ stdenv, fetchgit, pkgconfig, autoconf, automake
+, ruby, file, xdg_utils, gettext, expat, qt5, boost
+, libebml, zlib, libmatroska, libogg, libvorbis, flac
+, withGUI ? true
 }:
 
-let
-  inherit (stdenv.lib) enableFeature optional;
-in
-
 assert withGUI -> qt5 != null;
-assert legacyGUI -> wxGTK != null;
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "8.4.0";
+  version = "8.9.0";
 
-  src = fetchurl {
-    url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
-    sha256 = "0y7qm8q9vpvjiw7b69k9140pw9nhvs6ggmk56yxnmcd02inm19gn";
+  src = fetchgit {
+    url = "https://github.com/mbunkus/mkvtoolnix.git";
+    rev = "54e6b52b3dde07f89da4542997ef059e18802128";
+    sha256 = "1hm9f9q60c0axmmlsalazsiil8gk3v8q6cl5qxsfa95m51i39878";
   };
 
-  patchPhase = ''
-    patchShebangs ./rake.d/
-    patchShebangs ./Rakefile
-    # Force ruby encoding to use UTF-8 or else when enabling qt5 the Rakefile may
-    # fail with `invalid byte sequence in US-ASCII' due to UTF-8 characters
-    # This workaround replaces an arbitrary comment in the drake file
-    sed -e 's,#--,Encoding.default_external = Encoding::UTF_8,' -i ./drake
-  '';
-
-  configureFlags = [
-    "--with-boost-libdir=${boost.lib}/lib"
-    "--without-curl"
-  ] ++ (
-    if (withGUI || legacyGUI) then [
-      "--with-mkvtoolnix-gui"
-      "--enable-gui"
-      (enableFeature withGUI "qt")
-      (enableFeature legacyGUI "wxwidgets")
-    ] else [
-      "--disable-gui"
-    ]
-  );
-
-  nativeBuildInputs = [ gettext pkgconfig ruby ];
+  nativeBuildInputs = [ gettext ruby ];
 
   buildInputs = [
-    boost expat file flac libebml libmatroska libogg libvorbis xdg_utils zlib
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ]
-    ++ optional withGUI qt5
-    ++ optional legacyGUI wxGTK;
-
-  enableParallelBuilding = true;
+    pkgconfig autoconf automake expat
+    file xdg_utils boost libebml zlib
+    libmatroska libogg libvorbis flac
+    (optional withGUI qt5.qtbase)
+  ];
 
-  buildPhase = ''
-    ./drake
-  '';
+  preConfigure = "./autogen.sh; patchShebangs .";
+  buildPhase   = "./drake -j $NIX_BUILD_CORES";
+  installPhase = "./drake install -j $NIX_BUILD_CORES";
 
-  installPhase = ''
-    ./drake install
-  '';
+  configureFlags = [
+    "--enable-magic"
+    "--enable-optimization"
+    "--with-boost-libdir=${boost.lib}/lib"
+    "--disable-debug"
+    "--disable-profiling"
+    "--disable-precompiled-headers"
+    "--disable-static-qt"
+    "--without-curl"
+    "--with-gettext"
+    (enableFeature withGUI "qt")
+  ];
 
   meta = with stdenv.lib; {
     description = "Cross-platform tools for Matroska";
-    homepage = http://www.bunkus.org/videotools/mkvtoolnix/;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
-    platforms = platforms.all;
+    homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ codyopel fuuzetsu rnhmjoj ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index f135630a9a1b..d488a3718b74 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -23,7 +23,6 @@ in stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl21Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
diff --git a/pkgs/applications/video/popcorntime/default.nix b/pkgs/applications/video/popcorntime/default.nix
index e74c8e9a5a8d..f2bc3e701618 100644
--- a/pkgs/applications/video/popcorntime/default.nix
+++ b/pkgs/applications/video/popcorntime/default.nix
@@ -1,53 +1,43 @@
-{ lib, stdenv, fetchurl, runCommand, makeWrapper, nwjs, zip }:
+{ lib, stdenv, fetchurl, makeWrapper, nwjs, zip }:
 
 let
-  version = "0.3.8-3";
+  arch = if stdenv.system == "x86_64-linux" then "64"
+    else if stdenv.system == "i686-linux"   then "32" 
+    else throw "Unsupported system ${stdenv.system}";
 
-  popcorntimePackage = stdenv.mkDerivation rec {
-    name = "popcorntime-${version}";
-    src = if stdenv.system == "x86_64-linux" then
-        fetchurl {
-          url = "http://get.popcorntime.io/build/Popcorn-Time-${version}-Linux-64.tar.xz";
-          sha256 = "0q8c6m9majgv5a6hjl1b2ndmq4xx05zbarsydhqkivhh9aymvxgm";
-        }
-      else if stdenv.system == "i686-linux" then
-        fetchurl {
-          url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux-32.tar.xz";
-          sha256 = "1dz1cp31qbwamm9pf8ydmzzhnb6d9z73bigdv3y74dgicz3dpr92";
-        }
-      else throw "Unsupported system ${stdenv.system}";
+in stdenv.mkDerivation rec {
+  name = "popcorntime-${version}";
+  version = "0.3.9";
 
-    sourceRoot = ".";
+  src = fetchurl {
+    url = "http://get.popcorntime.sh/build/Popcorn-Time-${version}-Linux-${arch}.tar.xz";
+    sha256 =
+      if arch == "64"
+      then "0qaqdz45frgiy440jyz6hikhklx2yp08qp94z82r03dkbf4a2hvx"
+      else "0y08a42pm681s97lkczdq5dblxl2jbr850hnl85hknl3ynag9kq4";
+  };
 
-    buildInputs = [ zip ];
+  dontPatchELF = true;
+  sourceRoot   = "linux${arch}";
+  buildInputs  = [ zip makeWrapper ];
 
-    buildPhase = ''
-      rm Popcorn-Time install
-      zip -r package.nw package.json src node_modules
-      cat ${nwjs}/bin/nw package.nw > Popcorn-Time
-      chmod 555 Popcorn-Time
-    '';
+  buildPhase = ''
+    rm Popcorn-Time
+    cat ${nwjs}/bin/nw nw.pak > Popcorn-Time
+    chmod 555 Popcorn-Time
+  '';
 
-    installPhase = ''
-      mkdir -p $out
-      cp -r * $out/
-    '';
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r * $out/
+    makeWrapper $out/Popcorn-Time $out/bin/popcorntime
+  '';
 
-    dontPatchELF = true;
+  meta = with stdenv.lib; {
+    homepage = https://popcorntime.sh/;
+    description = "An application that streams movies and TV shows from torrents";
+    license = stdenv.lib.licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bobvanderlinden rnhmjoj ];
   };
-in
-  runCommand "popcorntime-${version}" {
-    buildInputs = [ makeWrapper ];
-    meta = with stdenv.lib; {
-      homepage = http://popcorntime.io/;
-      description = "An application that streams movies and TV shows from torrents";
-      license = stdenv.lib.licenses.gpl3;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ bobvanderlinden ];
-      broken = true;  # popcorntime.io is dead
-    };
-  }
-  ''
-    mkdir -p $out/bin
-    makeWrapper ${popcorntimePackage}/Popcorn-Time $out/bin/popcorntime
-  ''
+}
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index 7c42aebf2bcf..c9655e2a4f27 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -1,44 +1,65 @@
-{ stdenv, fetchurl, desktop_file_utils, enchant, gnome, gstreamer, gstreamermm,
-  gst_plugins_base, gst_plugins_good, intltool, hicolor_icon_theme,
-  libsigcxx, libxmlxx, makeWrapper, xdg_utils, pkgconfig } :
+{ stdenv, fetchurl, pkgconfig, autoconf, automake114x, intltool,
+  desktop_file_utils, enchant, gnome3, gst_all_1, hicolor_icon_theme,
+  libsigcxx, libxmlxx, xdg_utils, isocodes, wrapGAppsHook } :
 
 let
-  ver_maj = "0.41";
-  ver_min = "0";
+  ver_maj = "0.52";
+  ver_min = "1";
 in
 
 stdenv.mkDerivation rec {
   name = "subtitle-editor-${ver_maj}.${ver_min}";
 
-  buildInputs =  [
-    desktop_file_utils enchant gnome.gtk gnome.gtkmm gstreamer gstreamermm
-    gst_plugins_base gst_plugins_good intltool hicolor_icon_theme libsigcxx libxmlxx
-    makeWrapper xdg_utils pkgconfig
-  ];
-
   src = fetchurl {
     url = "http://download.gna.org/subtitleeditor/${ver_maj}/subtitleeditor-${ver_maj}.${ver_min}.tar.gz";
-    md5 = "3c21ccd8296001dcb1a02c62396db1b6";
+    sha256 = "1m8j2i27kjaycvp09b0knp9in61jd2dj852hrx5hvkrby70mygjv";
   };
 
+  nativeBuildInputs =  [
+    autoconf automake114x pkgconfig intltool wrapGAppsHook
+  ];
+
+  buildInputs =  [
+    desktop_file_utils
+    enchant
+    gnome3.gtk
+    gnome3.gtkmm
+    gst_all_1.gstreamer
+    gst_all_1.gstreamermm
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    hicolor_icon_theme
+    libsigcxx
+    libxmlxx
+    xdg_utils
+    isocodes
+  ];
+
+  NIX_CFLAGS_COMPILE = "-std=c++11 -DDEBUG";
+
+  enableParallelBuilding = true;
+
   doCheck = true;
 
-  postInstall = ''
-    wrapProgram "$out/bin/subtitleeditor" --prefix \
-      GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"                                                     \
+  patches = [ ./subtitleeditor-0.52.1-build-fix.patch ];
+
+  preConfigure = ''
+    # ansi overrides -std, see src_configure
+    sed 's/\(CXXFLAGS\) -ansi/\1/' -i configure.ac configure
   '';
 
+  configureFlags = [ "--disable-debug" ];
 
   meta = {
-    description = "GTK+2 application to edit video subtitles";
+    description = "GTK+3 application to edit video subtitles";
     longDescription = ''
-      Subtitle Editor is a GTK+2 tool to edit subtitles for GNU/Linux/*BSD. It can be
-      used for new subtitles or as a tool to transform, edit, correct and refine
-      existing subtitle. This program also shows sound waves, which makes it easier
-      to synchronise subtitles to voices.
+      Subtitle Editor is a GTK+3 tool to edit subtitles for GNU/Linux/*BSD. It
+      can be used for new subtitles or as a tool to transform, edit, correct
+      and refine existing subtitle. This program also shows sound waves, which
+      makes it easier to synchronise subtitles to voices.
       '';
     homepage = http://home.gna.org/subtitleeditor;
-    license = stdenv.lib.licenses.gpl3;
+    license = stdenv.lib.licenses.gpl3Plus;
     maintainers = [ stdenv.lib.maintainers.plcplc ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch b/pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch
new file mode 100644
index 000000000000..9cce5d2d98f2
--- /dev/null
+++ b/pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch
@@ -0,0 +1,55 @@
+Fix build errors with gcc-4.9.3 -std=c++11 (after disabling -ansi)
+
+https://gna.org/bugs/?23714
+
+https://bugs.gentoo.org/show_bug.cgi?id=550764
+https://bugs.gentoo.org/show_bug.cgi?id=566328
+
+--- a/src/subtitleview.cc	2015-12-24 01:52:29.322622155 +0100
++++ b/src/subtitleview.cc	2015-12-24 01:52:44.210491213 +0100
+@@ -1363,7 +1363,7 @@
+ 	{
+ 		int num;
+ 		std::istringstream ss(event->string);
+-		bool is_num = ss >> num != 0; 
++		bool is_num = static_cast<bool>(ss >> num) != 0; 
+ 		// Update only if it's different
+ 		if(is_num != get_enable_search())
+ 			set_enable_search(is_num);
+--- a/src/utility.h	2015-12-24 01:49:42.205104858 +0100
++++ b/src/utility.h	2015-12-24 01:50:23.387737071 +0100
+@@ -91,7 +91,7 @@
+ 	std::istringstream s(src);
+ 	// return s >> dest != 0;
+ 
+-	bool state = s >> dest != 0;
++	bool state = static_cast<bool>(s >> dest) != 0;
+ 
+ 	if(!state)
+ 		se_debug_message(SE_DEBUG_UTILITY, "string:'%s'failed.", src.c_str());
+--- a/plugins/actions/dialoguize/dialoguize.cc	2015-12-24 01:06:24.125428454 +0100
++++ b/plugins/actions/dialoguize/dialoguize.cc	2015-12-24 01:06:42.630277006 +0100
+@@ -23,7 +23,7 @@
+  *	along with this program. If not, see <http://www.gnu.org/licenses/>.
+  */
+  
+-#include <auto_ptr.h>
++#include <memory>
+ #include "extension/action.h"
+ #include "i18n.h"
+ #include "debug.h"
+--- a/plugins/actions/documentmanagement/documentmanagement.old	2015-12-24 01:17:13.914730337 +0100
++++ b/plugins/actions/documentmanagement/documentmanagement.cc	2015-12-24 01:17:23.339640430 +0100
+@@ -178,9 +178,9 @@
+ 
+ 		ui_id = ui->new_merge_id();
+ 
+-		#define ADD_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/"name, name, name);
+-		#define ADD_OPEN_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-open/"name, name, name);
+-		#define ADD_SAVE_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-save/"name, name, name);
++		#define ADD_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/" name, name, name);
++		#define ADD_OPEN_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-open/" name, name, name);
++		#define ADD_SAVE_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-save/" name, name, name);
+ 
+ 		ADD_UI("new-document");
+ 		ADD_OPEN_UI("open-document");
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 1c9164e99613..a84f24a303a2 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -27,7 +27,10 @@ stdenv.mkDerivation rec {
     sha256 = "1dazxbmzx2g5570pkg519a7fsj07rdr155kjsw7b9y8npql33lls";
   };
 
-  # outputs TODO: some modules are "corrupt", even without splitting vlc
+  # Comment-out the Qt 5.5 version check, as we do apply the relevant patch.
+  # https://trac.videolan.org/vlc/ticket/16497
+  postPatch = if (!withQt5) then null else
+    "sed '/I78ef29975181ee22429c9bd4b11d96d9e68b7a9c/s/^/: #/' -i configure";
 
   buildInputs =
     [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 14d0fd566d85..74d23efcabe2 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -11,13 +11,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "docker-${version}";
-  version = "1.10.0";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "docker";
     rev = "v${version}";
-    sha256 = "0c3a504gjdh4mxvifi0wcppqhd786d1gxncf04dqlq3l5wisfbbw";
+    sha256 = "0bmrafi0p3fm681y165ps97jki0a8ihl9f0bmpvi22nmc1v0sv6l";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 9301f886472c..158231a6e646 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman
-, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
-, libseccomp, libaio, libcap_ng, gnutls, nettle, numactl
+, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
+, libaio, gnutls, nettle
 , makeWrapper
-, pulseSupport ? true, libpulseaudio
-, sdlSupport ? true, SDL
+, attr, libcap, libcap_ng
+, CoreServices, Cocoa, rez, setfile
+, numaSupport ? stdenv.isLinux, numactl
+, seccompSupport ? stdenv.isLinux, libseccomp
+, pulseSupport ? !stdenv.isDarwin, libpulseaudio
+, sdlSupport ? !stdenv.isDarwin, SDL
 , vncSupport ? true, libjpeg, libpng
-, spiceSupport ? true, spice, spice_protocol, usbredir
+, spiceSupport ? !stdenv.isDarwin, spice, spice_protocol, usbredir
 , x86Only ? false
 }:
 
@@ -26,31 +30,35 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ python zlib pkgconfig glib ncurses perl pixman attr libcap
-      vde2 texinfo libuuid flex bison makeWrapper lzo snappy libseccomp
-      libcap_ng gnutls nettle numactl
+    [ python zlib pkgconfig glib ncurses perl pixman
+      vde2 texinfo libuuid flex bison makeWrapper lzo snappy
+      gnutls nettle
     ]
+    ++ optionals stdenv.isDarwin [ CoreServices Cocoa rez setfile ]
+    ++ optionals seccompSupport [ libseccomp ]
+    ++ optionals numaSupport [ numactl ]
     ++ optionals pulseSupport [ libpulseaudio ]
     ++ optionals sdlSupport [ SDL ]
     ++ optionals vncSupport [ libjpeg libpng ]
     ++ optionals spiceSupport [ spice_protocol spice usbredir ]
-    ++ optionals (hasSuffix "linux" stdenv.system) [ alsaLib libaio ];
+    ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ];
 
   enableParallelBuilding = true;
 
   patches = [ ./no-etc-install.patch ];
 
   configureFlags =
-    [ "--enable-seccomp"
-      "--enable-numa"
-      "--smbd=smbd" # use `smbd' from $PATH
+    [ "--smbd=smbd" # use `smbd' from $PATH
       "--audio-drv-list=${audio}"
       "--sysconfdir=/etc"
       "--localstatedir=/var"
     ]
+    ++ optional numaSupport "--enable-numa"
+    ++ optional seccompSupport "--enable-seccomp"
     ++ optional spiceSupport "--enable-spice"
     ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
-    ++ optional (hasSuffix "linux" stdenv.system) "--enable-linux-aio";
+    ++ optional stdenv.isDarwin "--enable-cocoa"
+    ++ optional stdenv.isLinux "--enable-linux-aio";
 
   postInstall =
     ''
@@ -66,6 +74,6 @@ stdenv.mkDerivation rec {
     description = "A generic and open source machine emulator and virtualizer";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ viric eelco ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index 713928eafedd..4845d0b6065d 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -9,7 +9,7 @@ let
   stage1Flavours = [ "coreos" "fly" "host" ];
 
 in stdenv.mkDerivation rec {
-  version = "1.1.0";
+  version = "1.2.0";
   name = "rkt-${version}";
   BUILDDIR="build-${name}";
 
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
       rev = "v${version}";
       owner = "coreos";
       repo = "rkt";
-      sha256 = "1pl5gbfd9wr8nh2h249g7sjs31jz21g24mw375zki9gdhhnpn570";
+      sha256 = "0icsrh118mm3rabbcr0gd3b22m5rizdbqlrfp9d79g591p7bjh38";
   };
 
   stage1BaseImage = fetchurl {
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index fcd7aab808b3..c830fccb1201 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -15,39 +15,12 @@ let
 
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
-  # Sources needed to build the stubdoms and tools
+  # Sources needed to build the tools
   # These sources are already rather old and probably do not change frequently
   xenExtfiles = [
-      { url = http://xenbits.xensource.com/xen-extfiles/lwip-1.3.0.tar.gz;
-        sha256 = "13wlr85s1hnvia6a698qpryyy12lvmqw0a05xmjnd0h71ralsbkp";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/zlib-1.2.3.tar.gz;
-        sha256 = "0pmh8kifb6sfkqfxc23wqp3f2wzk69sl80yz7w8p8cd4cz8cg58p";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/newlib-1.16.0.tar.gz;
-        sha256 = "01rxk9js833mwadq92jx0flvk9jyjrnwrq93j39c2j2wjsa66hnv";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/grub-0.97.tar.gz;
-        sha256 = "02r6b52r0nsp6ryqfiqchnl7r1d9smm80sqx24494gmx5p8ia7af";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/pciutils-2.2.9.tar.bz2;
-        sha256 = "092v4q478i1gc7f3s2wz6p4xlf1wb4gs5shbkn21vnnmzcffc2pn";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/tpm_emulator-0.7.4.tar.gz;
-        sha256 = "0nd4vs48j0zfzv1g5jymakxbjqf9ss6b2jph3b64356xhc6ylj2f";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/tboot-20090330.tar.gz;
-        sha256 = "0rl1b53g019w2c268pyxhjqsj9ls37i4p74bdv1hdi2yvs0r1y81";
-      }
       { url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz;
         sha256 = "0p206zaxlhda60ci33h9gipi5gm46fvvsm6k5c0w7b6cjg0yhb33";
       }
-      { url = http://xenbits.xensource.com/xen-extfiles/polarssl-1.1.4-gpl.tgz;
-        sha256 = "1dl4fprpwagv9akwqpb62qwqvh24i50znadxwvd2kfnhl02gsa9d";
-      }
-      { url = http://xenbits.xensource.com/xen-extfiles/gmp-4.3.2.tar.bz2;
-        sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck";
-      }
     ];
 
   scriptEnvPath = stdenv.lib.concatStrings (stdenv.lib.intersperse ":" (map (x: "${x}/bin")
@@ -114,6 +87,9 @@ stdenv.mkDerivation {
     export EXTRA_QEMUU_CONFIGURE_ARGS="--enable-spice --enable-usb-redir --enable-linux-aio"
   '';
 
+  # https://github.com/NixOS/nixpkgs/issues/13590
+  configureFlags = ["--disable-stubdom"];
+
   postConfigure =
     ''
       substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
@@ -169,7 +145,7 @@ stdenv.mkDerivation {
   #makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
   makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
 
-  buildFlags = "xen tools stubdom";
+  buildFlags = "xen tools";
 
   postBuild =
     ''
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 449ec9989fa6..d4721c992008 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -3,11 +3,11 @@
 , xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
 , compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
 , which, dbus, nettools, git, asciidoc, doxygen
-#, xmlto, docbook_xml_dtd_45 , docbook_xsl
+, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
 }:
 
 let
-  version = "3.5.8";
+  version = "3.5.9";
 in with luaPackages;
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url    = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz";
-    sha256 = "1iifcyphgibmh3cvsy8agjrl9zjl80scrg0bcgnwywmxaxncjc3w";
+    sha256 = "0kynair1ykr74b39a4gcm2y24viial64337cf26nhlc7azjbby67";
   };
 
   meta = with stdenv.lib; {
@@ -26,25 +26,29 @@ stdenv.mkDerivation rec {
     platforms   = platforms.linux;
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     asciidoc
-    cairo
     cmake
-    dbus
     doxygen
+    imagemagick
+    makeWrapper
+    pkgconfig
+    xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
+  ];
+
+  buildInputs = [
+    cairo
+    dbus
     gdk_pixbuf
     gobjectIntrospection
     git
-    imagemagick
     lgi
     libpthreadstubs
     libstartup_notification
     libxdg_basedir
     lua
-    makeWrapper
     nettools
     pango
-    pkgconfig
     xcb-util-cursor
     xorg.libXau
     xorg.libXdmcp
@@ -55,7 +59,6 @@ stdenv.mkDerivation rec {
     xorg.xcbutilkeysyms
     xorg.xcbutilrenderutil
     xorg.xcbutilwm
-    #xmlto docbook_xml_dtd_45 docbook_xsl
   ];
 
   #cmakeFlags = "-DGENERATE_MANPAGES=ON";
diff --git a/pkgs/applications/window-managers/clfswm/default.nix b/pkgs/applications/window-managers/clfswm/default.nix
index 3b07bc5a654d..5761d94526d1 100644
--- a/pkgs/applications/window-managers/clfswm/default.nix
+++ b/pkgs/applications/window-managers/clfswm/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     license     = licenses.gpl3;
     maintainers = with maintainers; [ robgssp ];
     platforms   = platforms.linux;
+    broken      = true;
   };
 }
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 0833fde8c9e2..ada6e8e742e2 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "i3-${version}";
-  version = "4.11";
+  version = "4.12";
 
   src = fetchurl {
     url = "http://i3wm.org/downloads/${name}.tar.bz2";
-    sha256 = "0bwqklb6irgjmgvj7mlyz4brr4lggfm3zqmvclvxcbyrzc31xkkq";
+    sha256 = "1d3q3lgpjbkmcwzjhp0dfr0jq847silcfg087slcnj95ikh1r7p1";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index f019ba9751b9..adbdef5e2844 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -1,29 +1,30 @@
-{ stdenv, fetchurl, libX11, libXext, libXinerama, libXpm, libXft, freetype,
-  fontconfig }:
+{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, which, xorg,
+  libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libpng,
+  libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext,
+  freetype, fontconfig }:
 
 stdenv.mkDerivation rec {
-  name = "jwm-2.2.2";
+  name = "jwm-${version}";
+  version = "1406";
   
   src = fetchurl {
-     url = "http://www.joewing.net/projects/jwm/releases/${name}.tar.xz";
-     sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln";
+     url = "https://github.com/joewing/jwm/archive/s${version}.tar.gz";
+     sha256 = "0yk22b7cshhyfpcqnb4p59yxspx95xg9yp1kmkxi2fyw95cacab4";
   };
 
-  buildInputs = [ libX11 libXext libXinerama libXpm libXft freetype 
-    fontconfig ];
+  nativeBuildInputs = [ pkgconfig automake autoconf libtool which ];
 
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2 "
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lXft -lfreetype -lfontconfig "
-  '';
+  buildInputs = [ libX11 libXext libXinerama libXpm libXft xorg.libXrender
+    libXau libXdmcp libpng libjpeg expat xproto xextproto xineramaproto
+    librsvg gettext freetype fontconfig ];
 
-  postInstall =
-    ''
-      sed -i -e s/rxvt/xterm/g $out/etc/system.jwmrc
-      sed -i -e "s/.*Swallow.*\|.*xload.*//" $out/etc/system.jwmrc
-    '';
+  preConfigure = "./autogen.sh";
 
   meta = {
+    homepage = "http://joewing.net/projects/jwm/";
     description = "A window manager for X11 that requires only Xlib";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+    platforms   = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index 326cd2a49f44..ba0c812ef6a6 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -3,7 +3,8 @@
 , imlib2, pango, libstartup_notification, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "openbox-3.6.1";
+  name = "openbox-${version}";
+  version = "3.6.1";
 
   buildInputs = [
     pkgconfig libxml2
@@ -40,5 +41,6 @@ stdenv.mkDerivation rec {
     description = "X window manager for non-desktop embedded systems";
     homepage = http://openbox.org/;
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
index 88faae64be70..c47a464a4fca 100644
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -67,6 +67,10 @@ stdenv.mkDerivation rec {
     echo ${xdpyinfo} > $out/nix-support/xdpyinfo
   '';
 
+  passthru = {
+    inherit sbcl lispPackages;
+  };
+
   meta = with stdenv.lib; {
     description = "A tiling window manager for X11";
     homepage    = https://github.com/stumpwm/;
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index fa81971885a4..7f494f3e0f22 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -1,21 +1,23 @@
-{ lib, stdenv, fetchurl, makeWrapper, cmake, pkgconfig
-, wayland, wlc, libxkbcommon, pixman, fontconfig, pcre, json_c, asciidoc, libxslt, dbus_libs
+{ stdenv, fetchFromGitHub
+, makeWrapper, cmake, pkgconfig, asciidoc, libxslt, docbook_xsl
+, wayland, wlc, libxkbcommon, pixman, fontconfig, pcre, json_c, dbus_libs
 }:
 
 stdenv.mkDerivation rec {
   name = "sway-${version}";
   version = "git-2016-02-08";
-  repo = "https://github.com/SirCmpwn/sway";
-  rev = "16e904634c65128610537bed7fcb16ac3bb45165";
 
-  src = fetchurl {
-    url = "${repo}/archive/${rev}.tar.gz";
-    sha256 = "52d6c4b49fea69e2a2c1b44b858908b7736301bdb9ed483c294bc54bb40e872e";
+  src = fetchFromGitHub {
+    owner = "Sircmpwn";
+    repo = "sway";
+
+    rev = "16e904634c65128610537bed7fcb16ac3bb45165";
+    sha256 = "04qvdjaarglq3qsjbb9crjkad3y1v7s51bk82sl8w26c71jbhklg";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ makeWrapper cmake pkgconfig asciidoc libxslt docbook_xsl ];
 
-  buildInputs = [ makeWrapper wayland wlc libxkbcommon pixman fontconfig pcre json_c asciidoc libxslt dbus_libs ];
+  buildInputs = [ wayland wlc libxkbcommon pixman fontconfig pcre json_c dbus_libs ];
 
   patchPhase = ''
     sed -i s@/etc/sway@$out/etc/sway@g CMakeLists.txt;
@@ -24,17 +26,17 @@ stdenv.mkDerivation rec {
   makeFlags = "PREFIX=$(out)";
   installPhase = "PREFIX=$out make install";
 
-  LD_LIBRARY_PATH = lib.makeLibraryPath [ wlc dbus_libs ];
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ wlc dbus_libs ];
   preFixup = ''
     wrapProgram $out/bin/sway \
       --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}";
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "i3-compatible window manager for Wayland";
     homepage    = "http://swaywm.org";
-    license     = lib.licenses.mit;
-    platforms   = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ ];
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ ];
   };
 }