summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-11-07 15:51:51 -0800
committerWilliam A. Kennington III <william@wkennington.com>2015-11-07 15:51:51 -0800
commita26c8e9b835647ae39d4259cfd55e8001ee57b93 (patch)
tree55fe17fed5fc7625146a47e7f0e14b6581c18473
parentfa5ad20922cbc2b4ffbbb74edbc22d650d80441d (diff)
parent9fd510e95ad8dd2d0e4c92f12fd9249594c30f23 (diff)
downloadnixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.tar
nixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.tar.gz
nixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.tar.bz2
nixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.tar.lz
nixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.tar.xz
nixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.tar.zst
nixlib-a26c8e9b835647ae39d4259cfd55e8001ee57b93.zip
Merge branch 'master.upstream' into staging.upstream
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/modules/services/monitoring/bosun.nix10
-rw-r--r--nixos/modules/services/networking/networkmanager.nix3
-rw-r--r--nixos/modules/services/networking/quassel.nix3
-rw-r--r--nixos/modules/services/networking/wakeonlan.nix2
-rw-r--r--pkgs/applications/audio/kid3/default.nix7
-rw-r--r--pkgs/applications/editors/neovim/qt.nix48
-rw-r--r--pkgs/applications/graphics/pinta/default.nix97
-rw-r--r--pkgs/applications/misc/calibre/default.nix10
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix4
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix29
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/video/clipgrab/default.nix6
-rw-r--r--pkgs/build-support/build-dotnet-package/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.16/core/libgee/libgee-1.nix26
-rw-r--r--pkgs/desktops/gnome-3/3.16/default.nix1
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix7
-rw-r--r--pkgs/desktops/xfce/default.nix1
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix37
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix10
-rw-r--r--pkgs/development/compilers/smlnj/default.nix45
-rw-r--r--pkgs/development/libraries/indicator-application/gtk2.nix53
-rw-r--r--pkgs/development/libraries/indicator-application/gtk3.nix55
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix67
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix59
-rw-r--r--pkgs/development/libraries/libindicate/default.nix62
-rw-r--r--pkgs/development/libraries/libindicator/default.nix48
-rw-r--r--pkgs/development/libraries/libssh/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix6
-rw-r--r--pkgs/development/libraries/zeromq/4.x.nix8
-rw-r--r--pkgs/development/libraries/zeromq/sodium_warning.patch70
-rw-r--r--pkgs/development/tools/build-managers/gnustep/make/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gradle/2.5.nix39
-rw-r--r--pkgs/development/tools/jq/default.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix1
-rw-r--r--pkgs/shells/fish/default.nix3
-rw-r--r--pkgs/tools/graphics/imgur-screenshot/default.nix29
-rw-r--r--pkgs/tools/misc/binwalk/default.nix4
-rw-r--r--pkgs/tools/misc/t1utils/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/default.nix2
-rw-r--r--pkgs/tools/security/gencfsm/default.nix34
-rw-r--r--pkgs/tools/security/gencfsm/makefile-mkdir.patch14
-rw-r--r--pkgs/tools/system/collectd/default.nix8
-rw-r--r--pkgs/tools/system/s6-rc/default.nix42
-rw-r--r--pkgs/tools/system/s6/default.nix (renamed from pkgs/servers/s6/default.nix)0
-rw-r--r--pkgs/tools/text/tidy-html5/default.nix5
-rw-r--r--pkgs/top-level/all-packages.nix49
-rw-r--r--pkgs/top-level/dotnet-packages.nix32
-rw-r--r--pkgs/top-level/go-packages.nix21
-rw-r--r--pkgs/top-level/python-packages.nix71
53 files changed, 1023 insertions, 145 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index cce7c7e06897..a32ab1bd80df 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -171,6 +171,7 @@
   lsix = "Lancelot SIX <lsix@lancelotsix.com>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   lukego = "Luke Gorrie <luke@snabb.co>";
+  lw = "Sergey Sofeychuk <lw@fmap.me>";
   madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
   magnetophon = "Bart Brouns <bart@magnetophon.nl>";
   mahe = "Matthias Herrmann <matthias.mh.herrmann@gmail.com>";
diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix
index 7e8dea4ec024..ebe4741f01bd 100644
--- a/nixos/modules/services/monitoring/bosun.nix
+++ b/nixos/modules/services/monitoring/bosun.nix
@@ -9,7 +9,7 @@ let
     tsdbHost = ${cfg.opentsdbHost}
     httpListen = ${cfg.listenAddress}
     stateFile = ${cfg.stateFile}
-    checkFrequency = 5m
+    checkFrequency = ${cfg.checkFrequency}
 
     ${cfg.extraConfig}
   '';
@@ -77,6 +77,14 @@ in {
         '';
       };
 
+      checkFrequency = mkOption {
+        type = types.str;
+        default = "5m";
+        description = ''
+          Bosun's check frequency
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.string;
         default = "";
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 96f1e2ded93e..32491401530c 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -6,7 +6,8 @@ with lib;
 let
   cfg = config.networking.networkmanager;
 
-  stateDirs = "/var/lib/NetworkManager /var/lib/dhclient";
+  # /var/lib/misc is for dnsmasq.leases.
+  stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc";
 
   configFile = writeText "NetworkManager.conf" ''
     [main]
diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix
index 005eb7bd7614..15db2d5346b8 100644
--- a/nixos/modules/services/networking/quassel.nix
+++ b/nixos/modules/services/networking/quassel.nix
@@ -78,7 +78,8 @@ in
       { description = "Quassel IRC client daemon";
 
         wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" ];
+        after = [ "network.target" ] ++ optional config.services.postgresql.enable "postgresql.service"
+                                     ++ optional config.services.mysql.enable "mysql.service";
 
         preStart = ''
           mkdir -p ${cfg.dataDir}
diff --git a/nixos/modules/services/networking/wakeonlan.nix b/nixos/modules/services/networking/wakeonlan.nix
index 11bb7e925255..ebfba263cd8f 100644
--- a/nixos/modules/services/networking/wakeonlan.nix
+++ b/nixos/modules/services/networking/wakeonlan.nix
@@ -40,7 +40,7 @@ in
       ];
       description = ''
         Interfaces where to enable Wake-On-LAN, and how. Two methods available:
-        "magickey" and "password". The password has the shape of six bytes
+        "magicpacket" and "password". The password has the shape of six bytes
         in hexadecimal separated by a colon each. For more information,
         check the ethtool manual.
       '';
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 7cc1b1f665fa..0b2e4e7977b8 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -9,11 +9,10 @@
 
 stdenv.mkDerivation rec {
 
-  name = "kid3-${version}";
-  version = "3.3.0";
+  name = "kid3-${meta.version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/kid3/kid3/${version}/${name}.tar.gz";
+    url = "http://downloads.sourceforge.net/project/kid3/kid3/${meta.version}/${name}.tar.gz";
     sha256 = "12sa54mg1b3wkagmh5yi20ski8km9d199lk0a1yfxy0ffjfld7js";
   };
 
@@ -34,6 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    version = "3.3.0";
     description = "A simple and powerful audio tag editor";
     longDescription = ''
       If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC,
@@ -70,5 +70,4 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.AndersonTorres ];
   };
 }
-
 # TODO: Qt5 support
diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix
new file mode 100644
index 000000000000..949be3875d82
--- /dev/null
+++ b/pkgs/applications/editors/neovim/qt.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, cmake, qt5, pythonPackages, libmsgpack
+, makeWrapper, neovim
+}:
+
+let # not very usable ATM
+  version = "0pre-2015-10-18";
+in
+stdenv.mkDerivation {
+  name = "neovim-qt-${version}";
+
+  src = fetchFromGitHub {
+    repo = "neovim-qt";
+    owner = "equalsraf";
+    rev = "03236e2";
+    sha256 = "0hhwpnj7yfqdk7yiwrq0x6n4xx30brj9clxmxx796421rlcrxypq";
+  };
+
+  # It tries to download libmsgpack; let's use ours.
+  postPatch = let use-msgpack = ''
+    cmake_minimum_required(VERSION 2.8.11)
+    project(neovim-qt-deps)
+
+    # Similar enough to FindMsgpack
+    set(MSGPACK_INCLUDE_DIRS ${libmsgpack}/include PARENT_SCOPE)
+    set(MSGPACK_LIBRARIES msgpack PARENT_SCOPE)
+  '';
+    in "echo '${use-msgpack}' > third-party/CMakeLists.txt";
+
+  buildInputs = with pythonPackages; [
+    cmake qt5.qtbase
+    python msgpack jinja2 libmsgpack
+    makeWrapper
+  ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv ./bin/nvim-qt "$out/bin/"
+    wrapProgram "$out/bin/nvim-qt" --prefix PATH : "${neovim}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A prototype Qt5 GUI for neovim";
+    license = licenses.isc;
+    inherit (neovim.meta) platforms;
+  };
+}
diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix
index 6958c94f7e18..2fd98b5033e9 100644
--- a/pkgs/applications/graphics/pinta/default.nix
+++ b/pkgs/applications/graphics/pinta/default.nix
@@ -1,44 +1,83 @@
-{stdenv, fetchurl, mono, gtksharp, pkgconfig}:
+{ stdenv, fetchFromGitHub, buildDotnetPackage, dotnetPackages, gtksharp,
+  gettext }:
 
-stdenv.mkDerivation {
-  name = "pinta-1.4";
+let
+  mono-addins = dotnetPackages.MonoAddins;
+in
+buildDotnetPackage rec {
+  name = "pinta-1.6";
 
-  src = fetchurl {
-    url = "https://github.com/PintaProject/Pinta/tarball/3f7ccfa93d";
-    name = "pinta-1.4.tar.gz";
-    sha256 = "1kgb4gy5l6bd0akniwhiqqkvqayr5jgdsvn2pgg1038q9raafnpn";
+  baseName = "Pinta";
+  version = "1.6";
+  outputFiles = [ "bin/*" ];
+  buildInputs = [ gtksharp mono-addins gettext ];
+  xBuildFiles = [ "Pinta.sln" ];
+
+  src = fetchFromGitHub {
+    owner = "PintaProject";
+    repo = "Pinta";
+    rev = version;
+    sha256 = "0vgswy981c7ys4q7js5k85sky7bz8v32wsfq3br4j41vg92pw97d";
   };
 
-  buildInputs = [mono gtksharp pkgconfig];
+  # Remove version information from nodes <Reference Include="... Version=... ">
+  postPatch = with stdenv.lib; let
+    csprojFiles = [
+      "Pinta/Pinta.csproj"
+      "Pinta.Core/Pinta.Core.csproj"
+      "Pinta.Effects/Pinta.Effects.csproj"
+      "Pinta.Gui.Widgets/Pinta.Gui.Widgets.csproj"
+      "Pinta.Resources/Pinta.Resources.csproj"
+      "Pinta.Tools/Pinta.Tools.csproj"
+    ];
+    versionedNames = [
+      "Mono\\.Addins"
+      "Mono\\.Posix"
+      "Mono\\.Addins\\.Gui"
+      "Mono\\.Addins\\.Setup"
+    ];
 
-  buildPhase = ''
-    # xbuild understands pkgconfig, but gtksharp does not give .pc for gdk-sharp
-    # So we have to go the GAC-way
-    export MONO_GAC_PREFIX=${gtksharp}
-    xbuild Pinta.sln
-  '';
+    stripVersion = name: file: let
+        match = ''<Reference Include="${name}([ ,][^"]*)?"'';
+        replace = ''<Reference Include="${name}"'';
+      in "sed -i -re 's/${match}/${replace}/g' ${file}\n";
 
-  # Very ugly - I don't know enough Mono to improve this. Isn't there any rpath in binaries?
-  installPhase = ''
-    mkdir -p $out/lib/pinta $out/bin
-    cp bin/*.{dll,exe} $out/lib/pinta
-    cat > $out/bin/pinta << EOF
-    #!/bin/sh
-    export MONO_GAC_PREFIX=${gtksharp}:\$MONO_GAC_PREFIX
-    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gtksharp}/lib:${gtksharp.gtk}/lib:${mono}/lib
-    exec ${mono}/bin/mono $out/lib/pinta/Pinta.exe
-    EOF
-    chmod +x $out/bin/pinta
-  '';
+    # Map all possible pairs of two lists
+    map2 = f: listA: listB: concatMap (a: map (f a) listB) listA;
+    concatMap2Strings = f: listA: listB: concatStrings (map2 f listA listB);
+  in
+    concatMap2Strings stripVersion versionedNames csprojFiles
+    + ''
+      # For some reason there is no Microsoft.Common.tasks file
+      # in ''${mono}/lib/mono/3.5 .
+      substituteInPlace Pinta.Install.proj \
+        --replace 'ToolsVersion="3.5"' 'ToolsVersion="4.0"' \
+        --replace "/usr/local" "$out"
+    '';
 
-  # Always needed on Mono, otherwise nothing runs
-  dontStrip = true; 
+  makeWrapperArgs = [
+    ''--prefix MONO_GAC_PREFIX ':' "${gtksharp}"''
+    ''--prefix LD_LIBRARY_PATH ':' "${gtksharp}/lib"''
+    ''--prefix LD_LIBRARY_PATH ':' "${gtksharp.gtk}/lib"''
+  ];
+
+  postInstall = ''
+    # Do automake's job manually
+    substitute xdg/pinta.desktop.in xdg/pinta.desktop \
+      --replace _Name Name \
+      --replace _Comment Comment \
+      --replace _GenericName GenericName \
+      --replace _X-GNOME-FullName X-GNOME-FullName
+
+    xbuild /target:CompileTranslations Pinta.Install.proj
+    xbuild /target:Install Pinta.Install.proj
+  '';
 
   meta = {
     homepage = http://www.pinta-project.com/;
     description = "Drawing/editing program modeled after Paint.NET";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 9ebcf170e1b4..6bff13665188 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-${version}";
-  version = "2.42.0";
+  name = "calibre-${meta.version}";
 
   src = fetchurl {
-    url = "https://github.com/kovidgoyal/calibre/releases/download/v${version}/${name}.tar.xz";
-    sha256 = "0inmhkrc6jmpa97wjwai9ny8vmwy9z0fbiw8w43s37ad1w9x5sn1";
+    url = "https://github.com/kovidgoyal/calibre/releases/download/v${meta.version}/${name}.tar.xz";
+    sha256 = "0h8c8w7f63pl1rarr3v6gi82dcsabb3216g7scmjfj50na5cfmhi";
   };
 
   inherit python;
@@ -59,10 +58,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    version = "2.43.0";
     description = "Comprehensive e-book software";
     homepage = http://calibre-ebook.com;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ viric iElectric pSub ];
+    maintainers = with maintainers; [ viric iElectric pSub AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index e7817dc5b524..ab02238606ab 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";
+  version = "3.7.8.1";
 
   src = fetchurl {
     url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "0wj1rp8fdrmsfqbcaicvfxk71vkd9hcczmb1vrnvfzypnmacn6gy";
+    sha256 = "1ap5gbgisnbny3jbnm2i5wm2sy6qkbhz747av3sjxp2z12fz81l4";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 6cd50406ed74..0625219c2762 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -1,19 +1,17 @@
-{ fetchurl, stdenv, zlib, expat, which }:
+{ stdenv, fetchurl, zlib, qt5, which }:
 
-let version = "1.4.3"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "gpsbabel-${version}";
+  version = "1.5.2";
 
   src = fetchurl {
     # gpgbabel.org makes it hard to get the source tarball automatically, so
     # get it from elsewhere.
     url = "mirror://debian/pool/main/g/gpsbabel/gpsbabel_${version}.orig.tar.gz";
-    sha256 = "1s31xa36ivf836h89m1f3qiaz3c3znvqjdm0bnh8vr2jjlrz9jdi";
+    sha256 = "0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w";
   };
 
-  # FIXME: Would need libxml2 for one of the tests, but that in turns require
-  # network access for the XML schemas.
-  buildInputs = [ zlib expat which ];
+  buildInputs = [ zlib qt5.base which ];
 
   /* FIXME: Building the documentation, with "make doc", requires this:
 
@@ -25,10 +23,14 @@ stdenv.mkDerivation {
   configureFlags = [ "--with-zlib=system" ];
 
   doCheck = true;
+  preCheck = ''
+    patchShebangs testo
+    substituteInPlace testo \
+      --replace "-x /usr/bin/hexdump" ""
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Convert, upload and download data from GPS and Map programs";
-
     longDescription = ''
       GPSBabel converts waypoints, tracks, and routes between popular
       GPS receivers and mapping programs.  It also has powerful
@@ -47,12 +49,9 @@ stdenv.mkDerivation {
       process data that may (or may not be) placed on a map, such as
       waypoints, tracks, and routes.
     '';
-
     homepage = http://www.gpsbabel.org/;
-
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.rycee ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 04d4eaebaa7a..c7921b8553b2 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.20.2";
+  name = "notmuch-0.21";
 
   passthru = {
     pythonSourceRoot = "${name}/bindings/python";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "1v5dcnlg4km5hfaq0i0qywq5fn66fi0rq4aaibyqkwxz8mis4hgp";
+    sha256 = "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh";
   };
 
   buildInputs = [ bash emacs glib gmime gnupg pkgconfig talloc xapian sphinx python ]
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index d4239685f7b1..ebd45cea6adc 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ffmpeg, makeDesktopItem, qt4 }:
 
-let version = "3.5.1"; in
+let version = "3.5.2"; in
 stdenv.mkDerivation rec {
   name = "clipgrab-${version}";
 
   src = fetchurl {
-    sha256 = "16hm7zv0yhxj7gdd8q462jcxy0jk6hicsk1mkhmarwrhifwsy4g9";
-    # The .tar.bz2 "Download" link is a binary blob, the source is .tar.gz!
+    sha256 = "0prag5liwx2l1b2a5f7cp3jh50qw5iwkf2c07iws9m1j1np3lxgp";
+    # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "http://download.clipgrab.de/${name}.tar.gz";
   };
 
diff --git a/pkgs/build-support/build-dotnet-package/default.nix b/pkgs/build-support/build-dotnet-package/default.nix
index 00be987af752..3d24f6fb4340 100644
--- a/pkgs/build-support/build-dotnet-package/default.nix
+++ b/pkgs/build-support/build-dotnet-package/default.nix
@@ -9,6 +9,9 @@ attrsOrig @
 , outputFiles ? [ "bin/Release/*" ]
 , dllFiles ? [ "*.dll" ]
 , exeFiles ? [ "*.exe" ]
+# Additional arguments to pass to the makeWrapper function, which wraps
+# generated binaries.
+, makeWrapperArgs ? [ ]
 , ... }:
   let
     arrayToShell = (a: toString (map (lib.escape (lib.stringToCharacters "\\ ';$`()|<>\t") ) a));
@@ -98,7 +101,10 @@ attrsOrig @
             [ -f "$exe" ] || continue
             mkdir -p "$out"/bin
             commandName="$(basename -s .exe "$(echo "$exe" | tr "[A-Z]" "[a-z]")")"
-            makeWrapper "${mono}/bin/mono \"$exe\"" "$out"/bin/"$commandName"
+            makeWrapper \
+              "${mono}/bin/mono \"$exe\"" \
+              "$out"/bin/"$commandName" \
+              ''${makeWrapperArgs}
           done
         done
 
diff --git a/pkgs/desktops/gnome-3/3.16/core/libgee/libgee-1.nix b/pkgs/desktops/gnome-3/3.16/core/libgee/libgee-1.nix
new file mode 100644
index 000000000000..1715e7eeb856
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.16/core/libgee/libgee-1.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection, gnome3 }:
+let
+  ver_maj = "0.6";
+  ver_min = "8";
+in
+stdenv.mkDerivation rec {
+  name = "libgee-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgee/${ver_maj}/${name}.tar.xz";
+    sha256 = "1lzmxgz1bcs14ghfp8qqzarhn7s64ayx8c508ihizm3kc5wqs7x6";
+  };
+
+  doCheck = true;
+
+  patches = [ ./fix_introspection_paths.patch ];
+
+  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.spacefrogg ] ++ gnome3.maintainers;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.16/default.nix b/pkgs/desktops/gnome-3/3.16/default.nix
index d84713903823..53a2aaaa0fc3 100644
--- a/pkgs/desktops/gnome-3/3.16/default.nix
+++ b/pkgs/desktops/gnome-3/3.16/default.nix
@@ -176,6 +176,7 @@ let
   libcroco = callPackage ./core/libcroco {};
 
   libgee = callPackage ./core/libgee { };
+  libgee_1 = callPackage ./core/libgee/libgee-1.nix { };
 
   libgdata = callPackage ./core/libgdata { };
 
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
index 4d6ac29f53d5..26f01e253c0d 100644
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ b/pkgs/desktops/xfce/applications/mousepad.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util
-, gtk, gtksourceview, dbus, dbus_glib, makeWrapper }:
+, gtk, gtksourceview, dbus, dbus_glib, makeWrapper
+, dconf }:
 
 stdenv.mkDerivation rec {
   p_name  = "mousepad";
@@ -15,11 +16,13 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ pkgconfig intltool libxfce4util
       gtk gtksourceview dbus dbus_glib makeWrapper
+      dconf
     ];
 
   preFixup = ''
     wrapProgram "$out/bin/mousepad" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share"
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share" \
+      --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 2f563dbbf5ca..e83eb9737f6b 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -6,6 +6,7 @@ callPackage = newScope (deps // xfce_self);
 
 deps = { # xfce-global dependency overrides should be here
   inherit (pkgs.gnome) libglade libwnck vte gtksourceview;
+  inherit (pkgs.gnome3) dconf;
   inherit (pkgs.perlPackages) URI;
 };
 
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index bcbe28f23351..bb820f9820d3 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, python }:
 
 let
-  tag = "1.29.10";
+  tag = "1.35.4";
 in
 
 stdenv.mkDerivation rec {
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
   srcFC = fetchgit {
     url = git://github.com/kripken/emscripten-fastcomp;
     rev = "refs/tags/${tag}";
-    sha256 = "eee0f884c7e10e1b869b9d3afbb03bf69c63ec0560b136e3e8cd64ca00a41653";
+    sha256 = "3bd50787d78381f684f9b3f46fc91cc3d1803c3389e19ec41ee59c2deaf727d8";
   };
 
   srcFL = fetchgit {
     url = git://github.com/kripken/emscripten-fastcomp-clang;
     rev = "refs/tags/${tag}";
-    sha256 = "22c48e85dfacd9f2349d37fb421f0f848b65fc7b39e66984d04349ee3271667c";
+    sha256 = "ec0d22c04eec5f84695401e19a52704b28e8d2779b87388f399b5f63b54a9862";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index b49884fad1c7..daa2ea3113c3 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
 
 let
-  tag = "1.29.10";
+  tag = "1.35.4";
+  appdir = "share/emscripten";
 in
 
 stdenv.mkDerivation rec {
@@ -10,26 +11,28 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = git://github.com/kripken/emscripten;
     rev = "refs/tags/${tag}";
-    sha256 = "0d7ed2b801ac37acaf907bd03ba42cce3ac4a4c330bf1ef28de25bbb3f39ba87";
+    sha256 = "466500356c8c0fbcee495b2dbd2ccf0bf9d7eaf303d274ebaf491122759dd233";
   };
 
   buildCommand = ''
-    mkdir $out
-    cp -a $src $out/bin
-    chmod -R +w $out/bin
-    grep -rl '^#!/usr.*python' $out/bin | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@'
-    sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/config'," $out/bin/tools/shared.py
-    sed -i -e 's,^.*did not see a source tree above the LLVM.*$,      return True,' $out/bin/tools/shared.py
-    sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n  return,' $out/bin/tools/shared.py
+    mkdir -p $out/${appdir}
+    cp -r $src/* $out/${appdir}
+    chmod -R +w $out/${appdir}
+    grep -rl '^#!/usr.*python' $out/${appdir} | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@'
+    sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/${appdir}/config'," $out/${appdir}/tools/shared.py
+    sed -i -e 's,^.*did not see a source tree above the LLVM.*$,      return True,' $out/${appdir}/tools/shared.py
+    sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n  return,' $out/${appdir}/tools/shared.py
+    mkdir $out/bin
+    ln -s $out/${appdir}/{em++,em-config,emar,embuilder.py,emcc,emcmake,emconfigure,emlink.py,emmake,emranlib,emrun,emscons} $out/bin
 
-    echo "EMSCRIPTEN_ROOT = '$out/bin'" > $out/config
-    echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/config
-    echo "PYTHON = '${python}/bin/python'" >> $out/config
-    echo "NODE_JS = '${nodejs}/bin/node'" >> $out/config
-    echo "JS_ENGINES = [NODE_JS]" >> $out/config
-    echo "COMPILER_ENGINE = NODE_JS" >> $out/config
-    echo "CLOSURE_COMPILER = '${closurecompiler}/bin/closure-compiler'" >> $out/config
-    echo "JAVA = '${jre}/bin/java'" >> $out/config
+    echo "EMSCRIPTEN_ROOT = '$out/${appdir}'" > $out/${appdir}/config
+    echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/${appdir}/config
+    echo "PYTHON = '${python}/bin/python'" >> $out/${appdir}/config
+    echo "NODE_JS = '${nodejs}/bin/node'" >> $out/${appdir}/config
+    echo "JS_ENGINES = [NODE_JS]" >> $out/${appdir}/config
+    echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config
+    echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/compiler.jar'" >> $out/${appdir}/config
+    echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config
   '';
   meta = with stdenv.lib; {
     homepage = https://github.com/kripken/emscripten;
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index 4fc3ea319277..258af23a1bc9 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "60";
+  patchVersion = "65";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "e6a36b458351ed35bd7943739ba93d9a246e08a86433e148ff68b1b40d74c2e5";
-  sha256_x86_64 = "ebe51554d2f6c617a4ae8fc9a8742276e65af01bd273e96848b262b3c05424e5";
+  sha256_i686 = "1shri8mw648piivyparbpzskiq4i0z6kain9kr7ylav5mv7h66fg";
+  sha256_x86_64 = "1rr6g2sb0f1vyf3l9nvj49ah28bsid92z0lj9pfjlb12vjn2mnw8";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
new file mode 100644
index 000000000000..5900e08e19f8
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -0,0 +1,10 @@
+import ./jdk-linux-base.nix {
+  productVersion = "8";
+  patchVersion = "66";
+  downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
+  sha256_i686 = "18l4r89na4z92djcdgyinjlhl6fmgz4x1sm40lwrsiwzg26nl0i1";
+  sha256_x86_64 = "02nwcgplq14vj1vkz99r5x20lg86hscrxb5aaifwcny7l5gsv5by";
+  jceName = "jce_policy-8.zip";
+  jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
+  sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
+}
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index e4d4dc1ae10c..7f8580f058b6 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -1,30 +1,31 @@
 { stdenv, fetchurl, darwin }:
 let
-  version = "110.78";
+  version = "110.79";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
 
   sources = map fetchurl [
-    { url = "${baseurl}/config.tgz";              sha256 = "018c6iflpm3im6679via1wshw2sls4jgiqrc30pqkb80kfrh1pg2"; }
-    { url = "${baseurl}/cm.tgz";                  sha256 = "0id37j6lj4b3qczn4949gvc8hys9j3h7nk9kc9fxv4rv1g7i328x"; }
-    { url = "${baseurl}/compiler.tgz";            sha256 = "1m299lzc8l9mixb2l9scvilz27v16db3igzwca19alsrvldnmpg2"; }
-    { url = "${baseurl}/runtime.tgz";             sha256 = "1pwbv1bnh8dz4w62cx19c56z4y57krbpr1ziayyycg7lj44pb7sy"; }
-    { url = "${baseurl}/system.tgz";              sha256 = "1jdilm3wcjxcnnbd3g8rcd1f5nsb5ffzfjqcsdcpqd9mnx81fca9"; }
-    { url = "${baseurl}/MLRISC.tgz";              sha256 = "0ibqwkkqd4c62p3q1jbgqyh7k78sms01igl7ibk6jyrhy9n7vw0v"; }
-    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "1lxnwp8q3xw0wqqrv3hlk3fjancrfz862fy9j504s38ljhdjc3jr"; }
-    { url = "${baseurl}/ckit.tgz";                sha256 = "1nqw40vjxy40ckif5d480g5mf7b91lmwcs7m689gs9n2dj3gbwnp"; }
-    { url = "${baseurl}/nlffi.tgz";               sha256 = "1cks1xifb32wya2flw7h7cvcdnkxv7ngk8y7xv29888r7xbdr3h0"; }
-    { url = "${baseurl}/cml.tgz";                 sha256 = "0qfaj6vsagsnh9di94cxvn77f91zfwsnn95rz8ig5dz5zmq77ghz"; }
-    { url = "${baseurl}/eXene.tgz";               sha256 = "1nlkb2y48m702qplxkqphvb9nbj433300j7yrdbsj39j6vvp8pmw"; }
-    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "02b2gdl1qdwilhls3ssa04wcyg3aswndn1bh85008rqj85ppddiq"; }
-    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0l1sddd5wfpqgmyw1g3iwv2p27fbkpjkm10db2qd2pid9r95dxz5"; }
-    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "0ln790ydb43sxbjjymbd6jnnzfygrc0lr50k81p5cazzzy1yfim6"; }
-    { url = "${baseurl}/ml-burg.tgz";             sha256 = "03anyy2gdkgfprmahx489hxg9zjh9lydq3gkzrlyw51yzvgp3f92"; }
-    { url = "${baseurl}/pgraph.tgz";              sha256 = "19hbcav11a6fv0xmzgin0v5dl4m08msk1vsmw26kpqiqkvkh7j39"; }
-    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0awssg3vgj3sp85kdfjcp28zaq815zr55k9z6v79zs9gll02ghlk"; }
-    { url = "${baseurl}/heap2asm.tgz";            sha256 = "1vkmxbm6x37l1wqvilvvw662pdvg6mkbvcfvya8ggsihz4c1z0jg"; }
-    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "08b8acd5vwhz1gg7960rha00qhwk7l7p01vvgwzmdiqlcd3fcj1d"; }
-    { url = "${baseurl}/doc.tgz";                 sha256 = "1pbsvc8nmnjwq239wrylb209drr4xv9a66r0fjm126b6nw1slrbq"; }
-    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "19wd273k4ldnxndq6cqr7xv387ynbviz6jlgxmlld7nxf549kn5a"; }
+    { url = "${baseurl}/config.tgz";              sha256 = "1siahy5sxz20bdy88s7zjj6gn55np1h54dalmg0nwzqq1rc048xb"; }
+    { url = "${baseurl}/cm.tgz";                  sha256 = "174g71hvk1wfdmrg1mbx3p5j04ywnbbjapnnr9sgjd99pqqqsmdz"; }
+    { url = "${baseurl}/compiler.tgz";            sha256 = "001wi97ghj3mym4bk73gzzzrh7584hd79jn08cnq1wssdcfpn4mw"; }
+    { url = "${baseurl}/runtime.tgz";             sha256 = "0lavdzg25nbdzdyyf6wm304k0gsbb5bng2nlcx8gcfl743vl13r0"; }
+    { url = "${baseurl}/system.tgz";              sha256 = "00j34m5n8m30p51kajd0sxamy7gpwxaxrlgw5agxh0wi83vqfaki"; }
+    { url = "${baseurl}/MLRISC.tgz";              sha256 = "19q3gp7yfby4n8z6jn9m9q8g0a9kvb13arj8f2j0x9jnh3y2is78"; }
+    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "0frkc23zh9h1c2lvkidh92lsp56liyb3hyv17503nchmkxrlsi09"; }
+    { url = "${baseurl}/old-basis.tgz";           sha256 = "1ka7w4nvkmaf86dkdzgbwiw8kay6gxhcyx4q17m33wdzsjbq56lh"; }
+    { url = "${baseurl}/ckit.tgz";                sha256 = "1z8xf5pqwayqd8j6xhfhqs4axkb4dx7vdqi2a7gq3zbx2fd3s7pw"; }
+    { url = "${baseurl}/nlffi.tgz";               sha256 = "1544m7ildyd0d60wfy2hl700jnslpxqb7brgh8p0bmkvhhvvc96v"; }
+    { url = "${baseurl}/cml.tgz";                 sha256 = "11blq65zlsbh6iwq502jww1z4iyk9pf2iv3d437cgnpb3sn9mx72"; }
+    { url = "${baseurl}/eXene.tgz";               sha256 = "14yl8a5xwms1m9bvfwfiz6rhg49225l52lqqq9sbxbf57615n9yg"; }
+    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "118s7v2f73ym91ymvnmswjxm2pw5n4q1d4hvbs1cmm43dv28pw7m"; }
+    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0lf5ir12v8j6n11mblrl00jgm583ak077vgbabc1dfmz47rd566b"; }
+    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "0dmifbbq1wxkxf479jv61nsy79sr78ad9fq6561rvgi4h12lzh7k"; }
+    { url = "${baseurl}/ml-burg.tgz";             sha256 = "1b5z18azik1kpaafi1vjgaf181yv32h88zm3z5fqxs96pwb86h1d"; }
+    { url = "${baseurl}/pgraph.tgz";              sha256 = "15g06hl7zn98qas3b6r6lrl75g9d1galqxdyai7d5z9q5lq71j2v"; }
+    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0jwilcv2ycfpcy3cgs8ndaj16yqm8m2q63sipcigfycacpyqfsiw"; }
+    { url = "${baseurl}/heap2asm.tgz";            sha256 = "0wylsw1dkls9l86j226ilfb50mfk4h4zz4r9zdj104a1mqvvbgfk"; }
+    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1xr89r1nhzg53hk0v0fk1livphwpgmzh1dgjqxl4w8dx9qhk9yf0"; }
+    { url = "${baseurl}/doc.tgz";                 sha256 = "1fz4l3019n1rkrww98w59cdhlrz9jg635hmdq59xryc0j78y4ga1"; }
+    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "0nka4dhklhilrsw4byr5vixiap28zp67ai0vjkwhqh03amkcr8zq"; }
   ];
 in stdenv.mkDerivation {
   name = "smlnj-${version}";
diff --git a/pkgs/development/libraries/indicator-application/gtk2.nix b/pkgs/development/libraries/indicator-application/gtk2.nix
new file mode 100644
index 000000000000..7db9b1a0e421
--- /dev/null
+++ b/pkgs/development/libraries/indicator-application/gtk2.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, lib, file
+, pkgconfig, autoconf
+, glib, dbus_glib, json_glib
+, gtk2, libindicator-gtk2, libdbusmenu-gtk2, libappindicator-gtk2 }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "indicator-application-gtk2-${version}";
+  version = "12.10.0.1";
+
+  src = fetchurl {
+    url = "${meta.homepage}/indicator-application-gtk2/i-a-${version}/+download/indicator-application-${version}.tar.gz";
+    sha256 = "1xqsb6c1pwawabw854f7aybjrgyhc2r1316i9lyjspci51zk5m7v";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf ];
+
+  buildInputs = [
+    glib dbus_glib json_glib
+    gtk2 libindicator-gtk2 libdbusmenu-gtk2 libappindicator-gtk2
+  ];
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace 'DBUSSERVICEDIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`' \
+                "DBUSSERVICEDIR=$out/share/dbus-1/services"
+    autoconf
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+    substituteInPlace src/Makefile.in \
+      --replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "Indicator to take menus from applications and place them in the panel (GTK+ 2 library for Xfce/LXDE)";
+    homepage = "https://launchpad.net/indicators-gtk2";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/indicator-application/gtk3.nix b/pkgs/development/libraries/indicator-application/gtk3.nix
new file mode 100644
index 000000000000..4847eba22ed4
--- /dev/null
+++ b/pkgs/development/libraries/indicator-application/gtk3.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, lib, file
+, pkgconfig, autoconf
+, glib, dbus_glib, json_glib
+, gtk3, libindicator-gtk3, libdbusmenu-gtk3, libappindicator-gtk3 }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "indicator-application-gtk3-${version}";
+  version = "${versionMajor}.${versionMinor}";
+  versionMajor = "12.10";
+  versionMinor = "0";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${versionMajor}/${version}/+download/indicator-application-${version}.tar.gz";
+    sha256 = "1z8ar0k47l4his7zvffbc2kn658nid51svqnfv0dms601w53gbpr";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf ];
+
+  buildInputs = [
+    glib dbus_glib json_glib
+    gtk3 libindicator-gtk3 libdbusmenu-gtk3 libappindicator-gtk3
+  ];
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace 'DBUSSERVICEDIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`' \
+                "DBUSSERVICEDIR=$out/share/dbus-1/services"
+    autoconf
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+    substituteInPlace src/Makefile.in \
+      --replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "Indicator to take menus from applications and place them in the panel";
+    homepage = "https://launchpad.net/indicator-application";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
new file mode 100644
index 000000000000..0dac5e4766fc
--- /dev/null
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -0,0 +1,67 @@
+# TODO: Resolve the issues with the Mono bindings.
+
+{ stdenv, fetchurl, lib, file
+, pkgconfig, autoconf
+, glib, dbus_glib, gtkVersion
+, gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
+, gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
+, python, pygobject, pygtk, gobjectIntrospection, vala
+, monoSupport ? false, mono ? null, gtk-sharp ? null
+ }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
+          in "libappindicator-${postfix}-${version}";
+  version = "${versionMajor}.${versionMinor}";
+  versionMajor = "12.10";
+  versionMinor = "0";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${versionMajor}/${version}/+download/libappindicator-${version}.tar.gz";
+    sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf ];
+
+  buildInputs = [
+    glib dbus_glib
+    python pygobject pygtk gobjectIntrospection vala
+  ] ++ (if gtkVersion == "2"
+    then [ gtk2 libindicator-gtk2 libdbusmenu-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp ]
+    else [ gtk3 libindicator-gtk3 libdbusmenu-gtk3 ]);
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
+    autoconf
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-gtk=${gtkVersion}"
+  ];
+
+  postConfigure = ''
+    substituteInPlace configure \
+      --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "A library to allow applications to export a menu into the Unity Menu bar";
+    homepage = "https://launchpad.net/libappindicator";
+    license = with licenses; [ lgpl21 lgpl3 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
new file mode 100644
index 000000000000..3e633f9a3659
--- /dev/null
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, lib, file
+, pkgconfig, intltool
+, glib, dbus_glib, json_glib
+, gobjectIntrospection, vala, gnome_doc_utils
+, gtkVersion ? null, gtk2 ? null, gtk3 ? null }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = let postfix = if gtkVersion == null then "glib" else "gtk${gtkVersion}";
+          in "libdbusmenu-${postfix}-${version}";
+  version = "${versionMajor}.${versionMinor}";
+  versionMajor = "12.10";
+  versionMinor = "2";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${versionMajor}/${version}/+download/libdbusmenu-${version}.tar.gz";
+    sha256 = "9d6ad4a0b918b342ad2ee9230cce8a095eb601cb0cee6ddc1122d0481f9d04c9";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  buildInputs = [
+    glib dbus_glib json_glib
+    gobjectIntrospection vala gnome_doc_utils
+  ] ++ optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
+
+  postPatch = ''
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/libdbusmenu
+  preConfigure = ''
+    export HAVE_VALGRIND_TRUE="#"
+    export HAVE_VALGRIND_FALSE=""
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    (if gtkVersion == null then "--disable-gtk" else "--with-gtk=${gtkVersion}")
+    "--disable-scrollkeeper"
+  ] ++ optional (gtkVersion != "2") "--disable-dumper";
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "A library for passing menu structures across DBus";
+    homepage = "https://launchpad.net/dbusmenu";
+    license = with licenses; [ gpl3 lgpl21 lgpl3 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
new file mode 100644
index 000000000000..0cff4aa19132
--- /dev/null
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -0,0 +1,62 @@
+# TODO: Resolve the issues with the Mono bindings.
+
+{ stdenv, fetchurl, lib, file
+, pkgconfig, autoconf
+, glib, dbus_glib, libdbusmenu-glib
+, gtkVersion, gtk2 ? null, gtk3 ? null
+, python, pygobject, pygtk, gobjectIntrospection, vala, gnome_doc_utils
+, monoSupport ? false, mono ? null, gtk-sharp ? null
+ }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
+          in "libindicate-${postfix}-${version}";
+  version = "${versionMajor}.${versionMinor}";
+  versionMajor = "12.10";
+  versionMinor = "1";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicate-${version}.tar.gz";
+    sha256 = "10am0ymajx633b33anf6b79j37k61z30v9vaf5f9fwk1x5cw1q21";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf ];
+
+  buildInputs = [
+    glib dbus_glib libdbusmenu-glib
+    python pygobject pygtk gobjectIntrospection vala gnome_doc_utils
+  ] ++ (if gtkVersion == "2"
+    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp ]
+    else [ gtk3 ]);
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' \
+      --replace 'pyglib-2.0-python$PYTHON_VERSION' 'pyglib-2.0-python'
+    autoconf
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-gtk=${gtkVersion}"
+  ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "Library for raising indicators via DBus";
+    homepage = "https://launchpad.net/libindicate";
+    license = with licenses; [ lgpl21 lgpl3 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/libindicator/default.nix b/pkgs/development/libraries/libindicator/default.nix
new file mode 100644
index 000000000000..e696e778dae9
--- /dev/null
+++ b/pkgs/development/libraries/libindicator/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, lib, file
+, pkgconfig
+, gtkVersion, gtk2 ? null, gtk3 ? null }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "libindicator-gtk${gtkVersion}-${version}";
+  version = "${versionMajor}.${versionMinor}";
+  versionMajor = "12.10";
+  versionMinor = "1";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicator-${version}.tar.gz";
+    sha256 = "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ (if gtkVersion == "2" then gtk2 else gtk3) ];
+
+  postPatch = ''
+    substituteInPlace configure \
+      --replace 'LIBINDICATOR_LIBS+="$LIBM"' 'LIBINDICATOR_LIBS+=" $LIBM"'
+    substituteInPlace {build-aux/ltmain.sh,configure,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-gtk=${gtkVersion}"
+  ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "A set of symbols and convenience functions for Ayatana indicators";
+    homepage = "https://launchpad.net/libindicator";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index 53d24b9f12f1..3f6eeac892b1 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
   name = "libssh-0.7.2";
 
   src = fetchurl {
-    url = "https://red.libssh.org/attachments/download/154/libssh-0.7.2.tar.xz";
-    sha256 = "0v84zm957z31yyrj47n62hby38nrjk5ih0ajmgccnqrjdpwwrira";
+    url = "https://red.libssh.org/attachments/download/177/${name}.tar.xz";
+    sha256 = "0qmfxgx88dbzcbyvh40gddn0fcg9adyyskg8pnsclha1cywlab53";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 6694399b8b93..781c0d38ee61 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gfortran, perl, liblapack, config, coreutils
+{ stdenv, fetchurl, gfortran, perl, which, config, coreutils
 # Most packages depending on openblas expect integer width to match pointer width,
 # but some expect to use 32-bit integers always (for compatibility with reference BLAS).
 , blas64 ? null
@@ -34,9 +34,7 @@ stdenv.mkDerivation {
 
   inherit blas64;
 
-  preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz";
-
-  nativeBuildInputs = optionals stdenv.isDarwin [coreutils] ++ [gfortran perl];
+  nativeBuildInputs = optionals stdenv.isDarwin [coreutils] ++ [gfortran perl which];
 
   makeFlags =
     (if local then localFlags else genericFlags)
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
index de91ac50428f..22e2e8716a62 100644
--- a/pkgs/development/libraries/zeromq/4.x.nix
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -8,9 +8,17 @@ stdenv.mkDerivation rec {
     sha256 = "04gligbgr0phipjkwc0dyk1vr9306r6s4dbj85z7fxxk1n1ircv1";
   };
 
+  # Fix zeromq-4.1.3 with libsodium-1.0.6
+  postPatch = ''
+    sed -i 's/libzmq_werror="yes"/libzmq_werror="no"/' configure
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libuuid libsodium ];
 
+  # https://github.com/zeromq/libzmq/commit/479db2113643e459c11db392e0fefd6400657c9e
+  patches = [ ./sodium_warning.patch ];
+
   meta = with stdenv.lib; {
     branch = "4";
     homepage = "http://www.zeromq.org";
diff --git a/pkgs/development/libraries/zeromq/sodium_warning.patch b/pkgs/development/libraries/zeromq/sodium_warning.patch
new file mode 100644
index 000000000000..4b84fd7edf42
--- /dev/null
+++ b/pkgs/development/libraries/zeromq/sodium_warning.patch
@@ -0,0 +1,70 @@
+From 479db2113643e459c11db392e0fefd6400657c9e Mon Sep 17 00:00:00 2001
+From: Constantin Rack <constantin@rack.li>
+Date: Sat, 8 Nov 2014 10:50:17 +0100
+Subject: [PATCH] Problem: return code of sodium_init() is not checked.
+
+There are two todo comments in curve_client.cpp and curve_server.cpp that suggest
+checking the return code of sodium_init() call. sodium_init() returns -1 on error,
+0 on success and 1 if it has been called before and is already initalized:
+https://github.com/jedisct1/libsodium/blob/master/src/libsodium/sodium/core.c
+---
+ src/curve_client.cpp | 7 ++++---
+ src/curve_server.cpp | 7 ++++---
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/src/curve_client.cpp b/src/curve_client.cpp
+index 6019c54..77fc420 100644
+--- a/src/curve_client.cpp
++++ b/src/curve_client.cpp
+@@ -38,6 +38,7 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
+     cn_peer_nonce(1),
+     sync()
+ {
++    int rc;
+     memcpy (public_key, options_.curve_public_key, crypto_box_PUBLICKEYBYTES);
+     memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
+     memcpy (server_key, options_.curve_server_key, crypto_box_PUBLICKEYBYTES);
+@@ -47,12 +48,12 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
+     unsigned char tmpbytes[4];
+     randombytes(tmpbytes, 4);
+ #else
+-    // todo check return code
+-    sodium_init();
++    rc = sodium_init ();
++    zmq_assert (rc != -1);
+ #endif
+ 
+     //  Generate short-term key pair
+-    const int rc = crypto_box_keypair (cn_public, cn_secret);
++    rc = crypto_box_keypair (cn_public, cn_secret);
+     zmq_assert (rc == 0);
+ }
+ 
+diff --git a/src/curve_server.cpp b/src/curve_server.cpp
+index a3c4243..22c32d6 100644
+--- a/src/curve_server.cpp
++++ b/src/curve_server.cpp
+@@ -42,6 +42,7 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
+     cn_peer_nonce(1),
+     sync()
+ {
++    int rc;
+     //  Fetch our secret key from socket options
+     memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
+     scoped_lock_t lock (sync);
+@@ -50,12 +51,12 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
+     unsigned char tmpbytes[4];
+     randombytes(tmpbytes, 4);
+ #else
+-    // todo check return code
+-    sodium_init();
++    rc = sodium_init ();
++    zmq_assert (rc != -1);
+ #endif
+ 
+     //  Generate short-term key pair
+-    const int rc = crypto_box_keypair (cn_public, cn_secret);
++    rc = crypto_box_keypair (cn_public, cn_secret);
+     zmq_assert (rc == 0);
+ }
+ 
diff --git a/pkgs/development/tools/build-managers/gnustep/make/default.nix b/pkgs/development/tools/build-managers/gnustep/make/default.nix
index 7fa9aad72dbe..67fe60f2c0eb 100644
--- a/pkgs/development/tools/build-managers/gnustep/make/default.nix
+++ b/pkgs/development/tools/build-managers/gnustep/make/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "make-${version}";
+  name = "gnustep-make-${version}";
   version = "1.0";
 
   src = fetchurl {
diff --git a/pkgs/development/tools/build-managers/gradle/2.5.nix b/pkgs/development/tools/build-managers/gradle/2.5.nix
new file mode 100644
index 000000000000..b140a07609e4
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gradle/2.5.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, unzip, jdk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gradle-2.5";
+
+  src = fetchurl {
+    url = "http://services.gradle.org/distributions/${name}-bin.zip";
+    sha256 = "0mc5lf6phkncx77r0papzmfvyiqm0y26x50ipvmzkcsbn463x59z";
+  };
+
+  installPhase = ''
+    mkdir -pv $out/gradle
+    cp -rv lib $out/gradle
+
+    gradle_launcher_jar=$(echo $out/gradle/lib/gradle-launcher-*.jar)
+    test -f $gradle_launcher_jar
+    makeWrapper ${jdk}/bin/java $out/bin/gradle \
+      --set JAVA_HOME ${jdk} \
+      --add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain"
+  '';
+
+  phases = "unpackPhase installPhase";
+
+  buildInputs = [ unzip jdk makeWrapper ];
+
+  meta = {
+    description = "Enterprise-grade build system";
+    longDescription = ''
+      Gradle is a build system which offers you ease, power and freedom.
+      You can choose the balance for yourself. It has powerful multi-project
+      build support. It has a layer on top of Ivy that provides a 
+      build-by-convention integration for Ivy. It gives you always the choice
+      between the flexibility of Ant and the convenience of a 
+      build-by-convention behavior.
+    '';
+    homepage = http://www.gradle.org/;
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index 61c4a498c6d6..c509af871247 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, oniguruma}:
 let
   s = # Generated upstream information
   rec {
@@ -9,6 +9,7 @@ let
     sha256="0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4";
   };
   buildInputs = [
+    oniguruma
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 2fdabf30c99b..7ed6cd142d15 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.49";
+  version = "3.12.50";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1vl8ghwhrs2sxd7kgi95nqlmf5k8ps0kr2lyly40ys262174i8lg";
+    sha256 = "1bn07wsrcbg4qgqd4v2810c3qc0ifbcza0fyj8s54yd78g9qj4lj";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 88e100c7a4db..d75410d74d50 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   # TODO: Patch epoll so that the dbus actually responds
   # TODO: Figure out how to get privsep working, currently getting SIGBUS
   extraConfig = ''
+    CONFIG_AP=y
     CONFIG_LIBNL32=y
     CONFIG_EAP_FAST=y
     CONFIG_EAP_PWD=y
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 3031d397875b..7ee4bd8707d1 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, python, which, groff, gettext, man_db, bc, libiconv, coreutils }:
+{ stdenv, fetchurl, ncurses, nettools, python, which, groff, gettext, man_db, bc, libiconv, coreutils }:
 
 stdenv.mkDerivation rec {
   name = "fish-${version}";
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
         -i "$out/share/fish/functions/seq.fish" \
            "$out/share/fish/functions/math.fish"
     sed -i "s|which |${which}/bin/which |" "$out/share/fish/functions/type.fish"
+    sed -i "s|(hostname\||(${nettools}/bin/hostname\||" "$out/share/fish/functions/fish_prompt.fish"
     sed -i "s|nroff |${groff}/bin/nroff |" "$out/share/fish/functions/__fish_print_help.fish"
     sed -e "s|gettext |${gettext}/bin/gettext |" \
         -e "s|which |${which}/bin/which |" \
diff --git a/pkgs/tools/graphics/imgur-screenshot/default.nix b/pkgs/tools/graphics/imgur-screenshot/default.nix
new file mode 100644
index 000000000000..d1badc735095
--- /dev/null
+++ b/pkgs/tools/graphics/imgur-screenshot/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, makeWrapper, curl, gnugrep, libnotify, scrot, which, xclip }:
+
+let deps = stdenv.lib.makeSearchPath "bin" [ curl gnugrep libnotify scrot which xclip ];
+in stdenv.mkDerivation rec {
+  version = "1.5.4";
+  name = "imgur-screenshot-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jomo";
+    repo = "imgur-screenshot";
+    rev = "v${version}";
+    sha256 = "1ff88mvrd0b7nmrkjljs3rnprk5ih0iif92dn39s3vnag3fp9f10";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -Dm755 imgur-screenshot.sh $out/bin/imgur-screenshot
+    wrapProgram $out/bin/imgur-screenshot --prefix PATH ':' ${deps}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for easy screencapping and uploading to imgur.";
+    homepage = "https://https://github.com/jomo/imgur-screenshot/";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ lw ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/misc/binwalk/default.nix b/pkgs/tools/misc/binwalk/default.nix
index 761ae6169ebe..6e16957aac26 100644
--- a/pkgs/tools/misc/binwalk/default.nix
+++ b/pkgs/tools/misc/binwalk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python, wrapPython, curses, mtdutils, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
+{ stdenv, fetchFromGitHub, python, wrapPython, curses, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
 , pyqtgraph ? null
 , visualizationSupport ? false }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   pythonPath = with stdenv.lib; [ curses ]
                ++ optional visualizationSupport [ pyqtgraph ];
 
-  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses mtdutils zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
+  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
                           ++ optional visualizationSupport [ pyqtgraph ];
 
   postInstall = "wrapPythonPrograms";
diff --git a/pkgs/tools/misc/t1utils/default.nix b/pkgs/tools/misc/t1utils/default.nix
index c00db07ed1f4..d68ab942e494 100644
--- a/pkgs/tools/misc/t1utils/default.nix
+++ b/pkgs/tools/misc/t1utils/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     # README from tarball says "BSD-like" and points to non-existing LICENSE
     # file...
     license = "Click"; # MIT with extra clause, https://github.com/kohler/t1utils/blob/master/LICENSE
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 82067561654d..5b2e14d033a9 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ wirelesstools udev libgudev libnl libuuid polkit ppp libndp
-                  xz bluez5 gobjectIntrospection modemmanager readline newt libsoup ];
+                  xz bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup ];
 
   propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ];
 
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
new file mode 100644
index 000000000000..ff55411f32a5
--- /dev/null
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, autoconf, automake, intltool, libtool, pkgconfig, encfs
+, glib , gnome3, gtk3, libgnome_keyring, vala, wrapGAppsHook, xorg }:
+
+stdenv.mkDerivation rec {
+  version = "1.8.15";
+  name = "gnome-encfs-manager-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/gencfsm/trunk/1.8/+download/gnome-encfs-manager_${version}.tar.gz";
+    sha256 = "1iryli6fgw6a45abkrjacfac7dwjhbrhw652rqf0s183373db0mx";
+  };
+
+  buildInputs = [ autoconf automake intltool libtool pkgconfig vala glib encfs
+    gtk3 libgnome_keyring gnome3.libgee_1 xorg.libSM xorg.libICE
+    wrapGAppsHook ];
+
+  patches = [ ./makefile-mkdir.patch ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  configureFlags = [ "--disable-appindicator" ];
+
+  preFixup = ''gappsWrapperArgs+=(--prefix PATH : ${encfs}/bin)'';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.libertyzero.com/GEncfsM/;
+    description = "EncFS manager and mounter with GNOME3 integration";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.spacefrogg ];
+  };
+}
diff --git a/pkgs/tools/security/gencfsm/makefile-mkdir.patch b/pkgs/tools/security/gencfsm/makefile-mkdir.patch
new file mode 100644
index 000000000000..49c7b0b4d9d1
--- /dev/null
+++ b/pkgs/tools/security/gencfsm/makefile-mkdir.patch
@@ -0,0 +1,14 @@
+--- a/dist/Makefile.am
++++ b/dist/Makefile.am
+@@ -10,9 +10,9 @@ install-data-hook:
+ 	chmod 0755 $(shell find $(dist) -type d)
+ 	chmod 0644 $(shell find $(dist) -type f)
+ 	chmod 0755 $(shell find "scripts" -type f)
+-	test -z "$(DESTDIR)$(datadir)/dbus-1/services/" || /bin/mkdir -p "$(DESTDIR)$(datadir)/dbus-1/services/"
++	test -z "$(DESTDIR)$(datadir)/dbus-1/services/" || $(MKDIR_P) "$(DESTDIR)$(datadir)/dbus-1/services/"
+ 	cp "extra/com.libertyzero.gnome-encfs-manager.service" "$(DESTDIR)$(datadir)/dbus-1/services/"
+-	test -z "$(gencfsmdir)" || /bin/mkdir -p "$(gencfsmdir)"
++	test -z "$(gencfsmdir)" || $(MKDIR_P) "$(gencfsmdir)"
+ 	cp --parent -rf $(dist) "$(gencfsmdir)"
+ 	cp --parent -rf $(icons) $(DESTDIR)$(datadir)
+ 
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index d1214d3c163e..ff64b54b9857 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -4,6 +4,7 @@
 , curl ? null
 , iptables ? null
 , jdk ? null
+, libatasmart ? null
 , libcredis ? null
 , libdbi ? null
 , libgcrypt ? null
@@ -25,6 +26,7 @@
 , rabbitmq-c ? null
 , riemann ? null
 , rrdtool ? null
+, udev ? null
 , varnish ? null
 , yajl ? null
 }:
@@ -38,10 +40,10 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl
-    libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
+    pkgconfig curl iptables libatasmart libcredis libdbi libgcrypt libmemcached
+    cyrus_sasl libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
     lm_sensors libxml2 lvm2 mysql.lib postgresql protobufc rabbitmq-c rrdtool
-    varnish yajl jdk libtool python
+    varnish yajl jdk libtool python udev
   ];
 
   # for some reason libsigrok isn't auto-detected
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
new file mode 100644
index 000000000000..a3b244d875b6
--- /dev/null
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, execline, fetchgit, skalibs, s6 }:
+
+let
+
+  version = "0.0.1.0";
+
+in stdenv.mkDerivation rec {
+
+  name = "s6-rc-${version}";
+
+  src = fetchgit {
+    url = "git://git.skarnet.org/s6-rc";
+    rev = "refs/tags/v${version}";
+    sha256 = "02ppsda8pg7mph3r7lrh7dhi6ip99bgghsl3lf902cg9i4n50q6q";
+  };
+
+  dontDisableStatic = true;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs}/include"
+    "--with-include=${execline}/include"
+    "--with-include=${s6}/include"
+    "--with-lib=${skalibs}/lib"
+    "--with-lib=${execline}/lib"
+    "--with-lib=${s6}/lib/s6"
+    "--with-dynlib=${skalibs}/lib"
+    "--with-dynlib=${execline}/lib"
+    "--with-dynlib=${s6}/lib"
+  ] ++ [ (if stdenv.isDarwin then "--disable-shared" else "--enable-shared") ];
+
+  meta = {
+    homepage = http://skarnet.org/software/s6-rc/;
+    description = "a service manager for s6-based systems";
+    platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.isc;
+    maintainers = with stdenv.lib.maintainers; [ pmahoney ];
+  };
+
+}
diff --git a/pkgs/servers/s6/default.nix b/pkgs/tools/system/s6/default.nix
index 5e29c20339cf..5e29c20339cf 100644
--- a/pkgs/servers/s6/default.nix
+++ b/pkgs/tools/system/s6/default.nix
diff --git a/pkgs/tools/text/tidy-html5/default.nix b/pkgs/tools/text/tidy-html5/default.nix
index e2651e202938..ef3bcc46ba73 100644
--- a/pkgs/tools/text/tidy-html5/default.nix
+++ b/pkgs/tools/text/tidy-html5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, cmake, fetchFromGitHub, ... }:
+{ stdenv, lib, cmake, fetchFromGitHub, libxslt, ... }:
 
 stdenv.mkDerivation rec {
 
@@ -12,12 +12,13 @@ stdenv.mkDerivation rec {
     sha256 = "0hd4c23352r5lnh23mx137wb4mkxcjdrl1dy8kgghszik5fprs3s";
   };
 
-  buildInputs = [ cmake ];
+  buildInputs = [ cmake libxslt ];
 
   meta = with stdenv.lib; {
     description = "The granddaddy of HTML tools, with support for modern standards";
     homepage = "http://www.html-tidy.org/";
     license = licenses.w3c;
+    platforms = platforms.all;
     maintainers = with maintainers; [ edwtjo ];
   };
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 74cf813890ef..6a5f5f87abd2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -842,6 +842,8 @@ let
 
   fzf = goPackages.fzf.bin // { outputs = [ "bin" ]; };
 
+  gencfsm = callPackage ../tools/security/gencfsm { };
+
   gist = callPackage ../tools/text/gist { };
 
   gmic = callPackage ../tools/graphics/gmic { };
@@ -1878,6 +1880,8 @@ let
 
   imapsync = callPackage ../tools/networking/imapsync { };
 
+  imgur-screenshot = callPackage ../tools/graphics/imgur-screenshot { };
+
   imgurbash = callPackage ../tools/graphics/imgurbash { };
 
   inadyn = callPackage ../tools/networking/inadyn { };
@@ -4115,6 +4119,8 @@ let
 
   oraclejdk8 = pkgs.oraclejdk8distro true false;
 
+  oraclejdk8psu = pkgs.oraclejdk8psu_distro true false;
+
   oraclejre = lowPrio (pkgs.jdkdistro false false);
 
   oraclejre7 = lowPrio (pkgs.oraclejdk7distro false false);
@@ -4123,6 +4129,8 @@ let
 
   oraclejre8 = lowPrio (pkgs.oraclejdk8distro false false);
 
+  oraclejre8psu = lowPrio (pkgs.oraclejdk8psu_distro false false);
+
   jrePlugin = lowPrio (pkgs.jdkdistro false true);
 
   supportsJDK =
@@ -4149,6 +4157,11 @@ let
     (if pluginSupport then appendToName "with-plugin" else x: x)
       (callPackage ../development/compilers/oraclejdk/jdk8-linux.nix { inherit installjdk; });
 
+  oraclejdk8psu_distro = installjdk: pluginSupport:
+    assert supportsJDK;
+    (if pluginSupport then appendToName "with-plugin" else x: x)
+      (callPackage ../development/compilers/oraclejdk/jdk8psu-linux.nix { inherit installjdk; });
+
   jikes = callPackage ../development/compilers/jikes { };
 
   julia = callPackage ../development/compilers/julia {
@@ -5590,6 +5603,8 @@ let
 
   gradle = callPackage ../development/tools/build-managers/gradle { };
 
+  gradle25 = callPackage ../development/tools/build-managers/gradle/2.5.nix { };
+
   gperf = callPackage ../development/tools/misc/gperf { };
 
   grail = callPackage ../development/libraries/grail { };
@@ -6660,6 +6675,9 @@ let
 
   incrtcl = callPackage ../development/libraries/incrtcl { };
 
+  indicator-application-gtk2 = callPackage ../development/libraries/indicator-application/gtk2.nix { };
+  indicator-application-gtk3 = callPackage ../development/libraries/indicator-application/gtk3.nix { };
+
   indilib = callPackage ../development/libraries/indilib { };
 
   iniparser = callPackage ../development/libraries/iniparser { };
@@ -6809,6 +6827,9 @@ let
 
   libantlr3c = callPackage ../development/libraries/libantlr3c {};
 
+  libappindicator-gtk2 = callPackage ../development/libraries/libappindicator { gtkVersion = "2"; };
+  libappindicator-gtk3 = callPackage ../development/libraries/libappindicator { gtkVersion = "3"; };
+
   libarchive = callPackage ../development/libraries/libarchive { };
 
   libasr = callPackage ../development/libraries/libasr { };
@@ -6912,6 +6933,10 @@ let
     inherit sqlite libmysql;
   };
 
+  libdbusmenu-glib = callPackage ../development/libraries/libdbusmenu { };
+  libdbusmenu-gtk2 = callPackage ../development/libraries/libdbusmenu { gtkVersion = "2"; };
+  libdbusmenu-gtk3 = callPackage ../development/libraries/libdbusmenu { gtkVersion = "3"; };
+
   libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { };
 
   libdbusmenu_qt5 = callPackage ../development/libraries/libdbusmenu-qt/qt-5.4.nix { };
@@ -7097,6 +7122,12 @@ let
 
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
+  libindicate-gtk2 = callPackage ../development/libraries/libindicate { gtkVersion = "2"; };
+  libindicate-gtk3 = callPackage ../development/libraries/libindicate { gtkVersion = "3"; };
+
+  libindicator-gtk2 = callPackage ../development/libraries/libindicator { gtkVersion = "2"; };
+  libindicator-gtk3 = callPackage ../development/libraries/libindicator { gtkVersion = "3"; };
+
   libiodbc = callPackage ../development/libraries/libiodbc {
     useGTK = config.libiodbc.gtk or false;
   };
@@ -9309,7 +9340,9 @@ let
 
   pyMAILt = builderDefsPackage (callPackage ../servers/xmpp/pyMAILt) {};
 
-  qpid-cpp = callPackage ../servers/amqp/qpid-cpp { };
+  qpid-cpp = callPackage ../servers/amqp/qpid-cpp { 
+    boost = boost155;
+  };
 
   rabbitmq_server = callPackage ../servers/amqp/rabbitmq-server {
     inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
@@ -9333,7 +9366,9 @@ let
 
   ripple-rest = callPackage ../servers/rippled/ripple-rest.nix { };
 
-  s6 = callPackage ../servers/s6 { };
+  s6 = callPackage ../tools/system/s6 { };
+
+  s6-rc = callPackage ../tools/system/s6-rc { };
 
   spamassassin = callPackage ../servers/mail/spamassassin {
     inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile
@@ -11108,7 +11143,9 @@ let
     desktopName = "Conkeror";
   };
 
-  csdp = callPackage ../applications/science/math/csdp { };
+  csdp = callPackage ../applications/science/math/csdp {
+    liblapack = liblapackWithoutAtlas;
+  };
 
   cuneiform = builderDefsPackage (callPackage ../tools/graphics/cuneiform) {};
 
@@ -13182,6 +13219,12 @@ let
     inherit (lua52Packages) lpeg luaMessagePack luabitop;
   };
 
+  neovim-qt = callPackage ../applications/editors/neovim/qt.nix {
+    qt5 = qt55;
+  };
+
+  neovim-pygui = pythonPackages.neovim_gui;
+
   virtviewer = callPackage ../applications/virtualization/virt-viewer {
     gtkvnc = gtkvnc.override { enableGTK3 = true; };
     spice_gtk = spice_gtk.override { enableGTK3 = true; };
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index bef3f9c0a01b..1f22ea09288d 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -420,6 +420,38 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     };
   };
 
+  MonoAddins = buildDotnetPackage rec {
+    baseName = "Mono.Addins";
+    version = "1.2";
+
+    xBuildFiles = [
+      "Mono.Addins/Mono.Addins.csproj"
+      "Mono.Addins.Setup/Mono.Addins.Setup.csproj"
+      "Mono.Addins.Gui/Mono.Addins.Gui.csproj"
+      "Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.csproj"
+    ];
+    outputFiles = [ "bin/*" ];
+
+    src = fetchFromGitHub {
+      owner = "mono";
+      repo = "mono-addins";
+      rev = "mono-addins-${version}";
+      sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y";
+    };
+
+    buildInputs = [ pkgs.gtk-sharp ];
+
+    meta = {
+      description = "A generic framework for creating extensible applications";
+      homepage = http://www.mono-project.com/Mono.Addins;
+      longDescription = ''
+        A generic framework for creating extensible applications,
+        and for creating libraries which extend those applications.
+      '';
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
   MonoDevelopFSharpBinding = buildDotnetPackage rec {
     baseName = "MonoDevelop.FSharpBinding";
     version = "git-a09c8185eb";
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
index 3a3c664bcc6d..8d7bf3f701ec 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -1666,6 +1666,7 @@ let
     owner  = "ipfs";
     repo   = "go-ipfs";
     sha256 = "0g80b65ysj995dj3mkh3lp4v616fzjl7bx2wf14mkxfri4gr5icb";
+    disabled = isGo14;
   };
 
   ldap = buildGoPackage rec {
@@ -3131,4 +3132,24 @@ let
     sha256 = "0zc1ah5cvaqa3zw0ska89a40x445vwl1ixz8v42xi3zicx16ibwz";
   };
 
+  acbuild = stdenv.mkDerivation rec {
+    version = "0.1.1";
+    name = "acbuild-${version}";
+    src = fetchFromGitHub {
+      rev    = "beae3971de6b2c35807a98ef1d0fa3167cc3a4a8";
+      owner  = "appc";
+      repo   = "acbuild";
+      sha256 = "1mjmg2xj190dypp2yqslrx8xhwcyrrz38xxp0rig4fr60i2qy41j";
+    };
+    buildInputs = [ go ];
+    patchPhase = ''
+      sed -i -e 's|\$(git describe --dirty)|"${version}"|' build
+      sed -i -e 's|\$GOBIN/acbuild|$out/bin/acbuild|' build
+    '';
+    installPhase = ''
+      mkdir -p $out/bin
+      ./build
+    '';
+  };
+
 }; in self
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index c151c3547d67..0155e7cd5e21 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3619,7 +3619,10 @@ let
     checkPhase = ''
       # Not worth the trouble
       rm test/with_dummyserver/test_proxy_poolmanager.py
-      nosetests --cover-min-percentage 70 -v
+      # pypy: https://github.com/shazow/urllib3/issues/736
+      rm test/with_dummyserver/test_connectionpool.py
+
+      nosetests -v --cover-min-percentage 1
     '';
 
 
@@ -4992,16 +4995,17 @@ let
 
   pirate-get = pythonPackages.buildPythonPackage rec {
     name = "pirate-get-${version}";
-    version = "0.2.7";
+    version = "0.2.8";
 
     disabled = !isPy3k;
+    doCheck = false;
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pirate-get/${name}.tar.gz";
-      sha256 = "0awjrmczvd6rwzj4fb7bhjlil5mx91amjs7fk5890h3in52clxg3";
+      sha256 = "033dwv0w9fx3dwrna3fzvmynsfhb2qjhx6f2i9sfv82ijvkm8ynz";
     };
 
-    propagatedBuildInputs = [ self.colorama ];
+    propagatedBuildInputs = with self; [ colorama veryprettytable pyquery ];
 
     meta = {
       description = "A command line interface for The Pirate Bay";
@@ -6163,6 +6167,30 @@ let
     };
   };
 
+  django_redis = makeOverridable ({ django ? self.django }: buildPythonPackage rec {
+    name = "django-redis-${version}";
+    version = "4.2.0";
+
+    src = pkgs.fetchurl {
+      url = "http://pypi.python.org/packages/source/d/django-redis/${name}.tar.gz";
+      sha256 = "9ad6b299458f7e6bfaefa8905f52560017369d82fb8fb0ed4b41adc048dbf11c";
+    };
+
+    buildInputs = [ self.mock ];
+
+    propagatedBuildInputs = [ django ] ++
+      (with self; [
+        redis
+        msgpack
+      ]);
+
+    meta = {
+      description = "Full featured redis cache backend for Django";
+      homepage = https://github.com/niwibe/django-redis;
+      license = licenses.bsd3;
+    };
+  }) {};
+
   django_reversion = buildPythonPackage rec {
     name = "django-reversion-${version}";
     version = "1.8.5";
@@ -9038,11 +9066,11 @@ let
 
   rainbowstream = buildPythonPackage rec {
     name = "rainbowstream-${version}";
-    version = "1.2.7";
+    version = "1.3.1";
 
     src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz";
-      sha256 = "1jvv07w9n7ca251l92alm2yq9w82sb7lvxz6if3gc3nbqzc587rf";
+      sha256 = "0dhhgr0ww4x85pgl6mzp327sy4v6mv6hz3wvnsrwl0knkxknbadv";
     };
 
     doCheck = false;
@@ -9055,6 +9083,7 @@ let
       clib=$out/${python.sitePackages}/rainbowstream/image.so
       substituteInPlace rainbowstream/c_image.py \
         --replace @CLIB@ $clib
+      sed -i 's/requests.*"/requests"/' setup.py
     '';
 
     preBuild = ''
@@ -9072,7 +9101,7 @@ let
 
     buildInputs = with self; [
       pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales
-      pillow twitter pyfiglet requests arrow dateutil modules.readline pysocks
+      pillow twitter pyfiglet requests2 arrow dateutil modules.readline pysocks
     ];
 
     meta = {
@@ -10561,12 +10590,14 @@ let
 
     propagatedBuildInputs = with self; [
       pbr requests2
-        (sphinx.override {
+        (sphinx.override rec {
+          name = "sphinx-1.2.3";
           src = pkgs.fetchurl {
-            url = "https://pypi.python.org/packages/source/s/sphinx/sphinx-1.2.3.tar.gz";
+            url = "https://pypi.python.org/packages/source/s/sphinx/${name}.tar.gz";
             sha256 = "94933b64e2fe0807da0612c574a021c0dac28c7bd3c4a23723ae5a39ea8f3d04";
             };
           patches = [];
+          disabled = isPy35;
         })
     ];
   };
@@ -16245,6 +16276,26 @@ let
     };
   };
 
+  sandboxlib = buildPythonPackage rec {
+    name = "sandboxlib-${version}";
+    version = "0.31";
+
+    disabled = isPy3k;
+
+    buildInputs = [ self.pbr ];
+
+    src = pkgs.fetchurl {
+      url = "https://pypi.python.org/packages/source/s/sandboxlib/sandboxlib-0.3.1.tar.gz";
+      sha256 = "0csj8hbpylqdkxcpqkcfs73dfvdqkyj23axi8m9drqdi4dhxb41h";
+    };
+
+    meta = {
+      description = "Sandboxing Library for Python";
+      homepage = https://pypi.python.org/pypi/sandboxlib/0.3.1;
+      license = licenses.gpl2;
+    };
+  };
+
   semantic-version = buildPythonPackage rec {
     name = "semantic_version-2.4.2";
     src = pkgs.fetchurl {
@@ -20783,7 +20834,7 @@ let
   };
 
   neovim_gui = buildPythonPackage rec {
-    name = "neovim-gui-${self.neovim.version}";
+    name = "neovim-pygui-${self.neovim.version}";
     disabled = !isPy27;
 
     src = self.neovim.src;