summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/tests/blivet.nix2
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix4
-rw-r--r--pkgs/applications/audio/fomp/default.nix4
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix4
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix4
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix17
-rw-r--r--pkgs/applications/misc/electrum-dash/default.nix6
-rw-r--r--pkgs/applications/misc/pmenu/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/rawdog/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix13
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix4
-rw-r--r--pkgs/applications/office/keepnote/default.nix6
-rw-r--r--pkgs/applications/version-management/cvs2svn/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-hub/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/stgit/default.nix4
-rw-r--r--pkgs/applications/version-management/gitinspector/default.nix4
-rw-r--r--pkgs/applications/version-management/tailor/default.nix4
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix10
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix4
-rw-r--r--pkgs/build-support/cc-wrapper/utils.sh2
-rw-r--r--pkgs/build-support/setup-hooks/multiple-outputs.sh3
-rw-r--r--pkgs/desktops/gnome-3/3.20/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/devtools/anjuta/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.22/devtools/anjuta/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix1
-rw-r--r--pkgs/development/compilers/ghc/8.0.1.nix1
-rw-r--r--pkgs/development/compilers/ghc/ghc-7.x-dont-pass-linker-flags-via-response-files.patch22
-rw-r--r--pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch23
-rw-r--r--pkgs/development/compilers/ghc/ghc-HEAD-dont-pass-linker-flags-via-response-files.patch20
-rw-r--r--pkgs/development/compilers/ghc/head.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.4/lld.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.4/lldb.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.4/polly.nix4
-rw-r--r--pkgs/development/interpreters/guile/default.nix3
-rw-r--r--pkgs/development/interpreters/pixie/default.nix4
-rw-r--r--pkgs/development/libraries/cxxtest/default.nix23
-rw-r--r--pkgs/development/libraries/farsight2/default.nix4
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libplist/default.nix16
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebengine.nix4
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix8
-rw-r--r--pkgs/development/libraries/webkitgtk/2.14.nix4
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix15
-rw-r--r--pkgs/development/node-packages/composition-v4.nix4
-rw-r--r--pkgs/development/node-packages/composition-v6.nix4
-rw-r--r--pkgs/development/node-packages/node-env.nix4
-rw-r--r--pkgs/development/python-modules/pyside/apiextractor.nix2
-rw-r--r--pkgs/development/python-modules/pyside/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside/generatorrunner.nix2
-rw-r--r--pkgs/development/python-modules/pyside/shiboken.nix2
-rw-r--r--pkgs/development/python-modules/pyside/tools.nix2
-rw-r--r--pkgs/development/tools/asn2quickder/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/gn/default.nix6
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix10
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix2
-rw-r--r--pkgs/development/web/remarkjs/nodepkgs.nix2
-rw-r--r--pkgs/misc/urbit/default.nix4
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix6
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix8
-rw-r--r--pkgs/servers/gpsd/default.nix14
-rw-r--r--pkgs/servers/http/apache-modules/mod_python/default.nix4
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix6
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix6
-rw-r--r--pkgs/servers/web-apps/pump.io/composition.nix4
-rw-r--r--pkgs/tools/X11/arandr/default.nix10
-rw-r--r--pkgs/tools/audio/beets/default.nix54
-rw-r--r--pkgs/tools/backup/bareos/default.nix6
-rw-r--r--pkgs/tools/backup/rdiff-backup/default.nix14
-rw-r--r--pkgs/tools/misc/kargo/default.nix6
-rw-r--r--pkgs/tools/misc/libcpuid/default.nix4
-rw-r--r--pkgs/tools/networking/curl/default.nix2
-rw-r--r--pkgs/tools/networking/curl/disable-ca-install.patch14
-rw-r--r--pkgs/tools/networking/curl/fix-http2-window-size.patch88
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix6
-rw-r--r--pkgs/tools/networking/vde2/default.nix4
-rw-r--r--pkgs/tools/package-management/createrepo_c/default.nix8
-rw-r--r--pkgs/tools/package-management/nixui/nixui.nix4
-rw-r--r--pkgs/tools/security/afl/qemu.nix4
-rw-r--r--pkgs/tools/security/tor/tor-arm.nix6
-rw-r--r--pkgs/tools/system/pciutils/default.nix2
-rw-r--r--pkgs/tools/system/pciutils/module-dir.diff23
-rw-r--r--pkgs/tools/typesetting/rubber/default.nix6
-rw-r--r--pkgs/tools/virtualization/euca2ools/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix21
-rw-r--r--pkgs/top-level/python-packages.nix21
102 files changed, 417 insertions, 361 deletions
diff --git a/nixos/tests/blivet.nix b/nixos/tests/blivet.nix
index a7b836ce99a..2adc2ee1eee 100644
--- a/nixos/tests/blivet.nix
+++ b/nixos/tests/blivet.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: with pkgs.pythonPackages; rec {
+import ./make-test.nix ({ pkgs, ... }: with pkgs.python2Packages; rec {
   name = "blivet";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aszlig ];
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index 35954471877..ddd34f1bfeb 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
-, pythonPackages}:
+, python2Packages}:
 
 let
-  inherit (pythonPackages) python dbus-python;
+  inherit (python2Packages) python dbus-python;
 in stdenv.mkDerivation rec {
   name = "a2jmidid-${version}";
   version = "8";
diff --git a/pkgs/applications/audio/fomp/default.nix b/pkgs/applications/audio/fomp/default.nix
index 00b6c3e0c67..bdac87aaf37 100644
--- a/pkgs/applications/audio/fomp/default.nix
+++ b/pkgs/applications/audio/fomp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lv2, pkgconfig, python }:
+{ stdenv, fetchurl, lv2, pkgconfig, python2 }:
 
 stdenv.mkDerivation rec {
   name = "fomp-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
   };
 
-  buildInputs = [ lv2  pkgconfig python ];
+  buildInputs = [ lv2  pkgconfig python2 ];
 
   installPhase = ''
     python waf configure --prefix=$out
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 00856721f95..dd3a0b4a1c6 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pythonPackages, intltool
+{ stdenv, fetchurl, python2Packages, intltool
 , gst_python, withGstPlugins ? false, gst_plugins_base ? null
 , gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
 
@@ -9,7 +9,7 @@ assert withGstPlugins -> gst_plugins_base != null
 
 let
   version = "2.6.3";
-  inherit (pythonPackages) buildPythonApplication python mutagen pygtk pygobject2 dbus-python;
+  inherit (python2Packages) buildPythonApplication python mutagen pygtk pygobject2 dbus-python;
 in buildPythonApplication {
   # call the package quodlibet and just quodlibet
   name = "quodlibet${stdenv.lib.optionalString withGstPlugins "-with-gst-plugins"}-${version}";
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index e130b23a8aa..a9b2eb1163a 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libX11, procps, python, libdwarf, qtbase, qtwebkit }:
+{ stdenv, fetchFromGitHub, cmake, libX11, procps, python2, libdwarf, qtbase, qtwebkit }:
 
 stdenv.mkDerivation rec {
   name = "apitrace-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   # LD_PRELOAD wrappers need to be statically linked to work against all kinds
   # of games -- so it's fine to use e.g. bundled snappy.
-  buildInputs = [ libX11 procps python libdwarf qtbase qtwebkit ];
+  buildInputs = [ libX11 procps python2 libdwarf qtbase qtwebkit ];
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index 27d6c207e68..db5e6e1a7e3 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, gettext, glib, gtk2, hicolor_icon_theme, json_c
-, lcms2, libpng , makeWrapper, pkgconfig, pythonPackages
+, lcms2, libpng , makeWrapper, pkgconfig, python2Packages
 , scons, swig
 }:
 
 let
-  inherit (pythonPackages) python pygtk numpy;
+  inherit (python2Packages) python pygtk numpy;
 in stdenv.mkDerivation rec {
   name = "mypaint-${version}";
   version = "1.1.0";
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 7b47b9fb3cb..4fcb3a085bd 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, python, pyqt5, sip, poppler_utils, pkgconfig, libpng
+{ stdenv, fetchurl, fetchpatch, poppler_utils, pkgconfig, libpng
 , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
-, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
+, makeWrapper, unrarSupport ? false, chmlib, python2Packages, xz, libusb1, libmtp
 , xdg_utils, makeDesktopItem
 }:
 
@@ -13,8 +13,6 @@ stdenv.mkDerivation rec {
     sha256 = "18iv1c2nx93gkfqa3k2m42dk4p59b9zp08fggb6imc1xqh2icfch";
   };
 
-  inherit python;
-
   patches = [
     # Patches from Debian that:
     # - disable plugin installation (very insecure)
@@ -39,7 +37,7 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
   prePatch = ''
-    sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip/PyQt5':"  \
+    sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5}/share/sip/PyQt5':"  \
       setup/build_environment.py
 
     # Remove unneeded files and libs
@@ -56,10 +54,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ];
 
   buildInputs = [
-    python pyqt5 sip poppler_utils libpng imagemagick libjpeg
+     poppler_utils libpng imagemagick libjpeg
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
-  ] ++ (with pythonPackages; [
+  ] ++ (with python2Packages; [
     apsw beautifulsoup cssselect cssutils dateutil lxml mechanize netifaces pillow
+    python pyqt5 sip
     # the following are distributed with calibre, but we use upstream instead
     chardet cherrypy html5lib odfpy routes
   ]);
@@ -74,8 +73,8 @@ stdenv.mkDerivation rec {
     export FC_LIB_DIR=${fontconfig.lib}/lib
     export PODOFO_INC_DIR=${podofo}/include/podofo
     export PODOFO_LIB_DIR=${podofo}/lib
-    export SIP_BIN=${sip}/bin/sip
-    python setup.py install --prefix=$out
+    export SIP_BIN=${python2Packages.sip}/bin/sip
+    ${python2Packages.python.interpreter} setup.py install --prefix=$out
 
     PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
       $out/lib/calibre/calibre/ebooks/metadata/*.py
diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum-dash/default.nix
index 7abeaf57b64..917d32e74af 100644
--- a/pkgs/applications/misc/electrum-dash/default.nix
+++ b/pkgs/applications/misc/electrum-dash/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   name = "electrum-dash-${version}";
   version = "2.4.1";
 
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "02k7m7fyn0cvlgmwxr2gag7rf2knllkch1ma58shysp7zx9jb000";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python2Packages; [
     dns
     ecdsa
     pbkdf2
diff --git a/pkgs/applications/misc/pmenu/default.nix b/pkgs/applications/misc/pmenu/default.nix
index 9b376684284..da59f7f1886 100644
--- a/pkgs/applications/misc/pmenu/default.nix
+++ b/pkgs/applications/misc/pmenu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitLab, pythonPackages, gnome2 }:
+{ stdenv, fetchFromGitLab, python2Packages, gnome2 }:
 
 stdenv.mkDerivation rec {
   name = "pmenu-${version}";
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "15bkvadr7ab44mc8gkdqs3w14cm498mwf72w5rjm2rdh55357jjh";
   };
 
-  nativeBuildInputs = [ pythonPackages.wrapPython ];
+  nativeBuildInputs = [ python2Packages.wrapPython ];
 
-  buildInputs = [ pythonPackages.pygtk gnome2.gnome_menus ];
+  buildInputs = [ python2Packages.pygtk gnome2.gnome_menus ];
 
-  pythonPath = [ pythonPackages.pygtk ];
+  pythonPath = [ python2Packages.pygtk ];
   
   patchPhase = ''
     substituteInPlace install.sh --replace "/usr/local" "$out"
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 07ad1bef25f..ea66703f166 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -7,7 +7,7 @@
 , xdg_utils, yasm, minizip, libwebp
 , libusb1, pciutils, nss, re2, zlib, libvpx
 
-, python, pythonPackages, perl, pkgconfig
+, python2Packages, perl, pkgconfig
 , nspr, systemd, kerberos
 , utillinux, alsaLib
 , bison, gperf
@@ -86,7 +86,7 @@ let
 
     src = upstream-info.main;
 
-    nativeBuildInputs = [ gn which python perl pkgconfig ];
+    nativeBuildInputs = [ gn which python2Packages.python perl pkgconfig ];
 
     buildInputs = defaultDependencies ++ [
       nspr nss systemd
@@ -95,7 +95,7 @@ let
       glib gtk2 dbus_glib
       libXScrnSaver libXcursor libXtst mesa
       pciutils protobuf speechd libXdamage
-      pythonPackages.ply pythonPackages.jinja2
+      python2Packages.ply python2Packages.jinja2
     ] ++ optional gnomeKeyringSupport libgnome_keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optional enableSELinux libselinux
diff --git a/pkgs/applications/networking/feedreaders/rawdog/default.nix b/pkgs/applications/networking/feedreaders/rawdog/default.nix
index eca53ccf2ec..39543f256fa 100644
--- a/pkgs/applications/networking/feedreaders/rawdog/default.nix
+++ b/pkgs/applications/networking/feedreaders/rawdog/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   name = "rawdog-${version}";
   version = "2.21";
 
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0f5z7b70pyhjl6s28hgxninsr86s4dj5ycd50sv6bfz4hm1c2030";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ feedparser ];
+  propagatedBuildInputs = with python2Packages; [ feedparser ];
 
   namePrefix = "";
   
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index 971a834f409..32266d7b42d 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libxslt, telepathy_glib, libxml2, dbus_glib, dbus_daemon
-, sqlite, libsoup, libnice, gnutls }:
+, sqlite, libsoup, libnice, gnutls}:
 
 stdenv.mkDerivation rec {
   name = "telepathy-gabble-0.18.2";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig libxslt ];
-  buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ]
+  buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls telepathy_glib.python ]
     ++ stdenv.lib.optional doCheck dbus_daemon;
 
   configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt";
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
index b1880be6562..4e4a2a9b6a9 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1jgrp32p6rllj089ynbsk3n9xrvsvzmwzhf0ql05kkgj0nf08xiy";
   };
 
-  buildInputs = [ glib telepathy_glib dbus_glib pidgin ];
+  buildInputs = [ glib telepathy_glib dbus_glib pidgin telepathy_glib.python ];
 
   nativeBuildInputs = [ pkgconfig libxslt ];
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 16a31f6f3ba..c29c6def2f6 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh";
   };
 
-  buildInputs = [ pkgconfig glib telepathy_glib dbus_glib libxslt ];
+  buildInputs = [ pkgconfig glib telepathy_glib dbus_glib libxslt telepathy_glib.python ];
 
   meta = {
     description = "IRC connection manager for the Telepathy framework";
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index aaff39ccb44..2ade2fd3edd 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0";
 
   buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool
-                  gobjectIntrospection dbus_libs ];
+                  gobjectIntrospection dbus_libs telepathy_glib.python ];
 
   nativeBuildInputs = [ libxslt ];
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index aab7f84f467..a8fc9477707 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0zcbx69k0d3p2pjh3g7sa3q2zkd5xchxkqsmlfn3fwxaz0pmsmvi";
   };
 
-  buildInputs = [ telepathy_glib makeWrapper /*upower*/ ]; # ToDo: optional stuff missing
+  buildInputs = [ telepathy_glib telepathy_glib.python makeWrapper /*upower*/ ]; # ToDo: optional stuff missing
   # 5.16.3 won't build with upower-0.99. Arch and Debian choose to disable it
 
   nativeBuildInputs = [ pkgconfig libxslt ];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
index 538a8d7f6d2..7d06d57ca9a 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfigUpstream, libxslt, telepathy_glib, libxml2, dbus_glib
-, python, sofia_sip }:
+, sofia_sip }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-rakia";
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "18dxffa8hhjyvqkhhac05rrkx81vnncjrakg5ygikfp0j79vrbhv";
   };
 
-  nativeBuildInputs = [pkgconfigUpstream libxslt python];
-  buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip];
+  nativeBuildInputs = [pkgconfigUpstream libxslt ];
+  buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip telepathy_glib.python ];
 
   meta = {
     homepage = http://telepathy.freedesktop.org;
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index 918be4e9b83..cbae6af97b8 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   # pcre needed because https://github.com/NixOS/nixpkgs/pull/15046
   buildInputs = [ glib libxml2 telepathy_glib avahi libsoup libuuid openssl
-    sqlite pcre ];
+    sqlite pcre telepathy_glib.python ];
 
   nativeBuildInputs = [ libxslt pkgconfigUpstream ];
 
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 031e835d3f7..05fea05fd14 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, pythonPackages, gnupg1orig, makeWrapper, openssl }:
+{ stdenv, fetchgit, python2Packages, gnupg1orig, makeWrapper, openssl }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   name = "mailpile-${version}";
   version = "0.4.1";
 
@@ -11,11 +11,11 @@ pythonPackages.buildPythonApplication rec {
   };
 
   patchPhase = ''
-    substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${pythonPackages.python.libPrefix}/site-packages/' + dir"
+    substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${python2Packages.python.libPrefix}/site-packages/' + dir"
   '';
 
-  propagatedBuildInputs = with pythonPackages; [
-    makeWrapper pillow jinja2 spambayes pythonPackages.lxml
+  propagatedBuildInputs = with python2Packages; [
+    makeWrapper pillow jinja2 spambayes python2Packages.lxml
     pgpdump gnupg1orig
   ];
 
@@ -24,6 +24,9 @@ pythonPackages.buildPythonApplication rec {
       --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1orig openssl ]}"
   '';
 
+  # No tests were found
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
     homepage = https://www.mailpile.is/;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 8e2e5a1be44..9e2baf94527 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, which, m4, gtk2, pango, perl, python, zip, libIDL
+{ stdenv, fetchurl, pkgconfig, which, m4, gtk2, pango, perl, python2, zip, libIDL
 , libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xorg
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, yasm, mesa, sqlite, unzip, makeWrapper
 , hunspell, libevent, libstartup_notification, libvpx
 , cairo, gstreamer, gst_plugins_base, icu
 , debugBuild ? false
@@ -26,10 +26,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = # from firefox30Pkgs.xulrunner, without gstreamer and libvpx
     [ pkgconfig which libpng gtk2 perl zip libIDL libjpeg zlib bzip2
-      python dbus dbus_glib pango freetype fontconfig xorg.libXi
+      python2 dbus dbus_glib pango freetype fontconfig xorg.libXi
       xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
       alsaLib nspr nss libnotify xorg.pixman yasm mesa
-      xorg.libXScrnSaver xorg.scrnsaverproto pysqlite
+      xorg.libXScrnSaver xorg.scrnsaverproto
       xorg.libXext xorg.xextproto sqlite unzip makeWrapper
       hunspell libevent libstartup_notification cairo icu
     ] ++ [ m4 ];
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
index 43ec9a5b022..b6f4d8b5b19 100644
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python2
 , boost, db, openssl, geoip, libiconv, miniupnpc
 , srcOnly, fetchgit
 }:
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    autoconf automake libtool pkgconfig python
+    autoconf automake libtool pkgconfig python2
     boost db openssl geoip miniupnpc libiconv
   ];
 
diff --git a/pkgs/applications/office/keepnote/default.nix b/pkgs/applications/office/keepnote/default.nix
index b8d04baf356..bb2c6adbf3b 100644
--- a/pkgs/applications/office/keepnote/default.nix
+++ b/pkgs/applications/office/keepnote/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication {
+python2Packages.buildPythonApplication {
   name = "keepnote-0.7.8";
   namePrefix = "";
 
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication {
     sha256 = "0nhkkv1n0lqf3zn17pxg5cgryv1wwlj4hfmhixwd76rcy8gs45dh";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pyGtkGlade ];
+  propagatedBuildInputs = with python2Packages; [ pyGtkGlade ];
 
   # Testing fails.
   doCheck = false;
diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix
index 2bfde38af29..90a9f26045f 100644
--- a/pkgs/applications/version-management/cvs2svn/default.nix
+++ b/pkgs/applications/version-management/cvs2svn/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, fetchurl, python, cvs, makeWrapper}:
+{stdenv, lib, fetchurl, python2, cvs, makeWrapper}:
 
 stdenv.mkDerivation rec {
   name = "cvs2svn-2.4.0";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "05piyrcp81a1jgjm66xhq7h1sscx42ccjqaw30h40dxlwz1pyrx6";
   };
 
-  buildInputs = [python makeWrapper];
+  buildInputs = [python2 makeWrapper];
 
   dontBuild = true;
   installPhase = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index d561f751cc9..f67d575b5b3 100644
--- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, docutils, python2 }:
+{ stdenv, fetchFromGitHub, docutils, python2Packages }:
 
 stdenv.mkDerivation rec {
   name = "git-hub-${version}";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     owner = "sociomantic-tsunami";
   };
 
-  buildInputs = [ python2 ];
-  nativeBuildInputs = [ docutils ];
+  buildInputs = [ python2Packages.python ];
+  nativeBuildInputs = [ python2Packages.docutils ];
 
   postPatch = ''
     substituteInPlace Makefile --replace rst2man rst2man.py
diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
index f572dbcf923..955fe90ff11 100644
--- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, git }:
+{ stdenv, fetchurl, python2, git }:
 
 let
   name = "stgit-0.17.1";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "1pka0ns9x0kabn036zsf0mwmwiynckhnva51kgxsch9fqah6acyl";
   };
 
-  buildInputs = [ python git ];
+  buildInputs = [ python2 git ];
 
   makeFlags = "prefix=$$out";
 
diff --git a/pkgs/applications/version-management/gitinspector/default.nix b/pkgs/applications/version-management/gitinspector/default.nix
index 664f4d5147b..eea5242e6bc 100644
--- a/pkgs/applications/version-management/gitinspector/default.nix
+++ b/pkgs/applications/version-management/gitinspector/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchzip, pythonPackages}:
+{ stdenv, fetchzip, python2Packages}:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   name = "gitinspector-${version}";
   version = "0.4.4";
   namePrefix = "";
diff --git a/pkgs/applications/version-management/tailor/default.nix b/pkgs/applications/version-management/tailor/default.nix
index dde09dfe22d..424a402780a 100644
--- a/pkgs/applications/version-management/tailor/default.nix
+++ b/pkgs/applications/version-management/tailor/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   name = "tailor-${version}";
   version = "0.9.35";
 
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index e5c704f71c7..fd61e490402 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -1,6 +1,6 @@
-{lib, fetchurl, mercurial, pythonPackages}:
+{lib, fetchurl, mercurial, python2Packages}:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
     name = "tortoisehg-${version}";
     version = "3.9.2";
 
@@ -9,15 +9,15 @@ pythonPackages.buildPythonApplication rec {
       sha256 = "17wcsf91z7dnb7c8vyagasj5vvmas6ms5lx1ny4pnm94qzslkfh2";
     };
 
-    pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ];
+    pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
 
-    propagatedBuildInputs = with pythonPackages; [ qscintilla iniparse ];
+    propagatedBuildInputs = with python2Packages; [ qscintilla iniparse ];
 
     doCheck = false;
     dontStrip = true;
     buildPhase = "";
     installPhase = ''
-      ${pythonPackages.python.executable} setup.py install --prefix=$out
+      ${python2Packages.python.executable} setup.py install --prefix=$out
       ln -s $out/bin/thg $out/bin/tortoisehg     #convenient alias
     '';
 
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index b37a52f6313..40f8b713d1b 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, python, zlib, pkgconfig, glib
+{ stdenv, fetchurl, fetchpatch, python2, zlib, pkgconfig, glib
 , ncurses, perl, pixman, vde2, alsaLib, texinfo, libuuid, flex
 , bison, lzo, snappy, libaio, gnutls, nettle, curl
 , makeWrapper
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ python zlib pkgconfig glib ncurses perl pixman
+    [ python2 zlib pkgconfig glib ncurses perl pixman
       vde2 texinfo libuuid flex bison makeWrapper lzo snappy
       gnutls nettle curl
     ]
diff --git a/pkgs/build-support/cc-wrapper/utils.sh b/pkgs/build-support/cc-wrapper/utils.sh
index 481d642f967..aba5f3295a9 100644
--- a/pkgs/build-support/cc-wrapper/utils.sh
+++ b/pkgs/build-support/cc-wrapper/utils.sh
@@ -34,7 +34,7 @@ expandResponseParams() {
             @*)
                 if [ -e "${p:1}" ]; then
                     args=$(<"${p:1}")
-                    eval 'for arg in '$args'; do params+=("$arg"); done'
+                    eval 'for arg in '${args//$/\\$}'; do params+=("$arg"); done'
                 else
                     params+=("$p")
                 fi
diff --git a/pkgs/build-support/setup-hooks/multiple-outputs.sh b/pkgs/build-support/setup-hooks/multiple-outputs.sh
index ae491e8a7ef..eafc770a8e1 100644
--- a/pkgs/build-support/setup-hooks/multiple-outputs.sh
+++ b/pkgs/build-support/setup-hooks/multiple-outputs.sh
@@ -98,7 +98,8 @@ moveToOutput() {
         if [ "${!output}" = "$dstOut" ]; then continue; fi
         local srcPath
         for srcPath in "${!output}"/$patt; do
-            if [ ! -e "$srcPath" ]; then continue; fi
+            # apply to existing files/dirs, *including* broken symlinks
+            if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then continue; fi
 
             if [ "$dstOut" = REMOVE ]; then
                 echo "Removing $srcPath"
diff --git a/pkgs/desktops/gnome-3/3.20/default.nix b/pkgs/desktops/gnome-3/3.20/default.nix
index 4facdbfd3e3..e935552b9f5 100644
--- a/pkgs/desktops/gnome-3/3.20/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/default.nix
@@ -307,7 +307,7 @@ let
 
 #### Dev http://ftp.gnome.org/pub/GNOME/devtools/
 
-  anjuta = callPackage ./devtools/anjuta { python=pkgs.python2; };
+  anjuta = callPackage ./devtools/anjuta { };
 
   devhelp = callPackage ./devtools/devhelp { };
 
diff --git a/pkgs/desktops/gnome-3/3.20/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/3.20/devtools/anjuta/default.nix
index 3cb62fef6c2..6a50834f105 100644
--- a/pkgs/desktops/gnome-3/3.20/devtools/anjuta/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/devtools/anjuta/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool,
-  itstool, python, makeWrapper }:
+  itstool, python2, makeWrapper }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs = [ pkgconfig flex bison gtk3 libxml2 gnome3.gjs gnome3.gdl
-    gnome3.libgda gnome3.gtksourceview intltool itstool python makeWrapper
+    gnome3.libgda gnome3.gtksourceview intltool itstool python2 makeWrapper
     gnome3.gsettings_desktop_schemas
   ];
 
diff --git a/pkgs/desktops/gnome-3/3.22/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/3.22/devtools/anjuta/default.nix
index 3cb62fef6c2..6a50834f105 100644
--- a/pkgs/desktops/gnome-3/3.22/devtools/anjuta/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/devtools/anjuta/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool,
-  itstool, python, makeWrapper }:
+  itstool, python2, makeWrapper }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs = [ pkgconfig flex bison gtk3 libxml2 gnome3.gjs gnome3.gdl
-    gnome3.libgda gnome3.gtksourceview intltool itstool python makeWrapper
+    gnome3.libgda gnome3.gtksourceview intltool itstool python2 makeWrapper
     gnome3.gsettings_desktop_schemas
   ];
 
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index 31cf0b3c8bd..020e4fd30cf 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   patches = [
     docFixes
     ./relocation.patch
-    ./ghc-7.x-dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
   ];
 
   buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix
index 5e903822d4b..98a81b8e59e 100644
--- a/pkgs/development/compilers/ghc/8.0.1.nix
+++ b/pkgs/development/compilers/ghc/8.0.1.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./ghc-8.x-dont-pass-linker-flags-via-response-files.patch  # https://github.com/NixOS/nixpkgs/issues/10752
     ./relocation.patch
 
     # Fix https://ghc.haskell.org/trac/ghc/ticket/12130
diff --git a/pkgs/development/compilers/ghc/ghc-7.x-dont-pass-linker-flags-via-response-files.patch b/pkgs/development/compilers/ghc/ghc-7.x-dont-pass-linker-flags-via-response-files.patch
deleted file mode 100644
index 129a34ecd86..00000000000
--- a/pkgs/development/compilers/ghc/ghc-7.x-dont-pass-linker-flags-via-response-files.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/compiler/main/SysTools.hs b/compiler/main/SysTools.hs
-index 8c3ab1a..47a2da7 100644
---- a/compiler/main/SysTools.hs
-+++ b/compiler/main/SysTools.hs
-@@ -414,7 +414,7 @@ runCc dflags args =   do
-       args1 = map Option (getOpts dflags opt_c)
-       args2 = args0 ++ args1 ++ args
-   mb_env <- getGccEnv args2
--  runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env
-+  runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env
-  where
-   -- discard some harmless warnings from gcc that we can't turn off
-   cc_filter = unlines . doFilter . lines
-@@ -928,7 +928,7 @@ runLink dflags args = do
-       args1     = map Option (getOpts dflags opt_l)
-       args2     = args0 ++ linkargs ++ args1 ++ args
-   mb_env <- getGccEnv args2
--  runSomethingResponseFile dflags ld_filter "Linker" p args2 mb_env
-+  runSomethingFiltered dflags ld_filter "Linker" p args2 mb_env
-   where
-     ld_filter = case (platformOS (targetPlatform dflags)) of
-                   OSSolaris2 -> sunos_ld_filter
diff --git a/pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch b/pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch
deleted file mode 100644
index 34e098c8f1e..00000000000
--- a/pkgs/development/compilers/ghc/ghc-8.x-dont-pass-linker-flags-via-response-files.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ubr ghc-8.0.0.20160411-orig/compiler/main/SysTools.hs ghc-8.0.0.20160411-patched/compiler/main/SysTools.hs
---- ghc-8.0.0.20160411-orig/compiler/main/SysTools.hs	2016-04-12 10:50:46.533389045 +0200
-+++ ghc-8.0.0.20160411-patched/compiler/main/SysTools.hs	2016-04-12 10:53:29.973933760 +0200
-@@ -414,7 +414,7 @@
-       args1 = map Option (getOpts dflags opt_c)
-       args2 = args0 ++ args1 ++ args
-   mb_env <- getGccEnv args2
--  runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env
-+  runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env
-  where
-   -- discard some harmless warnings from gcc that we can't turn off
-   cc_filter = unlines . doFilter . lines
-@@ -936,7 +936,7 @@
-       args2     = args0 ++ linkargs ++ args1 ++ args
-       args3     = argFixup args2 []
-   mb_env <- getGccEnv args3
--  runSomethingResponseFile dflags ld_filter "Linker" p args3 mb_env
-+  runSomethingFiltered dflags ld_filter "Linker" p args3 mb_env
-   where
-     testLib lib = "-l" `isPrefixOf` lib || ".a" `isSuffixOf` lib
-     {- GHC is just blindly appending linker arguments from libraries and
-Only in ghc-8.0.0.20160411-patched/compiler/main: SysTools.hs.orig
-Only in ghc-8.0.0.20160411-patched/compiler/main: SysTools.hs.rej
diff --git a/pkgs/development/compilers/ghc/ghc-HEAD-dont-pass-linker-flags-via-response-files.patch b/pkgs/development/compilers/ghc/ghc-HEAD-dont-pass-linker-flags-via-response-files.patch
deleted file mode 100644
index ebbb9326a82..00000000000
--- a/pkgs/development/compilers/ghc/ghc-HEAD-dont-pass-linker-flags-via-response-files.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ghc/compiler/main/SysTools.hs	2016-11-09 14:03:05.304528147 -0500
-+++ ghc2/compiler/main/SysTools.hs	2016-11-09 14:00:19.712934686 -0500
-@@ -421,7 +421,7 @@
-       args1 = map Option (getOpts dflags opt_c)
-       args2 = args0 ++ args1 ++ args
-   mb_env <- getGccEnv args2
--  runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env
-+  runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env
-  where
-   -- discard some harmless warnings from gcc that we can't turn off
-   cc_filter = unlines . doFilter . lines
-@@ -911,7 +911,7 @@
-       args1     = map Option (getOpts dflags opt_l)
-       args2     = args0 ++ linkargs ++ args1 ++ args
-   mb_env <- getGccEnv args2
--  runSomethingResponseFile dflags ld_filter "Linker" p args2 mb_env
-+  runSomethingFiltered dflags ld_filter "Linker" p args2 mb_env
-   where
-     ld_filter = case (platformOS (targetPlatform dflags)) of
-                   OSSolaris2 -> sunos_ld_filter
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index f46a017c66a..23a1b282149 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -27,10 +27,6 @@ in stdenv.mkDerivation (rec {
     sha256 = "1ryggmz961qd0fl50rkjjvi6g9azwla2vx9310a9nzjaj5x6ib4y";
   };
 
-  # This shouldn't be necessary since 1ad1edbb32ce01ba8b47d8e8dad357b0edd6a4dc, but
-  # see http://hydra.cryp.to/build/2061608/nixlog/1/raw
-  patches = [ ./ghc-HEAD-dont-pass-linker-flags-via-response-files.patch ];
-
   postPatch = ''
     echo ${version} >VERSION
     echo ${rev} >GIT_COMMIT_ID
diff --git a/pkgs/development/compilers/llvm/3.4/lld.nix b/pkgs/development/compilers/llvm/3.4/lld.nix
index c502b0e215e..c1841610f31 100644
--- a/pkgs/development/compilers/llvm/3.4/lld.nix
+++ b/pkgs/development/compilers/llvm/3.4/lld.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }:
+{ stdenv, fetch, cmake, llvm, ncurses, zlib, python2, version }:
 
 stdenv.mkDerivation {
   name = "lld-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
   '';
 
-  buildInputs = [ cmake ncurses zlib python ];
+  buildInputs = [ cmake ncurses zlib python2 ];
 
   cmakeFlags = [
     "-DCMAKE_CXX_FLAGS=-std=c++11"
diff --git a/pkgs/development/compilers/llvm/3.4/lldb.nix b/pkgs/development/compilers/llvm/3.4/lldb.nix
index 9d42d81923a..a50f9536542 100644
--- a/pkgs/development/compilers/llvm/3.4/lldb.nix
+++ b/pkgs/development/compilers/llvm/3.4/lldb.nix
@@ -8,7 +8,7 @@
 , libedit
 , llvm
 , clang
-, python
+, python2
 , version
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
       scripts/Python/build-swig-Python.sh
   '';
 
-  buildInputs = [ cmake python which swig ncurses zlib libedit ];
+  buildInputs = [ cmake python2 which swig ncurses zlib libedit ];
 
   cmakeFlags = [
     "-DCMAKE_CXX_FLAGS=-std=c++11"
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 7471974d00a..54346baba0d 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -3,7 +3,7 @@
 , perl
 , groff
 , cmake
-, python
+, python2
 , libffi
 , binutils
 , libxml2
@@ -30,7 +30,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs =
     [ perl groff cmake libxml2 libffi ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin) python /*
+    ++ stdenv.lib.optional (!stdenv.isDarwin) python2 /*
     ++ stdenv.lib.optional stdenv.isLinux valgrind */;
 
   propagatedBuildInputs = [ ncurses zlib ];
diff --git a/pkgs/development/compilers/llvm/3.4/polly.nix b/pkgs/development/compilers/llvm/3.4/polly.nix
index 2fed0fc8abe..3d3483afafa 100644
--- a/pkgs/development/compilers/llvm/3.4/polly.nix
+++ b/pkgs/development/compilers/llvm/3.4/polly.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetch, cmake, isl, python, gmp, llvm, version }:
+{ stdenv, fetch, cmake, isl, python2, gmp, llvm, version }:
 
 stdenv.mkDerivation {
   name = "polly-${version}";
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
 
   patches = [ ./polly-separate-build.patch ];
 
-  buildInputs = [ cmake isl python gmp ];
+  buildInputs = [ cmake isl python2 gmp ];
 
   cmakeFlags = [
     "-DCMAKE_CXX_FLAGS=-std=c++11"
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 97f8f61a98e..05ef0796121 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -55,7 +55,8 @@
   '';
 
   # make check doesn't work on darwin
-  doCheck = !stdenv.isDarwin;
+  # On i686-linux we got some error that doesn't always appear.
+  doCheck = !stdenv.isDarwin && (stdenv.system != "i686-linux");
 
   setupHook = ./setup-hook-2.0.sh;
 
diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix
index c3da770a6e1..7cb2a356f95 100644
--- a/pkgs/development/interpreters/pixie/default.nix
+++ b/pkgs/development/interpreters/pixie/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, fetchurl, python, makeWrapper, pkgconfig, gcc,
+{ stdenv, fetchgit, fetchurl, python2, makeWrapper, pkgconfig, gcc,
   pypy, libffi, libedit, libuv, boost, zlib,
   variant ? "jit", buildWithPypy ? false }:
 
@@ -36,7 +36,7 @@ let
     buildInputs = [ pkgconfig makeWrapper ];
     PYTHON = if buildWithPypy
       then "${pypy}/pypy-c/.pypy-c-wrapped"
-      else "${python}/bin/python";
+      else "${python2.interpreter}";
     unpackPhase = ''
       cp -R ${pixie-src} pixie-src
       mkdir pypy-src
diff --git a/pkgs/development/libraries/cxxtest/default.nix b/pkgs/development/libraries/cxxtest/default.nix
index ebf21c13010..91fb94ec048 100644
--- a/pkgs/development/libraries/cxxtest/default.nix
+++ b/pkgs/development/libraries/cxxtest/default.nix
@@ -1,28 +1,19 @@
-{ stdenv, fetchFromGitHub, pythonPackages}:
+{ stdenv, fetchFromGitHub, python2Packages}:
 
-stdenv.mkDerivation rec {
+let
+  pname = "cxxtest";
   version = "4.4";
-  name = "cxxtest";
+in python2Packages.buildPythonApplication rec {
+  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "CxxTest";
-    repo = name;
+    repo = pname;
     rev = version;
     sha256 = "19w92kipfhp5wvs47l0qpibn3x49sbmvkk91yxw6nwk6fafcdl17";
   };
 
-  buildInputs = with pythonPackages; [ python wrapPython ];
-
-  installPhase = ''
-    cd python
-    python setup.py install --prefix=$out
-    cd ..
-
-    mkdir -p $out/include
-    cp -R cxxtest $out/include/
-
-    wrapPythonProgramsIn $out/bin "$out $pythonPath"
-  '';
+  sourceRoot = "${name}-src/python";
 
   meta = with stdenv.lib; {
     homepage = "http://cxxtest.com";
diff --git a/pkgs/development/libraries/farsight2/default.nix b/pkgs/development/libraries/farsight2/default.nix
index 50f90c9d88a..b7a17c82beb 100644
--- a/pkgs/development/libraries/farsight2/default.nix
+++ b/pkgs/development/libraries/farsight2/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, libnice, pkgconfig, pythonPackages, gstreamer, gst_plugins_base
+{ stdenv, fetchurl, libnice, pkgconfig, python2Packages, gstreamer, gst_plugins_base
 , gst_python, gupnp_igd }:
 
 let
-  inherit (pythonPackages) python pygobject2;
+  inherit (python2Packages) python pygobject2;
 in stdenv.mkDerivation rec {
   name = "farsight2-0.0.31";
   
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 2717a326f4a..ff256fb73c8 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -5,14 +5,14 @@
 , glib, dbus_glib, gtkVersion
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, pythonPackages, gobjectIntrospection, vala_0_23
+, python2Packages, gobjectIntrospection, vala_0_23
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
 
 let
-  inherit (pythonPackages) python pygobject2 pygtk;
+  inherit (python2Packages) python pygobject2 pygtk;
 in stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libappindicator-${postfix}-${version}";
diff --git a/pkgs/development/libraries/libplist/default.nix b/pkgs/development/libraries/libplist/default.nix
index 0b9b7bd2f54..4de5a23569e 100644
--- a/pkgs/development/libraries/libplist/default.nix
+++ b/pkgs/development/libraries/libplist/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, swig2, python, glib }:
+{ stdenv, fetchurl, pkgconfig, libxml2, swig2, python2Packages, glib }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python2Packages) python cython;
+in stdenv.mkDerivation rec {
   name = "libplist-1.12";
 
-  nativeBuildInputs = [ pkgconfig swig2 ];
+  nativeBuildInputs = [ pkgconfig swig2 python cython  ];
 
   #patches = [ ./swig.patch ];
 
-  propagatedBuildInputs = [ libxml2 glib python ];
+  propagatedBuildInputs = [ libxml2 glib ];
 
   passthru.swig = swig2;
 
+  outputs = ["out" "dev" "bin" "py"];
+
+  postFixup = ''
+    moveToOutput "lib/${python.libPrefix}" "$py"
+  '';
+
   src = fetchurl {
     url = "http://www.libimobiledevice.org/downloads/${name}.tar.bz2";
     sha256 = "1gj4nv0bvdm5y2sqm2vj2rn44k67ahw3mh6q614qq4nyngfdxzqf";
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index 0391786c3fd..49751629430 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, automake, autoconf, pkgconfig, libtool, python, pythonPackages, glib, jansson}:
+{stdenv, fetchurl, automake, autoconf, pkgconfig, libtool, python2Packages, glib, jansson}:
 
 stdenv.mkDerivation rec
 {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec
 
   patches = [ ./libsearpc.pc.patch ];
 
-  buildInputs = [ automake autoconf pkgconfig libtool python pythonPackages.simplejson ];
+  buildInputs = [ automake autoconf pkgconfig libtool python2Packages.python python2Packages.simplejson ];
   propagatedBuildInputs = [ glib jansson ];
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index fd9fd168db7..891c861c9fe 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch
 , pkgconfig, makeWrapper
-, libxml2, gnutls, devicemapper, perl, python
+, libxml2, gnutls, devicemapper, perl, python2
 , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng
 , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [
-    libxml2 gnutls perl python readline
+    libxml2 gnutls perl python2 readline
     gettext libtasn1 libgcrypt yajl
     libxslt xhtml1 perlPackages.XMLXPath curl libpcap
   ] ++ stdenv.lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 2b31405980b..c363cbcd371 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -26,7 +26,7 @@ if ! lists.elem stdenv.system platforms.mesaPlatforms then
 else
 
 let
-  version = "13.0.1";
+  version = "13.0.2";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "0cd7axwihwsay0i9fvcw14cldbxyvf8b8rd5sh53plvppyr2z5ki";
+    sha256 = "a6ed622645f4ed61da418bf65adde5bcc4bb79023c36ba7d6b45b389da4416d5";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index a761106d9b1..080a3e35138 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.14.1";
+  version = "1.16.1";
 
   # Don't use fetchFromGitHub since this needs a bootstrap curl
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "0d7sk3pfkajhkmcqa7zx4rjg1pkwqraxxs7bxbwbm67r8wwqw87j";
+    sha256 = "069pw84f8gg21npapn7y1sizwn6w35692zaq5g45gy8hdbmcl8yc";
   };
 
   # Configure script searches for a symbol which does not exist in jemalloc on Darwin
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
index e5d7d0d4372..29a5349ecea 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
@@ -9,7 +9,7 @@
 
 , bison, flex, git, which, gperf
 , coreutils
-, pkgconfig, python
+, pkgconfig, python2
 
 }:
 
@@ -17,7 +17,7 @@ qtSubmodule {
   name = "qtwebengine";
   qtInputs = [ qtquickcontrols qtlocation qtwebchannel ];
   buildInputs = [ bison flex git which gperf ];
-  nativeBuildInputs = [ pkgconfig python coreutils ];
+  nativeBuildInputs = [ pkgconfig python2 coreutils ];
   doCheck = true;
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix b/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix
index 2a437e62eca..ab40dcd4c6e 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix
@@ -9,7 +9,7 @@
 
 , bison, flex, git, which, gperf
 , coreutils
-, pkgconfig, python
+, pkgconfig, python2
 
 }:
 
@@ -17,7 +17,7 @@ qtSubmodule {
   name = "qtwebengine";
   qtInputs = [ qtquickcontrols qtlocation qtwebchannel ];
   buildInputs = [ bison flex git which gperf ];
-  nativeBuildInputs = [ pkgconfig python coreutils ];
+  nativeBuildInputs = [ pkgconfig python2 coreutils ];
   doCheck = true;
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 7fc39cfd52b..325d665aaf6 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, spice_protocol, intltool, celt_0_5_1
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
-, cyrus_sasl, pythonPackages, autoreconfHook, usbredir, libsoup
+, cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
 , gtk3, epoxy }:
 
 with stdenv.lib;
 
 let
-  inherit (pythonPackages) python pygtk;
+  inherit (python2Packages) python pygtk;
 in stdenv.mkDerivation rec {
   name = "spice-gtk-0.32";
 
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index 69f6f6d8971..bc9e861df9c 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt
+{ stdenv, fetchurl, dbus_glib, glib, python2, pkgconfig, libxslt
 , gobjectIntrospection, valaSupport ? true, vala_0_23, glibcLocales }:
 
 stdenv.mkDerivation rec {
@@ -11,14 +11,16 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings";
   LC_ALL = "en_US.UTF-8";
-  propagatedBuildInputs = [dbus_glib glib python gobjectIntrospection];
+  propagatedBuildInputs = [dbus_glib glib gobjectIntrospection];
 
-  buildInputs = [pkgconfig libxslt glibcLocales ] ++ stdenv.lib.optional valaSupport vala_0_23;
+  buildInputs = [pkgconfig libxslt glibcLocales python2 ] ++ stdenv.lib.optional valaSupport vala_0_23;
 
   preConfigure = ''
     substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
   '';
 
+  passthru.python = python2;
+
   meta = {
     homepage = http://telepathy.freedesktop.org;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/webkitgtk/2.14.nix b/pkgs/development/libraries/webkitgtk/2.14.nix
index ca74f384ec9..3c92527ea70 100644
--- a/pkgs/development/libraries/webkitgtk/2.14.nix
+++ b/pkgs/development/libraries/webkitgtk/2.14.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, python, ruby, bison, gperf, cmake
+{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake
 , pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls
 , gtk2, gtk3, wayland, libwebp, enchant, xlibs, libxkbcommon, epoxy, at_spi2_core
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0";
 
   nativeBuildInputs = [
-    cmake perl python ruby bison gperf sqlite
+    cmake perl python2 ruby bison gperf sqlite
     pkgconfig gettext gobjectIntrospection
   ];
 
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index bb6af73356d..252bcd02faf 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,6 +1,8 @@
 { stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala_0_23
-, intltool, libtool, python, dbus_libs, telepathy_glib
-, gtk3, json_glib, librdf_raptor2, python2Packages, dbus_glib }:
+, intltool, libtool, dbus_libs, telepathy_glib
+, gtk3, json_glib, librdf_raptor2, dbus_glib
+, pythonSupport ? true, python2Packages
+}:
 
 stdenv.mkDerivation rec {
   version = "0.9.15";
@@ -18,7 +20,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
 
   buildInputs = [ pkgconfig glib sqlite gnome3.gnome_common intltool
-                  libtool python dbus_libs telepathy_glib vala_0_23 dbus_glib
+                  libtool dbus_libs telepathy_glib vala_0_23 dbus_glib
                   gtk3 json_glib librdf_raptor2 python2Packages.rdflib ];
 
   prePatch = "patchShebangs .";
@@ -29,6 +31,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postFixup = ''
+  '' + stdenv.lib.optionalString pythonSupport ''
+    moveToOutput lib/${python2Packages.python.libPrefix} "$py"
+  '';
+
+  outputs = [ "out" ] ++ stdenv.lib.optional pythonSupport "py";
+
   meta = with stdenv.lib; {
     description = "A service which logs the users's activities and events";
     homepage = https://launchpad.net/zeitgeist;
diff --git a/pkgs/development/node-packages/composition-v4.nix b/pkgs/development/node-packages/composition-v4.nix
index 1c0f5f0626e..ad8c76b4e6e 100644
--- a/pkgs/development/node-packages/composition-v4.nix
+++ b/pkgs/development/node-packages/composition-v4.nix
@@ -6,11 +6,11 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv python utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv utillinux runCommand writeTextFile;
     inherit nodejs;
   };
 in
 import ./node-packages-v4.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/node-packages/composition-v6.nix b/pkgs/development/node-packages/composition-v6.nix
index 289a8ab1201..57bd88bd2a1 100644
--- a/pkgs/development/node-packages/composition-v6.nix
+++ b/pkgs/development/node-packages/composition-v6.nix
@@ -6,11 +6,11 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv python utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv utillinux runCommand writeTextFile;
     inherit nodejs;
   };
 in
 import ./node-packages-v6.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 5819fd1c2e7..389ccae2fe5 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -1,8 +1,10 @@
 # This file originates from node2nix
 
-{stdenv, python, nodejs, utillinux, runCommand, writeTextFile}:
+{stdenv, nodejs, utillinux, runCommand, writeTextFile}:
 
 let
+  inherit (nodejs) python;
+
   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
   tarWrapper = runCommand "tarWrapper" {} ''
     mkdir -p $out/bin
diff --git a/pkgs/development/python-modules/pyside/apiextractor.nix b/pkgs/development/python-modules/pyside/apiextractor.nix
index c7e0cc09f14..a27a365bb2c 100644
--- a/pkgs/development/python-modules/pyside/apiextractor.nix
+++ b/pkgs/development/python-modules/pyside/apiextractor.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, cmake, libxml2, libxslt, python, sphinx, qt4 }:
 
 stdenv.mkDerivation {
-  name = "${python.libPrefix}-pyside-apiextractor-0.10.10";
+  name = "pyside-apiextractor-0.10.10";
 
   src = fetchurl {
     url = "https://github.com/PySide/Apiextractor/archive/0.10.10.tar.gz";
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index 8f6213beaf1..6473ebf22b1 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchurl, cmake, python, mkPythonDerivation, pysideGeneratorrunner, pysideShiboken, qt4 }:
 
 mkPythonDerivation rec {
-  name = "${python.libPrefix}-pyside-${version}";
+  name = "pyside-${version}";
   version = "1.2.4";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pyside/generatorrunner.nix b/pkgs/development/python-modules/pyside/generatorrunner.nix
index b576b29dae7..28ea88ad1fa 100644
--- a/pkgs/development/python-modules/pyside/generatorrunner.nix
+++ b/pkgs/development/python-modules/pyside/generatorrunner.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, cmake, pysideApiextractor, python, sphinx, qt4 }:
 
 stdenv.mkDerivation {
-  name = "${python.libPrefix}-pyside-generatorrunner-0.6.16";
+  name = "pyside-generatorrunner-0.6.16";
 
   src = fetchurl {
     url = "https://github.com/PySide/Generatorrunner/archive/0.6.16.tar.gz";
diff --git a/pkgs/development/python-modules/pyside/shiboken.nix b/pkgs/development/python-modules/pyside/shiboken.nix
index 80b2325cbf4..8c91b63d0e1 100644
--- a/pkgs/development/python-modules/pyside/shiboken.nix
+++ b/pkgs/development/python-modules/pyside/shiboken.nix
@@ -2,7 +2,7 @@
 
 # Python 3.5 is not supported: https://github.com/PySide/Shiboken/issues/77
 stdenv.mkDerivation rec {
-  name = "${python.libPrefix}-pyside-shiboken-${version}";
+  name = "pyside-shiboken-${version}";
   version = "1.2.4";
 
   src = fetchurl {
diff --git a/pkgs/development/python-modules/pyside/tools.nix b/pkgs/development/python-modules/pyside/tools.nix
index facbccdce35..11f2bd97175 100644
--- a/pkgs/development/python-modules/pyside/tools.nix
+++ b/pkgs/development/python-modules/pyside/tools.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, cmake, pyside, python, qt4, pysideShiboken }:
 
 stdenv.mkDerivation {
-  name = "${python.libPrefix}-pyside-tools-0.2.15";
+  name = "pyside-tools-0.2.15";
 
   src = fetchurl {
     url = "https://github.com/PySide/Tools/archive/0.2.15.tar.gz";
diff --git a/pkgs/development/tools/asn2quickder/default.nix b/pkgs/development/tools/asn2quickder/default.nix
index 69051714ab4..812053902a5 100644
--- a/pkgs/development/tools/asn2quickder/default.nix
+++ b/pkgs/development/tools/asn2quickder/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper }:
+{ stdenv, fetchFromGitHub, python2Packages, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "asn2quickder";
@@ -12,15 +12,15 @@ stdenv.mkDerivation rec {
     repo = "${pname}";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pyparsing makeWrapper ];
+  propagatedBuildInputs = with python2Packages; [ pyparsing makeWrapper ];
 
-  patchPhase = with pythonPackages; ''
+  patchPhase = with python2Packages; ''
     substituteInPlace Makefile \
-      --replace '..' '..:$(DESTDIR)/${python.sitePackages}:${pythonPackages.pyparsing}/${python.sitePackages}' \
+      --replace '..' '..:$(DESTDIR)/${python.sitePackages}:${python2Packages.pyparsing}/${python.sitePackages}' \
     '';
 
   installPhase = ''
-    mkdir -p $out/${pythonPackages.python.sitePackages}/
+    mkdir -p $out/${python2Packages.python.sitePackages}/
     mkdir -p $out/bin $out/lib $out/sbin $out/man
     make DESTDIR=$out PREFIX=/ all
     make DESTDIR=$out PREFIX=/ install
diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix
index a579b45cf62..6fdd250913c 100644
--- a/pkgs/development/tools/build-managers/gn/default.nix
+++ b/pkgs/development/tools/build-managers/gn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, fetchurl, python, ninja, libevent, xdg-user-dirs }:
+{ stdenv, fetchgit, fetchurl, python2, ninja, libevent, xdg-user-dirs }:
 
 let
   date = "20161008";
@@ -61,11 +61,11 @@ in stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-levent";
 
-  nativeBuildInputs = [ python ninja ];
+  nativeBuildInputs = [ python2 ninja ];
   buildInputs = [ libevent ];
 
   buildPhase = ''
-    python tools/gn/bootstrap/bootstrap.py -v -s --no-clean
+    python2 tools/gn/bootstrap/bootstrap.py -v -s --no-clean
   '';
 
   installPhase = ''
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index 75d371b4ec8..57b4fe99b2f 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchgit, cmake, python, llvmPackages, boost, pythonPackages
+{ stdenv, fetchgit, cmake, llvmPackages, boost, python2Packages
 }:
 
 let
-  inherit (pythonPackages) python;
-in pythonPackages.mkPythonDerivation rec {
+  inherit (python2Packages) python mkPythonDerivation waitress frozendict bottle;
+in mkPythonDerivation rec {
   name = "ycmd-2016-01-12";
   namePrefix = "";
 
@@ -15,7 +15,7 @@ in pythonPackages.mkPythonDerivation rec {
 
   buildInputs = [ cmake boost ];
 
-  propagatedBuildInputs = with pythonPackages; [ waitress frozendict bottle ];
+  propagatedBuildInputs = [ waitress frozendict bottle ];
 
   buildPhase = ''
     export EXTRA_CMAKE_ARGS=-DPATH_TO_LLVM_ROOT=${llvmPackages.clang-unwrapped}
@@ -24,7 +24,7 @@ in pythonPackages.mkPythonDerivation rec {
 
   configurePhase = ":";
 
-  installPhase = with pythonPackages; ''
+  installPhase = ''
     mkdir -p $out/lib/ycmd/third_party $out/bin
     cp -r ycmd/ CORE_VERSION libclang.so.* ycm_client_support.so ycm_core.so $out/lib/ycmd/
     ln -s $out/lib/ycmd/ycmd/__main__.py $out/bin/ycmd
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index b71f39ca420..eccdffab4c6 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -67,4 +67,6 @@ in
       maintainers = with maintainers; [ goibhniu havvy gilligan cko ];
       platforms = platforms.linux ++ platforms.darwin;
     };
+
+    passthru.python = python2; # to ensure nodeEnv uses the same version
 }
diff --git a/pkgs/development/web/remarkjs/nodepkgs.nix b/pkgs/development/web/remarkjs/nodepkgs.nix
index e7a3f74d2b8..4d6c2d6662c 100644
--- a/pkgs/development/web/remarkjs/nodepkgs.nix
+++ b/pkgs/development/web/remarkjs/nodepkgs.nix
@@ -6,7 +6,7 @@
 
 let
   nodeEnv = import ../../node-packages/node-env.nix {
-    inherit (pkgs) stdenv python utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv utillinux runCommand writeTextFile;
     inherit nodejs;
   };
 in
diff --git a/pkgs/misc/urbit/default.nix b/pkgs/misc/urbit/default.nix
index c1dcda54a62..cbe9416ee8a 100644
--- a/pkgs/misc/urbit/default.nix
+++ b/pkgs/misc/urbit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, gcc, gmp, libsigsegv, openssl, automake, autoconf, ragel,
-  cmake, re2c, libtool, ncurses, perl, zlib, python }:
+  cmake, re2c, libtool, ncurses, perl, zlib, python2 }:
 
 stdenv.mkDerivation rec {
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = with stdenv.lib; [
     gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
-    ncurses perl zlib python
+    ncurses perl zlib python2
   ];
 
   # uses 'readdir_r' deprecated by glibc 2.24
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 8e92aaf6346..5e028ffc74a 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, devicemapper, openssl, libuuid, pkgconfig, popt
-, enablePython ? false, python ? null
+, enablePython ? false, python2 ? null
 }:
 
-assert enablePython -> python != null;
+assert enablePython -> python2 != null;
 
 stdenv.mkDerivation rec {
   name = "cryptsetup-1.7.0";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
                 ++ stdenv.lib.optional enablePython "--enable-python";
 
   buildInputs = [ devicemapper openssl libuuid pkgconfig popt ]
-             ++ stdenv.lib.optional enablePython python;
+             ++ stdenv.lib.optional enablePython python2;
 
   meta = {
     homepage = https://gitlab.com/cryptsetup/cryptsetup/;
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index 8f7772de1fd..c8e40a4c7ac 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
 stdenv.mkDerivation rec {
   name = "dstat-${version}";
@@ -9,12 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "16286z3y2lc9nsq8njzjkv6k2vyxrj9xiixj1k3gnsbvhlhkirj6";
   };
 
-  buildInputs = with pythonPackages; [ python-wifi wrapPython ];
+  buildInputs = with python2Packages; [ python-wifi wrapPython ];
 
-  pythonPath = with pythonPackages; [ python-wifi ];
+  pythonPath = with python2Packages; [ python-wifi ];
 
   patchPhase = ''
-    sed -i -e 's|/usr/bin/env python|${python}/bin/python|' \
+    sed -i -e 's|/usr/bin/env python|${python2Packages.python.interpreter}|' \
            -e "s|/usr/share/dstat|$out/share/dstat|" dstat
   '';
 
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index b8d2498b71e..7670c89f0c6 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -2,7 +2,7 @@
 , ncurses, libX11, libXt, libXpm, libXaw, libXext
 , libusb1, docbook_xml_dtd_412, docbook_xsl, bc
 , libxslt, xmlto, gpsdUser ? "gpsd", gpsdGroup ? "dialout"
-, pythonPackages
+, python2Packages
 }:
 
 # TODO: put the X11 deps behind a guiSupport parameter for headless support
@@ -17,18 +17,18 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     scons pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc
-    pythonPackages.python
-    pythonPackages.wrapPython
+    python2Packages.python
+    python2Packages.wrapPython
   ];
 
   buildInputs = [
-    pythonPackages.python dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext
+    python2Packages.python dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext
     libxslt libusb1
   ];
 
   pythonPath = [
-    pythonPackages.pygobject2
-    pythonPackages.pygtk
+    python2Packages.pygobject2
+    python2Packages.pygtk
   ];
 
   patches = [
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     sed -e "s|systemd_dir = .*|systemd_dir = '$out/lib/systemd/system'|" -i SConstruct
     scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \
         systemd=yes udevdir="$out/lib/udev" \
-        python_libdir="$out/lib/${pythonPackages.python.libPrefix}/site-packages"
+        python_libdir="$out/lib/${python2Packages.python.libPrefix}/site-packages"
   '';
 
   checkPhase = ''
diff --git a/pkgs/servers/http/apache-modules/mod_python/default.nix b/pkgs/servers/http/apache-modules/mod_python/default.nix
index bbd74de773a..f947bf535cc 100644
--- a/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, apacheHttpd, python }:
+{ stdenv, fetchurl, apacheHttpd, python2 }:
 
 stdenv.mkDerivation rec {
   name = "mod_python-3.5.0";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit apacheHttpd; };
 
-  buildInputs = [ apacheHttpd python ];
+  buildInputs = [ apacheHttpd python2 ];
 
   meta = {
     homepage = http://modpython.org/;
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index 8b8d1ba0ae1..c40b765d345 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchFromGitHub, openssl, zlib, python, gyp, bash, go, readline }:
+{ stdenv, fetchFromGitHub, openssl, zlib, python2Packages, bash, go, readline }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python2Packages) python gyp;
+in stdenv.mkDerivation rec {
   version = "2.5.3";
   name    = "arangodb-${version}";
 
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 31ffcd14bbe..5e22cb11882 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, which, m4, python
 , protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool
-, pythonPackages, makeWrapper
+, python2Packages, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
@@ -33,13 +33,13 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (!stdenv.isDarwin) jemalloc
     ++ stdenv.lib.optional stdenv.isDarwin libtool;
 
-  nativeBuildInputs = [ which m4 python ];
+  nativeBuildInputs = [ which m4 python2Packages.python ];
 
   enableParallelBuilding = true;
 
   postInstall = ''
     wrapProgram $out/bin/rethinkdb \
-      --prefix PATH ":" "${pythonPackages.rethinkdb}/bin"
+      --prefix PATH ":" "${python2Packages.rethinkdb}/bin"
   '';
 
   meta = {
diff --git a/pkgs/servers/web-apps/pump.io/composition.nix b/pkgs/servers/web-apps/pump.io/composition.nix
index 36815198d67..644d9e6e9e5 100644
--- a/pkgs/servers/web-apps/pump.io/composition.nix
+++ b/pkgs/servers/web-apps/pump.io/composition.nix
@@ -6,11 +6,11 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv utillinux runCommand writeTextFile;
     inherit nodejs;
   };
 in
 import ./node-packages.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/X11/arandr/default.nix b/pkgs/tools/X11/arandr/default.nix
index f86e9b60e04..8bbe1b6a52b 100644
--- a/pkgs/tools/X11/arandr/default.nix
+++ b/pkgs/tools/X11/arandr/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchurl, python, xrandr, pythonPackages }:
+{ stdenv, fetchurl, xrandr, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+let
+  inherit (python2Packages) buildPythonApplication docutils pygtk;
+in buildPythonApplication rec {
   name = "arandr-0.1.9";
 
   src = fetchurl {
@@ -15,8 +17,8 @@ pythonPackages.buildPythonApplication rec {
   # no tests
   doCheck = false;
 
-  buildInputs = [ pythonPackages.docutils ];
-  propagatedBuildInputs = [ xrandr pythonPackages.pygtk ];
+  buildInputs = [ docutils ];
+  propagatedBuildInputs = [ xrandr pygtk ];
 
   meta = {
     homepage = http://christian.amsuess.com/tools/arandr/;
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 0c6dc9219c4..8adb68078a2 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, writeScript, glibcLocales
-, pythonPackages, imagemagick
+, python2Packages, imagemagick
 
 , enableAcousticbrainz ? true
 , enableAcoustid       ? true
@@ -22,17 +22,17 @@
 , bashInteractive, bash-completion
 }:
 
-assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
+assert enableAcoustid    -> python2Packages.pyacoustid     != null;
 assert enableBadfiles    -> flac != null && mp3val != null;
 assert enableConvert     -> ffmpeg != null;
-assert enableDiscogs     -> pythonPackages.discogs_client != null;
-assert enableFetchart    -> pythonPackages.responses      != null;
+assert enableDiscogs     -> python2Packages.discogs_client != null;
+assert enableFetchart    -> python2Packages.responses      != null;
 assert enableKeyfinder   -> keyfinder-cli != null;
-assert enableLastfm      -> pythonPackages.pylast         != null;
-assert enableMpd         -> pythonPackages.mpd            != null;
+assert enableLastfm      -> python2Packages.pylast         != null;
+assert enableMpd         -> python2Packages.mpd            != null;
 assert enableReplaygain  -> bs1770gain                    != null;
-assert enableThumbnails  -> pythonPackages.pyxdg          != null;
-assert enableWeb         -> pythonPackages.flask          != null;
+assert enableThumbnails  -> python2Packages.pyxdg          != null;
+assert enableWeb         -> python2Packages.flask          != null;
 
 with stdenv.lib;
 
@@ -72,7 +72,7 @@ let
   testShell = "${bashInteractive}/bin/bash --norc";
   completion = "${bash-completion}/share/bash-completion/bash_completion";
 
-in pythonPackages.buildPythonApplication rec {
+in python2Packages.buildPythonApplication rec {
   name = "beets-${version}";
   version = "1.4.1";
 
@@ -84,34 +84,34 @@ in pythonPackages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [
-    pythonPackages.enum34
-    pythonPackages.jellyfish
-    pythonPackages.munkres
-    pythonPackages.musicbrainzngs
-    pythonPackages.mutagen
-    pythonPackages.pathlib
-    pythonPackages.pyyaml
-    pythonPackages.unidecode
-  ] ++ optional enableAcoustid     pythonPackages.pyacoustid
+    python2Packages.enum34
+    python2Packages.jellyfish
+    python2Packages.munkres
+    python2Packages.musicbrainzngs
+    python2Packages.mutagen
+    python2Packages.pathlib
+    python2Packages.pyyaml
+    python2Packages.unidecode
+  ] ++ optional enableAcoustid     python2Packages.pyacoustid
     ++ optional (enableFetchart
               || enableEmbyupdate
               || enableAcousticbrainz)
-                                   pythonPackages.requests2
+                                   python2Packages.requests2
     ++ optional enableConvert      ffmpeg
-    ++ optional enableDiscogs      pythonPackages.discogs_client
+    ++ optional enableDiscogs      python2Packages.discogs_client
     ++ optional enableKeyfinder    keyfinder-cli
-    ++ optional enableLastfm       pythonPackages.pylast
-    ++ optional enableMpd          pythonPackages.mpd
-    ++ optional enableThumbnails   pythonPackages.pyxdg
-    ++ optional enableWeb          pythonPackages.flask
+    ++ optional enableLastfm       python2Packages.pylast
+    ++ optional enableMpd          python2Packages.mpd
+    ++ optional enableThumbnails   python2Packages.pyxdg
+    ++ optional enableWeb          python2Packages.flask
     ++ optional enableAlternatives (import ./alternatives-plugin.nix {
-      inherit stdenv pythonPackages fetchFromGitHub;
+      inherit stdenv python2Packages fetchFromGitHub;
     })
     ++ optional enableCopyArtifacts (import ./copyartifacts-plugin.nix {
-      inherit stdenv pythonPackages fetchFromGitHub;
+      inherit stdenv python2Packages fetchFromGitHub;
     });
 
-  buildInputs = with pythonPackages; [
+  buildInputs = with python2Packages; [
     beautifulsoup4
     imagemagick
     mock
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
index ffa119b3c53..c3256713832 100644
--- a/pkgs/tools/backup/bareos/default.nix
+++ b/pkgs/tools/backup/bareos/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, libtool, flex
-, readline ? null, openssl ? null, python ? null, ncurses ? null, rocksdb
+, readline ? null, openssl ? null, python2 ? null, ncurses ? null, rocksdb
 , sqlite ? null, postgresql ? null, libmysql ? null, zlib ? null, lzo ? null
 , jansson ? null, acl ? null, glusterfs ? null, libceph ? null, libcap ? null
 }:
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    nettools gettext readline openssl python flex ncurses sqlite postgresql
+    nettools gettext readline openssl python2 flex ncurses sqlite postgresql
     libmysql zlib lzo jansson acl glusterfs libceph libcap rocksdb
   ];
 
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     "--enable-sql-pooling"
     "--enable-scsi-crypto"
   ] ++ optionals (readline != null) [ "--disable-conio" "--enable-readline" "--with-readline=${readline.dev}" ]
-    ++ optional (python != null) "--with-python=${python}"
+    ++ optional (python2 != null) "--with-python=${python2}"
     ++ optional (openssl != null) "--with-openssl=${openssl.dev}"
     ++ optional (sqlite != null) "--with-sqlite3=${sqlite.dev}"
     ++ optional (postgresql != null) "--with-postgresql=${postgresql}"
diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix
index 1c313beae9f..f3910893b7b 100644
--- a/pkgs/tools/backup/rdiff-backup/default.nix
+++ b/pkgs/tools/backup/rdiff-backup/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, python, librsync, gnused }:
+{stdenv, fetchurl, python2Packages, librsync, gnused }:
 
-stdenv.mkDerivation {
+python2Packages.buildPythonApplication {
   name = "rdiff-backup-1.3.3";
 
   src = fetchurl {
@@ -10,15 +10,9 @@ stdenv.mkDerivation {
 
   patches = [ ./fix-librsync-rs_default_strong_len.patch ];
 
-  installPhase = ''
-    python ./setup.py install --prefix=$out
-    sed -i $out/bin/rdiff-backup -e \
-      "/import sys/ asys.path += [ \"$out/lib/python2.7/site-packages/\" ]"
-    sed -i $out/bin/rdiff-backup-statistics -e \
-      "/import .*sys/ asys.path += [ \"$out/lib/python2.7/site-packages/\" ]"
-  '';
+  buildInputs = [ librsync gnused ];
 
-  buildInputs = [ python librsync gnused ];
+  doCheck = false;
 
   meta = {
     description = "Backup system trying to combine best a mirror and an incremental backup system";
diff --git a/pkgs/tools/misc/kargo/default.nix b/pkgs/tools/misc/kargo/default.nix
index ddc030bcf8d..734d8fb78e2 100644
--- a/pkgs/tools/misc/kargo/default.nix
+++ b/pkgs/tools/misc/kargo/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   version = "0.4.6";
   name = "kargo-${version}";
 
@@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
 
   doCheck = false;
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python2Packages; [
     ansible2
     boto
     cffi
diff --git a/pkgs/tools/misc/libcpuid/default.nix b/pkgs/tools/misc/libcpuid/default.nix
index 8f258a38f7f..e26533d4642 100644
--- a/pkgs/tools/misc/libcpuid/default.nix
+++ b/pkgs/tools/misc/libcpuid/default.nix
@@ -3,7 +3,7 @@
 , libtool
 , automake
 , autoconf
-, python
+, python2 # Needed for tests
 }:
 stdenv.mkDerivation rec {
   name = "libcpuid-${version}";
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     pushd Install
-    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/lib ${python.interpreter} ../tests/run_tests.py ./bin/cpuid_tool ../tests/
+    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/lib ${python2.interpreter} ../tests/run_tests.py ./bin/cpuid_tool ../tests/
     popd
 
     function fixRunPath {
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 56c0d26a999..5dd523d6fa6 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
     optional sslSupport openssl ++
     optional scpSupport libssh2;
 
+  patches = stdenv.lib.optional http2Support ./fix-http2-window-size.patch;
+
   # for the second line see http://curl.haxx.se/mail/tracker-2014-03/0087.html
   preConfigure = ''
     sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
diff --git a/pkgs/tools/networking/curl/disable-ca-install.patch b/pkgs/tools/networking/curl/disable-ca-install.patch
deleted file mode 100644
index aedf8ef5c3e..00000000000
--- a/pkgs/tools/networking/curl/disable-ca-install.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/lib/Makefile.in
-+++ b/lib/Makefile.in
-@@ -106,10 +106,7 @@ else
- endif
- 
- install-data-hook:
--	@if test -n "@CURL_CA_BUNDLE@"; then \
--	  $(mkinstalldirs) `dirname $(DESTDIR)@CURL_CA_BUNDLE@`; \
--	  @INSTALL_DATA@ $(srcdir)/ca-bundle.crt $(DESTDIR)@CURL_CA_BUNDLE@; \
--        fi
-+	echo "install-data-hook disabled"
- 
- # this hook is mainly for non-unix systems to build even if configure
- # isn't run
diff --git a/pkgs/tools/networking/curl/fix-http2-window-size.patch b/pkgs/tools/networking/curl/fix-http2-window-size.patch
new file mode 100644
index 00000000000..6fac3e1b42a
--- /dev/null
+++ b/pkgs/tools/networking/curl/fix-http2-window-size.patch
@@ -0,0 +1,88 @@
+From a4d888857ede39a8e2aa5f961048c6362d3a5377 Mon Sep 17 00:00:00 2001
+From: Jay Satiro <raysatiro@yahoo.com>
+Date: Wed, 16 Nov 2016 02:55:30 -0500
+Subject: [PATCH] http2: Use huge HTTP/2 windows
+
+- Improve performance by using a huge HTTP/2 window size.
+
+Bug: https://github.com/curl/curl/issues/1102
+Reported-by: afrind@users.noreply.github.com
+Assisted-by: Tatsuhiro Tsujikawa
+---
+ docs/TODO   |  8 --------
+ lib/http2.c | 15 +++++++++++++--
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/docs/TODO b/docs/TODO
+index c3bc4eb..99c610f 100644
+--- a/docs/TODO
++++ b/docs/TODO
+@@ -63,7 +63,6 @@
+  5.1 Better persistency for HTTP 1.0
+  5.2 support FF3 sqlite cookie files
+  5.3 Rearrange request header order
+- 5.4 Use huge HTTP/2 windows
+  5.5 auth= in URLs
+  5.6 Refuse "downgrade" redirects
+  5.7 Brotli compression
+@@ -528,13 +527,6 @@ This is not detailed in any FTP specification.
+  headers use a default value so only headers that need to be moved have to be
+  specified.
+ 
+-5.4 Use huge HTTP/2 windows
+-
+- We're currently using nghttp2's default window size which is terribly small
+- (64K). This becomes a bottle neck over high bandwidth networks. We should
+- instead make the window size to be very big (512MB?) as we really don't do
+- much flow control anyway.
+-
+ 5.5 auth= in URLs
+ 
+  Add the ability to specify the preferred authentication mechanism to use by
+diff --git a/lib/http2.c b/lib/http2.c
+index 6720984..202ab1b 100644
+--- a/lib/http2.c
++++ b/lib/http2.c
+@@ -59,6 +59,8 @@
+ #define nghttp2_session_callbacks_set_error_callback(x,y)
+ #endif
+ 
++#define HTTP2_HUGE_WINDOW_SIZE (1 << 30)
++
+ /*
+  * Curl_http2_init_state() is called when the easy handle is created and
+  * allows for HTTP/2 specific init of state.
+@@ -965,7 +967,7 @@ static ssize_t data_source_read_callback(nghttp2_session *session,
+  */
+ static nghttp2_settings_entry settings[] = {
+   { NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS, 100 },
+-  { NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE, NGHTTP2_INITIAL_WINDOW_SIZE },
++  { NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE, HTTP2_HUGE_WINDOW_SIZE },
+ };
+ 
+ #define H2_BUFSIZE 32768
+@@ -2031,7 +2033,8 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
+   else {
+     /* stream ID is unknown at this point */
+     stream->stream_id = -1;
+-    rv = nghttp2_submit_settings(httpc->h2, NGHTTP2_FLAG_NONE, NULL, 0);
++    rv = nghttp2_submit_settings(httpc->h2, NGHTTP2_FLAG_NONE, settings,
++                                 sizeof(settings) / sizeof(settings[0]));
+     if(rv != 0) {
+       failf(data, "nghttp2_submit_settings() failed: %s(%d)",
+             nghttp2_strerror(rv), rv);
+@@ -2039,6 +2042,14 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
+     }
+   }
+ 
++  rv = nghttp2_session_set_local_window_size(httpc->h2, NGHTTP2_FLAG_NONE, 0,
++                                             HTTP2_HUGE_WINDOW_SIZE);
++  if(rv != 0) {
++    failf(data, "nghttp2_session_set_local_window_size() failed: %s(%d)",
++          nghttp2_strerror(rv), rv);
++    return CURLE_HTTP2;
++  }
++
+   /* we are going to copy mem to httpc->inbuf.  This is required since
+      mem is part of buffer pointed by stream->mem, and callbacks
+      called by nghttp2_session_mem_recv() will write stream specific
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index ec464438553..887cd09b6eb 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   name = "s3cmd-${version}";
   version = "1.6.1";
   
@@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0aan6v1qj0pdkddhhkbaky44d54irm1pa8mkn52i2j86nb2rkcf9";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ python_magic dateutil ];
+  propagatedBuildInputs = with python2Packages; [ python_magic dateutil ];
 
   meta = with stdenv.lib; {
     homepage = http://s3tools.org/;
diff --git a/pkgs/tools/networking/vde2/default.nix b/pkgs/tools/networking/vde2/default.nix
index 3a3709a9df0..ff54e1ab2d2 100644
--- a/pkgs/tools/networking/vde2/default.nix
+++ b/pkgs/tools/networking/vde2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, libpcap, python }:
+{ stdenv, fetchurl, openssl, libpcap, python2 }:
 
 stdenv.mkDerivation rec {
   name = "vde2-2.3.2";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2";
   };
 
-  buildInputs = [ openssl libpcap python ];
+  buildInputs = [ openssl libpcap python2 ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/tools/package-management/createrepo_c/default.nix b/pkgs/tools/package-management/createrepo_c/default.nix
index 8d27dc8aef0..ed46b2d302a 100644
--- a/pkgs/tools/package-management/createrepo_c/default.nix
+++ b/pkgs/tools/package-management/createrepo_c/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, bzip2, expat, glib, curl, libxml2, python, rpm, openssl, sqlite, file, xz, pcre, bash-completion }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, bzip2, expat, glib, curl, libxml2, python2, rpm, openssl, sqlite, file, xz, pcre, bash-completion }:
 
 stdenv.mkDerivation rec {
   rev  = "0.10.0";
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
                 "set (BASHCOMP_DIR "$out/share/bash-completion/completions")"
 
     substituteInPlace src/python/CMakeLists.txt \
-      --replace 'EXECUTE_PROCESS(COMMAND ''${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)' \
-                "set (PYTHON_INSTALL_DIR "$out/${python.sitePackages}")"
+      --replace 'EXECUTE_PROCESS(COMMAND ''${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python2_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)' \
+                "set (PYTHON_INSTALL_DIR "$out/${python2.sitePackages}")"
   '';
 
-  buildInputs = [ cmake pkgconfig bzip2 expat glib curl libxml2 python rpm openssl sqlite file xz pcre bash-completion ];
+  buildInputs = [ cmake pkgconfig bzip2 expat glib curl libxml2 python2 rpm openssl sqlite file xz pcre bash-completion ];
 
   meta = with stdenv.lib; {
     description = "C implementation of createrepo";
diff --git a/pkgs/tools/package-management/nixui/nixui.nix b/pkgs/tools/package-management/nixui/nixui.nix
index b6d7606f6cc..fea6de2ea7c 100644
--- a/pkgs/tools/package-management/nixui/nixui.nix
+++ b/pkgs/tools/package-management/nixui/nixui.nix
@@ -6,11 +6,11 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) stdenv python utillinux runCommand writeTextFile;
+    inherit (pkgs) stdenv utillinux runCommand writeTextFile;
     inherit nodejs;
   };
 in
 import ./node-packages.nix {
   inherit (pkgs) fetchurl fetchgit;
   inherit nodeEnv;
-}
\ No newline at end of file
+}
diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix
index 3dd47f50cf7..0e91e287123 100644
--- a/pkgs/tools/security/afl/qemu.nix
+++ b/pkgs/tools/security/afl/qemu.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl
+{ stdenv, fetchurl, python2, zlib, pkgconfig, glib, ncurses, perl
 , attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
 , libaio, libcap_ng, gnutls, pixman, autoconf
 , writeText
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ python zlib pkgconfig glib pixman ncurses perl attr libcap
+    [ python2 zlib pkgconfig glib pixman ncurses perl attr libcap
       vde2 texinfo libuuid flex bison lzo snappy autoconf
       libcap_ng gnutls
     ]
diff --git a/pkgs/tools/security/tor/tor-arm.nix b/pkgs/tools/security/tor/tor-arm.nix
index 432b1cbfcee..170d5c4ff7a 100644
--- a/pkgs/tools/security/tor/tor-arm.nix
+++ b/pkgs/tools/security/tor/tor-arm.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper
-, pythonPackages, ncurses, lsof, nettools
+, python2Packages, ncurses, lsof, nettools
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yi87gdglkvi1a23hv5c3k7mc18g0rw7b05lfcw81qyxhlapf3pw";
   };
 
-  nativeBuildInputs = [ makeWrapper pythonPackages.python ];
+  nativeBuildInputs = [ makeWrapper python2Packages.python ];
 
   outputs = [ "out" "man" ];
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       --replace "lsof -wnPi"   "${lsof}/bin/lsof"
 
     substituteInPlace ./arm --replace '"$0" = /usr/bin/arm' 'true'
-    substituteInPlace ./arm --replace "python" "${pythonPackages.python}/bin/python"
+    substituteInPlace ./arm --replace "python" "${python2Packages.python}/bin/python"
 
     for i in ./install ./arm ./src/gui/controller.py ./src/cli/wizard.py ./src/resources/torrcOverride/override.h ./src/resources/torrcOverride/override.py ./src/resources/arm.1 ./setup.py; do
       substituteInPlace $i --replace "/usr/share" "$out/share"
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 622f5fc6cea..6530abd2362 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0byl2f897w5lhs4bvr6p7qwcz9bllj2zyfv7nywbcbsnb9ha9wrb";
   };
 
+  patches = [ ./module-dir.diff ];
+
   buildInputs = [ pkgconfig zlib kmod which ];
 
   makeFlags = "SHARED=yes PREFIX=\${out}";
diff --git a/pkgs/tools/system/pciutils/module-dir.diff b/pkgs/tools/system/pciutils/module-dir.diff
new file mode 100644
index 00000000000..ea38b115b24
--- /dev/null
+++ b/pkgs/tools/system/pciutils/module-dir.diff
@@ -0,0 +1,23 @@
+Don't override libkmod's way of finding modules.
+
+(We override that behavior in nixpkgs to fit nixos.)
+
+diff --git a/ls-kernel.c b/ls-kernel.c
+index 78b70f1..ecacd0e 100644
+--- a/ls-kernel.c
++++ b/ls-kernel.c
+@@ -29,13 +29,7 @@ show_kernel_init(void)
+   if (show_kernel_inited >= 0)
+     return show_kernel_inited;
+ 
+-  struct utsname uts;
+-  if (uname(&uts) < 0)
+-    die("uname() failed: %m");
+-  char *name = alloca(64 + strlen(uts.release));
+-  sprintf(name, "/lib/modules/%s", uts.release);
+-
+-  kmod_ctx = kmod_new(name, NULL);
++  kmod_ctx = kmod_new(NULL, NULL);
+   if (!kmod_ctx)
+     {
+       fprintf(stderr, "lspci: Unable to initialize libkmod context\n");
diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix
index 2b8505ac5df..a9403020e41 100644
--- a/pkgs/tools/typesetting/rubber/default.nix
+++ b/pkgs/tools/typesetting/rubber/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, python, pythonPackages, texinfo }:
+{ fetchurl, stdenv, python2Packages, texinfo }:
 
 stdenv.mkDerivation rec {
   name = "rubber-1.3";
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "09715apfd6a0haz1mqsxgm8sj4rwzi38gcz2kz020zxk5rh0dksh";
   };
 
-  buildInputs = [ python texinfo ];
-  nativeBuildInputs = [ pythonPackages.wrapPython ];
+  buildInputs = [ python2Packages.python texinfo ];
+  nativeBuildInputs = [ python2Packages.wrapPython ];
 
   patchPhase = ''
     substituteInPlace configure --replace which "type -P"
diff --git a/pkgs/tools/virtualization/euca2ools/default.nix b/pkgs/tools/virtualization/euca2ools/default.nix
index 7a1d56435aa..dce806cf6e3 100644
--- a/pkgs/tools/virtualization/euca2ools/default.nix
+++ b/pkgs/tools/virtualization/euca2ools/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchgit, which, pythonPackages }:
+{ stdenv, fetchgit, which, python2Packages }:
 
-pythonPackages.buildPythonApplication rec {
+let
+  inherit (python2Packages) buildPythonApplication boto m2crypto;
+in buildPythonApplication rec {
   name = "euca2ools-2.1.4";
   namePrefix = "";
 
@@ -10,7 +12,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0grsgn5gbvk1hlfa8qx7ppz7iyfyi2pdhxy8njr8lm60w4amfiyq";
   };
 
-  pythonPath = [ pythonPackages.boto pythonPackages.m2crypto ];
+  propagatedBuildInputs = [ boto m2crypto ];
 
   meta = {
     homepage = http://open.eucalyptus.com/downloads;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 78090a8c205..0d9a1f1eb12 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -429,9 +429,7 @@ in
 
   arandr = callPackage ../tools/X11/arandr { };
 
-  arangodb = callPackage ../servers/nosql/arangodb {
-    inherit (pythonPackages) gyp;
-  };
+  arangodb = callPackage ../servers/nosql/arangodb { };
 
   arcanist = callPackage ../development/tools/misc/arcanist {};
 
@@ -475,9 +473,9 @@ in
 
   avfs = callPackage ../tools/filesystems/avfs { };
 
-  awscli = pythonPackages.awscli;
+  awscli = pythonPackages.awscli; # Should be moved out of python-packages.nix
 
-  aws_shell = pythonPackages.aws_shell;
+  aws_shell = python2Packages.aws_shell; # Should be moved out of python-packages.nix
 
   azure-cli = nodePackages.azure-cli;
 
@@ -634,7 +632,7 @@ in
 
   bins = callPackage ../tools/graphics/bins { };
 
-  bitbucket-cli = pythonPackages.bitbucket-cli;
+  bitbucket-cli = python2Packages.bitbucket-cli;
 
   blink = callPackage ../applications/networking/instant-messengers/blink { };
 
@@ -1397,7 +1395,7 @@ in
 
   ddrescue = callPackage ../tools/system/ddrescue { };
 
-  deluge = pythonPackages.deluge;
+  deluge = python2Packages.deluge; # Package should be moved out of python-packages.nix
 
   desktop_file_utils = callPackage ../tools/misc/desktop-file-utils { };
 
@@ -1611,7 +1609,7 @@ in
 
   f2fs-tools = callPackage ../tools/filesystems/f2fs-tools { };
 
-  Fabric = pythonPackages.Fabric;
+  Fabric = python2Packages.Fabric;
 
   fail2ban = callPackage ../tools/security/fail2ban { };
 
@@ -10781,7 +10779,7 @@ in
   fatrace = callPackage ../os-specific/linux/fatrace { };
 
   ffadoFull = callPackage ../os-specific/linux/ffado {
-    inherit (pythonPackages) python pyqt4 dbus-python;
+    inherit (python2Packages) python pyqt4 dbus-python;
   };
   libffado = ffadoFull.override { prefix = "lib"; };
 
@@ -12341,9 +12339,7 @@ in
 
   calcurse = callPackage ../applications/misc/calcurse { };
 
-  calibre = qt5.callPackage ../applications/misc/calibre {
-    inherit (pythonPackages) pyqt5 sip;
-  };
+  calibre = qt5.callPackage ../applications/misc/calibre { };
 
   camlistore = callPackage ../applications/misc/camlistore { };
 
@@ -14863,7 +14859,6 @@ in
 
   thunderbird = callPackage ../applications/networking/mailreaders/thunderbird {
     inherit (gnome2) libIDL;
-    inherit (pythonPackages) pysqlite;
     libpng = libpng_apng;
   };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index cd206511f83..c1831b2ce09 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2671,14 +2671,20 @@ in {
     };
   };
 
+  # Should be moved out of python-packages.nix
   bitbucket-cli = buildPythonPackage rec {
-    name = "bitbucket-cli-0.4.1";
+    name = "bitbucket-cli-0.5.1";
     src = pkgs.fetchurl {
        url = "mirror://pypi/b/bitbucket-cli/${name}.tar.gz";
-       sha256 = "d8909627ae7a46519379c6343698d49f9ffd5de839ff44796974828d843a9419";
+       sha256 = "d881e21ec7ebfa006cfca6d10a5b7229aa59990568f8c6b8e3364769fa38b6f6";
     };
 
-    pythonPath = [ self.requests ];
+    propagatedBuildInputs = [ self.requests2 ];
+
+    # No tests
+    doCheck = false;
+
+    disabled = isPy3k;
 
     meta = {
       description = "Bitbucket command line interface";
@@ -13509,6 +13515,9 @@ in {
     clblas = pkgs.clblas-cuda;
   };
 
+  libplist = if isPy3k then throw "libplist not supported for interpreter ${python.executable}" else
+    (pkgs.libplist.override{python2Packages=self; }).py;
+
   libxml2 = if isPy3k then throw "libxml2 not supported for interpreter ${python.executable}" else
     (pkgs.libxml2.override{pythonSupport=true; python2=python;}).py;
 
@@ -15203,7 +15212,7 @@ in {
 
   netaddr = buildPythonPackage rec {
     name = "netaddr-0.7.18";
-    disabled = isPy35;  # https://github.com/drkjam/netaddr/issues/117
+    doCheck = !isPy35;  # https://github.com/drkjam/netaddr/issues/117
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/netaddr/${name}.tar.gz";
@@ -31256,4 +31265,8 @@ in {
       license = licenses.mit;
     };
   };
+
+  zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else
+    (pkgs.zeitgeist.override{python2Packages=self;}).py;
+
 }