about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-01-17 14:19:14 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-01-17 14:19:14 +0100
commit5bb548d2e4c866ce55efdd2e1cee5e9e72863156 (patch)
tree9276447eeac077bcea3e6013ebb37f7bba642be8 /pkgs/os-specific
parentb4dd943f1635a7e8d2e440b703fa01c6c2126164 (diff)
parent3544f3223166583f1e5459822250f1821b258c1e (diff)
downloadnixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.tar
nixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.tar.gz
nixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.tar.bz2
nixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.tar.lz
nixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.tar.xz
nixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.tar.zst
nixlib-5bb548d2e4c866ce55efdd2e1cee5e9e72863156.zip
Merge remote-tracking branch 'origin/master' into stdenv-updates
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/acpi/default.nix11
-rw-r--r--pkgs/os-specific/linux/cpufrequtils/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.7.nix4
-rw-r--r--pkgs/os-specific/linux/module-init-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/acpixf.patch27
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh101
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generated.patch12
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy304.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy96.nix16
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/patchlevel.patch59
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/switch_to.patch24
-rw-r--r--pkgs/os-specific/linux/pmtools/default.nix4
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix1
-rw-r--r--pkgs/os-specific/linux/v86d/default.nix5
-rw-r--r--pkgs/os-specific/linux/x86info/default.nix33
22 files changed, 173 insertions, 163 deletions
diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix
index 84ee44868079..6bb44d7db449 100644
--- a/pkgs/os-specific/linux/acpi/default.nix
+++ b/pkgs/os-specific/linux/acpi/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "acpi-1.5";
-  
+  name = "acpi-${version}";
+  version = "1.6";
+
   src = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/a/acpi/acpi_1.5.orig.tar.gz";
-    sha256 = "1pb020j627ldjm1askqfzp6cjxrs79ail8svihanv7pgbg5r3zsp";
+    url = "mirror://sourceforge/acpiclient/${version}/${name}.tar.gz";
+    sha256 = "0cawznhkzb51yxa599d1xkw05nklmjrrmd79vmjkkzf4002d4qgd";
   };
 
   meta = {
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
       the "old" `apm' command on ACPI systems.  It includes
       battery and thermal information.
     '';
-    homepage = http://grahame.angrygoats.net/acpi.shtml;
+    homepage = http://sourceforge.net/projects/acpiclient/;
     license = "GPLv2+";
   };
 }
diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix
index 35bf57c269ea..e9e0a36f1565 100644
--- a/pkgs/os-specific/linux/cpufrequtils/default.nix
+++ b/pkgs/os-specific/linux/cpufrequtils/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   name = "cpufrequtils-008";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/kernel/cpufreq/cpufrequtils-008.tar.gz";
+    url = http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-008.tar.gz;
     md5 = "52d3e09e47ffef634833f7fab168eccf";
   };
 
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 2660c0b2493d..8acb75c3ed6f 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation rec {
   name = "iwlwifi-1000-ucode-128.50.3.1";
   
   src = fetchurl {
-    url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz";
+    url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz";
+    name = "${name}.tgz";
     sha256 = "7e81ddad18acec19364c9df22496e8afae99a2e1490b2b178e420b52d443728d";
   };
   
@@ -26,6 +27,6 @@ stdenv.mkDerivation rec {
       driver found in recent kernels.
     '';
 
-    homepage = http://intellinuxwireless.org/;
+    homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi;
   };
 }
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 0d409bd8427c..dca427cbff53 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation rec {
   name = "iwlwifi-5150-ucode-8.24.2.2";
   
   src = fetchurl {
-    url = "http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-5150-ucode-8.24.2.2.tgz";
+    url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz";
+    name = "${name}.tgz";
     sha256 = "d253e6ff6624639aded67c82df98b2bc4a66eb66400848d5614921d513540cf9";
   };
   
@@ -24,6 +25,6 @@ stdenv.mkDerivation rec {
       firmware.  It contains the `iwlwifi-5150-2.ucode' file.
     '';
 
-    homepage = http://intellinuxwireless.org/;
+    homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi;
   };
 }
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 e5f3effa4b73..2e88f1bba744 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation rec {
   name = "iwlwifi-6000-ucode-9.221.4.1";
 
   src = fetchurl {
-    url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz";
+    url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz";
+    name = "${name}.tgz";
     sha256 = "7f04623231663dc4ee63df32fd890bfa9514dce1fab9dc7a25fda90350da836b";
   };
 
@@ -24,6 +25,6 @@ stdenv.mkDerivation rec {
       firmware. It contains the `iwlwifi-6000-4.ucode' file.
     '';
 
-    homepage = http://intellinuxwireless.org/;
+    homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi;
   };
 }
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 4aea802244f0..ef259b709754 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation rec {
   name = "iwlwifi-6000g2a-ucode-18.168.6.1";
 
   src = fetchurl {
-    url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz";
+    url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz";
+    name = "${name}.tgz";
     sha256 = "a7f2615756addafbf3e6912cb0265f9650b2807d1ccdf54b620735772725bbe9";
   };
 
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://intellinuxwireless.org/";
+    homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi;
     description = "Firmware for the Intel 6000 Series Gen2 wireless card";
 
     longDescription = ''
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 b3a2a810bf7d..0fee3acd0a3c 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation rec {
   name = "iwlwifi-6000g2b-ucode-17.168.5.2";
 
   src = fetchurl {
-    url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz";
+    url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz";
+    name = "${name}.tgz";
     sha256 = "5e4afdf070bfef549e50e62187f22dc2e40f5d9fe8b9a77561f8f3efb0d1d052";
   };
 
@@ -24,6 +25,6 @@ stdenv.mkDerivation rec {
       firmware. It contains the `iwlwifi-6000g2b-4.ucode' file.
     '';
 
-    homepage = http://intellinuxwireless.org/;
+    homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index 4ac4a4b263b5..97b3a6bfd0dc 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -230,7 +230,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.0.57";
+    version = "3.0.58";
 
     preConfigure = ''
       substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
@@ -238,7 +238,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-      sha256 = "12rf48ymwsgr133d6cydsajjxb3zihrcrfhpdv185x07dbri9nbl";
+      sha256 = "10ahi60ass970vjlhnzcf0y5fk3g7ck1a1lnwzy0kkywp6nb2c10";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index a03e39508912..eef4847e5b2e 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -239,7 +239,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.4.24";
+    version = "3.4.25";
     testing = false;
 
     preConfigure = ''
@@ -248,7 +248,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "1vxyb68ckzgm88jj7xzmwr2hmj5vdry5irvfr89klgqr95mmhkd1";
+      sha256 = "0jlnrjxyyfw2f87mr9y8c4337yfbnrj5jp3vhm33dwy7i3vdpfs6";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.7.nix b/pkgs/os-specific/linux/kernel/linux-3.7.nix
index 1a02910b5c80..4a092fe6b3a7 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.7.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.7.nix
@@ -245,7 +245,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.7.1";
+    version = "3.7.2";
     testing = false;
 
     preConfigure = ''
@@ -254,7 +254,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "0mbjvrr0658gg052hbf32vfcmlzfsr777wgmaxrpkpzbfs1qpjp1";
+      sha256 = "09s1z2z15xnnqm2syr76l7s3s14zzsalifnnfmry52ibizllzh04";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix
index 077d08f899da..240150b09ddb 100644
--- a/pkgs/os-specific/linux/module-init-tools/default.nix
+++ b/pkgs/os-specific/linux/module-init-tools/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
 
   src = [
     (fetchurl {
-      url = mirror://kernel/linux/utils/kernel/module-init-tools/module-init-tools-3.16.tar.bz2;
+      url = http://ftp.be.debian.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.16.tar.bz2;
       sha256 = "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1";
     })
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/acpixf.patch b/pkgs/os-specific/linux/nvidia-x11/acpixf.patch
deleted file mode 100644
index c94641c69192..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/acpixf.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -pur 96.43.20/conftest.sh 96.43.20-3.4/conftest.sh
---- 96.43.20/conftest.sh	2011-07-18 10:51:11.000000000 +0400
-+++ 96.43.20-3.4/conftest.sh	2012-06-16 00:04:22.870746239 +0400
-@@ -908,6 +908,7 @@ compile_test() {
-             #
-             echo "$CONFTEST_PREAMBLE
-             #include <acpi/acpi.h>
-+            #include <acpi/acpixf.h>
-             void conftest_acpi_walk_namespace(void) {
-                 acpi_walk_namespace();
-             }" > conftest$$.c
-@@ -923,6 +924,7 @@ compile_test() {
- 
-             echo "$CONFTEST_PREAMBLE
-             #include <acpi/acpi.h>
-+            #include <acpi/acpixf.h>
-             void conftest_acpi_walk_namespace(void) {
-                 acpi_walk_namespace(0, NULL, 0, NULL, NULL, NULL, NULL);
-             }" > conftest$$.c
-@@ -939,6 +941,7 @@ compile_test() {
- 
-             echo "$CONFTEST_PREAMBLE
-             #include <acpi/acpi.h>
-+            #include <acpi/acpixf.h>
-             void conftest_acpi_walk_namespace(void) {
-                 acpi_walk_namespace(0, NULL, 0, NULL, NULL, NULL);
-             }" > conftest$$.c
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
new file mode 100755
index 000000000000..bb8beab29c58
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh
@@ -0,0 +1,101 @@
+source $stdenv/setup
+
+dontPatchELF=1 # must keep libXv, $out in RPATH
+
+
+unpackFile() {
+    sh $src -x
+}
+
+
+buildPhase() {
+    if test -z "$libsOnly"; then
+        # Create the module.
+        echo "Building linux driver against kernel: $kernel";
+        cd kernel
+        kernelVersion=$(cd $kernel/lib/modules && ls)
+        sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/)
+        unset src # used by the nv makefile
+        # Hack necessary to compile on 2.6.28.
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default -I$sysSrc/include/generated"
+        make SYSSRC=$sysSrc module
+        cd ..
+    fi
+}
+
+
+installPhase() {
+
+    # Install libGL and friends.
+    mkdir -p $out/lib/vendors
+
+    for f in \
+      libcuda libGL libnvcuvid libnvidia-cfg libnvidia-compiler \
+      libnvidia-glcore libnvidia-ml libnvidia-opencl \
+      libnvidia-tls libOpenCL libnvidia-tls libvdpau_nvidia
+    do
+      cp -prd $f.* $out/lib/
+      ln -snf $f.so.$versionNumber $out/lib/$f.so
+      ln -snf $f.so.$versionNumber $out/lib/$f.so.1
+    done
+
+    cp -p nvidia.icd $out/lib/vendors/
+    cp -prd tls $out/lib/
+    cp -prd libOpenCL.so.1.0.0 $out/lib/
+    ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so
+    ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so.1
+
+    patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.*
+    patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.*
+    patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.*
+
+    if test -z "$libsOnly"; then
+
+        # Install the kernel module.
+        mkdir -p $out/lib/modules/$kernelVersion/misc
+        cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc
+
+        # Install the X driver.
+        mkdir -p $out/lib/xorg/modules
+        cp -p libnvidia-wfb.* $out/lib/xorg/modules/
+        mkdir -p $out/lib/xorg/modules/drivers
+        cp -p nvidia_drv.so $out/lib/xorg/modules/drivers
+        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
+        ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so
+
+        patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.*
+
+        # Install the programs.
+        mkdir -p $out/bin
+
+        for i in nvidia-settings nvidia-xconfig; do
+	    cp $i $out/bin/$i
+	    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+	        --set-rpath $out/lib:$programPath:$glPath $out/bin/$i
+        done
+
+        # Header files etc.
+        mkdir -p $out/include/nvidia
+        cp -p *.h $out/include/nvidia
+
+        mkdir -p $out/share/man/man1
+        cp -p *.1.gz $out/share/man/man1
+
+        mkdir -p $out/share/applications
+        cp -p *.desktop $out/share/applications
+
+        mkdir -p $out/share/pixmaps
+        cp -p nvidia-settings.png $out/share/pixmaps
+
+        # Patch the `nvidia-settings.desktop' file.
+        substituteInPlace $out/share/applications/nvidia-settings.desktop \
+            --replace '__UTILS_PATH__' $out/bin \
+            --replace '__PIXMAP_PATH__' $out/share/pixmaps
+    fi
+}
+
+
+genericBuild
diff --git a/pkgs/os-specific/linux/nvidia-x11/generated.patch b/pkgs/os-specific/linux/nvidia-x11/generated.patch
deleted file mode 100644
index 6cf7a93c6445..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/generated.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -pur 173.14.31/conftest.sh 173.14.31-3.3/conftest.sh
---- 173.14.31/conftest.sh	2011-07-18 09:49:58.000000000 +0400
-+++ 173.14.31-3.3/conftest.sh	2012-04-09 19:33:34.407928432 +0400
-@@ -123,7 +123,7 @@ build_cflags() {
-     CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS"
- 
-     if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
--        CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include"
-+        CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/generated"
-     fi
-     if [ -n "$BUILD_PARAMS" ]; then
-         CFLAGS="$CFLAGS -D$BUILD_PARAMS"
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
index ad419610df7e..c88eb77c12f9 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
@@ -13,7 +13,7 @@ let versionNumber = "304.64"; in
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
 
-  builder = ./builder.sh;
+  builder = ./builder-legacy304.sh;
 
   src =
     if stdenv.system == "i686-linux" then
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
index fd27a989c079..8e1fb784ae34 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
@@ -2,7 +2,7 @@
 
 let 
 
-  versionNumber = "96.43.20";
+  versionNumber = "96.43.23";
 
 in
 
@@ -15,27 +15,17 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "05vm36jnydp4cfdkfvrvxczd64i3f0pp0yp7dn8y8pklrxi80xxw";
+        sha256 = "0hi10h26l51mknr57zsdg0zaxcqdz1lp3hsz0hi1c1vkpbsavrji";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run";
-        sha256 = "0a8ninp4wyql3xh6z93dzhbacvz7g0h8gs4pg5279a0i6h05wb1w";
+        sha256 = "09vynha40rsxpklj1m0qjfg853ckdpi9g87h06irikh405x57kzp";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
   inherit versionNumber kernel;
 
-  # Only for kernels 3.4 and over
-  # Patches taken from arch linux AUR 
-  # https://aur.archlinux.org/packages.php?ID=57698
-  kpatches = stdenv.lib.optionals (stdenv.lib.strings.versionOlder "3.4" kernel.version)
-    [ ./acpixf.patch
-      ./generated.patch
-      ./patchlevel.patch
-      ./switch_to.patch
-    ];
-
   dontStrip = true;
 
   glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
diff --git a/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch b/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch
deleted file mode 100644
index 256922ca966d..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff -pur 96.43.20-t1/conftest.sh 96.43.20-t2/conftest.sh
---- 96.43.20-t1/conftest.sh	2012-06-16 17:14:47.206589267 +0400
-+++ 96.43.20-t2/conftest.sh	2012-06-16 15:35:45.049203248 +0400
-@@ -1303,10 +1303,14 @@ case "$5" in
-         MAKEFILE=$HEADERS/../Makefile
- 
-         if [ -f $MAKEFILE ]; then
-+            VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
-             PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
- 
--            if [ -z "$PATCHLEVEL" ]; then
-+            if [ -z "$PATCHLEVEL" -o -z "$VERSION" ]; then
-                 exit 1
-+            elif [ "$VERSION" = '3' ]; then
-+                echo 6
-+                exit 0                
-             else
-                 echo $PATCHLEVEL
-                 exit 0
-@@ -1426,10 +1430,11 @@ case "$5" in
-                 # kernel older than 2.6.6, that's all we require to
-                 # build the module.
-                 #
-+                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
-                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
-                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
- 
--                if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
-+                if [ "$VERSION" = '2' -a -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
-                         -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
-                     SELECTED_MAKEFILE=Makefile.kbuild
-                     RET=0
-@@ -1525,11 +1530,12 @@ case "$5" in
-                 # This source tree is not configured, but includes
-                 # the top-level Makefile.
-                 #
-+                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
-                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
-                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
- 
--                if [ -n "$PATCHLEVEL" -a -n "$SUBLEVEL" ]; then
--                    echo 2.$PATCHLEVEL.$SUBLEVEL
-+                if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" ]; then
-+                    echo $VERSION.$PATCHLEVEL.$SUBLEVEL
-                     RET=0
-                 fi
-             fi
-diff -pur 96.43.20-t1/Makefile.kbuild 96.43.20-t2/Makefile.kbuild
---- 96.43.20-t1/Makefile.kbuild	2011-07-18 10:51:11.000000000 +0400
-+++ 96.43.20-t2/Makefile.kbuild	2012-06-16 17:08:11.694605133 +0400
-@@ -132,7 +132,7 @@ MODULE_ROOT := /lib/modules/$(KERNEL_UNA
- #
- 
- TOPDIR ?= $(KERNEL_SOURCES)
--PATCHLEVEL ?= $(shell $(CONFTEST) kernel_patch_level)
-+PATCHLEVEL := $(shell $(CONFTEST) kernel_patch_level)
- 
- #
- # Linux 2.4 uses the .o module extension. Linux 2.6, however, uses the .ko
diff --git a/pkgs/os-specific/linux/nvidia-x11/switch_to.patch b/pkgs/os-specific/linux/nvidia-x11/switch_to.patch
deleted file mode 100644
index 51ffa7f83f15..000000000000
--- a/pkgs/os-specific/linux/nvidia-x11/switch_to.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -pur 173.14.31-3.3/conftest.sh 173.14.31-3.4/conftest.sh
---- 173.14.31-3.3/conftest.sh	2012-04-09 19:33:34.407928432 +0400
-+++ 173.14.31-3.4/conftest.sh	2012-04-10 19:50:36.052346728 +0400
-@@ -465,7 +465,7 @@ compile_test() {
-             # and if it as an 'event' member.
-             #
-             echo "$CONFTEST_PREAMBLE
--            #include <asm/system.h>
-+            #include <asm/switch_to.h>
-             #include <linux/pm.h>
-             void conftest_pm_message_t(pm_message_t state) {
-                 pm_message_t *p = &state;
-diff -pur 173.14.31-3.3/nv-linux.h 173.14.31-3.4/nv-linux.h
---- 173.14.31-3.3/nv-linux.h	2011-07-18 09:49:58.000000000 +0400
-+++ 173.14.31-3.4/nv-linux.h	2012-04-10 19:53:04.853776013 +0400
-@@ -92,7 +92,7 @@
- #include <linux/timer.h>
- 
- #include <asm/div64.h>              /* do_div()                         */
--#include <asm/system.h>             /* cli, sli, save_flags             */
-+#include <asm/switch_to.h>          /* cli, sli, save_flags             */
- #include <asm/io.h>                 /* ioremap, virt_to_phys            */
- #include <asm/uaccess.h>            /* access_ok                        */
- #include <asm/page.h>               /* PAGE_OFFSET                      */
diff --git a/pkgs/os-specific/linux/pmtools/default.nix b/pkgs/os-specific/linux/pmtools/default.nix
index 1cb2220a3bdc..13a6e87319ed 100644
--- a/pkgs/os-specific/linux/pmtools/default.nix
+++ b/pkgs/os-specific/linux/pmtools/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "pmtools-20071116";
 
   src = fetchurl {
-    url = "www.lesswatts.org/patches/linux_acpi/${name}.tar.gz";
+    url = "http://www.lesswatts.org/patches/linux_acpi/${name}.tar.gz";
     sha256 = "91751774976e39f6237efd0326eb35196a9346220b92ad35894a33283e872748";
   };
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://www.lesswatts.org/projects/acpi/utilities.php";
+    homepage = http://www.lesswatts.org/projects/acpi/utilities.php;
     description = "Linux ACPI utilities";
     license = "GPLv2";
 
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 68075d115a48..2fb852acc31a 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -2,6 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "powertop-2.1";
+
   src = fetchurl {
     url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.gz";
     sha256 = "16161nlah4i4hq8vyx7ds1vq7icdzwm7gmyjg0xhcrs1r9n83m1x";
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index aedfe9ac6861..f0f7fcbb9cee 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -1,10 +1,11 @@
 {stdenv, fetchurl, klibc, kernel, withKlibc ? true}:
 
 stdenv.mkDerivation rec {
-  name = "v86d-0.1.10-${kernel.version}";
+  name = "v86d-${version}-${kernel.version}";
+  version = "0.1.10";
 
   src = fetchurl {
-    url = "http://dev.gentoo.org/~spock/projects/uvesafb/archive/${name}.tar.bz2";
+    url = "mirror://gentoo/distfiles//v86d-${version}.tar.bz2";
     sha256 = "0p3kwqjis941pns9948dxfnjnl5lwd8f2b6x794whs7g32p68jb3";
   };
 
diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix
new file mode 100644
index 000000000000..d8840d08460d
--- /dev/null
+++ b/pkgs/os-specific/linux/x86info/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl, pciutils, python}:
+
+stdenv.mkDerivation rec {
+  version = "1.30";
+  name = "x86info-${version}";
+
+  src = fetchurl {
+    url = "http://codemonkey.org.uk/projects/x86info/${name}.tgz";
+    sha256 = "0a4lzka46nabpsrg3n7akwr46q38f96zfszd73xcback1s2hjc7y";
+  };
+
+  buildInputs = [ pciutils python ];
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp x86info lsmsr $out/bin
+  '';
+
+  meta = {
+    description = "An identification utility for the x86 series of processors.";
+    longDescription = 
+    ''
+      x86info will identify all Intel/AMD/Centaur/Cyrix/VIA CPUs. It leverages
+      the cpuid kernel module where possible.  it supports parsing model specific
+      registers (MSRs) via the msr kernel module.  it will approximate processor
+      frequency, and identify the cache sizes and layout. 
+    '';
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+    homepage = http://codemonkey.org.uk/projects/x86info/;
+    maintainers = with stdenv.lib.maintainers; [jcumming];
+  };
+}