summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2015-01-08 10:26:49 +0100
committerDomen Kožar <domen@dev.si>2015-01-08 10:26:49 +0100
commit9b7b2ce8eb855b99598183b06bbd2f021e01d359 (patch)
tree6208aca2cacac8adb19c64dc2a3d1ada2f7408ef /pkgs
parent6671aff83e4082f3a825c456cf259b9e30ae702c (diff)
downloadnixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.tar
nixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.tar.gz
nixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.tar.bz2
nixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.tar.lz
nixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.tar.xz
nixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.tar.zst
nixlib-9b7b2ce8eb855b99598183b06bbd2f021e01d359.zip
Revert "Introduce patchShebangsPhase ran in preConfigurePhases"
This reverts commit 512fbb280f72980e84230b72b631258df1755919.

See #5368
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/caudec/default.nix4
-rw-r--r--pkgs/applications/editors/geany/default.nix2
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix4
-rw-r--r--pkgs/applications/graphics/xara/default.nix1
-rw-r--r--pkgs/applications/misc/bibletime/default.nix1
-rw-r--r--pkgs/applications/misc/xiphos/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/freetalk/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix1
-rw-r--r--pkgs/applications/networking/p2p/gnunet/svn.nix1
-rw-r--r--pkgs/applications/science/logic/cvc4/default.nix2
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix1
-rw-r--r--pkgs/applications/video/cmplayer/default.nix6
-rw-r--r--pkgs/applications/video/mplayer2/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix1
-rw-r--r--pkgs/applications/virtualization/docker/default.nix1
-rw-r--r--pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--pkgs/build-support/setup-hooks/patch-shebangs.sh6
-rw-r--r--pkgs/data/documentation/stdman/default.nix5
-rw-r--r--pkgs/desktops/cinnamon/cjs.nix2
-rw-r--r--pkgs/desktops/cinnamon/muffin.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/caribou/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix2
-rw-r--r--pkgs/development/compilers/go/1.1-darwin.nix1
-rw-r--r--pkgs/development/compilers/go/1.1.nix1
-rw-r--r--pkgs/development/compilers/go/1.2.nix1
-rw-r--r--pkgs/development/compilers/go/default.nix1
-rw-r--r--pkgs/development/compilers/julia/0.3.3.nix2
-rw-r--r--pkgs/development/compilers/mono/default.nix1
-rw-r--r--pkgs/development/compilers/opa/default.nix1
-rw-r--r--pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix1
-rw-r--r--pkgs/development/libraries/dbus/default.nix1
-rw-r--r--pkgs/development/libraries/folly/default.nix3
-rw-r--r--pkgs/development/libraries/hspell/default.nix1
-rw-r--r--pkgs/development/libraries/ibus/default.nix1
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix3
-rw-r--r--pkgs/development/libraries/libctemplate/default.nix4
-rw-r--r--pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix1
-rw-r--r--pkgs/development/libraries/lirc/default.nix2
-rw-r--r--pkgs/development/libraries/mesa-darwin/default.nix2
-rw-r--r--pkgs/development/libraries/mesa/default.nix1
-rw-r--r--pkgs/development/libraries/polkit/default.nix4
-rw-r--r--pkgs/development/libraries/qpdf/default.nix2
-rw-r--r--pkgs/development/libraries/sword/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.6.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix2
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix2
-rw-r--r--pkgs/development/python-modules/dbus/default.nix2
-rw-r--r--pkgs/development/r-modules/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix3
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix4
-rw-r--r--pkgs/development/tools/misc/yodl/default.nix1
-rw-r--r--pkgs/games/crawl/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/default.nix2
-rw-r--r--pkgs/os-specific/darwin/cctools-port/default.nix1
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix2
-rw-r--r--pkgs/os-specific/linux/x86info/default.nix2
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix5
-rw-r--r--pkgs/servers/fleet/default.nix1
-rw-r--r--pkgs/servers/gpsd/default.nix1
-rw-r--r--pkgs/servers/http/openresty/default.nix1
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix1
-rw-r--r--pkgs/servers/nosql/riak/1.3.1.nix1
-rw-r--r--pkgs/servers/openafs-client/default.nix1
-rw-r--r--pkgs/tools/backup/bup/default.nix1
-rw-r--r--pkgs/tools/cd-dvd/dvdisaster/default.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pyparted.nix1
-rw-r--r--pkgs/tools/misc/convmv/default.nix3
-rw-r--r--pkgs/tools/misc/opentsdb/default.nix1
-rw-r--r--pkgs/tools/misc/parted/default.nix1
-rw-r--r--pkgs/tools/misc/pipelight/default.nix1
-rw-r--r--pkgs/tools/security/mbox/default.nix1
-rw-r--r--pkgs/tools/typesetting/tex/latex2html/default.nix1
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix1
-rw-r--r--pkgs/top-level/python-packages.nix5
85 files changed, 178 insertions, 11 deletions
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
index fb2970ed5fa5..24613d4dd965 100644
--- a/pkgs/applications/audio/caudec/default.nix
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
     sha256 = "5d1f5ab3286bb748bd29cbf45df2ad2faf5ed86070f90deccf71c60be832f3d5";
   };
 
+  preBuild = ''
+    patchShebangs ./install.sh
+  '';
+
   buildInputs = [ bash makeWrapper ];
 
   installPhase = ''
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 9b3ee6d4f887..8d4002c9ef85 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  patchPhase = "patchShebangs .";
+
   # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
   # It have no reasons to exist in a redistribuable package
   postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 5f3b96ba16e3..223f632f937d 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -30,6 +30,10 @@ in stdenv.mkDerivation rec {
   
   configureFlags = [ "--disable-gsettings-convert-install" ];
   
+  preConfigure = ''
+    patchShebangs .
+  '';
+
   postInstall = ''
     mkdir -p $out/share/gsettings-schemas/$name
     mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
diff --git a/pkgs/applications/graphics/xara/default.nix b/pkgs/applications/graphics/xara/default.nix
index e53514a6c1f6..cd3a09887d0f 100644
--- a/pkgs/applications/graphics/xara/default.nix
+++ b/pkgs/applications/graphics/xara/default.nix
@@ -16,4 +16,5 @@ stdenv.mkDerivation {
 
   patches = map fetchurl (import ./debian-patches.nix);
 
+  prePatch = "patchShebangs Scripts";
 }
diff --git a/pkgs/applications/misc/bibletime/default.nix b/pkgs/applications/misc/bibletime/default.nix
index df6a3a271b67..41184d6e9492 100644
--- a/pkgs/applications/misc/bibletime/default.nix
+++ b/pkgs/applications/misc/bibletime/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   prePatch = ''
+    patchShebangs .;
   '';
 
   preConfigure =  ''
diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix
index bce45286d1f3..d2739dbec505 100644
--- a/pkgs/applications/misc/xiphos/default.nix
+++ b/pkgs/applications/misc/xiphos/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
                   libglade scrollkeeper webkitgtk dbus_glib enchant isocodes libuuid ];
 
   prePatch = ''
+    patchShebangs .;
   '';
 
   preConfigure =  ''
diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix
index f4e54c533236..adac4baa29cd 100644
--- a/pkgs/applications/networking/browsers/chromium/source/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
 
   opensslPatches = optional useOpenSSL openssl.patches;
 
+  prePatch = "patchShebangs .";
+
   patches = [ ./sandbox_userns_36.patch ./nix_plugin_paths.patch ];
 
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 7f3eef7554c6..7931da602d6e 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ makeWrapper which go iptables rsync ];
 
+  preBuild = "patchShebangs ./hack";
+
   postBuild = ''go build --ldflags '-extldflags "-static" -s' build/pause/pause.go'';
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index fd545ee7f587..320e7094d484 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation {
   };
 
   preConfigure = ''
+    patchShebangs .
     ./autogen.sh
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index 575c6c044643..e6dd6569a55f 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     cp resources/install/generic/run.sh $out/bin/jitsi
     chmod +x $out/bin/jitsi
     sed -i 's| java | ${jdk}/bin/java |' $out/bin/jitsi
+    patchShebangs $out
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index df8846c36b11..44cf13e2917c 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -21,6 +21,10 @@ stdenv.mkDerivation {
 
   cmakeFlags = "-DENABLE_AUTODOWNLOAD=OFF -DBUILD_DESCRIPTION='NixOS' -DCMAKE_BUILD_TYPE=Release";
 
+  prePatch = ''
+    patchShebangs .
+  '';
+
   # Disable the kadu plugins I wasn't able to get to work
   patchPhase = ''
     sed -i -e '/mpd_mediaplayer/d' \
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 6e628dc081cb..e6ba7e21dc8e 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -71,6 +71,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
 
   configurePhase = ''
+    patchShebangs .
+
     echo '${stdenv.lib.concatMapStrings (s : "ac_add_options ${s}\n") configureFlags}' > .mozconfig
     echo "ac_add_options --prefix='$out'" >> .mozconfig
     echo "mk_add_options MOZ_MAKE_FLAGS='-j$NIX_BUILD_CORES'" >> .mozconfig
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 2475adadefbf..052c53112536 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
     # Ensure NSS installation works fine
     configureFlags="$configureFlags --with-nssdir=$out/lib"
+    patchShebangs src/gns/nss/install-nss-plugin.sh
   '';
 
   doCheck = false;
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix
index 9e593975412d..25a51b3c9365 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/svn.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
 
     # Ensure NSS installation works fine
     configureFlags="$configureFlags --with-nssdir=$out/lib"
+    patchShebangs src/gns/nss/install-nss-plugin.sh
 
     sh contrib/pogen.sh
     sh bootstrap
diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix
index a2618d88918f..5b2e9c54d6f8 100644
--- a/pkgs/applications/science/logic/cvc4/default.nix
+++ b/pkgs/applications/science/logic/cvc4/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ gmp libantlr3c boost ];
 
+  preConfigure = "patchShebangs ./src/";
+
   doChecks = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index 4b68f0e3cd6b..88bbe820e2f3 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation {
 
   postPatch = ''
     ENV=$(type -p env)
+    patchShebangs "."
     substituteInPlace lib/Tools/env \
       --replace /usr/bin/env $ENV
     substituteInPlace lib/Tools/install \
diff --git a/pkgs/applications/video/cmplayer/default.nix b/pkgs/applications/video/cmplayer/default.nix
index fe02f9a33011..3fa38646d9df 100644
--- a/pkgs/applications/video/cmplayer/default.nix
+++ b/pkgs/applications/video/cmplayer/default.nix
@@ -54,6 +54,10 @@ stdenv.mkDerivation rec {
                 ++ optional cddaSupport libcdda
                 ;
 
+  preConfigure = ''
+    patchShebangs ./configure
+    patchShebangs src/mpv/waf
+  '';
 
   configureFlags = with stdenv.lib;
                    [ "--qmake=qmake" ]
@@ -63,6 +67,8 @@ stdenv.mkDerivation rec {
                    ++ optional cddaSupport "--enable-cdda"
                    ;
 
+  preBuild = "patchShebangs ./build-mpv";
+
   nativeBuildInputs = [ pkgconfig python2 perl ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/mplayer2/default.nix b/pkgs/applications/video/mplayer2/default.nix
index 6d47ed71b40e..5827e22ea5e0 100644
--- a/pkgs/applications/video/mplayer2/default.nix
+++ b/pkgs/applications/video/mplayer2/default.nix
@@ -103,6 +103,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ yasm python3 ];
 
+  postConfigure = ''
+    patchShebangs TOOLS
+  '';
+
   configureFlags = with stdenv.lib;
     ''
       ${optionalString (useUnfreeCodecs && codecs != null) "--codecsdir=${codecs}"}
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index b87024303fe2..052add92a1fe 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -97,6 +97,7 @@ stdenv.mkDerivation rec {
 
   configurePhase = ''
     python3 ${waf} configure --prefix=$out ${lib.optionalString vaapiSupport "--enable-vaapi"}
+    patchShebangs TOOLS
   '';
 
   buildPhase = ''
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 01f0542e6f4b..3483b0ac6d20 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   buildPhase = ''
+    patchShebangs ./hack
     export AUTO_GOPATH=1
     export DOCKER_GITCOMMIT="c78088f"
     ./hack/make.sh dynbinary
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index aceb7a0b13c2..39705aca1162 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
     perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC
   ];
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   doCheck = stdenv.system == "x86_64-linux";
 
   checkPhase = ''
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
index c51fce708f35..5a7f23b2d816 100644
--- a/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -7,12 +7,6 @@
 
 fixupOutputHooks+=('if [ -z "$dontPatchShebangs" ]; then patchShebangs "$prefix"; fi')
 
-preConfigurePhases+=" patchShebangsPhase"
-
-patchShebangsPhase() {
-    if [ -z "$dontPatchSourceShebangs" ]; then patchShebangs "."; fi
-}
-
 patchShebangs() {
     local dir="$1"
     header "patching script interpreter paths in $dir"
diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix
index 53f44736350a..33c002e98013 100644
--- a/pkgs/data/documentation/stdman/default.nix
+++ b/pkgs/data/documentation/stdman/default.nix
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "09c5gjhcz97ghfrv9zkgfb1wckvmqnhbzga0xidbm1ir7640di8l";
   };
 
+  preConfigure = "
+    patchShebangs ./configure
+    patchShebangs ./do_install
+  ";
+
   buildInputs = [ curl ];
   
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/cinnamon/cjs.nix b/pkgs/desktops/cinnamon/cjs.nix
index 6c10340a8f9e..5d5847615653 100644
--- a/pkgs/desktops/cinnamon/cjs.nix
+++ b/pkgs/desktops/cinnamon/cjs.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     gobjectIntrospection
   ];
 
+  preBuild = "patchShebangs ./scripts";
+
   meta = {
     homepage = "http://cinnamon.linuxmint.com";
     description = "JavaScript bindings for Cinnamon" ;
diff --git a/pkgs/desktops/cinnamon/muffin.nix b/pkgs/desktops/cinnamon/muffin.nix
index 7eb24444246a..a1fd6b97ac16 100644
--- a/pkgs/desktops/cinnamon/muffin.nix
+++ b/pkgs/desktops/cinnamon/muffin.nix
@@ -25,6 +25,9 @@ stdenv.mkDerivation {
     clutter cogl zenity python
     gnome_doc_utils makeWrapper];
 
+  preBuild = "patchShebangs ./scripts";
+
+
   postFixup  = ''
 
     for f in "$out/bin/"*; do
diff --git a/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix
index 966d26cff01e..3a6c3f0dd357 100644
--- a/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ gnome3.libgee libxklavier ];
 
+  preBuild = ''
+    patchShebangs .
+  '';
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index 9136a48d4012..6f6816efa5bd 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
 
   preBuild = ''
+    patchShebangs src/data-to-c.pl
     substituteInPlace data/Makefile --replace " install-keysDATA" ""
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
index 2c10eccb1e83..548ca347a456 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses vala libxml2 ];
 
+  preConfigure = "patchShebangs .";
+
   configureFlags = [ "--enable-introspection" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/go/1.1-darwin.nix b/pkgs/development/compilers/go/1.1-darwin.nix
index 411c3e029a6a..5b17f56ac37a 100644
--- a/pkgs/development/compilers/go/1.1-darwin.nix
+++ b/pkgs/development/compilers/go/1.1-darwin.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation {
     fi
     cd go
 
+    patchShebangs ./ # replace /bin/bash
     rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go}
     # The os test wants to read files in an existing path. Just it don't be /usr/bin.
     sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go
diff --git a/pkgs/development/compilers/go/1.1.nix b/pkgs/development/compilers/go/1.1.nix
index 1a6bfcad3990..11640f2393d2 100644
--- a/pkgs/development/compilers/go/1.1.nix
+++ b/pkgs/development/compilers/go/1.1.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation {
     fi
     cd go
 
+    patchShebangs ./ # replace /bin/bash
     # !!! substituteInPlace does not seems to be effective.
     sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
     sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix
index c091312c2a99..a00fe7346701 100644
--- a/pkgs/development/compilers/go/1.2.nix
+++ b/pkgs/development/compilers/go/1.2.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation {
     fi
     cd go
 
+    patchShebangs ./ # replace /bin/bash
     # !!! substituteInPlace does not seems to be effective.
     sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
     sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix
index 8756aaa66291..b35159c10e79 100644
--- a/pkgs/development/compilers/go/default.nix
+++ b/pkgs/development/compilers/go/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation {
     fi
     cd go
 
+    patchShebangs ./ # replace /bin/bash
     # !!! substituteInPlace does not seems to be effective.
     sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c
     sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c
diff --git a/pkgs/development/compilers/julia/0.3.3.nix b/pkgs/development/compilers/julia/0.3.3.nix
index 89297995c4ee..a8ad9d00aec5 100644
--- a/pkgs/development/compilers/julia/0.3.3.nix
+++ b/pkgs/development/compilers/julia/0.3.3.nix
@@ -106,6 +106,8 @@ stdenv.mkDerivation rec {
 
     export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
 
+    patchShebangs . contrib
+
     export PATH="$PATH:${stdenv.cc.libc}/sbin"
 
     # ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index c715a6843954..e098f48a24ce 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
   # LLVM path to point into the Mono LLVM build, since it's private anyway.
   preBuild = ''
     makeFlagsArray=(INSTALL=`type -tp install`)
+    patchShebangs ./
   '' + stdenv.lib.optionalString withLLVM ''
     substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")"
   '';
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index f60b90296325..f0b503bd0be7 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
   codeGeneratorPaths = "${ocamlPackages.ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin:${nodejs}/bin";
 
   preConfigure = ''
+    patchShebangs .
     (
     cat ./compiler/buildinfos/buildInfos.ml.pre
     ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt 
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index 446bfdf9ca78..2c76c2f43508 100644
--- a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -12,6 +12,7 @@ agda.mkDerivation (self: rec {
 
   sourceDirectories = [ "./." ];
   buildPhase = ''
+    patchShebangs find-deps.sh
     make
   '';
 
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 145462b38d0e..d332321a22ad 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -47,6 +47,7 @@ let
     buildInputs = [ autoconf automake libtool ]; # ToDo: optional selinux?
 
     preConfigure = ''
+      patchShebangs .
       substituteInPlace tools/Makefile.am --replace 'install-localstatelibDATA:' 'disabled:'
       autoreconf -fi
     '';
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index dced097a05ae..66d4f73096b8 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook python boost ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/folly";
+  preBuild = ''
+    patchShebangs build
+  '';
 
   configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
 
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
index 9cd071f6cbe9..9b44d12c2934 100644
--- a/pkgs/development/libraries/hspell/default.nix
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "08x7rigq5pa1pfpl30qp353hbdkpadr1zc49slpczhsn0sg36pd6";
   };
 
+  patchPhase = ''patchShebangs .'';
   buildInputs = [ perl zlib ];
 
   makeFlags = "CFLAGS=-fPIC";
diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix
index ef794b452798..6b426169a708 100644
--- a/pkgs/development/libraries/ibus/default.nix
+++ b/pkgs/development/libraries/ibus/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   preBuild = ''
+    patchShebangs ./scripts
     substituteInPlace data/dconf/Makefile --replace "dconf update" "echo"
   '';
 
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 3e1251215795..841edd3dff61 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation {
   };
 
   preConfigure = ''
+    patchShebangs ./config/
     ./config/autorun.sh
   '';
 
@@ -24,4 +25,4 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.unix;
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libctemplate/default.nix b/pkgs/development/libraries/libctemplate/default.nix
index 578ccffd0948..142025c1e51d 100644
--- a/pkgs/development/libraries/libctemplate/default.nix
+++ b/pkgs/development/libraries/libctemplate/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python ];
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   meta = {
     description = "A simple but powerful template language for C++";
     longDescription = ''
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index 9a934befde98..a0292067dbb2 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "03gf221yjcdzvnl4v2adwpc6cyg5mlbccn20s00fp5bgvmq81pgs";
   };
 
+  preBuild = ''
+    patchShebangs .
+  '';
+
   buildInputs = [ pkgconfig glib python ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 517eed606e6e..cd2a15ffc668 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation {
     sha256 = "ea34dd64fe44343445daf6dd690d0691e9d973468de44878da97371c16d89784";
   };
 
+  patchPhase = ''
+    patchShebangs libsoup/
+  '';
+
   buildInputs = libintlOrEmpty ++ [ intltool python ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index b6b82a12ed6e..8bd4866cb21c 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH
+    patchShebangs . # fixes /usr/bin/python references
   '';
 
   configureFlags = [
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 755bb48af1c8..278eb8e9e523 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  preBuild = "patchShebangs .";
+
   buildInputs = [ alsaLib help2man ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix
index 0b0cf5f28220..f259a397c847 100644
--- a/pkgs/development/libraries/mesa-darwin/default.nix
+++ b/pkgs/development/libraries/mesa-darwin/default.nix
@@ -41,6 +41,8 @@ let
       ./patches/patch-src-mapi-vgapi-Makefile.diff
     ];
 
+    postPatch = "patchShebangs .";
+
     configurePhase = ":";
 
     makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++";
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 4db3b003f2f0..a3b40eb612c2 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation {
     sha256 = "f6031f8b7113a92325b60635c504c510490eebb2e707119bbff7bd86aa34657d";
   };
 
+  prePatch = "patchShebangs .";
 
   patches = [
     ./static-gallium.patch
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 6a0cc50c4123..7fe16cec56b9 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -35,7 +35,9 @@ stdenv.mkDerivation rec {
     ( map (var: ''-DPACKAGE_${var}_DIR=\""${builtins.getAttr var foolVars}"\"'')
         (builtins.attrNames foolVars) );
 
-  preConfigure = stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
+  preConfigure = ''
+    patchShebangs .
+  '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
     sed '/libsystemd-login autoconfigured, but system does not appear to use systemd/s/.*/:/' -i configure
   ''
     # ‘libpolkit-agent-1.so’ should call the setuid wrapper on
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 2f4815036709..63ba58f23432 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -15,9 +15,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ pcre zlib ];
 
   postPatch = ''
+    patchShebangs qpdf/fix-qdf
   '';
 
   preCheck = ''
+    patchShebangs qtest/bin/qtest-driver
   '';
 
   doCheck = true;
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index a91474d054c7..6faf2224b0cf 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig icu clucene_core curl ];
 
+  prePatch = ''
+    patchShebangs .;
+  '';
+
   configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/webkitgtk/2.4.6.nix b/pkgs/development/libraries/webkitgtk/2.4.6.nix
index bb8e95fb1ecd..a2344f71f882 100644
--- a/pkgs/development/libraries/webkitgtk/2.4.6.nix
+++ b/pkgs/development/libraries/webkitgtk/2.4.6.nix
@@ -28,6 +28,10 @@ stdenv.mkDerivation rec {
 
   CC = "cc";
 
+  prePatch = ''
+    patchShebangs Tools/gtk
+  '';
+
   configureFlags = with stdenv.lib; [
     "--disable-geolocation"
     (optionalString enableIntrospection "--enable-introspection")
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 08576c2ebc36..3cbf36987323 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ iyzsong koral ];
   };
 
+  preConfigure = "patchShebangs Tools";
+
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
     sha256 = "1f9qm5g1mbjm2hrnlzymas99piws4h4y3yxz4p6f6gavnsvfjwji";
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index ecdcd7804e54..d0de624890b5 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
                   libtool python dbus_libs telepathy_glib vala dbus_glib
                   gtk3 json_glib librdf_raptor2 pythonPackages.rdflib ];
 
+  prePatch = "patchShebangs .";
+
   patches = [ ./dbus_glib.patch ];
 
   patchFlags = [ "-p0" ];
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index 960824731f67..7272e668aa20 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index 2ee035aadb61..534a7684cec4 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
+  preConfigure = "patchShebangs ./configure.sh";
+
   configureScript = "./configure.sh";
   dontAddPrefix = "true";
 
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index 9a6e25d13a44..bc386e7e5ac2 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -8,6 +8,8 @@ if isPyPy then throw "dbus-python not supported for interpreter ${python.executa
     sha256 = "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71";
   };
 
+  postPatch = "patchShebangs .";
+
   buildInputs = [ python pkgconfig dbus dbus_glib ]
     ++ stdenv.lib.optional doCheck dbus_tools;
 
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 46bed164fef8..1ec48bcc06f2 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -916,6 +916,14 @@ let
   ];
 
   otherOverrides = old: new: {
+    RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: {
+      patchPhase = "patchShebangs configure";
+    });
+
+    rpf = old.rpf.overrideDerivation (attrs: {
+      patchPhase = "patchShebangs configure";
+    });
+
     BayesXsrc = old.BayesXsrc.overrideDerivation (attrs: {
       patches = [ ./patches/BayesXsrc.patch ];
     });
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index 929e68ed4e0b..a32ea9a3adda 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
+    patchShebangs ./
     sed -i "s;usr/;;g" INSTALL.im
   '';
 
@@ -24,4 +25,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index 65ae4b61b4f2..50f2037b271c 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -24,7 +24,9 @@ stdenv.mkDerivation {
     ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard";
 
   preConfigure =
-    stdenv.lib.optionalString (qt4 != null)
+    ''
+      patchShebangs .
+    '' + stdenv.lib.optionalString (qt4 != null)
     ''
       echo "using QTDIR=${qt4}..."
       export QTDIR=${qt4}
diff --git a/pkgs/development/tools/misc/yodl/default.nix b/pkgs/development/tools/misc/yodl/default.nix
index f16c961f4cf4..691974353e10 100644
--- a/pkgs/development/tools/misc/yodl/default.nix
+++ b/pkgs/development/tools/misc/yodl/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
+    patchShebangs scripts/.
     sed -i 's;/usr;;g' INSTALL.im
     substituteInPlace build --replace /usr/bin/icmake ${icmake}/bin/icmake
     substituteInPlace macros/rawmacros/startdoc.pl --replace /usr/bin/perl ${perl}/bin/perl
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 21432f0190de..7f971150c675 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
     cd source
     # Related to issue #1963
     sed -i 's/-fuse-ld=gold//g' Makefile
+    for i in util/*.pl; do
+      patchShebangs $i
+    done
+    patchShebangs util/gen-mi-enum
   '';
 
   makeFlags = [ "prefix=$(out)" "FORCE_CC=gcc" "FORCE_CXX=g++" "HOSTCXX=g++"
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 25a3a051fb95..2ca31d523feb 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -527,6 +527,8 @@ rec {
     configurePhase = ":";
 
     buildPhase = ''
+      patchShebangs .
+
       target=$out/${rtpPath}/youcompleteme
       mkdir -p $target
       cp -a ./ $target
diff --git a/pkgs/os-specific/darwin/cctools-port/default.nix b/pkgs/os-specific/darwin/cctools-port/default.nix
index eb4924ef8d4b..cdc259c1e2a0 100644
--- a/pkgs/os-specific/darwin/cctools-port/default.nix
+++ b/pkgs/os-specific/darwin/cctools-port/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   postPatch = ''
+    patchShebangs tools
     sed -i -e 's/which/type -P/' tools/*.sh
     sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh
 
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 57785d40132c..325a44f97aa4 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1ak3h3psg3wk9yk0dqnzdzik3jadzja3ah22vjfmf71p3b5xc8ai";
   };
 
+  preConfigure = "patchShebangs ./configure";
+
   configureFlags = "--datadir=$(prefix)/data";
 
   meta = {
diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix
index ef1935b931f6..54bd33cc92fd 100644
--- a/pkgs/os-specific/linux/x86info/default.nix
+++ b/pkgs/os-specific/linux/x86info/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
+    patchShebangs .
+
     # ignore warnings
     sed -i 's/-Werror -Wall//' Makefile
   '';
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index e850727ca1ae..b5f9195abbde 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip ];
 
+  preBuild =
+    ''
+      # Fix the "/usr/bin/env" in "calculate-relative".
+      patchShebangs .
+    '';
 
   installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man DOC_INSTALL_DIR=$(out)/share/doc";
 
diff --git a/pkgs/servers/fleet/default.nix b/pkgs/servers/fleet/default.nix
index 94343fcba5c2..9a122ae90a69 100644
--- a/pkgs/servers/fleet/default.nix
+++ b/pkgs/servers/fleet/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ go ];
 
   buildPhase = ''
+    patchShebangs build
     ./build
   '';
 
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index 90d7d7435be5..17325ccb2914 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   #   'chrpath' is used to be able to run the tests from the source tree, but
   #   we use $LD_LIBRARY_PATH instead.
   buildPhase = ''
+    patchShebangs .
     mkdir -p "$out"
     sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.libPrefix}/site-packages\"|" -i SConstruct
     scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
index 213313cb6b20..65c81c455b9e 100644
--- a/pkgs/servers/http/openresty/default.nix
+++ b/pkgs/servers/http/openresty/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
     export PATH="$PATH:${stdenv.cc.libc}/sbin"
+    patchShebangs .
   '';
 
   meta = {
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 0bf4ed1c1bdf..1c8eac99737c 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     export ALLOW_WARNINGS=1
+    patchShebangs .
   '';
 
   configureFlags = "--lib-path ${gperftools}/lib";
diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix
index e414668195e8..e773f6ddcc36 100644
--- a/pkgs/servers/nosql/riak/1.3.1.nix
+++ b/pkgs/servers/nosql/riak/1.3.1.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     cp -R getopt riaknostic/deps
     cp -R meck riaknostic/deps
     popd
+    patchShebangs .
   '';
 
   buildPhase = ''
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 4aedc0193276..9d9df2e38c0e 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation {
   preConfigure = ''
     ln -s ${kernel.dev}/lib/modules/*/build $TMP/linux
 
+    patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
       echo "Patch /usr/include and /usr/src in $i"
       substituteInPlace $i \
diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix
index e181b4ca18ea..1964f01b0774 100644
--- a/pkgs/tools/backup/bup/default.nix
+++ b/pkgs/tools/backup/bup/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pandoc perl makeWrapper ];
 
   patchPhase = ''
+    patchShebangs .
     substituteInPlace Makefile --replace "-Werror" ""
     substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl"
   '' + optionalString par2Support ''
diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix
index 34ca3d848712..b54f342b3454 100644
--- a/pkgs/tools/cd-dvd/dvdisaster/default.nix
+++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix
@@ -10,6 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "e9787dea39aeafa38b26604752561bc895083c17b588489d857ac05c58be196b";
   };
 
+  postPatch = ''
+    patchShebangs ./
+  '';
+
   buildInputs = [
     pkgconfig which gettext intltool
     glib gtk2
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix b/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
index 81fe82144153..67f318c863e1 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pyparted.nix
@@ -29,6 +29,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ parted ];
 
   checkPhase = ''
+    patchShebangs Makefile
     make test PYTHON=${python.executable}
   '';
 
diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix
index aea4fb8aad00..7db7ebf96d6d 100644
--- a/pkgs/tools/misc/convmv/default.nix
+++ b/pkgs/tools/misc/convmv/default.nix
@@ -12,8 +12,9 @@ stdenv.mkDerivation rec {
     makeFlags="PREFIX=$out"
   '';
 
-  postBuild=''
+  patchPhase=''
     tar -xf testsuite.tar
+    patchShebangs .
   '';
 
   doCheck = true;
diff --git a/pkgs/tools/misc/opentsdb/default.nix b/pkgs/tools/misc/opentsdb/default.nix
index c19ccfba001c..6f9695ba363c 100644
--- a/pkgs/tools/misc/opentsdb/default.nix
+++ b/pkgs/tools/misc/opentsdb/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
     mkdir build
     cd build
     ../configure --prefix=$out
+    patchShebangs ../build-aux/
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index fdfcfdc73d97..0763532260a9 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   patches = stdenv.lib.optional doCheck ./gpt-unicode-test-fix.patch;
 
   postPatch = stdenv.lib.optionalString doCheck ''
+    patchShebangs tests
   '';
 
   buildInputs = [ libuuid ]
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index e30ce14d5e9f..5ead0e7c8bab 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -32,6 +32,7 @@ let
       ];
       postPatch = ''
         export wineDir=$(pwd)
+        patchShebangs $wineDir/tools/
 	chmod u+w $wineDir/../git-export/debian/tools/
         patchShebangs $wineDir/../git-export/debian/tools/
         chmod -R +rwx ../git-export/
diff --git a/pkgs/tools/security/mbox/default.nix b/pkgs/tools/security/mbox/default.nix
index 1dba136bda7e..732cf7046610 100644
--- a/pkgs/tools/security/mbox/default.nix
+++ b/pkgs/tools/security/mbox/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation {
   checkPhase = ''
     rm tests/test-*vim.sh tests/test-pip.sh
 
+    patchShebangs ./; dontPatchShebags=1
     sed -i 's|^/bin/||' tests/test-fileops.sh
 
     ./testall.sh
diff --git a/pkgs/tools/typesetting/tex/latex2html/default.nix b/pkgs/tools/typesetting/tex/latex2html/default.nix
index 853668c3b8aa..f6fc640eb3f8 100644
--- a/pkgs/tools/typesetting/tex/latex2html/default.nix
+++ b/pkgs/tools/typesetting/tex/latex2html/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ tex perl ghostscript netpbm ];
 
   preConfigure = ''
+    patchShebangs .
     sed -i -e "s|#! /bin/cat|#! $(type -p cat)|" configure
     configureFlags="--with-texpath=$out/share/texmf-nix";
   '';
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
index 93814684bc13..48eb68242e1e 100644
--- a/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -12,6 +12,8 @@ in pythonPackages.buildPythonPackage rec {
   };
 
   preBuild = ''
+    patchShebangs ./tools
+
     substituteInPlace setup.py \
       --replace /usr $out \
       --replace /etc $out/etc \
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 6ad1e46de0ae..813284ede8f8 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1357,6 +1357,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.21.tar.gz;
       sha256 = "0gca1cjy2k0mrpfnbyzm5islzfayqfvg3zzlrlm7n60p0cb48y7w";
     };
+    preConfigure = "patchShebangs .";
     meta = {
       description = "A module for creating generic methods";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 24f2feffdfed..77e380105c84 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7213,6 +7213,10 @@ let
       sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14";
     };
 
+    preConfigure = ''
+      patchShebangs .
+    '';
+
     buildInputs = [
       self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio
     ];
@@ -7581,6 +7585,7 @@ let
     propagatedBuildInputs = with self; [ pkgs.parted ];
 
     checkPhase = ''
+      patchShebangs Makefile
       make test PYTHON=${python.executable}
     '';