summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2016-11-30 00:34:23 +0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2016-11-30 00:34:23 +0200
commit8a4d6516ee6d6f526543fba01b2b6814fadf6c4e (patch)
tree0996f477a4a0badf9a1b6cf0aa7c9aa4da3256b9 /pkgs/tools
parent56366b5e668d4d5086cbadbb04c5dbc01a798581 (diff)
parent2587611ed5916e8fad810a4a2038e12ed85337c0 (diff)
downloadnixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.tar
nixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.tar.gz
nixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.tar.bz2
nixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.tar.lz
nixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.tar.xz
nixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.tar.zst
nixpkgs-8a4d6516ee6d6f526543fba01b2b6814fadf6c4e.zip
Merge remote-tracking branch 'upstream/staging' into master
Diffstat (limited to 'pkgs/tools')
-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
19 files changed, 184 insertions, 85 deletions
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;