summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/clementine/default.nix20
-rw-r--r--pkgs/applications/editors/android-studio/packages.nix6
-rw-r--r--pkgs/applications/editors/neovim/qt.nix26
-rw-r--r--pkgs/applications/editors/vscode/default.nix21
-rw-r--r--pkgs/applications/graphics/autotrace/default.nix6
-rw-r--r--pkgs/applications/graphics/c3d/default.nix11
-rw-r--r--pkgs/applications/misc/dotfiles/default.nix24
-rw-r--r--pkgs/applications/misc/electrum-dash/default.nix2
-rw-r--r--pkgs/applications/misc/electrum-ltc/default.nix2
-rw-r--r--pkgs/applications/misc/electrum/default.nix2
-rw-r--r--pkgs/applications/misc/et/default.nix5
-rw-r--r--pkgs/applications/misc/ola/default.nix6
-rw-r--r--pkgs/applications/misc/openbrf/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix13
-rw-r--r--pkgs/applications/networking/kget/default.nix33
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix10
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix10
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/window-managers/notion/default.nix41
-rw-r--r--pkgs/desktops/enlightenment/efl.nix4
-rw-r--r--pkgs/desktops/lxqt/core/lxqt-session/default.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix3
-rw-r--r--pkgs/development/libraries/aften/default.nix21
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix15
-rw-r--r--pkgs/development/libraries/lightstep-tracer-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix4
-rw-r--r--pkgs/development/libraries/protobuf/2.5.nix10
-rw-r--r--pkgs/development/libraries/protobuf/2.6.nix12
-rw-r--r--pkgs/development/libraries/protobuf/3.0.0-beta-2.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.0.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.2.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.4.nix (renamed from pkgs/development/libraries/protobuf/3.3.nix)4
-rw-r--r--pkgs/development/libraries/protobufc/1.1.nix11
-rw-r--r--pkgs/development/libraries/protobufc/1.3.nix (renamed from pkgs/development/libraries/protobufc/1.0.nix)4
-rw-r--r--pkgs/development/libraries/re2/default.nix4
-rw-r--r--pkgs/development/mobile/androidenv/addon.xml26
-rw-r--r--pkgs/development/mobile/androidenv/addons.nix16
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix64
-rw-r--r--pkgs/development/mobile/androidenv/default.nix4
-rw-r--r--pkgs/development/mobile/androidenv/generate-addons.xsl16
-rw-r--r--pkgs/development/mobile/androidenv/repository-11.xml36
-rw-r--r--pkgs/development/mobile/androidenv/sys-img.xml2
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix6
-rw-r--r--pkgs/development/python-modules/keepkey/default.nix4
-rw-r--r--pkgs/development/python-modules/linuxfd/default.nix25
-rw-r--r--pkgs/development/python-modules/pyscard/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix4
-rw-r--r--pkgs/development/python-modules/trezor/default.nix4
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix8
-rw-r--r--pkgs/misc/emulators/wine/sources.nix6
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix37
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/configure.patch32
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix12
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch18
-rw-r--r--pkgs/os-specific/linux/ofp/default.nix1
-rw-r--r--pkgs/os-specific/linux/pktgen/Makefile.patch34
-rw-r--r--pkgs/os-specific/linux/pktgen/default.nix10
-rw-r--r--pkgs/servers/consul/default.nix4
-rw-r--r--pkgs/servers/pulseaudio/default.nix10
-rw-r--r--pkgs/tools/compression/bsc/default.nix9
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix11
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch27
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch49
-rw-r--r--pkgs/tools/misc/fontforge/fontforge-fonttools.nix6
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix8
-rw-r--r--pkgs/tools/networking/dibbler/default.nix2
-rw-r--r--pkgs/tools/networking/eggdrop/default.nix6
-rw-r--r--pkgs/tools/networking/envoy/default.nix6
-rw-r--r--pkgs/tools/networking/haproxy/default.nix6
-rw-r--r--pkgs/tools/networking/minidlna/default.nix6
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix42
-rw-r--r--pkgs/top-level/perl-packages.nix27
-rw-r--r--pkgs/top-level/python-packages.nix88
76 files changed, 697 insertions, 382 deletions
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index d916b8957e6..affddd90784 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -54,19 +54,23 @@ let
   ++ stdenv.lib.optionals (withCD) [libcdio]
   ++ stdenv.lib.optionals (withCloud) [sparsehash];
 
+  postPatch = ''
+    sed -i src/CMakeLists.txt \
+      -e 's,-Werror,,g' \
+      -e 's,-Wno-unknown-warning-option,,g' \
+      -e 's,-Wno-unused-private-field,,g'
+    sed -i CMakeLists.txt \
+      -e 's,libprotobuf.a,protobuf,g'
+  '';
+
   free = stdenv.mkDerivation {
     name = "clementine-free-${version}";
-    inherit src patches nativeBuildInputs buildInputs;
+    inherit src patches nativeBuildInputs buildInputs postPatch;
 
     cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
 
     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";
@@ -80,7 +84,7 @@ let
   blob = stdenv.mkDerivation {
     name = "clementine-blob-${version}";
     # Use the same patches and sources as Clementine
-    inherit src nativeBuildInputs;
+    inherit src nativeBuildInputs postPatch;
 
     patches = [
       ./clementine-spotify-blob.patch
diff --git a/pkgs/applications/editors/android-studio/packages.nix b/pkgs/applications/editors/android-studio/packages.nix
index dbdeed06ef8..76d4a37007c 100644
--- a/pkgs/applications/editors/android-studio/packages.nix
+++ b/pkgs/applications/editors/android-studio/packages.nix
@@ -27,9 +27,9 @@ in rec {
 
   preview = mkStudio rec {
     pname = "android-studio-preview";
-    version = "3.0.0.12"; # "Android Studio 3.0 Beta 4"
-    build = "171.4304935";
-    sha256Hash = "127ys250m1gdglj5y2qzxl73kh5qb4zlwyf79as7765mmcfcikn5";
+    version = "3.0.0.13"; # "Android Studio 3.0 Beta 5"
+    build = "171.4316950";
+    sha256Hash = "0aj6mkc5pb8ws3ff8hcphdvymlysjmhx507r7wkqrk0b4ylbijmc";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix
index e24ca50a024..48f7b29f407 100644
--- a/pkgs/applications/editors/neovim/qt.nix
+++ b/pkgs/applications/editors/neovim/qt.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "neovim-qt-${version}";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner  = "equalsraf";
     repo   = "neovim-qt";
     rev    = "v${version}";
-    sha256 = "1bfni38l7cs0wbd9c6hgz2jfc8h3ixmg94izdvydm8j7amdz0cb6";
+    sha256 = "190yg6kkw953h8wajlqr2hvs2fz65y6z0blmywlg1nff724allaq";
   };
 
   cmakeFlags = [
@@ -17,14 +17,6 @@ stdenv.mkDerivation rec {
     "-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so"
   ];
 
-  # The following tests FAILED:
-  #       2 - tst_neovimconnector (Failed)
-  #       3 - tst_callallmethods (Failed)
-  #       4 - tst_encoding (Failed)
-  #
-  # Tests failed when upgraded to neovim 0.2.0
-  doCheck = false;
-
   buildInputs = with pythonPackages; [
     neovim qtbase libmsgpack
   ] ++ (with pythonPackages; [
@@ -38,10 +30,18 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     # avoid cmake trying to download libmsgpack
     echo "" > third-party/CMakeLists.txt
-    # we rip out the gui test as spawning a GUI fails in our build environment
-    sed -i '/^add_xtest_gui/d' test/CMakeLists.txt
+    # we rip out a number of tests that fail in the build env
+    # the GUI tests will never work but the others should - they did before neovim 0.2.0
+    # was released
+    sed -i test/CMakeLists.txt \
+      -e '/^add_xtest_gui/d' \
+      -e '/tst_neovimconnector/d' \
+      -e '/tst_callallmethods/d' \
+      -e '/tst_encoding/d'
   '';
 
+  doCheck = true;
+
   postInstall = ''
     wrapProgram "$out/bin/nvim-qt" \
       --prefix PATH : "${neovim}/bin"
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Neovim client library and GUI, in Qt5";
-    license = licenses.isc;
+    license     = licenses.isc;
     maintainers = with maintainers; [ peterhoeg ];
     inherit (neovim.meta) platforms;
     inherit version;
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 1f91bdfa3a5..e0de8facd3f 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem,
-  makeWrapper, libXScrnSaver, libxkbfile }:
+  makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
 
 let
-  version = "1.15.1";
+  version = "1.16.0";
   channel = "stable";
 
   plat = {
@@ -12,15 +12,16 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "09vvq02bsq6fdb0ibshn97kll43dpfmyq2dahl9gj02jlwardq27";
-    "x86_64-linux" = "1kg25i4kavmgivnk4w3dsbsnn9vncl5d2m0ds93f8qvmxpizwg21";
-    "x86_64-darwin" = "1fgjg7c9appp8v0ir7m2r3a3x4z0gx4na0p3d8j1x4pcs0kqy0qp";
+    "i686-linux" = "04jf9rl5116qc3n7xgqxir9c54dpkjm210yinih0qnp1wxhb6q0m";
+    "x86_64-linux" = "125xl933y4zmvp4922wm6b3p5d2xfdi9c5a7svx63p6fwxqjk33y";
+    "x86_64-darwin" = "0v8v4spz31qbv5ikb4bkdfldmpj5i6ahlzwn2h5wbfzlzsl8bk24";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
 
   rpath = lib.concatStringsSep ":" [
     atomEnv.libPath
+    "${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0"
     "${lib.makeLibraryPath [libXScrnSaver]}/libXss.so.1"
     "${lib.makeLibraryPath [libxkbfile]}/libxkbfile.so.1"
     "$out/lib/vscode"
@@ -47,8 +48,8 @@ in
     };
 
     buildInputs = if stdenv.system == "x86_64-darwin"
-      then [ unzip makeWrapper libXScrnSaver ]
-      else [ makeWrapper libXScrnSaver libxkbfile ];
+      then [ unzip makeWrapper libXScrnSaver libsecret ]
+      else [ makeWrapper libXScrnSaver libxkbfile libsecret ];
 
     installPhase =
       if stdenv.system == "x86_64-darwin" then ''
@@ -75,6 +76,12 @@ in
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "${rpath}" \
         $out/lib/vscode/code
+
+      patchelf \
+        --set-rpath "${rpath}" \
+        $out/lib/vscode/resources/app/node_modules/keytar/build/Release/keytar.node
+
+      ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0
     '';
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/autotrace/default.nix b/pkgs/applications/graphics/autotrace/default.nix
index 2131589339c..c0ce81b3b42 100644
--- a/pkgs/applications/graphics/autotrace/default.nix
+++ b/pkgs/applications/graphics/autotrace/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, callPackage, libpng12, imagemagick,
-  autoreconfHook, glib, pstoedit, pkgconfig, gettext, darwin }:
+  autoreconfHook, glib, pstoedit, pkgconfig, gettext, gd, darwin }:
 
 # TODO: Figure out why the resultant binary is somehow linked against
 # libpng16.so.16 rather than libpng12.
@@ -36,8 +36,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook glib autofig pkgconfig gettext ];
   buildInputs = [ libpng12 imagemagick pstoedit ]
     ++ stdenv.lib.optionals stdenv.isDarwin
-       (with darwin.apple_sdk.frameworks; [ApplicationServices]);
-    
+       (with darwin.apple_sdk.frameworks; [ gd ApplicationServices ]);
+
   postUnpack = ''
     pushd $sourceRoot
     autofig autotrace-config.af
diff --git a/pkgs/applications/graphics/c3d/default.nix b/pkgs/applications/graphics/c3d/default.nix
index a254993a016..74631e88ebf 100644
--- a/pkgs/applications/graphics/c3d/default.nix
+++ b/pkgs/applications/graphics/c3d/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchgit, cmake, itk }:
+{ stdenv, fetchgit, cmake, itk, Cocoa }:
 
 stdenv.mkDerivation rec {
-  _name   = "c3d";
-  _version = "1.1.0";
-  name     = "${_name}-${_version}";
+  name    = "${pname}-${version}";
+  pname   = "c3d";
+  version = "1.1.0";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/c3d/git";
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ itk ];
+  buildInputs = [ itk ]
+    ++ stdenv.lib.optional stdenv.isDarwin Cocoa;
 
   meta = with stdenv.lib; {
     homepage = http://www.itksnap.org/c3d;
diff --git a/pkgs/applications/misc/dotfiles/default.nix b/pkgs/applications/misc/dotfiles/default.nix
new file mode 100644
index 00000000000..1d3c405b703
--- /dev/null
+++ b/pkgs/applications/misc/dotfiles/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "dotfiles";
+  name = "${pname}-${version}";
+  version = "0.6.4";
+
+  src = pythonPackages.fetchPypi {
+    inherit version pname;
+    sha256 = "03qis6m9r2qh00sqbgwsm883s4bj1ibwpgk86yh4l235mdw8jywv";
+  };
+
+  # No tests in archive
+  doCheck = false;
+
+  checkInputs = with pythonPackages; [ pytest ];
+  propagatedBuildInputs = with pythonPackages; [ click ];
+
+  meta = with stdenv.lib; {
+    description = "Easily manage your dotfiles";
+    homepage = https://github.com/jbernard/dotfiles;
+    license = licenses.isc;
+  };
+}
diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum-dash/default.nix
index 8752bafbe73..e7a5a1be197 100644
--- a/pkgs/applications/misc/electrum-dash/default.nix
+++ b/pkgs/applications/misc/electrum-dash/default.nix
@@ -13,7 +13,7 @@ python2Packages.buildPythonApplication rec {
     dns
     ecdsa
     pbkdf2
-    protobuf3_2
+    protobuf
     pyasn1
     pyasn1-modules
     pycrypto
diff --git a/pkgs/applications/misc/electrum-ltc/default.nix b/pkgs/applications/misc/electrum-ltc/default.nix
index 25c96322378..bb41f8665e5 100644
--- a/pkgs/applications/misc/electrum-ltc/default.nix
+++ b/pkgs/applications/misc/electrum-ltc/default.nix
@@ -20,7 +20,7 @@ python2Packages.buildPythonApplication rec {
     requests
     qrcode
     ltc_scrypt
-    protobuf3_2
+    protobuf
     dns
     jsonrpclib
   ];
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index b0f821a3aac..0781617eb69 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -14,7 +14,7 @@ python2Packages.buildPythonApplication rec {
     ecdsa
     jsonrpclib
     pbkdf2
-    protobuf3_2
+    protobuf
     pyaes
     pycrypto
     pyqt4
diff --git a/pkgs/applications/misc/et/default.nix b/pkgs/applications/misc/et/default.nix
index 23b2a57ea33..4a77423bea8 100644
--- a/pkgs/applications/misc/et/default.nix
+++ b/pkgs/applications/misc/et/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ libnotify gdk_pixbuf ];
   nativeBuildInputs = [ pkgconfig ];
 
+  prePatch = ''
+    substituteInPlace Makefile \
+        --replace ' = gcc' ' ?= gcc'
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     cp et $out/bin
diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix
index 0aba5106387..9db6042e60f 100644
--- a/pkgs/applications/misc/ola/default.nix
+++ b/pkgs/applications/misc/ola/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig
-, libuuid, cppunit, protobuf, zlib, avahi, libmicrohttpd
+, libuuid, cppunit, protobuf3_1, zlib, avahi, libmicrohttpd
 , perl, python3, python3Packages
 }:
 
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex pkgconfig perl ];
-  buildInputs = [ libuuid cppunit protobuf zlib avahi libmicrohttpd python3 ];
-  propagatedBuildInputs = with python3Packages; [ protobuf3_2 numpy ];
+  buildInputs = [ libuuid cppunit protobuf3_1 zlib avahi libmicrohttpd python3 ];
+  propagatedBuildInputs = [ python3Packages.protobuf3_1 python3Packages.numpy ];
 
   configureFlags = [ "--enable-python-libs" ];
 
diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix
index be355652ece..4aebd3bb2a9 100644
--- a/pkgs/applications/misc/openbrf/default.nix
+++ b/pkgs/applications/misc/openbrf/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation {
       --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc mesa ]}" \
       $out/share/openBrf/openBrf
 
+    mkdir -p "$out/bin"
     ln -s "$out/share/openBrf/openBrf" "$out/bin/openBrf"
   '';
 
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 756ed095991..b91b789a22b 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -38,6 +38,12 @@
 # Pluggable transport dependencies
 , python27
 
+# Wrapper runtime
+, coreutils
+, glibcLocales
+, hicolor_icon_theme
+, shared_mime_info
+
 # Extra preferences
 , extraPrefs ? ""
 }:
@@ -45,7 +51,9 @@
 with stdenv.lib;
 
 let
-  libPath = makeLibraryPath ([
+  libPath = makeLibraryPath libPkgs;
+
+  libPkgs = [
     atk
     cairo
     dbus
@@ -62,6 +70,7 @@ let
     libXt
     pango
     stdenv.cc.cc
+    stdenv.cc.libc
     zlib
   ]
   ++ optionals pulseaudioSupport [ libpulseaudio ]
@@ -70,7 +79,7 @@ let
     gst-plugins-base
     gmp
     ffmpeg
-  ]);
+  ];
 
   gstPluginsPath = concatMapStringsSep ":" (x:
     "${x}/lib/gstreamer-0.10") [
@@ -225,12 +234,21 @@ stdenv.mkDerivation rec {
     GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
     EOF
 
+    WRAPPER_XDG_DATA_DIRS=${concatMapStringsSep ":" (x: "${x}/share") [
+      hicolor_icon_theme
+      shared_mime_info
+    ]}
+
     # Generate wrapper
     mkdir -p $out/bin
     cat > "$out/bin/tor-browser" << EOF
     #! ${stdenv.shell}
     set -o errexit -o nounset
 
+    PATH=${makeBinPath [ coreutils ]}
+    export LC_ALL=C
+    export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
+
     # Enter local state directory.
     REAL_HOME=\$HOME
     TBB_HOME=\''${TBB_HOME:-''${XDG_DATA_HOME:-\$REAL_HOME/.local/share}/tor-browser}
@@ -291,12 +309,22 @@ stdenv.mkDerivation rec {
     # Setting FONTCONFIG_FILE is required to make fontconfig read the TBB
     # fonts.conf; upstream uses FONTCONFIG_PATH, but FC_DEBUG=1024
     # indicates the system fonts.conf being used instead.
+    #
+    # XDG_DATA_DIRS is set to prevent searching system dirs (looking for .desktop & icons)
     exec env -i \
+      TZ=":" \
+      TZDIR="\''${TZDIR:-}" \
+      LOCALE_ARCHIVE="\$LOCALE_ARCHIVE" \
+      \
+      TMPDIR="\''${TMPDIR:-/tmp}" \
       HOME="\$HOME" \
       XAUTHORITY="\$XAUTHORITY" \
       DISPLAY="\$DISPLAY" \
       DBUS_SESSION_BUS_ADDRESS="\$DBUS_SESSION_BUS_ADDRESS" \
       \
+      XDG_DATA_HOME="\$HOME/.local/share" \
+      XDG_DATA_DIRS="$WRAPPER_XDG_DATA_DIRS" \
+      \
       PULSE_SERVER="\''${PULSE_SERVER:-}" \
       PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
       \
@@ -328,7 +356,8 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/applications
     cp $desktopItem/share/applications"/"* $out/share/applications
     sed -i $out/share/applications/torbrowser.desktop \
-        -e "s,Exec=.*,Exec=$out/bin/tor-browser,"
+        -e "s,Exec=.*,Exec=$out/bin/tor-browser," \
+        -e "s,Icon=.*,Icon=$out/share/pixmaps/torbrowser.png,"
 
     # Install icons
     mkdir -p $out/share/pixmaps
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 4c9753c1aac..16ef657111f 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
 
     substituteInPlace 3rdparty/stout/Makefile.am \
       --replace "-lprotobuf" \
-                "${pythonProtobuf.protobuf.lib}/lib/libprotobuf.a"
+                "${pythonProtobuf.protobuf}/lib/libprotobuf.so"
 
     substituteInPlace 3rdparty/stout/include/stout/os/posix/fork.hpp \
       --subst-var-by sh ${bash}/bin/bash
@@ -101,7 +101,7 @@ in stdenv.mkDerivation rec {
 
     substituteInPlace src/python/native_common/ext_modules.py.in \
       --replace "-lprotobuf" \
-                "${pythonProtobuf.protobuf.lib}/lib/libprotobuf.a"
+                "${pythonProtobuf.protobuf}/lib/libprotobuf.so"
 
     substituteInPlace src/slave/containerizer/mesos/isolators/gpu/volume.cpp \
       --subst-var-by cp    ${coreutils}/bin/cp \
@@ -126,7 +126,7 @@ in stdenv.mkDerivation rec {
     substituteInPlace src/Makefile.am \
       --subst-var-by mavenRepo ${mavenRepo} \
       --replace "-lprotobuf" \
-                "${pythonProtobuf.protobuf.lib}/lib/libprotobuf.a"
+                "${pythonProtobuf.protobuf}/lib/libprotobuf.so"
 
   '' + lib.optionalString stdenv.isLinux ''
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 0a3cede66f3..49517d45c10 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm, makeWrapper }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm,
+  gpgme, makeWrapper }:
 
 let
   binPath = [ kubernetes ]
@@ -14,15 +15,15 @@ let
   # instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
   # currently https://storage.googleapis.com/minikube/k8s_releases.json
 
-  localkube-version = "1.7.3";
+  localkube-version = "1.7.4";
   localkube-binary = fetchurl {
     url = "https://storage.googleapis.com/minikube/k8sReleases/v${localkube-version}/localkube-linux-amd64";
-    sha256 = "1ay11321kg3waxzi9d885pr08hz97a8ajwk31kbfxlm3x5bk3jii";
+    sha256 = "1v9zq6ivcs2qvdmhidvvp0krd1sxgqvqpp4bcl9is85vpdxhk95b";
   };
 in buildGoPackage rec {
   pname   = "minikube";
   name    = "${pname}-${version}";
-  version = "0.21.0";
+  version = "0.22.0";
 
   goPackagePath = "k8s.io/minikube";
 
@@ -30,12 +31,12 @@ in buildGoPackage rec {
     owner  = "kubernetes";
     repo   = "minikube";
     rev    = "v${version}";
-    sha256 = "1y72kdrpbxwfzxs9jslcrb2l3xw83z4i7raf5c7sky4wf2nx8vis";
+    sha256 = "118l98kxzn6npq67nmylanfy9pvd1vd9hvsr2rkzrsvhzzk13kh4";
   };
 
   # kubernetes is here only to shut up a loud warning when generating the completions below. minikube checks very eagerly
   # that kubectl is on the $PATH, even if it doesn't use it at all to generate the completions
-  buildInputs = [ go-bindata makeWrapper kubernetes ];
+  buildInputs = [ go-bindata makeWrapper kubernetes gpgme ];
   subPackages = [ "cmd/minikube" ];
 
   preBuild = ''
diff --git a/pkgs/applications/networking/kget/default.nix b/pkgs/applications/networking/kget/default.nix
new file mode 100644
index 00000000000..0dc37d10d1a
--- /dev/null
+++ b/pkgs/applications/networking/kget/default.nix
@@ -0,0 +1,33 @@
+{
+  mkDerivation, lib, fetchFromGitHub,
+  extra-cmake-modules, kdoctools, makeWrapper,
+  kdelibs4support, libgcrypt, libktorrent, qca-qt5, qgpgme,
+  kcmutils, kcompletion, kcoreaddons, knotifyconfig, kparts, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui
+}:
+
+let
+  pname = "kget";
+  version = "20170903";
+
+in mkDerivation {
+  name = "${pname}-${version}";
+  src = fetchFromGitHub {
+    owner  = "KDE";
+    repo   = pname;
+    rev    = "739c0b399faf5a393c7436c0771662596b840fdc";
+    sha256 = "0rn6a4xd9zmf9sdjd5b4rh8yky6qm6ffjgjpn4snkdjsn6vm6y43";
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
+
+  buildInputs = [
+    kdelibs4support libgcrypt libktorrent qca-qt5 qgpgme
+    kcmutils kcompletion kcoreaddons knotifyconfig kparts kwallet kwidgetsaddons kwindowsystem kxmlgui
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 7de359bae5a..7ebc2a7868a 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -2,14 +2,14 @@
 , cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }:
 
 stdenv.mkDerivation rec {
-  version = "20170714";
+  version = "20170907";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = "neomutt-${version}";
-    sha256 = "0jbh83hvq1jwb8ps7ffl2325y6i79wdnwcn6db0r5prmxax18hw1";
+    sha256 = "0j2k5d77j5dvfh0yqihgvynnxxv2s5lf3pl50dr8b5b4jk04b961";
   };
 
   nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
@@ -48,9 +48,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A small but very powerful text-based mail client";
-    homepage = http://www.neomutt.org;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = platforms.unix;
+    homepage    = http://www.neomutt.org;
+    license     = stdenv.lib.licenses.gpl2Plus;
     maintainers = with maintainers; [ cstrahan erikryb jfrankenau vrthra ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 506cdcd4037..4ebc25fa4e8 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext, glew, cairo, curl, openssl, boost, pkgconfig, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "kicad-${series}";
+  name = "kicad-${version}";
   series = "4.0";
-  version = "4.0.6";
+  version = "4.0.7";
 
   srcs = [
     (fetchurl {
       url = "https://code.launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
-      sha256 = "1612lkr1p5sii2c4q8zdm6m4kmdylcq8hkd1mzr6b7l3g70sqz79";
+      sha256 = "1hgxan9321szgyqnkflb0q60yjf4yvbcc4cpwhm0yz89qrvlq1q9";
     })
 
     (fetchurl {
       url = "http://downloads.kicad-pcb.org/libraries/kicad-library-${version}.tar.gz";
-      sha256 = "16f47pd6f0ddsdxdrp327nr9v05gl8c24d0qypq2aqx5hdjmkp7f";
+      sha256 = "1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv";
     })
 
     (fetchurl {
       url = "http://downloads.kicad-pcb.org/libraries/kicad-footprints-${version}.tar.gz";
-      sha256 = "0vmgqhdw05k5fdnqv42grnvlz7v75g9md82jp2d3dvw2zw050lfb";
+      sha256 = "08qrz5zzsb5127jlnv24j0sgiryd5nqwg3lfnwi8j9a25agqk13j";
     })
   ];
 
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 7877d8ec27a..e7deccee0d9 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qmake, qtscript }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-17.8.0";
+  name = "smplayer-17.9.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "0sm7zf7nvcjlx8fvzfnlrs7rr0c549j7r60j68lv898vp6yhwybh";
+    sha256 = "0s9856cmwl829d2xc2ycf97phpv4a2d39ybmnbhsrb07jq5hkw1a";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/window-managers/notion/default.nix b/pkgs/applications/window-managers/notion/default.nix
index 2177d1a871f..72947906d6f 100644
--- a/pkgs/applications/window-managers/notion/default.nix
+++ b/pkgs/applications/window-managers/notion/default.nix
@@ -1,33 +1,44 @@
 {
-  enableXft ? true, libXft ? null,
-  patches ? [],
-  stdenv, fetchurl,
-  lua, gettext, groff,
-  pkgconfig, busybox,
-  xlibsWrapper, libXinerama, libXrandr, libX11
+  enableXft ? true, libXft ? null, patches ? [], stdenv, lua, gettext, pkgconfig, xlibsWrapper, libXinerama, libXrandr, libX11,
+  xterm, xmessage, makeWrapper, lib, fetchFromGitHub, mandoc, which
 }:
 
 assert enableXft -> libXft != null;
 
+let
+  pname = "notion";
+  version = "3-2017050501";
+  inherit patches;
+in
 stdenv.mkDerivation {
-  name     = "notion";
-  version  = "3-2015061300";
+  name = "${pname}-${version}";
   meta = with stdenv.lib; {
     description = "Tiling tabbed window manager, follow-on to the ion window manager";
     homepage = http://notion.sourceforge.net;
     platforms = platforms.linux;
     license   = licenses.notion_lgpl;
-    maintainers = [maintainers.jfb];
+    maintainers = with maintainers; [jfb];
   };
-  src = fetchurl {
-    url = https://github.com/raboof/notion/archive/3-2015061300.tar.gz;
-    sha256 = "3c9d9f35a9fb0d17c263b76fe28f7a1a4a05b7d6140545524cc1effd98c5c305";
+  src = fetchFromGitHub {
+    owner = "raboof";
+    repo = pname;
+    rev = version;
+    sha256 = "1wq5ylpsw5lkbm3c2bzmx2ajlngwib30adxlqbvq4bgkaf9zjh65";
   };
 
-  patches = patches ++ stdenv.lib.optional enableXft ./notion-xft_nixos.diff;
-  postPatch = "substituteInPlace system-autodetect.mk --replace '#PRELOAD_MODULES=1' 'PRELOAD_MODULES=1'";
-  buildInputs = [xlibsWrapper lua gettext groff pkgconfig busybox libXinerama libXrandr libX11] ++ stdenv.lib.optional enableXft libXft;
+  patches = patches;
+  postPatch = ''
+    substituteInPlace system-autodetect.mk --replace '#PRELOAD_MODULES=1' 'PRELOAD_MODULES=1'
+    substituteInPlace man/Makefile --replace "nroff -man -Tlatin1" "${mandoc}/bin/mandoc -T man"
+  '';
+
+  buildInputs = [makeWrapper xlibsWrapper lua gettext mandoc pkgconfig which libXinerama libXrandr libX11 ] ++ stdenv.lib.optional enableXft libXft;
 
   buildFlags = "LUA_DIR=${lua} X11_PREFIX=/no-such-path PREFIX=\${out}";
   installFlags = "PREFIX=\${out}";
+
+  postInstall = ''
+    wrapProgram $out/bin/notion \
+      --prefix PATH ":" "${xmessage}/bin:${xterm}/bin" \
+  '';
 }
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index e93195de1f8..67840a4c9e6 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.20.2";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "0zll6k4xbbdsxqg53g8jddgv889g5m1xh20i03iz5a52y2bcnh55";
+    sha256 = "148i8awjdrqzd0xqfc6q4qvhhs46jl15nx7n2nii7lrwzx502wqj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/lxqt/core/lxqt-session/default.nix b/pkgs/desktops/lxqt/core/lxqt-session/default.nix
index 35879af28e8..ba0bb69ce92 100644
--- a/pkgs/desktops/lxqt/core/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/core/lxqt-session/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, lxqt-common, xorg, xdg-user-dirs }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, lxqt-common, xorg, xdg-user-dirs }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     qtbase
     qttools
     qtsvg
+    qtx11extras
     kwindowsystem
     liblxqt
     libqtxdg
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 13063aeb975..020e1d446ca 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -902,4 +902,7 @@ self: super: {
   # happy 1.19.6 and later break some packages.
   Agda = super.Agda.override { happy = self.happy_1_19_5; };
 
+  # https://github.com/jtdaugherty/text-zipper/issues/11
+  text-zipper = dontCheck super.text-zipper;
+
 }
diff --git a/pkgs/development/libraries/aften/default.nix b/pkgs/development/libraries/aften/default.nix
new file mode 100644
index 00000000000..fb16c71fd19
--- /dev/null
+++ b/pkgs/development/libraries/aften/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+	name = "aften-${version}";
+	version = "0.0.8";
+	src = fetchurl {
+		url = "mirror://sourceforge/aften/${name}.tar.bz2";
+		sha256 = "02hc5x9vkgng1v9bzvza9985ifrjd7fjr7nlpvazp4mv6dr89k47";
+	};
+
+	nativeBuildInputs = [ cmake ];
+
+	cmakeFlags = [ "-DSHARED=ON" ];
+
+	meta = {
+		description = "An audio encoder which generates compressed audio streams based on ATSC A/52 specification";
+		homepage = "http://aften.sourceforge.net/";
+		license = stdenv.lib.licenses.lgpl2;
+		platforms = stdenv.lib.platforms.unix;
+	};
+}
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 8addecfa1b4..0b2f0e03cc1 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -1,10 +1,17 @@
 { stdenv, fetchFromGitHub, pkgconfig, gettext, gtk3, intltool, glib
 , gtk_doc, autoconf, automake, libtool, libarchive
 , gobjectIntrospection, sqlite, libsoup, gcab, attr, acl, docbook_xsl
-, libuuid, json_glib, autoconf-archive, meson, gperf, ninja
+, libuuid, json_glib, autoconf-archive, meson, gperf, ninja, gdk_pixbuf
 }:
-
-stdenv.mkDerivation rec {
+let rpath = stdenv.lib.makeLibraryPath
+      [ libuuid.out
+        glib
+        libsoup
+        gdk_pixbuf
+        libarchive.lib
+        gcab
+      ];
+in stdenv.mkDerivation rec {
   name = "appstream-glib-0.7.2";
 
   src = fetchFromGitHub {
@@ -21,6 +28,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ gtk3 ];
   mesonFlags = [ "-Denable-rpm=false" "-Denable-stemmer=false" "-Denable-dep11=false" ];
 
+  postFixup = "patchelf --set-rpath ${rpath} $out/lib/libappstream-glib.so";
+
   meta = with stdenv.lib; {
     description = "Objects and helper methods to read and write AppStream metadata";
     homepage    = https://github.com/hughsie/appstream-glib;
diff --git a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
index e13796229ce..9aea42082c5 100644
--- a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
+++ b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, protobuf3_2, automake
+{ stdenv, lib, fetchFromGitHub, pkgconfig, protobuf, automake
 , autoreconfHook, zlib
 , enableGrpc ? false
 }:
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    protobuf3_2 zlib
+    protobuf zlib
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 69f0ce929d1..f6811b13717 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -8,7 +8,7 @@
 , enableJPEG2K    ? true, jasper
 
 , enableIpp       ? false
-, enableContrib   ? false, protobuf3_1
+, enableContrib   ? false, protobuf
 , enablePython    ? false, pythonPackages
 , enableGtk2      ? false, gtk2
 , enableGtk3      ? false, gtk3
@@ -146,7 +146,7 @@ stdenv.mkDerivation rec {
     # tesseract & leptonica.
     ++ lib.optionals enableTesseract [ tesseract leptonica ]
     ++ lib.optionals enableCuda [ cudatoolkit gcc5 ]
-    ++ lib.optional buildContrib protobuf3_1
+    ++ lib.optional buildContrib protobuf
     ++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ];
 
   propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
diff --git a/pkgs/development/libraries/protobuf/2.5.nix b/pkgs/development/libraries/protobuf/2.5.nix
deleted file mode 100644
index 9d7bb38cf3c..00000000000
--- a/pkgs/development/libraries/protobuf/2.5.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ callPackage, fetchurl, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "2.5.0";
-  # make sure you test also -A pythonPackages.protobuf
-  src = fetchurl {
-    url = "http://protobuf.googlecode.com/files/${version}.tar.bz2";
-    sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk";
-  };
-})
diff --git a/pkgs/development/libraries/protobuf/2.6.nix b/pkgs/development/libraries/protobuf/2.6.nix
deleted file mode 100644
index 49ed9d9ade1..00000000000
--- a/pkgs/development/libraries/protobuf/2.6.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "2.6.1";
-  # make sure you test also -A pythonPackages.protobuf
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "protobuf";
-    rev = "v${version}";
-    sha256 = "03df8zvx2sry3jz2x4pi3l32qyfqa7w8kj8jdbz30nzy0h7aa070";
-  };
-})
diff --git a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
deleted file mode 100644
index 26b829669b8..00000000000
--- a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.0.0-beta-2";
-  sha256 = "0cbr1glgma5vakabsjwcs41pcnn8yphhn037l0zd121zb9gdaqc1";
-}
diff --git a/pkgs/development/libraries/protobuf/3.0.nix b/pkgs/development/libraries/protobuf/3.0.nix
deleted file mode 100644
index 4e77e7f1fbe..00000000000
--- a/pkgs/development/libraries/protobuf/3.0.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.0.2";
-  sha256 = "16wmr1fgdqpf84fkq90cxvccfsxx7h0q0wzqkbg8vdjmka412g09";
-}
diff --git a/pkgs/development/libraries/protobuf/3.2.nix b/pkgs/development/libraries/protobuf/3.2.nix
deleted file mode 100644
index 338156bbdf9..00000000000
--- a/pkgs/development/libraries/protobuf/3.2.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, lib, ... }:
-
-lib.overrideDerivation (callPackage ./generic-v3.nix {
-  version = "3.2.0";
-  sha256 = "120g0bg7ichry74allgmqnh7k0z2sdnrrfklb58b7szzn4zcdz14";
-}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; })
diff --git a/pkgs/development/libraries/protobuf/3.3.nix b/pkgs/development/libraries/protobuf/3.4.nix
index e6a8f05cc18..75f1bb22c24 100644
--- a/pkgs/development/libraries/protobuf/3.3.nix
+++ b/pkgs/development/libraries/protobuf/3.4.nix
@@ -1,6 +1,6 @@
 { callPackage, lib, ... }:
 
 lib.overrideDerivation (callPackage ./generic-v3.nix {
-  version = "3.3.0";
-  sha256 = "1258yz9flyyaswh3izv227kwnhwcxn4nwavdz9iznqmh24qmi59w";
+  version = "3.4.0";
+  sha256 = "0385j54kgr71h0cxh5vqr81qs57ack2g2k9mcdbq188v4ckjacyx";
 }) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; })
diff --git a/pkgs/development/libraries/protobufc/1.1.nix b/pkgs/development/libraries/protobufc/1.1.nix
deleted file mode 100644
index 97fc8642778..00000000000
--- a/pkgs/development/libraries/protobufc/1.1.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.1.1";
-  src = fetchFromGitHub {
-    owner = "protobuf-c";
-    repo = "protobuf-c";
-    rev = "v${version}";
-    sha256 = "0mdl2i87394l4zdvq2npsxq4zs8p7sqhqmbm2r380ngjs6zic6gw";
-  };
-})
diff --git a/pkgs/development/libraries/protobufc/1.0.nix b/pkgs/development/libraries/protobufc/1.3.nix
index d64ea5790c6..803f5a9ba79 100644
--- a/pkgs/development/libraries/protobufc/1.0.nix
+++ b/pkgs/development/libraries/protobufc/1.3.nix
@@ -1,11 +1,11 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "1.0.2";
+  version = "1.3.0";
   src = fetchFromGitHub {
     owner = "protobuf-c";
     repo = "protobuf-c";
     rev = "v${version}";
-    sha256 = "1harabw7qdgcmh098664xkcv8bkyach6i35sisc40yhvagr3fzsz";
+    sha256 = "0shk18rjhzn2lqrwk97ks3x8gj77isc8szyb3xsgjrbrvkzjgvaa";
   };
 })
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index b2dfa8884e9..08c95b42277 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     substituteInPlace Makefile --replace "/usr/local" "$out"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # Fixed in https://github.com/google/re2/commit/b2c9765b4a7afbea8b6be1dae548b6f4d5f39e42
+    substituteInPlace Makefile \
+        --replace '-dynamiclib' '-dynamiclib -Wl,-install_name,$(libdir)/libre2.so.$(SONAME)'
   '';
 
   meta = {
diff --git a/pkgs/development/mobile/androidenv/addon.xml b/pkgs/development/mobile/androidenv/addon.xml
index 05b54542033..1bc1d110db1 100644
--- a/pkgs/development/mobile/androidenv/addon.xml
+++ b/pkgs/development/mobile/androidenv/addon.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<!--Generated on 2017-07-26 17:22:37.387749 with ADRT.-->
+	<!--Generated on 2017-09-08 08:19:28.153828 with ADRT.-->
 	<sdk:license id="android-sdk-license" type="text">Terms and Conditions
 
 This is the Android Software Development Kit License Agreement
@@ -1317,16 +1317,16 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		<sdk:path>m2repository</sdk:path>
 	</sdk:extra>
 	<sdk:extra>
-		<!--Generated from bid:163087974, branch:perforce-->
+		<!--Generated from bid:167710051, branch:perforce-->
 		<sdk:revision>
-			<sdk:major>57</sdk:major>
+			<sdk:major>58</sdk:major>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Tue Jul 25 14:44:09 2017.-->
-				<sdk:size>214565802</sdk:size>
-				<sdk:checksum type="sha1">4bc48d6d4d39944cf2b061e3f618cd9d447c75bb</sdk:checksum>
-				<sdk:url>google_m2repository_gms_v11_3_rc05_wear_2_0_4.zip</sdk:url>
+				<!--Built on: Wed Sep  6 06:12:47 2017.-->
+				<sdk:size>215426029</sdk:size>
+				<sdk:checksum type="sha1">05086add9e3a0eb1b67111108d7757a4337c3f10</sdk:checksum>
+				<sdk:url>google_m2repository_gms_v11_3_rc05_wear_2_0_5.zip</sdk:url>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
@@ -1401,16 +1401,16 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&
 		<sdk:path>google_play_services_froyo</sdk:path>
 	</sdk:extra>
 	<sdk:extra>
-		<!--Generated from bid:163088463, branch:perforce-->
+		<!--Generated from bid:164902609, branch:perforce-->
 		<sdk:revision>
-			<sdk:major>43</sdk:major>
+			<sdk:major>44</sdk:major>
 		</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Tue Jul 25 14:44:00 2017.-->
-				<sdk:size>21391284</sdk:size>
-				<sdk:checksum type="sha1">6b072d5b96fb8726405d363ccdbb4d26bec0b54f</sdk:checksum>
-				<sdk:url>google_play_services_v11_3_rc05.zip</sdk:url>
+				<!--Built on: Thu Aug 10 14:27:42 2017.-->
+				<sdk:size>13796755</sdk:size>
+				<sdk:checksum type="sha1">d2bb583a3f62b068d448df10544c1852d910526f</sdk:checksum>
+				<sdk:url>google_play_services_v12_1_rc11.zip</sdk:url>
 			</sdk:archive>
 		</sdk:archives>
 		<sdk:uses-license ref="android-sdk-license"/>
diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix
index 71ce2c3d079..ab5d570a327 100644
--- a/pkgs/development/mobile/androidenv/addons.nix
+++ b/pkgs/development/mobile/androidenv/addons.nix
@@ -296,8 +296,8 @@ in
   google_play_services = buildGoogleApis {
     name = "google_play_services";
     src = fetchurl {
-      url = https://dl.google.com/android/repository/google_play_services_v11_3_rc05.zip;
-      sha1 = "6b072d5b96fb8726405d363ccdbb4d26bec0b54f";
+      url = https://dl.google.com/android/repository/google_play_services_v12_1_rc11.zip;
+      sha1 = "d2bb583a3f62b068d448df10544c1852d910526f";
     };
     meta = {
       description = "Google Play services client library and sample code";
@@ -305,4 +305,16 @@ in
     };
   };
 
+  instant_apps = buildGoogleApis {
+    name = "instant_apps_sdk";
+    src = fetchurl {
+      url = https://dl.google.com/android/repository/aiasdk-1.0.0.zip;
+      sha1 = "50074a0f0312ee1d0d81d2cddc3d84a8a9e97a53";
+    };
+    meta = {
+      description = "Android Instant Apps Development SDK";
+      url = "https://developer.android.com/";
+    };
+  };
+
 }
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 7c4792f560d..b766d9d9c31 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -5,7 +5,8 @@
 , zlib, glxinfo, xkeyboardconfig
 , includeSources
 }:
-{ platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false, useGooglePlayServices ? false }:
+{ platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false
+, useGooglePlayServices ? false, useInstantApps ? false }:
 
 let inherit (stdenv.lib) makeLibraryPath; in
 
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
     ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
     ''
       # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++
-      
+
       for i in mksdcard
       do
           patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 $i
@@ -55,29 +56,29 @@ stdenv.mkDerivation rec {
 
       ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
         # We must also patch the 64-bit emulator instances, if needed
-        
+
         for i in emulator emulator64-arm emulator64-mips emulator64-x86 emulator64-crash-service emulator-check qemu/linux-x86_64/qemu-system-*
         do
             patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i
             patchelf --set-rpath ${stdenv.cc.cc.lib}/lib64 $i
         done
       ''}
-      
+
       # The following scripts used SWT and wants to dynamically load some GTK+ stuff.
       # Creating these wrappers ensure that they can be found:
-      
+
       wrapProgram `pwd`/android \
         --prefix PATH : ${jdk}/bin \
         --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ glib gtk2 libXtst ]}
-    
+
       wrapProgram `pwd`/uiautomatorviewer \
         --prefix PATH : ${jdk}/bin \
         --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]}
-    
+
       wrapProgram `pwd`/hierarchyviewer \
         --prefix PATH : ${jdk}/bin \
         --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]}
-      
+
       # The emulators need additional libraries, which are dynamically loaded => let's wrap them
 
       ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") ''
@@ -92,15 +93,15 @@ stdenv.mkDerivation rec {
     ''}
 
     patchShebangs .
-    
+
     ${if stdenv.system == "i686-linux" then
       ''
         # The monitor requires some more patching
-        
+
         cd lib/monitor-x86
         patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux.so.2 monitor
         patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so
-        
+
         wrapProgram `pwd`/monitor \
           --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk2 atk stdenv.cc.cc libXtst ]}
 
@@ -109,30 +110,30 @@ stdenv.mkDerivation rec {
       else if stdenv.system == "x86_64-linux" then
       ''
         # The monitor requires some more patching
-        
+
         cd lib/monitor-x86_64
         patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 monitor
         patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so
-        
+
         wrapProgram `pwd`/monitor \
           --prefix LD_LIBRARY_PATH : ${makeLibraryPath [ gtk2 atk stdenv.cc.cc libXtst ]}
 
         cd ../..
       ''
       else ""}
-    
+
     # Symlink the other sub packages
-    
+
     cd ..
     ln -s ${platformTools}/platform-tools
     ln -s ${buildTools}/build-tools
     ln -s ${support}/support
-    
+
     # Symlink required Google API add-ons
-    
+
     mkdir -p add-ons
     cd add-ons
-    
+
     ${if useGoogleAPIs then
         stdenv.lib.concatMapStrings (platformVersion:
         if (builtins.hasAttr ("google_apis_"+platformVersion) addons) then
@@ -142,7 +143,7 @@ stdenv.mkDerivation rec {
           "ln -s ${googleApis}/* addon-google_apis-${platformVersion}\n"
         else "") platformVersions
       else ""}
-      
+
     cd ..
 
     # Symlink required extras
@@ -163,7 +164,10 @@ stdenv.mkDerivation rec {
     ${if useGooglePlayServices then
        "ln -s ${addons.google_play_services}/google-play-services google_play_services"
      else ""}
-      
+
+    ${stdenv.lib.optionalString useInstantApps
+       "ln -s ${addons.instant_apps}/whsdk instantapps"}
+
     cd ../..
 
     # Symlink required sources
@@ -183,10 +187,10 @@ stdenv.mkDerivation rec {
     cd ..
 
     # Symlink required platforms
-   
+
     mkdir -p platforms
     cd platforms
-    
+
     ${stdenv.lib.concatMapStrings (platformVersion:
       if (builtins.hasAttr ("platform_"+platformVersion) platforms) then
         let
@@ -195,14 +199,14 @@ stdenv.mkDerivation rec {
         "ln -s ${platform}/* android-${platformVersion}\n"
       else ""
     ) platformVersions}
-    
+
     cd ..
-    
+
     # Symlink required system images
-  
+
     mkdir -p system-images
     cd system-images
-    
+
     ${stdenv.lib.concatMapStrings (abiVersion:
       stdenv.lib.concatMapStrings (platformVersion:
         if (builtins.hasAttr ("sysimg_" + abiVersion + "_" + platformVersion) sysimages) then
@@ -218,9 +222,9 @@ stdenv.mkDerivation rec {
         else ""
       ) platformVersions
     ) abiVersions}
-    
+
     # Create wrappers to the most important tools and platform tools so that we can run them if the SDK is in our PATH
-    
+
     mkdir -p $out/bin
 
     for i in $out/libexec/tools/*
@@ -230,7 +234,7 @@ stdenv.mkDerivation rec {
             ln -sf $i $out/bin/$(basename $i)
         fi
     done
-    
+
     for i in $out/libexec/platform-tools/*
     do
         if [ ! -d $i ] && [ -x $i ]
@@ -247,7 +251,7 @@ stdenv.mkDerivation rec {
         fi
     done
   '';
-  
+
   buildInputs = [ unzip makeWrapper ];
 
   meta = {
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 56c810dfc54..470fb31b03b 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -165,6 +165,7 @@ rec {
     useGoogleAPIs = true;
     useExtraSupportLibs = true;
     useGooglePlayServices = true;
+    useInstantApps = true;
   };
 
   androidsdk_7_0 = androidsdk {
@@ -179,6 +180,7 @@ rec {
     useGoogleAPIs = true;
     useExtraSupportLibs = true;
     useGooglePlayServices = true;
+    useInstantApps = true;
   };
 
   androidsdk_7_1_1 = androidsdk {
@@ -193,6 +195,7 @@ rec {
     useGoogleAPIs = true;
     useExtraSupportLibs = true;
     useGooglePlayServices = true;
+    useInstantApps = true;
   };
 
   androidsdk_8_0 = androidsdk {
@@ -207,6 +210,7 @@ rec {
     useGoogleAPIs = true;
     useExtraSupportLibs = true;
     useGooglePlayServices = true;
+    useInstantApps = true;
   };
 
   androidndk = import ./androidndk.nix {
diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl
index 175fc0531b4..d32ad717cd7 100644
--- a/pkgs/development/mobile/androidenv/generate-addons.xsl
+++ b/pkgs/development/mobile/androidenv/generate-addons.xsl
@@ -60,6 +60,22 @@ in
     };
   };
 </xsl:for-each>
+
+<!-- Instant apps -->
+<xsl:for-each select="sdk:extra[sdk:path='instantapps']">
+  instant_apps = buildGoogleApis {
+    name = "instant_apps_sdk";
+    src = fetchurl {
+      url = https://dl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive/sdk:url"/>;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
+    };
+    meta = {
+      description = "Android Instant Apps Development SDK";
+      url = "https://developer.android.com/";
+    };
+  };
+</xsl:for-each>
+
 }
 </xsl:template>
 
diff --git a/pkgs/development/mobile/androidenv/repository-11.xml b/pkgs/development/mobile/androidenv/repository-11.xml
index 6d2c87178a6..3924d6ddd3b 100644
--- a/pkgs/development/mobile/androidenv/repository-11.xml
+++ b/pkgs/development/mobile/androidenv/repository-11.xml
@@ -15,7 +15,7 @@
  * limitations under the License.
 -->
 <sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<!--Generated on 2017-07-26 17:22:12.162164 with ADRT.-->
+	<!--Generated on 2017-09-08 08:20:34.788412 with ADRT.-->
 	<sdk:license id="android-sdk-license" type="text">Terms and Conditions
 
 This is the Android Software Development Kit License Agreement
@@ -296,39 +296,39 @@ This is the Android SDK Preview License Agreement (the &quot;License Agreement&q
 
 June 2014.</sdk:license>
 	<sdk:ndk>
-		<!--Generated from bid:4119039, branch:aosp-ndk-r15-release-->
+		<!--Generated from bid:4203891, branch:aosp-ndk-r15-release-->
 		<sdk:description>NDK</sdk:description>
 		<sdk:revision>15</sdk:revision>
 		<sdk:archives>
 			<sdk:archive>
-				<!--Built on: Wed Jun 21 12:06:49 2017.-->
-				<sdk:size>959321525</sdk:size>
-				<sdk:checksum type="sha1">05e3eec7e9ce1d09bb5401b41cf778a2ec19c819</sdk:checksum>
-				<sdk:url>android-ndk-r15b-darwin-x86_64.zip</sdk:url>
+				<!--Built on: Mon Jul 24 11:35:28 2017.-->
+				<sdk:size>960251267</sdk:size>
+				<sdk:checksum type="sha1">ea4b5d76475db84745aa8828000d009625fc1f98</sdk:checksum>
+				<sdk:url>android-ndk-r15c-darwin-x86_64.zip</sdk:url>
 				<sdk:host-os>macosx</sdk:host-os>
 				<sdk:host-bits>64</sdk:host-bits>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Wed Jun 21 12:07:17 2017.-->
-				<sdk:size>974035125</sdk:size>
-				<sdk:checksum type="sha1">2690d416e54f88f7fa52d0dcb5f539056a357b3b</sdk:checksum>
-				<sdk:url>android-ndk-r15b-linux-x86_64.zip</sdk:url>
+				<!--Built on: Mon Jul 24 11:35:55 2017.-->
+				<sdk:size>974976754</sdk:size>
+				<sdk:checksum type="sha1">0bf02d4e8b85fd770fd7b9b2cdec57f9441f27a2</sdk:checksum>
+				<sdk:url>android-ndk-r15c-linux-x86_64.zip</sdk:url>
 				<sdk:host-os>linux</sdk:host-os>
 				<sdk:host-bits>64</sdk:host-bits>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Wed Jun 21 12:05:55 2017.-->
-				<sdk:size>783838327</sdk:size>
-				<sdk:checksum type="sha1">74e45891d0cc99b077b3951aeba87d9c91df20a8</sdk:checksum>
-				<sdk:url>android-ndk-r15b-windows-x86.zip</sdk:url>
+				<!--Built on: Mon Jul 24 11:34:34 2017.-->
+				<sdk:size>784778144</sdk:size>
+				<sdk:checksum type="sha1">f2e47121feb73ec34ced5e947cbf1adc6b56246e</sdk:checksum>
+				<sdk:url>android-ndk-r15c-windows-x86.zip</sdk:url>
 				<sdk:host-os>windows</sdk:host-os>
 				<sdk:host-bits>32</sdk:host-bits>
 			</sdk:archive>
 			<sdk:archive>
-				<!--Built on: Wed Jun 21 12:06:20 2017.-->
-				<sdk:size>848796389</sdk:size>
-				<sdk:checksum type="sha1">126a1cd8985132c0383ab96579feed09ba402e22</sdk:checksum>
-				<sdk:url>android-ndk-r15b-windows-x86_64.zip</sdk:url>
+				<!--Built on: Mon Jul 24 11:35:03 2017.-->
+				<sdk:size>849733996</sdk:size>
+				<sdk:checksum type="sha1">970bb2496de0eada74674bb1b06d79165f725696</sdk:checksum>
+				<sdk:url>android-ndk-r15c-windows-x86_64.zip</sdk:url>
 				<sdk:host-os>windows</sdk:host-os>
 				<sdk:host-bits>64</sdk:host-bits>
 			</sdk:archive>
diff --git a/pkgs/development/mobile/androidenv/sys-img.xml b/pkgs/development/mobile/androidenv/sys-img.xml
index 06754b25076..2a720918c23 100644
--- a/pkgs/development/mobile/androidenv/sys-img.xml
+++ b/pkgs/development/mobile/androidenv/sys-img.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <sdk:sdk-sys-img xmlns:sdk="http://schemas.android.com/sdk/android/sys-img/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<!--Generated on 2017-07-26 17:22:12.517198 with ADRT.-->
+	<!--Generated on 2017-08-28 14:42:29.488243 with ADRT.-->
 	<sdk:license id="android-sdk-license" type="text">Terms and Conditions
 
 This is the Android Software Development Kit License Agreement
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index 9a4a19d5961..1333c4b59a4 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
   # XXX: in the Libs.private field of python3.pc
   buildInputs = [ ncurses ];
 
-  preConfigure = ''
-    export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.sitePackages}/gi/overrides"
-  '';
+  configureFlags = [
+    "--with-pygi-overrides-dir=$(out)/${python.sitePackages}/gi/overrides"
+  ];
 
   propagatedBuildInputs = [ gst-plugins-base pygobject3 ];
 
diff --git a/pkgs/development/python-modules/keepkey/default.nix b/pkgs/development/python-modules/keepkey/default.nix
index e54ed52d9c5..3e58e9e3e03 100644
--- a/pkgs/development/python-modules/keepkey/default.nix
+++ b/pkgs/development/python-modules/keepkey/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchPypi, buildPythonPackage, ecdsa
-, mnemonic, protobuf3_2, hidapi }:
+, mnemonic, protobuf, hidapi }:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714";
   };
 
-  propagatedBuildInputs = [ protobuf3_2 hidapi ];
+  propagatedBuildInputs = [ protobuf hidapi ];
 
   buildInputs = [ ecdsa mnemonic ];
 
diff --git a/pkgs/development/python-modules/linuxfd/default.nix b/pkgs/development/python-modules/linuxfd/default.nix
new file mode 100644
index 00000000000..16a39713672
--- /dev/null
+++ b/pkgs/development/python-modules/linuxfd/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "linuxfd";
+  version = "1.4.4";
+
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b8bf6847b5c8e50e0842024d2911bfc1048db9abf37582a310cd57070971d692";
+  };
+
+  # no tests
+  doCheck = false;
+
+  meta = {
+    description = "Python bindings for the Linux eventfd/signalfd/timerfd/inotify syscalls";
+    homepage = https://github.com/FrankAbelbeck/linuxfd;
+    license = with lib.licenses; [ lgpl3 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyscard/default.nix b/pkgs/development/python-modules/pyscard/default.nix
index bee5d760c0c..0a98ee02e58 100644
--- a/pkgs/development/python-modules/pyscard/default.nix
+++ b/pkgs/development/python-modules/pyscard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, buildPythonPackage, swig, pcsclite }:
+{ stdenv, fetchurl, buildPythonPackage, swig, pcsclite, PCSC }:
 
 buildPythonPackage rec {
   version = "1.9.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   NIX_CFLAGS_COMPILE = "-isystem ${pcsclite}/include/PCSC/";
 
   propagatedBuildInputs = [ pcsclite ];
-  buildInputs = [ swig ];
+  buildInputs = [ swig ] ++ stdenv.lib.optional stdenv.isDarwin PCSC;
 
   meta = {
     homepage = https://pyscard.sourceforge.io/;
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 388d27e0686..b8fb107968b 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -8,7 +8,7 @@
 , linuxPackages ? null
 , numpy
 , six
-, protobuf3_2
+, protobuf
 , swig
 , werkzeug
 , mock
@@ -94,7 +94,7 @@ buildPythonPackage rec {
     );
 
   propagatedBuildInputs = with stdenv.lib;
-    [ numpy six protobuf3_2 swig werkzeug mock ]
+    [ numpy six protobuf swig werkzeug mock ]
     ++ optionals cudaSupport [ cudatoolkit cudnn stdenv.cc ];
 
   # Note that we need to run *after* the fixup phase because the
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index 72d73022cab..c473403f53d 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, buildPythonPackage, protobuf3_2, hidapi, ecdsa, mnemonic
+{ lib, fetchPypi, buildPythonPackage, protobuf, hidapi, ecdsa, mnemonic
 , requests
 }:
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     sha256 = "6bdb69fc125ba705854e21163be6c7da3aa17c2a3a84f40b6d8a3f6e4a8cb314";
   };
 
-  propagatedBuildInputs = [ protobuf3_2 hidapi requests ];
+  propagatedBuildInputs = [ protobuf hidapi requests ];
 
   buildInputs = [ ecdsa mnemonic ];
 
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 27d7cb30658..e9d7f4ea194 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkgconfig, python2Packages, which, procps, gdb }:
+{ stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkgconfig, python2Packages, which, procps, gdb, capnproto }:
 
 stdenv.mkDerivation rec {
-  version = "4.5.0";
+  version = "5.0.0";
   name = "rr-${version}";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "rr";
     rev = version;
-    sha256 = "114g1yhpjfyxcn0fkvnfi03lhrs11pj0a1945j2j8z90hx4dwba8";
+    sha256 = "1cc1dbq129qlmrysk7cmaihcd9c93csi79dv3kqsnnprbz480z9i";
   };
 
   postPatch = ''
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    cmake libpfm zlib python2Packages.python pkgconfig python2Packages.pexpect which procps gdb
+    cmake libpfm zlib python2Packages.python pkgconfig python2Packages.pexpect which procps gdb capnproto
   ];
   cmakeFlags = [
     "-DCMAKE_C_FLAGS_RELEASE:STRING="
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 438eb8e02ec..c3db9b06ef5 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -32,15 +32,15 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "2.15";
+    version = "2.16";
     url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
-    sha256 = "1cv890khg5zqk844y12daw2ql4vk4garnqfk273hiyw1pw650bfq";
+    sha256 = "089cvb7gvhcq5kx1h114fmr09fmj84cz2bjvisa48v6dpv5fsqd5";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     inherit (unstable) version;
-    sha256 = "0psdkhf4gn4nkpp2fvwy0b2a0s5b6wgf40vlbdf6ii45kj59mn7f";
+    sha256 = "1q9dnifz02l96s1bafb4w2z779k8ancl37zd7wxbkf0ks2vrnln0";
     owner = "wine-compholio";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 47dc42fed5e..80e4ae4288c 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -20,45 +20,18 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = [ "-march=core2" ];
 
   enableParallelBuilding = true;
-  outputs = [ "out" "kmod" "examples" ];
+  outputs = [ "out" "kmod" ];
 
   hardeningDisable = [ "pic" ];
 
   configurePhase = ''
-    make T=x86_64-native-linuxapp-gcc config
-  '';
-
-  buildPhase = ''
-    make T=x86_64-native-linuxapp-gcc install
-    make T=x86_64-native-linuxapp-gcc examples
+    make T=${RTE_TARGET} config
   '';
 
   installPhase = ''
-    install -m 0755 -d $out/lib
-    install -m 0644 ${RTE_TARGET}/lib/*.a $out/lib
-
-    install -m 0755 -d $out/include
-    install -m 0644 ${RTE_TARGET}/include/*.h $out/include
-
-    install -m 0755 -d $out/include/generic
-    install -m 0644 ${RTE_TARGET}/include/generic/*.h $out/include/generic
-
-    install -m 0755 -d $out/include/exec-env
-    install -m 0644 ${RTE_TARGET}/include/exec-env/*.h $out/include/exec-env
-
-    install -m 0755 -d $out/${RTE_TARGET}
-    install -m 0644 ${RTE_TARGET}/.config $out/${RTE_TARGET}
-
-    install -m 0755 -d $out/${RTE_TARGET}/include
-    install -m 0644 ${RTE_TARGET}/include/rte_config.h $out/${RTE_TARGET}/include
-
-    cp -pr mk $out/
-
-    mkdir -p $kmod/lib/modules/${kernel.modDirVersion}/kernel/drivers/net
-    cp ${RTE_TARGET}/kmod/*.ko $kmod/lib/modules/${kernel.modDirVersion}/kernel/drivers/net
-
-    mkdir -p $examples/bin
-    find examples ${RTE_TARGET}/app -type f -executable -exec cp {} $examples/bin \;
+    make install-runtime install-sdk DESTDIR=$out prefix= includedir=/include datadir=/
+    make install-sdk DESTDIR=$out prefix= includedir=/include datadir=/
+    make install-kmod DESTDIR=$kmod
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/odp-dpdk/configure.patch b/pkgs/os-specific/linux/odp-dpdk/configure.patch
new file mode 100644
index 00000000000..3dadc98e834
--- /dev/null
+++ b/pkgs/os-specific/linux/odp-dpdk/configure.patch
@@ -0,0 +1,32 @@
+diff --git a/configure.ac b/configure.ac
+index 001ebfc2893b..7d19ebcd213f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -215,7 +215,7 @@ AC_SUBST([testdir])
+ ##########################################################################
+ AM_CONDITIONAL([netmap_support], [test x$netmap_support = xyes ])
+ AM_CONDITIONAL([PKTIO_DPDK], [test x$pktio_dpdk_support = xyes ])
+-AM_CONDITIONAL([HAVE_PCAP], [test $have_pcap = yes])
++AM_CONDITIONAL([HAVE_PCAP], [test x$have_pcap = xyes])
+ AM_CONDITIONAL([DPDK_DEFAULT_DIR], [test "x${DPDK_DEFAULT_DIR}" = "x1"])
+ AM_CONDITIONAL([test_installdir], [test "$testdir" != ""])
+ AM_CONDITIONAL([cunit_support], [test x$cunit_support = xyes ])
+@@ -320,18 +320,6 @@ ODP_CFLAGS="$ODP_CFLAGS -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonli
+ ODP_CFLAGS="$ODP_CFLAGS -Wformat-security -Wundef -Wwrite-strings"
+ ODP_CFLAGS="$ODP_CFLAGS -std=gnu99"
+ 
+-dnl Use -Werror in the checks below since Clang emits a warning instead of
+-dnl an error when it encounters an unknown warning option.
+-AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough=0],
+-                      [ODP_CFLAGS="$ODP_CFLAGS -Wimplicit-fallthrough=0"],
+-                      [], [-Werror])
+-AX_CHECK_COMPILE_FLAG([-Wformat-truncation=0],
+-                      [ODP_CFLAGS="$ODP_CFLAGS -Wformat-truncation=0"],
+-                      [], [-Werror])
+-AX_CHECK_COMPILE_FLAG([-Wformat-overflow=0],
+-                      [ODP_CFLAGS="$ODP_CFLAGS -Wformat-overflow=0"],
+-                      [], [-Werror])
+-
+ # Extra flags for example to suppress certain warning types
+ ODP_CFLAGS="$ODP_CFLAGS $ODP_CFLAGS_EXTRA"
+ 
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 8182394536c..a444243e802 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "odp-dpdk-${version}";
-  version = "1.12.0.0";
+  version = "1.15.0.0";
 
   src = fetchgit {
     url = "https://git.linaro.org/lng/odp-dpdk.git";
-    rev = "5e370e1113973feafb43a8e57d4c59be40e9aeab";
-    sha256 = "0rrakbxnbsqaj148xaz2hwxjvg3cmzlynfkvcp8w56sqyly75d0n";
+    rev = "d8533b4e575d62c9f6f2caedd38d98a1a56fb8d3";
+    sha256 = "1p09rw7dxxqcxxrdb8wbwp2imapyjvdbvap7s9km2i9hbd8ipdif";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -19,11 +19,15 @@ stdenv.mkDerivation rec {
   dontDisableStatic = true;
 
   configureFlags = [
-    "--with-platform=linux-dpdk"
     "--disable-shared"
     "--with-sdk-install-path=${dpdk}/${RTE_TARGET}"
   ];
 
+  patches = [
+    ./configure.patch
+    ./odp_crypto.patch
+  ];
+
   meta = with stdenv.lib; {
     description = "Open Data Plane optimized for DPDK";
     homepage = http://www.opendataplane.org;
diff --git a/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch b/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch
new file mode 100644
index 00000000000..44ef155d69f
--- /dev/null
+++ b/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch
@@ -0,0 +1,18 @@
+diff --git a/platform/linux-dpdk/odp_crypto.c b/platform/linux-dpdk/odp_crypto.c
+index d95b157805dc..d13ad5bbde95 100644
+--- a/platform/linux-dpdk/odp_crypto.c
++++ b/platform/linux-dpdk/odp_crypto.c
+@@ -900,11 +900,12 @@ int odp_crypto_session_create(odp_crypto_session_param_t *param,
+ 	/* Setup session */
+ 	session = rte_cryptodev_sym_session_create(cdev_id, first_xform);
+ 
+-	if (session == NULL)
++	if (session == NULL) {
+ 		/* remove the crypto_session_entry_t */
+ 		memset(entry, 0, sizeof(*entry));
+ 		free_session(entry);
+ 		return -1;
++	}
+ 
+ 	entry->rte_session  = (intptr_t)session;
+ 	entry->cipher_xform = cipher_xform;
diff --git a/pkgs/os-specific/linux/ofp/default.nix b/pkgs/os-specific/linux/ofp/default.nix
index e083c0f0457..3b2a22e452d 100644
--- a/pkgs/os-specific/linux/ofp/default.nix
+++ b/pkgs/os-specific/linux/ofp/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     platforms =  [ "x86_64-linux" ];
     maintainers = [ maintainers.abuibrahim ];
+    broken = true;
   };
 }
diff --git a/pkgs/os-specific/linux/pktgen/Makefile.patch b/pkgs/os-specific/linux/pktgen/Makefile.patch
new file mode 100644
index 00000000000..da948bcc5a0
--- /dev/null
+++ b/pkgs/os-specific/linux/pktgen/Makefile.patch
@@ -0,0 +1,34 @@
+diff --git a/app/Makefile b/app/Makefile
+index 5078b9a..99b208a 100644
+--- a/app/Makefile
++++ b/app/Makefile
+@@ -46,29 +46,10 @@ APP = pktgen
+ CFLAGS += -O3 -g $(WERROR_FLAGS) -fno-stack-protector
+ CFLAGS += -I$(RTE_SRCDIR) -I$(RTE_SRCDIR)/../lib/common
+ 
+-dpdk_ver := $(RTE_SDK)/xusertools/dpdk-version.sh
+-pktgen_ver := $(RTE_SRCDIR)/../tools/dpdk-version.sh
+-ver_cmd := $(if $(wildcard $(dpdk_ver)),$(dpdk_ver),$(pktgen_ver))
+-# $(info ver_cmd=$(ver_cmd))
+-
+-yy := $(shell $(ver_cmd) -yy)
+-# mm := $(shell $(ver_cmd) -mm)
+-
+-# $(info yy=$(yy))
+-
+-ifeq ($(yy),17)
+ COMMON_PRE := $(RTE_SRCDIR)/../lib/common
+ LUA_PRE := $(RTE_SRCDIR)/../lib/lua/src
+ CLI_PRE := $(RTE_SRCDIR)/../lib/cli
+ GUI_PRE := $(RTE_SRCDIR)/../gui/gui
+-else
+-ifeq ($(yy),16)
+-COMMON_PRE := $(RTE_SRCDIR)/../lib/common/lib/common
+-LUA_PRE := $(RTE_SRCDIR)/../lib/lua/src/lib/lua/src
+-CLI_PRE := $(RTE_SRCDIR)/../lib/cli/lib/cli
+-GUI_PRE := $(RTE_SRCDIR)/../gui
+-endif
+-endif
+ 
+ COMMON_LIB := $(COMMON_PRE)/$(RTE_TARGET)
+ LUA_LIB    := $(LUA_PRE)/$(RTE_TARGET)
diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix
index 68237d70f51..9bc8967453b 100644
--- a/pkgs/os-specific/linux/pktgen/default.nix
+++ b/pkgs/os-specific/linux/pktgen/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "pktgen-${version}";
-  version = "3.1.0";
+  version = "3.4.0";
 
   src = fetchurl {
-    url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-v${version}.tar.gz";
-    sha256 = "1a1dl8h8p76wlcjlvn736mz4nc2nc5c3764rlydiz86wl45mb0nb";
+    url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.gz";
+    sha256 = "0fcyb56d4mkvchi5i8s3m210f5c3xa8zbjb08ranpa1a2k1kzfg5";
   };
 
   nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ];
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = [ "-march=core2" ];
 
+  patches = [ ./Makefile.patch ];
+
   postPatch = ''
     substituteInPlace lib/lua/src/luaconf.h --replace /usr/local $out
     substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu
@@ -31,7 +33,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -d $out/bin
-    install -m 0755 app/app/${RTE_TARGET}/app/pktgen $out/bin
+    install -m 0755 app/${RTE_TARGET}/pktgen $out/bin
     install -d $out/lib/lua/5.3
     install -m 0644 Pktgen.lua $out/lib/lua/5.3
   '';
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 86995f44004..ebc2685c122 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -21,6 +21,10 @@ buildGoPackage rec {
     buildFlagsArray+=("-ldflags" "-X github.com/hashicorp/consul/version.GitDescribe=v${version} -X github.com/hashicorp/consul/version.Version=${version} -X github.com/hashicorp/consul/version.VersionPrerelease=")
   '';
 
+  preFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -delete_rpath $out/lib $bin/bin/consul
+  '';
+
   meta = with stdenv.lib; {
     description = "Tool for service discovery, monitoring and configuration";
     homepage = https://www.consul.io/;
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index ba514ccdbcb..bd80560a0cb 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -36,18 +36,14 @@
 
 stdenv.mkDerivation rec {
   name = "${if libOnly then "lib" else ""}pulseaudio-${version}";
-  version = "10.0";
+  version = "11.0";
 
   src = fetchurl {
     url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
-    sha256 = "0mrg8qvpwm4ifarzphl3749p7p050kdx1l6mvsaj03czvqj6h653";
+    sha256 = "0sf92knqkvqmfhrbz4vlsagzqlps72wycpmln5dygicg07a0a8q7";
   };
 
-  patches = [ ./caps-fix.patch ]
-            ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch {
-              url = "https://bugs.freedesktop.org/attachment.cgi?id=127889";
-              sha256 = "063h5vmh4ykgxjbxyxjlj6qhyyxhazbh3p18p1ik69kq24nkny9m";
-            });
+  patches = [ ./caps-fix.patch ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/tools/compression/bsc/default.nix b/pkgs/tools/compression/bsc/default.nix
index be512e2ae68..4c88e58e6c1 100644
--- a/pkgs/tools/compression/bsc/default.nix
+++ b/pkgs/tools/compression/bsc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl } :
+{ stdenv, fetchurl, openmp ? null }:
 
 stdenv.mkDerivation rec {
   name = "bsc-${version}";
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin openmp;
+
+  prePatch = ''
+    substituteInPlace makefile \
+        --replace 'g++' '$(CXX)'
+  '';
+
   preInstall = ''
     makeFlagsArray+=("PREFIX=$out")
   '';
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index af76e429d31..0bdb7413f22 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -28,7 +28,7 @@ let
       pkgs.flask
       pkgs.prettytable
       pkgs.requests
-      pkgs.xattr
+      pkgs.pyxattr
     ]))
     # NOTE: `python2` has to be *AFTER* the above `python2.withPackages`,
     #       to ensure that the packages are available but the `toPythonPath`
@@ -73,6 +73,9 @@ rec {
     ./glusterfs-use-PATH-instead-of-hardcodes.patch
     ./glusterfs-fix-unsubstituted-autoconf-macros.patch
     ./glusterfs-python-remove-find_library.patch
+    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1489610 is fixed
+    ./glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
+    ./glusterfs-glusterfind-log-remote-node_cmd-error.patch
   ];
 
    # Note that the VERSION file is something that is present in release tarballs
@@ -136,8 +139,14 @@ rec {
     # Luckily, `libexec` scripts are never supposed to be invoked straight from PATH,
     # instead they are invoked directly from `gluster` or `glusterd`, which is why it is
     # sufficient to set PYTHONPATH for those executables.
+    #
+    # Exceptions to these rules are the `glusterfind` `brickfind.py` and `changelog.py`
+    # crawlers, which are directly invoked on other gluster nodes using a remote SSH command
+    # issues by `glusterfind`.
 
     wrapProgram $out/share/glusterfs/scripts/eventsdash.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/libexec/glusterfs/glusterfind/brickfind.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
+    wrapProgram $out/libexec/glusterfs/glusterfind/changelog.py --set PATH "$GLUSTER_PATH" --set PYTHONPATH "$GLUSTER_PYTHONPATH" --set LD_LIBRARY_PATH "$GLUSTER_LD_LIBRARY_PATH"
     '';
 
   doInstallCheck = true;
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
new file mode 100644
index 00000000000..8a3da0d6db7
--- /dev/null
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
@@ -0,0 +1,27 @@
+From 965eb1e08e10ff82bb91d485dc24672acc7c72cf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Fri, 8 Sep 2017 00:51:53 +0200
+Subject: [PATCH] Fix "glusterfind saves var data under $prefix instead of
+ localstatedir". Fixes #1489610
+
+Change-Id: I6d71297fb7a5a9d12cc3726b4a4ad94efcd644f9
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0c3a38689..d508fda71 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1057,7 +1057,7 @@ if test "x$prefix" = xNONE; then
+ 	prefix=$ac_default_prefix
+ fi
+ GLUSTERFS_LIBEXECDIR="$(eval echo $prefix)/libexec/glusterfs"
+-GLUSTERFSD_MISCDIR="$(eval echo $prefix)/var/lib/misc/glusterfsd"
++GLUSTERFSD_MISCDIR="$(eval echo $localstatedir)/var/lib/misc/glusterfsd"
+ prefix=$old_prefix
+ 
+ ### Dirty hacky stuff to make LOCALSTATEDIR work
+-- 
+2.12.0
+
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
new file mode 100644
index 00000000000..8bc00fdbf75
--- /dev/null
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
@@ -0,0 +1,49 @@
+From 92a6b84a37e7e2e0ec0655ca45cedb64ab72080e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Fri, 8 Sep 2017 02:40:01 +0200
+Subject: [PATCH] glusterfind: Log remote stderr on `node_cmd` error.
+
+The problem of lost stderr was introduced in
+commit feea851fad4f89b48bfe89fe3b75250cc7bd6501.
+
+Change-Id: Ic98f9bc9682ae3bd9c3ebea3855667fc8ba2843d
+---
+ tools/glusterfind/src/main.py | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/tools/glusterfind/src/main.py b/tools/glusterfind/src/main.py
+index c125f970a..6fffce4b3 100644
+--- a/tools/glusterfind/src/main.py
++++ b/tools/glusterfind/src/main.py
+@@ -75,12 +75,27 @@ def node_cmd(host, host_uuid, task, cmd, args, opts):
+             cmd = ["ssh",
+                    "-oNumberOfPasswordPrompts=0",
+                    "-oStrictHostKeyChecking=no",
++                   # We force TTY allocation (-t -t) so that Ctrl+C is handed
++                   # through; see:
++                   #   https://bugzilla.redhat.com/show_bug.cgi?id=1382236
++                   # Note that this turns stderr of the remote `cmd`
++                   # into stdout locally.
+                    "-t",
+                    "-t",
+                    "-i", pem_key_path,
+                    "root@%s" % host] + cmd
+ 
+-        execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
++        (returncode, err, out) = execute(cmd, logger=logger)
++        if returncode != 0:
++            # Because the `-t -t` above turns the remote stderr into
++            # local stdout, we need to log both stderr and stdout
++            # here to print all error messages.
++            fail("%s - %s failed; stdout (including remote stderr):\n"
++                 "%s\n"
++                 "stderr:\n"
++                 "%s" % (host, task, out, err),
++                 returncode,
++                 logger=logger)
+ 
+         if opts.get("copy_outfile", False) and not localdir:
+             cmd_copy = ["scp",
+-- 
+2.12.0
+
diff --git a/pkgs/tools/misc/fontforge/fontforge-fonttools.nix b/pkgs/tools/misc/fontforge/fontforge-fonttools.nix
index c65d8ed375d..551fc71b7a7 100644
--- a/pkgs/tools/misc/fontforge/fontforge-fonttools.nix
+++ b/pkgs/tools/misc/fontforge/fontforge-fonttools.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, zlib}:
+{ stdenv, fetchFromGitHub, zlib }:
 
 stdenv.mkDerivation rec {
   version = "20160404";
@@ -11,14 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "15nacq84n9gvlzp3slpmfrrbh57kfb6lbdlc46i7aqgci4qv6fg0";
   };
 
-  buildInputs = [zlib];
+  buildInputs = [ zlib ];
 
   setSourceRoot = ''export sourceRoot="$(echo */contrib/fonttools)"'';
 
   installPhase = ''
     mkdir -p "$out"/{bin,share/doc/fontforge-fonttools}
     for i in *.c; do
-      gcc "$i" -lz -lm --std=c99 -o "$out"/bin/$(basename "$i" .c)
+      $CC "$i" -lz -lm --std=c99 -o "$out"/bin/$(basename "$i" .c)
     done
     cp README* "$out/share/doc/fontforge-fonttools"
   '';
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index 820f193e5e2..c7fbeddd13a 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -2,11 +2,11 @@
   yubikey-personalization, libu2f-host, libusb1 }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "yubikey-manager-0.3.1";
+  name = "yubikey-manager-0.4.0";
 
   srcs = fetchurl {
     url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz";
-    sha256 = "0vrhaqb8yc1qjq25k9dv8gmqxhbf6aa047i6dvz1lcraq6zwnq6g";
+    sha256 = "0dc0mqg8r6kjh0s2rmrggfxbx9imslajjrj80rffcvg64a2vgsgb";
   };
 
   propagatedBuildInputs =
@@ -16,6 +16,7 @@ pythonPackages.buildPythonPackage rec {
       cryptography
       pyscard
       pyusb
+      pyopenssl
       six
     ] ++ [
       libu2f-host
@@ -32,6 +33,9 @@ pythonPackages.buildPythonPackage rec {
     _YKMAN_COMPLETE=source $out/bin/ykman > $out/etc/bash_completion.d/ykman.sh ||true
   '';
 
+  # See https://github.com/NixOS/nixpkgs/issues/29169
+  doCheck = false;
+
   meta = with lib; {
     homepage = https://developers.yubico.com/yubikey-manager;
     description = "Command line tool for configuring any YubiKey over all USB transports.";
diff --git a/pkgs/tools/networking/dibbler/default.nix b/pkgs/tools/networking/dibbler/default.nix
index 82ef3b218d0..fd306a0bcca 100644
--- a/pkgs/tools/networking/dibbler/default.nix
+++ b/pkgs/tools/networking/dibbler/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     "--enable-resolvconf"
   ];
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-D__APPLE_USE_RFC_2292=1";
+
   meta = with stdenv.lib; {
     description = "Portable DHCPv6 implementation";
     homepage = http://www.klub.com.pl/dhcpv6/;
diff --git a/pkgs/tools/networking/eggdrop/default.nix b/pkgs/tools/networking/eggdrop/default.nix
index a9f2419b136..fda2b47a244 100644
--- a/pkgs/tools/networking/eggdrop/default.nix
+++ b/pkgs/tools/networking/eggdrop/default.nix
@@ -1,5 +1,9 @@
 { stdenv, fetchFromGitHub, tcl }:
 
+let
+  shlib = if stdenv.isDarwin then "dylib" else "so";
+in
+
 stdenv.mkDerivation rec {
   name = "eggdrop-${version}";
   version = "1.6.21-nix1";
@@ -25,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--with-tcllib=${tcl}/lib/lib${tcl.libPrefix}.so"
+    "--with-tcllib=${tcl}/lib/lib${tcl.libPrefix}.${shlib}"
     "--with-tclinc=${tcl}/include/tcl.h"
   ];
 
diff --git a/pkgs/tools/networking/envoy/default.nix b/pkgs/tools/networking/envoy/default.nix
index f5362d173e7..83af542b8ad 100644
--- a/pkgs/tools/networking/envoy/default.nix
+++ b/pkgs/tools/networking/envoy/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, pkgconfig, bazel, c-ares, backward-cpp
 , libevent, gtest, gperftools, http-parser, lightstep-tracer-cpp
-, nghttp2, protobuf3_2, tclap, rapidjson, spdlog, boringssl, buildEnv
+, nghttp2, protobuf, tclap, rapidjson, spdlog, boringssl, buildEnv
 }:
 
 let
@@ -85,7 +85,7 @@ let
     };
 
     protobuf = {
-      pkg = protobuf3_2;
+      pkg = protobuf;
       srcs = ''glob(["lib/libproto*.so"])'';
       hdrs = ''glob(["include/google/protobuf/**/*.h"])'';
       includes = ''["include"]'';
@@ -201,7 +201,7 @@ let
     http-parser
     lightstep-tracer-cpp
     nghttp2
-    protobuf3_2
+    protobuf
     tclap
     rapidjson
     spdlog
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 332edce45cd..06c595f7c6d 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -10,13 +10,13 @@ assert usePcre -> pcre != null;
 stdenv.mkDerivation rec {
   pname = "haproxy";
   majorVersion = "1.7";
-  minorVersion = "8";
+  minorVersion = "9";
   version = "${majorVersion}.${minorVersion}";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://www.haproxy.org/download/${majorVersion}/src/${name}.tar.gz";
-    sha256 = "0hp1k957idaphhmw4m0x8cdzdw9ga1mzgsnk2m0as86xrqy1b47c";
+    url = "https://www.haproxy.org/download/${majorVersion}/src/${name}.tar.gz";
+    sha256 = "1072337e54fa188dc6e0cfe3ba4c2200b07082e321cbfe5a0882d85d54db068e";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/minidlna/default.nix b/pkgs/tools/networking/minidlna/default.nix
index 9e8e0c180d7..56a101b3157 100644
--- a/pkgs/tools/networking/minidlna/default.nix
+++ b/pkgs/tools/networking/minidlna/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ffmpeg, flac, libvorbis, libogg, libid3tag, libexif, libjpeg, sqlite, gettext }:
 
-let version = "1.1.5"; in
+let version = "1.2.1"; in
 
 stdenv.mkDerivation {
   name = "minidlna-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/minidlna/minidlna/${version}/minidlna-${version}.tar.gz";
-    sha256 = "16xb2nz8g1dwcail1zmpj8s426pygz0fdpd6ip6zaamv2q2asxw4";
+    sha256 = "1v1ffhmaqxpvf2vv4yyvjsks4skr9y088853awsh7ixh7ai8nf37";
   };
 
   preConfigure = ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
       MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully
       compliant with DLNA/UPnP-AV clients.
     '';
-    homepage = http://sourceforge.net/projects/minidlna/;
+    homepage = https://sourceforge.net/projects/minidlna/;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index db01b012a14..583100e0f37 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -63,7 +63,7 @@ in p.pkgs.buildPythonPackage rec {
   ];
 
   buildInputs = with p.pkgs; [
-    beautifulsoup4 flask pytz pytest pytestrunner protobuf3_2 glibcLocales
+    beautifulsoup4 flask pytz pytest pytestrunner protobuf glibcLocales
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9511dde16c8..211bd1f70f1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -105,6 +105,8 @@ with pkgs;
 
   docker_compose = pythonPackages.docker_compose;
 
+  dotfiles = callPackage ../applications/misc/dotfiles { };
+
   dotnetenv = callPackage ../build-support/dotnetenv {
     dotnetfx = dotnetfx40;
   };
@@ -789,7 +791,9 @@ with pkgs;
 
   burpsuite = callPackage ../tools/networking/burpsuite {};
 
-  c3d = callPackage ../applications/graphics/c3d {};
+  c3d = callPackage ../applications/graphics/c3d {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
 
   cabal2nix = haskell.lib.overrideCabal haskellPackages.cabal2nix (drv: {
     isLibrary = false;
@@ -1294,7 +1298,9 @@ with pkgs;
 
   atool = callPackage ../tools/archivers/atool { };
 
-  bsc = callPackage ../tools/compression/bsc { };
+  bsc = callPackage ../tools/compression/bsc {
+    inherit (llvmPackages) openmp;
+  };
 
   bzip2 = callPackage ../tools/compression/bzip2 { };
 
@@ -1451,7 +1457,7 @@ with pkgs;
       clangStdenv = libcxxStdenv; # workaround for https://github.com/NixOS/nixpkgs/issues/28223
       python = python2;
       inherit (python2Packages) gyp;
-      protobuf = protobuf3_2.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
+      protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
     table = callPackage ../tools/inputmethods/ibus-engines/ibus-table {
@@ -1938,7 +1944,7 @@ with pkgs;
       clangStdenv = libcxxStdenv; # workaround for https://github.com/NixOS/nixpkgs/issues/28223
       python = python2;
       inherit (python2Packages) gyp;
-      protobuf = protobuf3_2.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
+      protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
     table-other = callPackage ../tools/inputmethods/fcitx-engines/fcitx-table-other { };
@@ -2797,6 +2803,10 @@ with pkgs;
 
   kpcli = callPackage ../tools/security/kpcli { };
 
+  # kget is part of kde-applications but the released version is still for KDE 4
+  # This needs to move to the proper place when the "frameworks" branch is released
+  kget = libsForQt5.callPackage ../applications/networking/kget { };
+
   krename = libsForQt5.callPackage ../applications/misc/krename { };
 
   kronometer = libsForQt5.callPackage ../tools/misc/kronometer { };
@@ -5229,9 +5239,7 @@ with pkgs;
     stdenv = overrideCC stdenv gcc49;
   };
 
-  bigloo = callPackage ../development/compilers/bigloo {
-    stdenv = overrideCC stdenv gcc49;
-  };
+  bigloo = callPackage ../development/compilers/bigloo { };
 
   binaryen = callPackage ../development/compilers/binaryen { };
 
@@ -5500,7 +5508,7 @@ with pkgs;
     isl = isl_0_17;
   }));
 
-  gfortran = gfortran5;
+  gfortran = gfortran6;
 
   gfortran48 = wrapCC (gcc48.cc.override {
     name = "gfortran";
@@ -6354,7 +6362,7 @@ with pkgs;
   mesos = callPackage ../applications/networking/cluster/mesos {
     sasl = cyrus_sasl;
     inherit (pythonPackages) python boto setuptools wrapPython;
-    pythonProtobuf = pythonPackages.protobuf2_6;
+    pythonProtobuf = pythonPackages.protobuf;
     perf = linuxPackages.perf;
   };
 
@@ -7547,6 +7555,8 @@ with pkgs;
 
   afflib = callPackage ../development/libraries/afflib { };
 
+  aften = callPackage ../development/libraries/aften { };
+
   alure = callPackage ../development/libraries/alure { };
 
   agg = callPackage ../development/libraries/agg { };
@@ -9988,17 +9998,11 @@ with pkgs;
 
   postgis = callPackage ../development/libraries/postgis { };
 
-  protobuf = protobuf2_6;
-  protobuf3_0 = lowPrio (callPackage ../development/libraries/protobuf/3.0.nix { });
+  protobuf = callPackage ../development/libraries/protobuf/3.4.nix { };
+
   protobuf3_1 = callPackage ../development/libraries/protobuf/3.1.nix { };
-  protobuf3_2 = callPackage ../development/libraries/protobuf/3.2.nix { };
-  protobuf3_3 = callPackage ../development/libraries/protobuf/3.3.nix { };
-  protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { };
-  protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { };
 
-  protobufc = protobufc1_1;
-  protobufc1_1 = callPackage ../development/libraries/protobufc/1.1.nix { };
-  protobufc1_0 = callPackage ../development/libraries/protobufc/1.0.nix { };
+  protobufc = callPackage ../development/libraries/protobufc/1.3.nix { };
 
   flatbuffers = callPackage ../development/libraries/flatbuffers { };
 
@@ -16070,7 +16074,7 @@ with pkgs;
   seafile-client = libsForQt5.callPackage ../applications/networking/seafile-client { };
 
   seeks = callPackage ../tools/networking/p2p/seeks {
-    protobuf = protobuf2_5;
+    protobuf = protobuf3_1;
   };
 
   seg3d = callPackage ../applications/graphics/seg3d {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 475d456eb23..a8282ba6f6b 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -5159,10 +5159,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsParseXS = buildPerlPackage rec {
-    name = "ExtUtils-ParseXS-3.24";
+    name = "ExtUtils-ParseXS-3.35";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz";
-      sha256 = "07ipa2ssflw3ais8gbjdk4l8z2k1p65nfjwkxm37g6zw1210pdih";
+      sha256 = "077fqiyabydm8j34wxzxwxskyidh8nmwq9gskaxai8kq298z1pj1";
     };
   };
 
@@ -5218,10 +5218,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   ExtUtilsXSpp = buildPerlModule rec {
-    name = "ExtUtils-XSpp-0.1700";
+    name = "ExtUtils-XSpp-0.18";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "1msp79bdjzi59vignfz1cxwk5a2cjiahblvi0ka60pi8nnn0alrm";
+      sha256 = "1zx84f93lkymqz7qa4d63gzlnhnkxm5i3gvsrwkvvqr9cxjasxli";
     };
     buildInputs = [ Spiffy TestBase TestDifferences ];
   };
@@ -5528,11 +5528,16 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  FileModified = buildPerlPackage {
-    name = "File-Modified-0.07";
+  FileModified = buildPerlPackage rec {
+    name = "File-Modified-0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/File-Modified-0.07.tar.gz;
-      sha256 = "11zkg171fa5vdbyrbfcay134hhgyf4yaincjxwspwznrfmkpi49h";
+      url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz";
+      sha256 = "6b50b1aab6ec6998a017f6403c2735b3bc1e1cf46187bd134d7eb6df3fc45144";
+    };
+    meta = {
+      homepage = https://github.com/neilbowers/File-Modified;
+      description = "Checks intelligently if files have changed";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -5755,10 +5760,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FilterSimple = buildPerlPackage {
-    name = "Filter-Simple-0.91";
+    name = "Filter-Simple-0.94";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Filter-Simple-0.91.tar.gz;
-      sha256 = "c75a4945e94ecfe97e1409f49df036700d2e072e288497e205c4d319a80f694d";
+      url = mirror://cpan/authors/id/S/SM/SMUELLER/Filter-Simple-0.94.tar.gz;
+      sha256 = "1lkrgsqaxf595ha1y29gxqqf4kf8cpm5yzr4gg7zngbq1nb0pz6g";
     };
     meta = {
       description = "Simplified source filtering";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index aebb8e2be77..abd2de9ae40 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -227,9 +227,7 @@ in {
 
   pycryptodomex = callPackage ../development/python-modules/pycryptodomex { };
 
-  PyChromecast = callPackage ../development/python-modules/pychromecast {
-    protobuf = self.protobuf3_2;
-  };
+  PyChromecast = callPackage ../development/python-modules/pychromecast { };
 
   pyexiv2 = if (!isPy3k) then callPackage ../development/python-modules/pyexiv2 {} else throw "pyexiv2 not supported for interpreter ${python.executable}";
 
@@ -261,7 +259,7 @@ in {
     pythonPackages = self;
   };
 
-  pyscard = callPackage ../development/python-modules/pyscard { };
+  pyscard = callPackage ../development/python-modules/pyscard { inherit (pkgs.darwin.apple_sdk.frameworks) PCSC; };
 
   pyside = callPackage ../development/python-modules/pyside { };
 
@@ -4528,6 +4526,8 @@ in {
 
   libtmux = callPackage ../development/python-modules/libtmux { };
 
+  linuxfd = callPackage ../development/python-modules/linuxfd { };
+
   locket = buildPythonPackage rec {
     name = "locket-${version}";
     version = "0.2.0";
@@ -5119,23 +5119,6 @@ in {
     };
   };
 
-  dotfiles = buildPythonPackage rec {
-    name = "dotfiles-0.6.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/dotfiles/${name}.tar.gz";
-      sha256 = "45ecfd7f2ed9d0f2a7ac632c9bd0ebdca758d8bbc2b6f11562579d525f0467b8";
-    };
-
-    doCheck = true;
-
-    meta = {
-      description = "Easily manage your dotfiles";
-      homepage = https://github.com/jbernard/dotfiles;
-      license = licenses.isc;
-    };
-  };
-
   dopy = buildPythonPackage rec {
     version = "2016-01-04";
     name = "dopy-${version}";
@@ -5916,7 +5899,7 @@ in {
       validictory
       decorator
       mutagen
-      protobuf3_0
+      protobuf
       setuptools
       requests
       dateutil
@@ -7536,7 +7519,7 @@ in {
       sha256 = "09bf5gfip9x2wr0ij43p39ac6z2iqzn7kgpi2jjbwpnhs0vwkycs";
     };
 
-    propagatedBuildInputs = with self; [ python-axolotl-curve25519 protobuf3_0 pycrypto ];
+    propagatedBuildInputs = with self; [ python-axolotl-curve25519 protobuf pycrypto ];
     # IV == 0 in tests is not supported by pycrytpodom (our pycrypto drop-in)
     doCheck = !isPy3k;
 
@@ -10099,14 +10082,14 @@ in {
 
   glances = buildPythonPackage rec {
     name = "glances-${version}";
-    version = "2.11";
+    version = "2.11.1";
     disabled = isPyPy;
 
     src = pkgs.fetchFromGitHub {
       owner = "nicolargo";
       repo = "glances";
       rev = "v${version}";
-      sha256 = "01vnrr37jbpzrz6w670l3g3bv60xl50w41rn1dl99wp2fr460ndn";
+      sha256 = "1n3x0bkydlqmxdr0wdgfgichp8fyldzkaijj618y5ns2k5qiwsxr";
     };
 
     doCheck = false;
@@ -10122,7 +10105,7 @@ in {
       homepage = "https://nicolargo.github.io/glances/";
       description = "Cross-platform curses-based monitoring tool";
       license = licenses.lgpl3;
-      maintainers = with maintainers; [ koral ];
+      maintainers = with maintainers; [ primeos koral ];
     };
   };
 
@@ -15031,7 +15014,7 @@ in {
     };
 
     propagatedBuildInputs = with self; [
-      pbr argparse six webob
+      pbr six webob
     ];
     buildInputs = with self; [
       oslosphinx coverage mock subunit testrepository testtools
@@ -15039,6 +15022,7 @@ in {
 
     patchPhase = ''
       sed -i 's@python@${python.interpreter}@' .testr.conf
+      substituteInPlace requirements.txt --replace "argparse" ""
     '';
   };
 
@@ -16342,30 +16326,16 @@ in {
 
   });
 
-  protobuf = self.protobuf2_6;
-  protobuf3_3 = callPackage ../development/python-modules/protobuf.nix {
-    disabled = isPyPy;
-    doCheck = !isPy3k;
-    protobuf = pkgs.protobuf3_3;
-  };
-  protobuf3_2 = callPackage ../development/python-modules/protobuf.nix {
+  protobuf = callPackage ../development/python-modules/protobuf.nix {
     disabled = isPyPy;
     doCheck = !isPy3k;
-    protobuf = pkgs.protobuf3_2;
+    protobuf = pkgs.protobuf;
   };
-  protobuf3_0 = callPackage ../development/python-modules/protobuf.nix {
+
+  protobuf3_1 = callPackage ../development/python-modules/protobuf.nix {
     disabled = isPyPy;
     doCheck = !isPy3k;
-    protobuf = pkgs.protobuf3_0;
-  };
-  protobuf2_6 = callPackage ../development/python-modules/protobuf.nix {
-    disabled = isPy3k || isPyPy;
-    doCheck = false;
-    protobuf = pkgs.protobuf2_6;
-  };
-  protobuf2_5 = callPackage ../development/python-modules/protobuf.nix {
-    disabled = isPy3k || isPyPy;
-    protobuf = pkgs.protobuf2_5;
+    protobuf = pkgs.protobuf3_1;
   };
 
   psd-tools = callPackage ../development/python-modules/psd-tools { };
@@ -23891,9 +23861,7 @@ EOF
     inherit (pkgs) libasyncns pkgconfig;
   };
 
-  libarcus = callPackage ../development/python-modules/libarcus {
-    protobuf = self.protobuf3_0;
-  };
+  libarcus = callPackage ../development/python-modules/libarcus { };
 
   pybrowserid = buildPythonPackage rec {
     name = "PyBrowserID-${version}";
@@ -24175,7 +24143,7 @@ EOF
     '';
 
     buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [ noise numpy pyplatec protobuf3_2 purepng argparse h5py gdal ];
+    propagatedBuildInputs = with self; [ noise numpy pyplatec protobuf purepng argparse h5py gdal ];
 
     prePatch = ''
       substituteInPlace setup.py \
@@ -24267,11 +24235,15 @@ EOF
     };
 
     # Fix the USB backend library lookup
-    postPatch = ''
-      libusb=${pkgs.libusb1.out}/lib/libusb-1.0.so
-      test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
-      sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
-    '';
+    postPatch =
+      let
+        # This should really be in the stdenv somewhere
+        soext = if stdenv.isLinux then "so" else if stdenv.isDarwin then "dylib" else throw "Unsupported platform";
+      in ''
+        libusb=${pkgs.libusb1.out}/lib/libusb-1.0.${soext}
+        test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
+        sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
+      '';
 
     propagatedBuildInputs = [ pkgs.libusb ];
 
@@ -25422,10 +25394,14 @@ EOF
       sha256 = "99ab03bffdb30d9ec98724898f428f8e73129483417d5892799a0f0d2249f233";
     };
 
+    patchPhase = ''
+      substituteInPlace setup.py --replace '"argparse",' ""
+    '';
+
     # ImportError: No module named tests
     doCheck = false;
 
-    propagatedBuildInputs = with self; [ ofxhome ofxparse beautifulsoup keyring argparse ];
+    propagatedBuildInputs = with self; [ ofxhome ofxparse beautifulsoup keyring ];
   };
 
   ofxhome = buildPythonPackage rec {