summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/915resolution/default.nix2
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh6
-rw-r--r--pkgs/os-specific/linux/aufs/2.1.nix2
-rw-r--r--pkgs/os-specific/linux/aufs/2.nix2
-rw-r--r--pkgs/os-specific/linux/aufs/3.nix4
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix2
-rw-r--r--pkgs/os-specific/linux/cramfsswap/builder.sh2
-rw-r--r--pkgs/os-specific/linux/exmap/default.nix4
-rwxr-xr-xpkgs/os-specific/linux/ext3cow-tools/builder.sh2
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/ipw2100/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/ipw2200/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-3945-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-5000-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/ralink/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/rt2860/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/rt2870/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/rt73/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/rtl8192c/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/zd1211/default.nix2
-rw-r--r--pkgs/os-specific/linux/fxload/default.nix6
-rw-r--r--pkgs/os-specific/linux/hal/default.nix6
-rw-r--r--pkgs/os-specific/linux/kernel-headers/2.4.nix2
-rw-r--r--pkgs/os-specific/linux/kernel-headers/2.6.18.5.nix25
-rw-r--r--pkgs/os-specific/linux/kernel-headers/2.6.28.nix2
-rw-r--r--pkgs/os-specific/linux/kernel-headers/2.6.32.nix2
-rw-r--r--pkgs/os-specific/linux/kernel-headers/builder.sh9
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix62
-rw-r--r--pkgs/os-specific/linux/kernel/builder.sh4
-rw-r--r--pkgs/os-specific/linux/klibc/shrunk.nix2
-rw-r--r--pkgs/os-specific/linux/kudzu/builder.sh8
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix2
-rw-r--r--pkgs/os-specific/linux/lsiutil/default.nix2
-rw-r--r--pkgs/os-specific/linux/mingetty/default.nix2
-rw-r--r--pkgs/os-specific/linux/module-init-tools/default.nix21
-rw-r--r--pkgs/os-specific/linux/module-init-tools/module-dir.patch120
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/nss_ldap/default.nix2
-rw-r--r--pkgs/os-specific/linux/numactl/default.nix2
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy.sh8
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh20
-rw-r--r--pkgs/os-specific/linux/opengl/xorg-sys/builder.sh2
-rw-r--r--pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh2
-rw-r--r--pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh2
-rw-r--r--pkgs/os-specific/linux/pcmciautils/default.nix2
-rw-r--r--pkgs/os-specific/linux/pmount/default.nix8
-rw-r--r--pkgs/os-specific/linux/qc-usb/builder.sh2
-rw-r--r--pkgs/os-specific/linux/radeontools/default.nix2
-rw-r--r--pkgs/os-specific/linux/sysklogd/builder.sh6
-rw-r--r--pkgs/os-specific/linux/tcp-wrapper/builder.sh10
-rw-r--r--pkgs/os-specific/linux/tunctl/default.nix2
-rw-r--r--pkgs/os-specific/linux/upower/default.nix4
-rw-r--r--pkgs/os-specific/linux/upstart/default.nix2
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix (renamed from pkgs/os-specific/linux/util-linux-ng/default.nix)12
-rw-r--r--pkgs/os-specific/linux/wis-go7007/default.nix8
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix4
-rw-r--r--pkgs/os-specific/linux/xf86-input-multitouch/default.nix2
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix2
-rw-r--r--pkgs/os-specific/linux/zen-kernel/2.6.32-zen4.nix4
-rw-r--r--pkgs/os-specific/linux/zen-kernel/2.6.33-zen1.nix4
-rw-r--r--pkgs/os-specific/windows/mingw-headers/default.nix2
-rw-r--r--pkgs/os-specific/windows/mingwrt/default.nix2
-rw-r--r--pkgs/os-specific/windows/w32api/default.nix2
71 files changed, 254 insertions, 209 deletions
diff --git a/pkgs/os-specific/linux/915resolution/default.nix b/pkgs/os-specific/linux/915resolution/default.nix
index 48ab97d9106..cfb71690ad5 100644
--- a/pkgs/os-specific/linux/915resolution/default.nix
+++ b/pkgs/os-specific/linux/915resolution/default.nix
@@ -7,5 +7,5 @@ stdenv.mkDerivation {
     sha256 = "1m5nfzgwaglqabpm2l2mjqvigz1z0dj87cmj2pjbbzxmmpapv0lq";
   };
   buildPhase = "rm *.o 915resolution; make";
-  installPhase = "ensureDir $out/sbin; cp 915resolution $out/sbin/";
+  installPhase = "mkdir -p $out/sbin; cp 915resolution $out/sbin/";
 }
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 1a9b3cbf74d..925e2e2e650 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -17,9 +17,9 @@ stdenv.mkDerivation {
  
   installPhase = ''
     kernelVersion=$(cd ${kernel}/lib/modules && ls)
-    ensureDir $out/lib/modules/$kernelVersion/misc
+    mkdir -p $out/lib/modules/$kernelVersion/misc
     cp acpi_call.ko $out/lib/modules/$kernelVersion/misc
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp test_off.sh $out/bin/test_discrete_video_off.sh
   '';
 
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index 1fd6234b48e..b05093d8915 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -136,7 +136,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
 
 { # install
 
-  ensureDir $out/lib/xorg
+  mkdir -p $out/lib/xorg
 
   cp -r common/usr/include $out
   cp -r common/usr/sbin $out
@@ -152,7 +152,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg
 
   t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc
-  ensureDir $t
+  mkdir -p $t
 
   cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t
 
@@ -174,7 +174,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
 }
 
 { # build samples
-  ensureDir $out/bin
+  mkdir -p $out/bin
 
   mkdir -p samples
   cd samples
diff --git a/pkgs/os-specific/linux/aufs/2.1.nix b/pkgs/os-specific/linux/aufs/2.1.nix
index f6a3a6dffc2..1539775a2a1 100644
--- a/pkgs/os-specific/linux/aufs/2.1.nix
+++ b/pkgs/os-specific/linux/aufs/2.1.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      ensureDir $out/lib/modules/${kernel.version}/misc
+      mkdir -p $out/lib/modules/${kernel.version}/misc
       cp -v aufs.ko $out/lib/modules/${kernel.version}/misc
 
       # Install the headers because aufs2.1-util requires them.
diff --git a/pkgs/os-specific/linux/aufs/2.nix b/pkgs/os-specific/linux/aufs/2.nix
index 696ed57b860..4d80ddae0b8 100644
--- a/pkgs/os-specific/linux/aufs/2.nix
+++ b/pkgs/os-specific/linux/aufs/2.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      ensureDir $out/lib/modules/${kernel.version}/misc
+      mkdir -p $out/lib/modules/${kernel.version}/misc
       cp aufs.ko $out/lib/modules/${kernel.version}/misc
 
       # Install the headers because aufs2-util requires them.
diff --git a/pkgs/os-specific/linux/aufs/3.nix b/pkgs/os-specific/linux/aufs/3.nix
index ec3c5aec85b..731098134b5 100644
--- a/pkgs/os-specific/linux/aufs/3.nix
+++ b/pkgs/os-specific/linux/aufs/3.nix
@@ -22,11 +22,11 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      ensureDir $out/lib/modules/${kernel.modDirVersion}/misc
+      mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
       cp -v aufs.ko $out/lib/modules/${kernel.modDirVersion}/misc
 
       # Install the headers because aufs3-util requires them.
-      ensureDir $out/include/linux
+      mkdir -p $out/include/linux
       cp -v usr/include/linux/aufs_type.h $out/include/linux
     '';
 
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 48ab458d402..96749dca2b7 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
     ''
       binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
       docDir="$out/share/doc/broadcom-sta/"
-      ensureDir "$binDir" "$docDir"
+      mkdir -p "$binDir" "$docDir"
       cp wl.ko "$binDir"
       cp lib/LICENSE.txt "$docDir"
     '';
diff --git a/pkgs/os-specific/linux/cramfsswap/builder.sh b/pkgs/os-specific/linux/cramfsswap/builder.sh
index 14e6a11f9d0..51a5b11dda6 100644
--- a/pkgs/os-specific/linux/cramfsswap/builder.sh
+++ b/pkgs/os-specific/linux/cramfsswap/builder.sh
@@ -1,6 +1,6 @@
 source $stdenv/setup
 
 export DESTDIR=$out
-ensureDir $out/usr/bin
+mkdir -p $out/usr/bin
 
 genericBuild
diff --git a/pkgs/os-specific/linux/exmap/default.nix b/pkgs/os-specific/linux/exmap/default.nix
index da5e00e3377..a7fb22f95e9 100644
--- a/pkgs/os-specific/linux/exmap/default.nix
+++ b/pkgs/os-specific/linux/exmap/default.nix
@@ -31,10 +31,10 @@ stdenv.mkDerivation rec {
   #checkPhase = "make test"
 
   installPhase = ''
-    ensureDir "$out/share/${name}"
+    mkdir -p "$out/share/${name}"
     cp kernel/*.ko "$out/share/${name}"
 
-    ensureDir "$out/bin"
+    mkdir -p "$out/bin"
     cp src/{gexmap,exmtool,elftool,showproc} "$out/bin"
   '';
 
diff --git a/pkgs/os-specific/linux/ext3cow-tools/builder.sh b/pkgs/os-specific/linux/ext3cow-tools/builder.sh
index 560b8d6723a..be6e3d9ce3a 100755
--- a/pkgs/os-specific/linux/ext3cow-tools/builder.sh
+++ b/pkgs/os-specific/linux/ext3cow-tools/builder.sh
@@ -13,7 +13,7 @@ sed -i "s/linux\/ext3cow_fs.h/$kernerlext3cowheader_slashed/" ext3cow_tools.h		#
 
 make
 
-ensureDir $out/bin/
+mkdir -p $out/bin/
 cp ss $out/bin/snapshot
 cp tt $out/bin/
 cp e2d $out/bin/
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 6ad2227ee69..f468b183be9 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   patchPhase = "rm -rf debian defines TODO";
 
-  installPhase = "ensureDir $out && cp -ra * $out/";
+  installPhase = "mkdir -p $out && cp -ra * $out/";
 
   # repeat the same trick for radeon, 3com, etc.
   postInstall = "ln -s $out/realtek/rtlwifi $out/rtlwifi";
diff --git a/pkgs/os-specific/linux/firmware/ipw2100/default.nix b/pkgs/os-specific/linux/firmware/ipw2100/default.nix
index 2ffa8c3e837..3548a841aab 100644
--- a/pkgs/os-specific/linux/firmware/ipw2100/default.nix
+++ b/pkgs/os-specific/linux/firmware/ipw2100/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   # says: "Your rights to redistribute the Software shall be
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
-  installPhase = "ensureDir $out; cp * $out";
+  installPhase = "mkdir -p $out; cp * $out";
   
   meta = {
     # "... you may transfer a copy of the Software ... provided such
diff --git a/pkgs/os-specific/linux/firmware/ipw2200/default.nix b/pkgs/os-specific/linux/firmware/ipw2200/default.nix
index ed6a82e0df7..402636862ec 100644
--- a/pkgs/os-specific/linux/firmware/ipw2200/default.nix
+++ b/pkgs/os-specific/linux/firmware/ipw2200/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   # says: "Your rights to redistribute the Software shall be
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
-  installPhase = "ensureDir $out; cp * $out";
+  installPhase = "mkdir -p $out; cp * $out";
   
   meta = {
     # "... you may transfer a copy of the Software ... provided such
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix
index c09bd5c5aca..2660c0b2493 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-3945-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-3945-ucode/default.nix
index 389d416f2a5..afe2357995c 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-3945-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-3945-ucode/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   
   buildPhase = "true";
 
-  installPhase = "ensureDir $out; chmod -x *; cp * $out";
+  installPhase = "mkdir -p $out; chmod -x *; cp * $out";
   
   meta = {
     description = "Firmware for the Intel 3945ABG wireless card";
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix
index b75eae6acf2..3e3ad74adb3 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
 
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix b/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix
index 0948d381f7f..e1771c7a5cf 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/version-2.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-5000-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-5000-ucode/default.nix
index 8dc69e0a6a3..b8ee5f388d1 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-5000-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-5000-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix
index 0505a940d26..0d409bd8427 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
index 5b7e2dc7b5e..e5f3effa4b7 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
index 80aa6d367be..e5fe73ca498 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix
index 580af83ea9d..b3a2a810bf7 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildPhase = "true";
 
   installPhase = ''
-    ensureDir "$out"
+    mkdir -p "$out"
     chmod -x *
     cp * "$out"
   '';
diff --git a/pkgs/os-specific/linux/firmware/ralink/default.nix b/pkgs/os-specific/linux/firmware/ralink/default.nix
index 23513d2bf88..abf12fd672b 100644
--- a/pkgs/os-specific/linux/firmware/ralink/default.nix
+++ b/pkgs/os-specific/linux/firmware/ralink/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
   installPhase = ''
-    ensureDir $out
+    mkdir -p $out
     cp $src/*.bin $out
     cp $src/LICENSE $out/ralink.LICENSE
   '';
diff --git a/pkgs/os-specific/linux/firmware/rt2860/default.nix b/pkgs/os-specific/linux/firmware/rt2860/default.nix
index 0c8accd2f6c..0a1cb655572 100644
--- a/pkgs/os-specific/linux/firmware/rt2860/default.nix
+++ b/pkgs/os-specific/linux/firmware/rt2860/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
   installPhase = ''
-    ensureDir $out
+    mkdir -p $out
     cp $src/rt2860.bin $out
     cp $src/LICENSE $out/rt2860.LICENSE
   '';
diff --git a/pkgs/os-specific/linux/firmware/rt2870/default.nix b/pkgs/os-specific/linux/firmware/rt2870/default.nix
index 388d3a50343..15de7c30586 100644
--- a/pkgs/os-specific/linux/firmware/rt2870/default.nix
+++ b/pkgs/os-specific/linux/firmware/rt2870/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   # says: "Your rights to redistribute the Software shall be
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
-  installPhase = "ensureDir $out/${name}; cp *.bin $out; cp *.txt $out/${name}";
+  installPhase = "mkdir -p $out/${name}; cp *.bin $out; cp *.txt $out/${name}";
   
   meta = {
     description = "Firmware for the Ralink RT2870 wireless cards";
diff --git a/pkgs/os-specific/linux/firmware/rt73/default.nix b/pkgs/os-specific/linux/firmware/rt73/default.nix
index 32c097a62df..95393100139 100644
--- a/pkgs/os-specific/linux/firmware/rt73/default.nix
+++ b/pkgs/os-specific/linux/firmware/rt73/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   # says: "Your rights to redistribute the Software shall be
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
-  installPhase = "ensureDir $out/${name}; cp *.bin $out; cp *.txt $out/${name}";
+  installPhase = "mkdir -p $out/${name}; cp *.bin $out; cp *.txt $out/${name}";
   
   meta = {
     description = "Firmware for the Ralink RT73 wireless card";
diff --git a/pkgs/os-specific/linux/firmware/rtl8192c/default.nix b/pkgs/os-specific/linux/firmware/rtl8192c/default.nix
index 85bbb27c67f..7016e23581b 100644
--- a/pkgs/os-specific/linux/firmware/rtl8192c/default.nix
+++ b/pkgs/os-specific/linux/firmware/rtl8192c/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   src = firmwareLinuxNonfree;
 
   phases = [ "installPhase" ];
-  installPhase = "ensureDir $out/rtlwifi && cp $src/realtek/rtlwifi/rtl8192cfw.bin $out/rtlwifi/rtl8192cfw.bin";
+  installPhase = "mkdir -p $out/rtlwifi && cp $src/realtek/rtlwifi/rtl8192cfw.bin $out/rtlwifi/rtl8192cfw.bin";
 
   meta = {
     description = "Firmware for the Realtek RTL8192c wireless cards";
diff --git a/pkgs/os-specific/linux/firmware/zd1211/default.nix b/pkgs/os-specific/linux/firmware/zd1211/default.nix
index dfc384b7adb..a717bd9e117 100644
--- a/pkgs/os-specific/linux/firmware/zd1211/default.nix
+++ b/pkgs/os-specific/linux/firmware/zd1211/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   
   buildPhase = "true";
 
-  installPhase = "ensureDir $out/zd1211; cp * $out/zd1211";
+  installPhase = "mkdir -p $out/zd1211; cp * $out/zd1211";
   
   meta = {
     description = "Firmware for the ZyDAS ZD1211(b) 802.11a/b/g USB WLAN chip";
diff --git a/pkgs/os-specific/linux/fxload/default.nix b/pkgs/os-specific/linux/fxload/default.nix
index 455c11cb0a9..d21cdd78daf 100644
--- a/pkgs/os-specific/linux/fxload/default.nix
+++ b/pkgs/os-specific/linux/fxload/default.nix
@@ -22,9 +22,9 @@ stdenv.mkDerivation {
   '';
 
   preInstall = ''
-    ensureDir $out/sbin
-    ensureDir $out/share/man/man8
-    ensureDir $out/share/usb
+    mkdir -p $out/sbin
+    mkdir -p $out/share/man/man8
+    mkdir -p $out/share/usb
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/hal/default.nix b/pkgs/os-specific/linux/hal/default.nix
index 718d54f3106..f1757be94cf 100644
--- a/pkgs/os-specific/linux/hal/default.nix
+++ b/pkgs/os-specific/linux/hal/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, python, pciutils, expat
 , libusb, dbus, dbus_glib, glib, libuuid, perl
 , perlXMLParser, gettext, zlib, gperf, consolekit, policykit
-, libsmbios, dmidecode, udev, utillinuxng, pmutils, usbutils
+, libsmbios, dmidecode, udev, utillinux, pmutils, usbutils
 , eject, upstart
 }:
 
@@ -51,8 +51,8 @@ stdenv.mkDerivation rec {
       substituteInPlace $i \
         ${changeDmidecode} \
         ${if udev != null then "--replace /sbin/udevadm ${udev}/sbin/udevadm" else ""} \
-        --replace /bin/mount ${utillinuxng}/bin/mount \
-        --replace /bin/umount ${utillinuxng}/bin/umount \
+        --replace /bin/mount ${utillinux}/bin/mount \
+        --replace /bin/umount ${utillinux}/bin/umount \
         --replace /usr/bin/pm-is-supported ${pmutils}/bin/pm-is-supported \
         --replace /usr/sbin/pm ${pmutils}/sbin/pm \
         --replace /sbin/shutdown ${upstart}/sbin/shutdown
diff --git a/pkgs/os-specific/linux/kernel-headers/2.4.nix b/pkgs/os-specific/linux/kernel-headers/2.4.nix
index c179801ca55..32daf5633f7 100644
--- a/pkgs/os-specific/linux/kernel-headers/2.4.nix
+++ b/pkgs/os-specific/linux/kernel-headers/2.4.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    ensureDir $out/include
+    mkdir -p $out/include
     cp -a include/{asm,asm-$platform,acpi,linux,pcmcia,scsi,video} \
       $out/include
   '';
diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.18.5.nix b/pkgs/os-specific/linux/kernel-headers/2.6.18.5.nix
deleted file mode 100644
index 5ecdd77fb87..00000000000
--- a/pkgs/os-specific/linux/kernel-headers/2.6.18.5.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{stdenv, fetchurl, unifdef}:
-
-assert stdenv.isLinux;
-
-stdenv.mkDerivation {
-  name = "linux-headers-2.6.18.5";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v2.6/linux-2.6.18.5.tar.bz2";
-    sha256 = "24f0e0011cdae42e3dba56107bb6a60c57c46d1d688a9b0300fec53e80fd1e53";
-  };
-
-  patches = [ ./unifdef-getline.patch ];
-
-  buildInputs = [ unifdef ];
-
-  platform = 
-    if stdenv.system == "i686-linux" then "i386" else
-    if stdenv.system == "x86_64-linux" then "x86_64" else
-    if stdenv.system == "powerpc-linux" then "powerpc" else
-    abort "don't know what the kernel include directory is called for this platform";
-
-  extraIncludeDirs =
-    if stdenv.system == "powerpc-linux" then ["ppc"] else [];
-}
diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
index 0b811ae8126..fdbe6cf1bce 100644
--- a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
+++ b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
     make INSTALL_HDR_PATH=$out headers_install
 
     # Some builds (e.g. KVM) want a kernel.release.
-    ensureDir $out/include/config
+    mkdir -p $out/include/config
     echo "${version}-default" > $out/include/config/kernel.release
   '';
 
diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.32.nix b/pkgs/os-specific/linux/kernel-headers/2.6.32.nix
index a4e86658193..a7ec522b3d6 100644
--- a/pkgs/os-specific/linux/kernel-headers/2.6.32.nix
+++ b/pkgs/os-specific/linux/kernel-headers/2.6.32.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation {
     make INSTALL_HDR_PATH=$out headers_install
 
     # Some builds (e.g. KVM) want a kernel.release.
-    ensureDir $out/include/config
+    mkdir -p $out/include/config
     echo "${version}-default" > $out/include/config/kernel.release
   '';
 
diff --git a/pkgs/os-specific/linux/kernel-headers/builder.sh b/pkgs/os-specific/linux/kernel-headers/builder.sh
deleted file mode 100644
index 05392d5fe24..00000000000
--- a/pkgs/os-specific/linux/kernel-headers/builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-patchPhase="sed -i '/scsi/d' include/Kbuild"
-
-buildPhase="make mrproper headers_check";
-
-installPhase="make INSTALL_HDR_PATH=$out headers_install"
-
-genericBuild
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
new file mode 100644
index 00000000000..f5fec3d8620
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, perl, cross ? null }:
+
+assert cross == null -> stdenv.isLinux;
+
+let
+  version = "2.6.35.14";
+  kernelHeadersBaseConfig = if cross == null then
+      stdenv.platform.kernelHeadersBaseConfig
+    else
+      cross.platform.kernelHeadersBaseConfig;
+in
+
+stdenv.mkDerivation {
+  name = "linux-headers-${version}";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.35/linux-${version}.tar.bz2";
+    sha256 = "1wzml7s9karfbk2yi36g1r8fyaq4d4f16yizc68zgchv0xzj39zl";
+  };
+
+  targetConfig = if (cross != null) then cross.config else null;
+
+  platform =
+    if cross != null then cross.platform.kernelArch else
+    if stdenv.system == "i686-linux" then "i386" else
+    if stdenv.system == "x86_64-linux" then "x86_64" else
+    if stdenv.system == "powerpc-linux" then "powerpc" else
+    if stdenv.system == "armv5tel-linux" then "arm" else
+    if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else
+    abort "don't know what the kernel include directory is called for this platform";
+
+  buildInputs = [perl];
+
+  extraIncludeDirs =
+    if cross != null then
+	(if cross.arch == "powerpc" then ["ppc"] else [])
+    else if stdenv.system == "powerpc-linux" then ["ppc"] else [];
+
+  buildPhase = ''
+    if test -n "$targetConfig"; then
+       export ARCH=$platform
+    fi
+    make ${kernelHeadersBaseConfig}
+    make mrproper headers_check
+  '';
+
+  installPhase = ''
+    make INSTALL_HDR_PATH=$out headers_install
+
+    # Some builds (e.g. KVM) want a kernel.release.
+    mkdir -p $out/include/config
+    echo "${version}-default" > $out/include/config/kernel.release
+  '';
+
+  # !!! hacky
+  fixupPhase = ''
+    ln -s asm $out/include/asm-$platform
+    if test "$platform" = "i386" -o "$platform" = "x86_64"; then
+      ln -s asm $out/include/asm-x86
+    fi
+  '';
+}
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh
index 61cb8f28081..5d6d48d2fc3 100644
--- a/pkgs/os-specific/linux/kernel/builder.sh
+++ b/pkgs/os-specific/linux/kernel/builder.sh
@@ -48,7 +48,7 @@ configurePhase() {
 
 installPhase() {
 
-    ensureDir $out
+    mkdir -p $out
 
     # New kernel versions have a combined tree for i386 and x86_64.
     archDir=$arch
@@ -60,7 +60,7 @@ installPhase() {
     # Copy the bzImage and System.map.
     cp System.map $out
     if test "$arch" = um; then
-        ensureDir $out/bin
+        mkdir -p $out/bin
         cp linux $out/bin
     elif test "$kernelTarget" != "vmlinux"; then
         # In any case we copy the 'vmlinux' ELF in the next lines
diff --git a/pkgs/os-specific/linux/klibc/shrunk.nix b/pkgs/os-specific/linux/klibc/shrunk.nix
index ff72d1f72b8..066b4fcb4e0 100644
--- a/pkgs/os-specific/linux/klibc/shrunk.nix
+++ b/pkgs/os-specific/linux/klibc/shrunk.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   #name = "${klibc.name}-shrunk";
   name = "${klibc.name}";
   buildCommand = ''
-    ensureDir $out/lib
+    mkdir -p $out/lib
     cp -prd ${klibc}/lib/klibc/bin $out/
     cp -p ${klibc}/lib/*.so $out/lib/
     chmod +w $out/*
diff --git a/pkgs/os-specific/linux/kudzu/builder.sh b/pkgs/os-specific/linux/kudzu/builder.sh
index 744d1d516a3..002bac8a1db 100644
--- a/pkgs/os-specific/linux/kudzu/builder.sh
+++ b/pkgs/os-specific/linux/kudzu/builder.sh
@@ -3,10 +3,10 @@ source $stdenv/setup
 export DESTDIR=$out
 
 preInstall() {
-  ensureDir $out
-  ensureDir $out/etc
-  ensureDir $out/sbin
-  ensureDir $out/usr
+  mkdir -p $out
+  mkdir -p $out/etc
+  mkdir -p $out/sbin
+  mkdir -p $out/usr
   make install-program
 }
 
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index d8cb393ac38..c279393d7a4 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     postinst = n : ''
-      ensureDir $out/share/doc/${n}
+      mkdir -p $out/share/doc/${n}
       cp ../License $out/share/doc/${n}/License
     '';
   };
diff --git a/pkgs/os-specific/linux/lsiutil/default.nix b/pkgs/os-specific/linux/lsiutil/default.nix
index 09cd4ab037c..700455d5f8b 100644
--- a/pkgs/os-specific/linux/lsiutil/default.nix
+++ b/pkgs/os-specific/linux/lsiutil/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   preBuild =
     ''
-      ensureDir $out/bin
+      mkdir -p $out/bin
       substituteInPlace Makefile --replace /usr/bin $out/bin
       substituteInPlace lsiutil.c \
         --replace /sbin/modprobe modprobe \
diff --git a/pkgs/os-specific/linux/mingetty/default.nix b/pkgs/os-specific/linux/mingetty/default.nix
index b27baa5480b..192e2c7ac5f 100644
--- a/pkgs/os-specific/linux/mingetty/default.nix
+++ b/pkgs/os-specific/linux/mingetty/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   preInstall = ''
-    ensureDir $out/sbin $out/share/man/man8
+    mkdir -p $out/sbin $out/share/man/man8
     makeFlagsArray=(SBINDIR=$out/sbin MANDIR=$out/share/man/man8)
   '';
 
diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix
index 79e1111d40d..077d08f899d 100644
--- a/pkgs/os-specific/linux/module-init-tools/default.nix
+++ b/pkgs/os-specific/linux/module-init-tools/default.nix
@@ -1,19 +1,26 @@
 { stdenv, fetchurl, docbook2x, docbook_sgml_dtd_41 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "module-init-tools-3.16";
 
-  src = fetchurl {
-    url = "mirror://kernel/linux/utils/kernel/module-init-tools/${name}.tar.bz2";
-    sha256 = "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1";
-  };
+  src = [
+    (fetchurl {
+      url = mirror://kernel/linux/utils/kernel/module-init-tools/module-init-tools-3.16.tar.bz2;
+      sha256 = "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1";
+    })
 
-  buildInputs = [ docbook2x ];
+    # Upstream forgot to include the generated manpages.  Thankfully
+    # the Gentoo people fixed this for us :-)
+    (fetchurl {
+      url = mirror://gentoo/distfiles/module-init-tools-3.16-man.tar.bz2;
+      sha256 = "1j1nzi87kgsh4scl645fhwhjvljxj83cmdasa4n4p5krhasgw358";
+    })
+  ];
 
   SGML_CATALOG_FILES = "${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat";
 
   patches = [ ./module-dir.patch ./docbook2man.patch ];
-  
+
   postInstall = "rm $out/sbin/insmod.static"; # don't need it
 
   # We don't want bash (and therefore glibc) in the closure of the
diff --git a/pkgs/os-specific/linux/module-init-tools/module-dir.patch b/pkgs/os-specific/linux/module-init-tools/module-dir.patch
index 90805b00c3c..95c7559604d 100644
--- a/pkgs/os-specific/linux/module-init-tools/module-dir.patch
+++ b/pkgs/os-specific/linux/module-init-tools/module-dir.patch
@@ -1,36 +1,43 @@
-diff -Naur module-init-tools-3.16-orig/depmod.c module-init-tools-3.16/depmod.c
---- module-init-tools-3.16-orig/depmod.c	2011-06-02 13:55:01.000000000 -0400
-+++ module-init-tools-3.16/depmod.c	2011-10-01 23:30:14.947293695 -0400
-@@ -48,10 +48,6 @@
+commit cf2c95edb7918bc658f6cae93793c1949fc9cb6e
+Author: David Guibert <david.guibert@gmail.com>
+Date:   Fri Aug 5 14:20:12 2011 +0200
+
+    introduce module-dir
+
+diff --git a/depmod.c b/depmod.c
+index a1d2f8c..9362a35 100644
+--- a/depmod.c
++++ b/depmod.c
+@@ -48,9 +48,6 @@
  
  #include "testing.h"
  
 -#ifndef MODULE_DIR
 -#define MODULE_DIR "/lib/modules/"
 -#endif
--
+ 
  #ifndef MODULE_BUILTIN_KEY
  #define MODULE_BUILTIN_KEY "built-in"
- #endif
-@@ -1514,6 +1510,7 @@
- 			     struct module_overrides **overrides)
- {
+@@ -1516,6 +1513,7 @@ static int parse_config_file(const char *filename,
  	char *line;
-+	char *module_dir;
  	unsigned int linenum = 0;
  	FILE *cfile;
++ 	char *module_dir;
  
-@@ -1536,6 +1533,9 @@
- 			continue;
- 		}
+ 	cfile = fopen(filename, "r");
+ 	if (!cfile) {
+@@ -1525,6 +1523,10 @@ static int parse_config_file(const char *filename,
+ 		return 0;
+ 	}
  
-+		if((module_dir = getenv("MODULE_DIR")) == NULL)
-+			module_dir = "/lib/modules/";
++        if((module_dir = getenv("MODULE_DIR")) == NULL) {
++                module_dir = "/lib/modules/";
++        }
 +
- 		if (streq(cmd, "search")) {
- 			char *search_path;
- 			
-@@ -1550,7 +1550,7 @@
+ 	while ((line = getline_wrapped(cfile, &linenum)) != NULL) {
+ 		char *ptr = line;
+ 		char *cmd, *modname;
+@@ -1550,7 +1552,7 @@ static int parse_config_file(const char *filename,
  					continue;
  				}
  				nofail_asprintf(&dirname, "%s%s%s/%s", basedir,
@@ -39,7 +46,7 @@ diff -Naur module-init-tools-3.16-orig/depmod.c module-init-tools-3.16/depmod.c
  				len = strlen(dirname);
  				*search = add_search(dirname, len, *search);
  				free(dirname);
-@@ -1565,7 +1565,7 @@
+@@ -1565,7 +1567,7 @@ static int parse_config_file(const char *filename,
  				continue;
  
  			nofail_asprintf(&pathname, "%s%s%s/%s/%s.ko", basedir,
@@ -48,27 +55,28 @@ diff -Naur module-init-tools-3.16-orig/depmod.c module-init-tools-3.16/depmod.c
  
  			*overrides = add_override(pathname, *overrides);
  			free(pathname);
-@@ -1737,6 +1737,7 @@
+@@ -1737,6 +1739,7 @@ int main(int argc, char *argv[])
  	char *basedir = "", *dirname, *version;
  	char *system_map = NULL, *module_symvers = NULL;
  	int i;
-+	char *module_dir;
++ 	char *module_dir;
  	const char *config = NULL;
  
  	if (native_endianness() == 0)
-@@ -1832,7 +1833,10 @@
+@@ -1832,7 +1835,11 @@ int main(int argc, char *argv[])
  	if (optind == argc)
  		all = 1;
  
 -	nofail_asprintf(&dirname, "%s%s%s", basedir, MODULE_DIR, version);
-+	if((module_dir = getenv("MODULE_DIR")) == NULL)
-+		module_dir = "/lib/modules/";
++        if((module_dir = getenv("MODULE_DIR")) == NULL) {
++                module_dir = "/lib/modules/";
++        }
 +
 +	nofail_asprintf(&dirname, "%s%s%s", basedir, module_dir, version);
  
  	if (maybe_all) {
  		if (!doing_stdout && !depfile_out_of_date(dirname))
-@@ -1850,7 +1854,7 @@
+@@ -1850,7 +1857,7 @@ int main(int argc, char *argv[])
  		size_t len;
  
  		nofail_asprintf(&dirname, "%s%s%s/updates", basedir,
@@ -77,36 +85,35 @@ diff -Naur module-init-tools-3.16-orig/depmod.c module-init-tools-3.16/depmod.c
  		len = strlen(dirname);
  		search = add_search(dirname, len, search);
  	}
-diff -Naur module-init-tools-3.16-orig/modinfo.c module-init-tools-3.16/modinfo.c
---- module-init-tools-3.16-orig/modinfo.c	2011-06-02 13:55:01.000000000 -0400
-+++ module-init-tools-3.16/modinfo.c	2011-10-01 23:32:15.335093548 -0400
-@@ -19,10 +19,6 @@
+diff --git a/modinfo.c b/modinfo.c
+index 1dd8469..67b1041 100644
+--- a/modinfo.c
++++ b/modinfo.c
+@@ -19,9 +19,6 @@
  #include "zlibsupport.h"
  #include "testing.h"
  
 -#ifndef MODULE_DIR
 -#define MODULE_DIR "/lib/modules"
 -#endif
--
+ 
  struct param
  {
- 	struct param *next;
-@@ -192,6 +188,7 @@
- 	unsigned long size;
+@@ -193,6 +190,11 @@ static struct elf_file *grab_module(const char *name,
  	struct utsname buf;
  	char *depname, *p, *moddir;
-+	char *module_dir;
  	struct elf_file *module;
++ 	char *module_dir;
++
++        if((module_dir = getenv("MODULE_DIR")) == NULL) {
++                module_dir = "/lib/modules/";
++        }
  
  	if (strchr(name, '.') || strchr(name, '/')) {
-@@ -206,10 +203,14 @@
- 		uname(&buf);
+ 		module = grab_elf_file(name);
+@@ -207,9 +209,9 @@ static struct elf_file *grab_module(const char *name,
  		kernel = buf.release;
  	}
-+
-+	if((module_dir = getenv("MODULE_DIR")) == NULL)
-+		module_dir = "/lib/modules/";
-+
  	if (strlen(basedir))
 -		nofail_asprintf(&moddir, "%s/%s/%s", basedir, MODULE_DIR, kernel);
 +		nofail_asprintf(&moddir, "%s/%s/%s", basedir, module_dir, kernel);
@@ -116,10 +123,11 @@ diff -Naur module-init-tools-3.16-orig/modinfo.c module-init-tools-3.16/modinfo.
  
  	/* Search for it in modules.dep. */
  	nofail_asprintf(&depname, "%s/%s", moddir, "modules.dep");
-diff -Naur module-init-tools-3.16-orig/modprobe.c module-init-tools-3.16/modprobe.c
---- module-init-tools-3.16-orig/modprobe.c	2011-06-02 13:55:01.000000000 -0400
-+++ module-init-tools-3.16/modprobe.c	2011-10-01 23:34:04.111913368 -0400
-@@ -86,10 +86,6 @@
+diff --git a/modprobe.c b/modprobe.c
+index 5464f45..d9fbf9d 100644
+--- a/modprobe.c
++++ b/modprobe.c
+@@ -86,10 +86,6 @@ typedef enum
  
  } modprobe_flags_t;
  
@@ -130,24 +138,24 @@ diff -Naur module-init-tools-3.16-orig/modprobe.c module-init-tools-3.16/modprob
  /**
   * print_usage - output the prefered program usage
   *
-@@ -2131,6 +2127,7 @@
- 	char *cmdline_opts = NULL;
- 	char *dirname;
- 	errfn_t error = fatal;
-+	char *module_dir;
- 	int failed = 0;
- 	modprobe_flags_t flags = 0;
+@@ -2136,6 +2132,7 @@ int main(int argc, char *argv[])
  	struct modprobe_conf conf = {};
-@@ -2233,7 +2230,10 @@
+ 
+ 	recursion_depth = 0;
++ 	char *module_dir = NULL;
+ 
+ 	/* Prepend options from environment. */
+ 	argv = merge_args(getenv("MODPROBE_OPTIONS"), argv, &argc);
+@@ -2233,7 +2230,11 @@ int main(int argc, char *argv[])
  	if (argc < optind + 1 && !dump_config && !list_only)
  		print_usage(argv[0]);
  
 -	nofail_asprintf(&dirname, "%s%s/%s", basedir, MODULE_DIR, buf.release);
-+	if((module_dir = getenv("MODULE_DIR")) == NULL)
-+		module_dir = "/lib/modules/";
++	if((module_dir = getenv("MODULE_DIR")) == NULL) {
++		module_dir = "/lib/modules";
++	}
 +
 +	nofail_asprintf(&dirname, "%s%s/%s", basedir, module_dir, buf.release);
  
  	/* Old-style -t xxx wildcard?  Only with -l. */
  	if (list_only) {
-
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index cf05d0fbaed..cdadcb05849 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, tcpWrapper, utillinuxng, libcap }:
+{ fetchurl, stdenv, tcpWrapper, utillinux, libcap }:
 
 stdenv.mkDerivation rec {
   name = "nfs-utils-1.2.3";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   # Needs `libblkid' and `libcomerr' from `e2fsprogs' or `util-linux-ng'.
-  buildInputs = [ tcpWrapper utillinuxng libcap ];
+  buildInputs = [ tcpWrapper utillinux libcap ];
 
   # FIXME: Add the dependencies needed for NFSv4 and TI-RPC.
   configureFlags =
diff --git a/pkgs/os-specific/linux/nss_ldap/default.nix b/pkgs/os-specific/linux/nss_ldap/default.nix
index 34de5108164..7c8b526b4c3 100644
--- a/pkgs/os-specific/linux/nss_ldap/default.nix
+++ b/pkgs/os-specific/linux/nss_ldap/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     substituteInPlace Makefile \
       --replace '/usr$(libdir)' $TMPDIR \
       --replace 'install-data-local:' 'install-data-local-disabled:'
-    ensureDir $out/etc
+    mkdir -p $out/etc
   '';
 
   buildInputs = [openldap];
diff --git a/pkgs/os-specific/linux/numactl/default.nix b/pkgs/os-specific/linux/numactl/default.nix
index f329db90cb2..b9240805865 100644
--- a/pkgs/os-specific/linux/numactl/default.nix
+++ b/pkgs/os-specific/linux/numactl/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   preInstall = ''
     # The `install' rule expects this directory to be available.
-    ensureDir "$out/share/man/man5"
+    mkdir -p "$out/share/man/man5"
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
index 6941288b390..e0af21759c9 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
@@ -36,7 +36,7 @@ buildPhase() {
 installPhase() {
 
     # Install libGL and friends.
-    ensureDir $out/lib
+    mkdir -p $out/lib
     cp -prd usr/lib/* usr/X11R6/lib/libXv* $out/lib/
 
     ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so
@@ -59,11 +59,11 @@ installPhase() {
     if test -z "$libsOnly"; then
         
         # Install the kernel module.
-        ensureDir $out/lib/modules/$kernelVersion/misc
+        mkdir -p $out/lib/modules/$kernelVersion/misc
         cp usr/src/nv/nvidia.ko $out/lib/modules/$kernelVersion/misc
 
         # Install the X driver.
-        ensureDir $out/lib/xorg/modules
+        mkdir -p $out/lib/xorg/modules
         cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/
 
         ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1
@@ -72,7 +72,7 @@ installPhase() {
         patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
 
         # Install the programs.
-        ensureDir $out/bin
+        mkdir -p $out/bin
 
         for i in nvidia-settings nvidia-xconfig; do
 	    cp usr/bin/$i $out/bin/$i
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 180eb84e5e4..b0d2bf35c52 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -27,7 +27,7 @@ buildPhase() {
 installPhase() {
 
     # Install libGL and friends.
-    ensureDir $out/lib
+    mkdir -p $out/lib
     cp -prd libcuda.* libGL.* libnvidia-cfg.* libnvidia-compiler.* libnvidia-tls.* libnvidia-glcore.* libOpenCL.* libXv* libvdpau_nvidia* tls $out/lib/
     
     ln -snf libnvidia-glcore.so.$versionNumber $out/lib/libnvidia-glcore.so
@@ -50,15 +50,15 @@ installPhase() {
     if test -z "$libsOnly"; then
         
         # Install the kernel module.
-        ensureDir $out/lib/modules/$kernelVersion/misc
+        mkdir -p $out/lib/modules/$kernelVersion/misc
         cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc
 
         # Install the X driver.
-        ensureDir $out/lib/xorg/modules
+        mkdir -p $out/lib/xorg/modules
         cp -p libnvidia-wfb.* $out/lib/xorg/modules/
-        ensureDir $out/lib/xorg/modules/drivers
+        mkdir -p $out/lib/xorg/modules/drivers
         cp -p nvidia_drv.so $out/lib/xorg/modules/drivers
-        ensureDir $out/lib/xorg/modules/extensions
+        mkdir -p $out/lib/xorg/modules/extensions
         cp -p libglx.so.* $out/lib/xorg/modules/extensions
 
         ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1
@@ -67,7 +67,7 @@ installPhase() {
         patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
 
         # Install the programs.
-        ensureDir $out/bin
+        mkdir -p $out/bin
 
         for i in nvidia-settings nvidia-xconfig; do
 	    cp $i $out/bin/$i
@@ -76,16 +76,16 @@ installPhase() {
         done
     
         # Header files etc.
-        ensureDir $out/include/nvidia
+        mkdir -p $out/include/nvidia
         cp -p *.h $out/include/nvidia
 
-        ensureDir $out/share/man/man1
+        mkdir -p $out/share/man/man1
         cp -p *.1.gz $out/share/man/man1
 
-        ensureDir $out/share/applications
+        mkdir -p $out/share/applications
         cp -p *.desktop $out/share/applications
 
-        ensureDir $out/share/pixmaps
+        mkdir -p $out/share/pixmaps
         cp -p nvidia-settings.png $out/share/pixmaps
 
         # Patch the `nvidia-settings.desktop' file.
diff --git a/pkgs/os-specific/linux/opengl/xorg-sys/builder.sh b/pkgs/os-specific/linux/opengl/xorg-sys/builder.sh
index 7ab20855bd3..cd21899e60e 100644
--- a/pkgs/os-specific/linux/opengl/xorg-sys/builder.sh
+++ b/pkgs/os-specific/linux/opengl/xorg-sys/builder.sh
@@ -1,6 +1,6 @@
 source $stdenv/setup
 
-ensureDir $out/lib
+mkdir -p $out/lib
 
 ln -s /usr/lib/libGL.so.1 $out/lib/
 ln -s /usr/lib/libGLU.so.1 $out/lib/
diff --git a/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh b/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh
index 8bb282cacf7..21a2ac725ca 100644
--- a/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh
+++ b/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh
@@ -13,6 +13,6 @@ echo "version $version"
 
 export version
 
-ensureDir $out/lib/modules/$version/kernel/drivers/usb/media/
+mkdir -p $out/lib/modules/$version/kernel/drivers/usb/media/
 
 genericBuild
diff --git a/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh b/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh
index c189c2e1706..636b19a95af 100644
--- a/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh
+++ b/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh
@@ -13,7 +13,7 @@ echo "version $version"
 
 export version
 
-ensureDir $out/lib/modules/$version/kernel/drivers/usb/media/
+mkdir -p $out/lib/modules/$version/kernel/drivers/usb/media/
 
 genericBuild
 
diff --git a/pkgs/os-specific/linux/pcmciautils/default.nix b/pkgs/os-specific/linux/pcmciautils/default.nix
index a8b885d8a94..b53c61c754a 100644
--- a/pkgs/os-specific/linux/pcmciautils/default.nix
+++ b/pkgs/os-specific/linux/pcmciautils/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     lib.concatMapStrings (path: ''
       for f in : $(find ${path} -type f); do
         test "$f" == ":" && continue;
-        ensureDir $(dirname $out/lib/firmware/$\{f#${path}});
+        mkdir -p $(dirname $out/lib/firmware/$\{f#${path}});
         ln -s $f $out/lib/firmware/$\{f#${path}};
       done;
     '') firmware;
diff --git a/pkgs/os-specific/linux/pmount/default.nix b/pkgs/os-specific/linux/pmount/default.nix
index 9366c2cf95f..4d555f59c37 100644
--- a/pkgs/os-specific/linux/pmount/default.nix
+++ b/pkgs/os-specific/linux/pmount/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cryptsetup, dbus, dbus_glib, intltool, ntfs3g, utillinuxng
+{ stdenv, fetchurl, cryptsetup, dbus, dbus_glib, intltool, ntfs3g, utillinux
 , mediaDir ? "/media/"
 , lockDir ? "/var/lock/pmount"
 , whiteList ? "/etc/pmount.allow"
@@ -15,14 +15,14 @@ stdenv.mkDerivation rec {
     sha256 = "db38fc290b710e8e9e9d442da2fb627d41e13b3ee80326c15cc2595ba00ea036";
   };
 
-  buildInputs = [ intltool utillinuxng ];
+  buildInputs = [ intltool utillinux ];
 
   configureFlags = ""
   + " --with-media-dir=${mediaDir}"
   + " --with-lock-dir=${lockDir}"
   + " --with-whitelist=${whiteList}"
-  + " --with-mount-prog=${utillinuxng}/bin/mount"
-  + " --with-umount-prog=${utillinuxng}/bin/umount"
+  + " --with-mount-prog=${utillinux}/bin/mount"
+  + " --with-umount-prog=${utillinux}/bin/umount"
   + " --with-mount-ntfs3g=${ntfs3g}/sbin/mount.ntfs-3g";
 
   postConfigure = ''
diff --git a/pkgs/os-specific/linux/qc-usb/builder.sh b/pkgs/os-specific/linux/qc-usb/builder.sh
index a43138fa84f..041be115328 100644
--- a/pkgs/os-specific/linux/qc-usb/builder.sh
+++ b/pkgs/os-specific/linux/qc-usb/builder.sh
@@ -13,7 +13,7 @@ echo "version $version"
 
 export version
 
-ensureDir $out/lib/modules/$version/misc
+mkdir -p $out/lib/modules/$version/misc
 
 LINUX_DIR=$kernel/lib/modules/$version/build
 PREFIX=$out
diff --git a/pkgs/os-specific/linux/radeontools/default.nix b/pkgs/os-specific/linux/radeontools/default.nix
index ff3cad3fe98..4dbe7e54247 100644
--- a/pkgs/os-specific/linux/radeontools/default.nix
+++ b/pkgs/os-specific/linux/radeontools/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     chmod +x lightwatch.pl
     cp radeontool lightwatch.pl $out/bin
   '';
diff --git a/pkgs/os-specific/linux/sysklogd/builder.sh b/pkgs/os-specific/linux/sysklogd/builder.sh
index 62df45ea7c9..d466f075652 100644
--- a/pkgs/os-specific/linux/sysklogd/builder.sh
+++ b/pkgs/os-specific/linux/sysklogd/builder.sh
@@ -6,8 +6,8 @@ export prefix
 installFlags="BINDIR=$out/sbin MANDIR=$out/share/man INSTALL=install"
 patchPhase="sed -e 's@-o \${MAN_USER} -g \${MAN_GROUP} -m \${MAN_PERMS} @@' -i Makefile"
 
-ensureDir "$out/share/man/man8/"
-ensureDir "$out/share/man/man5/"
-ensureDir "$out/sbin"
+mkdir -p "$out/share/man/man8/"
+mkdir -p "$out/share/man/man5/"
+mkdir -p "$out/sbin"
 
 genericBuild
diff --git a/pkgs/os-specific/linux/tcp-wrapper/builder.sh b/pkgs/os-specific/linux/tcp-wrapper/builder.sh
index 58bc1d4409d..7ea574fcf23 100644
--- a/pkgs/os-specific/linux/tcp-wrapper/builder.sh
+++ b/pkgs/os-specific/linux/tcp-wrapper/builder.sh
@@ -22,18 +22,18 @@ echo "building..."
 make REAL_DAEMON_DIR="$out/sbin" linux
 
 # Install
-ensureDir "$out/sbin"
+mkdir -p "$out/sbin"
 cp -v safe_finger tcpd tcpdchk tcpdmatch try-from "$out/sbin"
 
-ensureDir "$out/lib"
+mkdir -p "$out/lib"
 cp -v shared/lib*.so* "$out/lib"
 
-ensureDir "$out/include"
+mkdir -p "$out/include"
 cp -v *.h "$out/include"
 
-ensureDir "$out/man"
+mkdir -p "$out/man"
 for i in 3 5 8;
 do
-  ensureDir "$out/man/man$i"
+  mkdir -p "$out/man/man$i"
   cp *.$i "$out/man/man$i" ;
 done
diff --git a/pkgs/os-specific/linux/tunctl/default.nix b/pkgs/os-specific/linux/tunctl/default.nix
index f4c3aad938f..8ea3599ff19 100644
--- a/pkgs/os-specific/linux/tunctl/default.nix
+++ b/pkgs/os-specific/linux/tunctl/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   makeFlags = [ "tunctl" ];
   installPhase = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp tunctl $out/bin
   '';
 
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 32698ac4efb..2679d23d76e 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xz, pkgconfig, glib, dbus, dbus_glib, polkit
+{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, polkit
 , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils }:
 
 assert stdenv.isLinux;
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ];
 
-  buildNativeInputs = [ xz pkgconfig ];
+  buildNativeInputs = [ pkgconfig ];
 
   configureFlags = "--with-backend=linux --localstatedir=/var";
 
diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix
index 4e440770ef9..3c5fb2283cd 100644
--- a/pkgs/os-specific/linux/upstart/default.nix
+++ b/pkgs/os-specific/linux/upstart/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       t=$out/etc/bash_completion.d
-      ensureDir $t
+      mkdir -p $t
       cp ${./upstart-bash-completion} $t/upstart
     '';
 
diff --git a/pkgs/os-specific/linux/util-linux-ng/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 4e62be4ff32..bd6f26dc58b 100644
--- a/pkgs/os-specific/linux/util-linux-ng/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,11 +1,13 @@
-{ stdenv, fetchurl, ncurses ? null, perl ? null }:
+{ stdenv, fetchurl, zlib, ncurses ? null, perl ? null }:
 
 stdenv.mkDerivation rec {
-  name = "util-linux-ng-2.18";
+  name = "util-linux-2.20.1";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/util-linux-ng/v2.18/${name}.tar.bz2";
-    sha256 = "1k1in1ba9kvh0kplri9765wh0yk68qrkk1a55dqsm21qfryc1idq";
+    # This used to be mirror://kernel/linux/utils/util-linux, but it
+    # disappeared in the kernel.org meltdown.
+    url = "mirror://gentoo/distfiles/${name}.tar.bz2";
+    sha256 = "1q5vjcvw4f067c63vj2n3xggvk5prm11571x6vnqiav47vdbqvni";
   };
 
   # !!! It would be better to obtain the path to the mount helpers
@@ -19,6 +21,6 @@ stdenv.mkDerivation rec {
     ${if ncurses == null then "--without-ncurses" else ""}
   '';
 
-  buildInputs = stdenv.lib.optional (ncurses != null) ncurses
+  buildInputs = [ zlib ] ++ stdenv.lib.optional (ncurses != null) ncurses
              ++ stdenv.lib.optional (perl != null) perl;
 }
diff --git a/pkgs/os-specific/linux/wis-go7007/default.nix b/pkgs/os-specific/linux/wis-go7007/default.nix
index 73e5694572a..4fff3ed37c0 100644
--- a/pkgs/os-specific/linux/wis-go7007/default.nix
+++ b/pkgs/os-specific/linux/wis-go7007/default.nix
@@ -61,9 +61,9 @@ stdenv.mkDerivation {
     substituteInPlace Makefile \
         --replace '$(DESTDIR)$(KSRC)/include/linux' $includeDir \
         --replace '$(DESTDIR)$(FIRMWARE_DIR)' '$(FIRMWARE_DIR)'
-    ensureDir $includeDir
-    ensureDir $out/etc/hotplug/usb
-    ensureDir $out/etc/udev/rules.d
+    mkdir -p $includeDir
+    mkdir -p $out/etc/hotplug/usb
+    mkdir -p $out/etc/udev/rules.d
  
     makeFlagsArray=(KERNELSRC=$kernelSource \
         FIRMWARE_DIR=$out/firmware FXLOAD=${fxload}/sbin/fxload \
@@ -72,7 +72,7 @@ stdenv.mkDerivation {
   ''; # */
 
   postInstall = ''
-    ensureDir $out/bin
+    mkdir -p $out/bin
     cp apps/gorecord apps/modet $out/bin/
   '';
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 6ffc2c5a059..eb5a51ae6ea 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -43,10 +43,10 @@ in
   ];
 
   postInstall = ''
-    ensureDir $out/share/man/man5 $out/share/man/man8
+    mkdir -p $out/share/man/man5 $out/share/man/man8
     cp -v doc/docbook/*.5 $out/share/man/man5/
     cp -v doc/docbook/*.8 $out/share/man/man8/
-    ensureDir $out/etc/dbus-1/system.d $out/share/dbus-1/system-services
+    mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services
     cp -v dbus/*service $out/share/dbus-1/system-services
     sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/*
     cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d
diff --git a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
index f04297096d2..c5cc5f3b68f 100644
--- a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
 
   installPhase = ''
     make DESTDIR="$out" LIBDIR="lib" install
-    ensureDir $out/include/xorg
+    mkdir -p $out/include/xorg
     echo -n "$confFile" > $out/include/xorg/10-multitouch.conf
   '';
 
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 9cc25174c51..98446c70867 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     ncurses pkgconfig randrproto xorgserver xproto udev ];
 
   preConfigure = ''
-    ensureDir $out/share/X11/xorg.conf.d
+    mkdir -p $out/share/X11/xorg.conf.d
     configureFlags="--with-xorg-module-dir=$out/lib/xorg/modules
     --with-sdkdir=$out/include/xorg --with-xorg-conf-dir=$out/share/X11/xorg.conf.d"
   '';
diff --git a/pkgs/os-specific/linux/zen-kernel/2.6.32-zen4.nix b/pkgs/os-specific/linux/zen-kernel/2.6.32-zen4.nix
index 78a36c73ca5..9d1f710c415 100644
--- a/pkgs/os-specific/linux/zen-kernel/2.6.32-zen4.nix
+++ b/pkgs/os-specific/linux/zen-kernel/2.6.32-zen4.nix
@@ -1,4 +1,4 @@
-args @ {stdenv, fetchurl, xz, runCommand, userModeLinux ? false, extraConfig ? "", 
+args @ {stdenv, fetchurl, runCommand, userModeLinux ? false, extraConfig ? "", 
   kernelPatches ? [], extraMeta ? {}, 
   features ? {}, preConfigure ? "",
   ...}:
@@ -20,7 +20,7 @@ import ../kernel/generic.nix (
     kernelPatches = [
       {
          name = "zen4"; 
-         patch = runCommand "2.6.32-zen4.patch" {} "${xz}/bin/lzma -d < ${ fetchurl {
+         patch = runCommand "2.6.32-zen4.patch" {} "lzma -d < ${ fetchurl {
 	   name = "2.6.32-zen4";
            url = "http://downloads.zen-kernel.org/2.6.32/2.6.32-zen4.patch.lzma";
            sha256 = "1dyp9sfigqjfqw1c94010c521bhcy1xnzp91kkhg3dwgzfpsp2k2";
diff --git a/pkgs/os-specific/linux/zen-kernel/2.6.33-zen1.nix b/pkgs/os-specific/linux/zen-kernel/2.6.33-zen1.nix
index 5c1a315cb38..ab7a0059bbe 100644
--- a/pkgs/os-specific/linux/zen-kernel/2.6.33-zen1.nix
+++ b/pkgs/os-specific/linux/zen-kernel/2.6.33-zen1.nix
@@ -1,4 +1,4 @@
-args @ {stdenv, fetchurl, xz, runCommand, userModeLinux ? false, extraConfig ? "", 
+args @ {stdenv, fetchurl, runCommand, userModeLinux ? false, extraConfig ? "", 
   kernelPatches ? [], extraMeta ? {}, 
   features ? {}, preConfigure ? "",
   ...}:
@@ -23,7 +23,7 @@ import ../kernel/generic.nix (
     kernelPatches = [
       {
          name = "${ZenSuffix}"; 
-         patch = runCommand "${baseKernelVersion}-${ZenSuffix}.patch" {} "${xz}/bin/lzma -d < ${ fetchurl {
+         patch = runCommand "${baseKernelVersion}-${ZenSuffix}.patch" {} "lzma -d < ${ fetchurl {
 	   name = "${baseKernelVersion}-${ZenSuffix}.patch.lzma";
            url = "http://downloads.zen-kernel.org/${baseKernelVersion}/${baseKernelVersion}-${ZenSuffix}.patch.lzma";
            sha256 = "0a72d8allr4qi4p6hbbjh33kmcgbg84as0dfb50gsffvaj2d3kwf";
diff --git a/pkgs/os-specific/windows/mingw-headers/default.nix b/pkgs/os-specific/windows/mingw-headers/default.nix
index c4e0063feec..c6941ef01f0 100644
--- a/pkgs/os-specific/windows/mingw-headers/default.nix
+++ b/pkgs/os-specific/windows/mingw-headers/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   phases = [ "installPhase" ];
 
   installPhase = ''
-    ensureDir $out/include
+    mkdir -p $out/include
     cp -R ${mingw_runtime_headers}/include/* $out/include
     cp -R ${w32api_headers}/include/* $out/include
   '';
diff --git a/pkgs/os-specific/windows/mingwrt/default.nix b/pkgs/os-specific/windows/mingwrt/default.nix
index e5b42c29467..286c63d0163 100644
--- a/pkgs/os-specific/windows/mingwrt/default.nix
+++ b/pkgs/os-specific/windows/mingwrt/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation (rec {
   name = name + "-headers";
   phases = [ "unpackPhase" "installPhase" ];
   installPhase = ''
-    ensureDir $out
+    mkdir -p $out
     cp -R include $out
   '';
 } else {
diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix
index 09484911bc1..a4f4245125d 100644
--- a/pkgs/os-specific/windows/w32api/default.nix
+++ b/pkgs/os-specific/windows/w32api/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation ({
   name = name + "-headers";
   phases = [ "unpackPhase" "installPhase" ];
   installPhase = ''
-    ensureDir $out
+    mkdir -p $out
     cp -R include $out
   '';
 } else {