summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-06-25 18:42:56 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-06-25 18:42:56 +0200
commit552fd3d599851336aa21ef073d1f7836566e454f (patch)
treeb2ebdeaa32426d12e21020410a0eb1a12881f8f6 /pkgs/os-specific/linux
parentcc61d31902d67b94333f53a5ab5772330bbc21cc (diff)
parent9dc35999602bc3bf2d7358a9ff79b9530e8d1975 (diff)
downloadnixlib-552fd3d599851336aa21ef073d1f7836566e454f.tar
nixlib-552fd3d599851336aa21ef073d1f7836566e454f.tar.gz
nixlib-552fd3d599851336aa21ef073d1f7836566e454f.tar.bz2
nixlib-552fd3d599851336aa21ef073d1f7836566e454f.tar.lz
nixlib-552fd3d599851336aa21ef073d1f7836566e454f.tar.xz
nixlib-552fd3d599851336aa21ef073d1f7836566e454f.tar.zst
nixlib-552fd3d599851336aa21ef073d1f7836566e454f.zip
Merge remote-tracking branch 'origin/master' into multiple-outputs
Conflicts:
	pkgs/development/libraries/atk/default.nix
	pkgs/development/libraries/cairo/default.nix
	pkgs/development/libraries/freetype/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/gmime/default.nix
	pkgs/development/libraries/pango/default.nix
	pkgs/servers/x11/xorg/default.nix
	pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix1
-rw-r--r--pkgs/os-specific/linux/aufs-util/2.nix2
-rw-r--r--pkgs/os-specific/linux/aufs/2.nix2
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.9.nix4
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix18
-rw-r--r--pkgs/os-specific/linux/psmouse-alps/default.nix38
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix5
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix20
-rw-r--r--pkgs/os-specific/linux/systemd/fix-tests-1.patch68
-rw-r--r--pkgs/os-specific/linux/systemd/no-global-install.patch26
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix4
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/libnl.patch2
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/xf86-video-nouveau/default.nix20
17 files changed, 198 insertions, 36 deletions
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index fe1792478d6b..7f3440d8f59e 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
     homepage = http://tedfelix.com/linux/acpid-netlink.html;
     description = "A daemon for delivering ACPI events to userspace programs";
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/aufs-util/2.nix b/pkgs/os-specific/linux/aufs-util/2.nix
index 130cfd85ee75..e4968b920486 100644
--- a/pkgs/os-specific/linux/aufs-util/2.nix
+++ b/pkgs/os-specific/linux/aufs-util/2.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   name = "aufs2-util-${version}-${kernelDev.version}";
 
   src = fetchurl {
-    url = "http://nixos.org/tarballs/aufs2-util-git-${version}.tar.bz2";
+    url = "http://tarballs.nixos.org/aufs2-util-git-${version}.tar.bz2";
     sha256 = "0ly0c3p8fjxqbk8k5rmm1a91wg8wcrvhi1lv4aawalkkk8rqbnwk";
   };
 
diff --git a/pkgs/os-specific/linux/aufs/2.nix b/pkgs/os-specific/linux/aufs/2.nix
index 87d16c113a53..a4a40823f7a2 100644
--- a/pkgs/os-specific/linux/aufs/2.nix
+++ b/pkgs/os-specific/linux/aufs/2.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   src = 
   if (builtins.lessThan (builtins.compareVersions kernelDev.version "2.6.35") 0) then
     fetchurl {
-      url = "http://nixos.org/tarballs/aufs2-standalone-git-${version}.tar.bz2";
+      url = "http://tarballs.nixos.org/aufs2-standalone-git-${version}.tar.bz2";
       sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6";
     }
   else
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 6d612f8cdbdc..0eb4be302841 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt }:
+{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt
+, enablePython ? false, python ? null
+}:
+
+assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
   name = "cryptsetup-1.5.1";
@@ -8,9 +12,11 @@ stdenv.mkDerivation rec {
     sha256 = "0dib3nw6ifd7d7hr9k4iyaha3hz0pkzairqa38l3fndkr9w3zlhn";
   };
 
-  configureFlags = "--enable-cryptsetup-reencrypt";
+  configureFlags = [ "--enable-cryptsetup-reencrypt" ]
+                ++ stdenv.lib.optional enablePython "--enable-python";
 
-  buildInputs = [ devicemapper libgcrypt libuuid pkgconfig popt ];
+  buildInputs = [ devicemapper libgcrypt libuuid pkgconfig popt ]
+             ++ stdenv.lib.optional enablePython python;
 
   meta = {
     homepage = http://code.google.com/p/cryptsetup/;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index 9f16fc78b090..c07448b43b50 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -240,7 +240,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.2.46";
+    version = "3.2.47";
 
     modDirVersion = version;
 
@@ -249,8 +249,8 @@ import ./generic.nix (
     '';
 
     src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v3.0/linux-${version}.tar.xz";
-      sha256 = "1yxkkiay2a84113zjxyf680fz5l0ihvjq3fcik8hfibrb5x2rhgr";
+      url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+      sha256 = "1554c7r32q87jxkkpggpgwg4rcc4zanahmrw30sg39krxbf2s7q1";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix
index 66ef05878bc3..4a2a0c1d1632 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.9.nix
@@ -253,7 +253,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.9.4";
+    version = "3.9.7";
     testing = false;
 
     preConfigure = ''
@@ -262,7 +262,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "121n82731il7c329psa21xzg8yci7j4w3f2px6v2gh3z82ijkc4i";
+      sha256 = "1xgk13bj33wayrs2jfgb2vf4xfys3vm28ijaavpjgs2wlsav94lx";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 873065d54244..01935e766324 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -1,4 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, libsepol, pcre }:
+{ stdenv, fetchurl, pkgconfig, libsepol, pcre
+, enablePython ? false, swig ? null, python ? null
+}:
+
+assert enablePython -> swig != null && python != null;
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libselinux-${version}";
@@ -17,7 +23,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fPIC.patch ]; # libsemanage seems to need -fPIC everywhere
 
-  buildInputs = [ pkgconfig libsepol pcre ];
+  buildInputs = [ pkgconfig libsepol pcre ]
+             ++ optionals enablePython [ swig python ];
 
   prePatch = ''
     tar xvf ${patch_src}
@@ -26,7 +33,12 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preInstall = '' makeFlags="$makeFlags PREFIX=$out DESTDIR=$out" '';
+  postPatch = optionalString enablePython ''
+    sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
+  '';
+
+  installFlags = [ "PREFIX=$(out)" "DESTDIR=$(out)" "LIBSEPOLDIR=${libsepol}" ];
+  installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
 
   meta = {
     inherit (libsepol.meta) homepage platforms maintainers;
diff --git a/pkgs/os-specific/linux/psmouse-alps/default.nix b/pkgs/os-specific/linux/psmouse-alps/default.nix
new file mode 100644
index 000000000000..834acd72ef20
--- /dev/null
+++ b/pkgs/os-specific/linux/psmouse-alps/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, kernelDev, zlib }:
+
+/* Only useful for kernels 3.2 to 3.5.
+   Fails to build in 3.8.
+   3.9 upstream already includes a proper alps driver for this */
+
+let
+  ver = "1.3";
+  bname = "psmouse-alps-${ver}";
+in
+stdenv.mkDerivation {
+  name = "psmouse-alps-${kernelDev.version}-${ver}";
+
+  src = fetchurl {
+    url = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/at_download/file;
+    name = "${bname}-alt.tar.bz2";
+    sha256 = "1ghr8xcyidz31isxbwrbcr9rvxi4ad2idwmb3byar9n2ig116cxp";
+  };
+
+  buildPhase = ''
+    cd src/${bname}/src
+    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+      SUBDIRS=`pwd` INSTALL_PATH=$out
+  '';
+
+  installPhase = ''
+    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
+      INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
+  '';
+      
+  meta = {
+    description = "ALPS dlkm driver with all known touchpads";
+    homepage = http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/view;
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [viric];
+  };
+}
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index eeaeacd46601..2f93769d2801 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -21,7 +21,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fix-librt-check.patch ./fix-usb-passthrough.patch ];
 
-  postPatch = "patchShebangs .;"
+  postPatch = ''
+      patchShebangs .
+      sed '/qtest_add_func.*check_time/d' -i tests/rtc-test.c
+    '' # disable tests that meddle with system time, they seem to work bad, maybe due to newer glib
     + stdenv.lib.optionalString spiceSupport ''
        for i in configure spice-qemu-char.c ui/spice-input.c ui/spice-core.c ui/qemu-spice.h; do
          substituteInPlace $i --replace '#include <spice.h>' '#include <spice/spice.h>'
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 2a34600529dc..e7184aa27b96 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -3,10 +3,11 @@
 , glib, kbd, libxslt, coreutils, libgcrypt, sysvtools, docbook_xsl
 }:
 
-assert stdenv.gcc.libc or null != null;
+assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "systemd-203";
+  version = "203";
+  name = "systemd-${version}";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     ] ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch;
 
   buildInputs =
-    [ pkgconfig intltool gperf libcap dbus kmod xz pam acl
+    [ pkgconfig intltool gperf libcap dbus.libs kmod xz pam acl
       /* cryptsetup */ libuuid m4 glib libxslt libgcrypt docbook_xsl
     ];
 
@@ -125,6 +126,19 @@ stdenv.mkDerivation rec {
   # runtime; otherwise we can't and we need to reboot.
   passthru.interfaceVersion = 2;
 
+  passthru.headers = stdenv.mkDerivation {
+    name = "systemd-headers-${version}";
+    inherit src;
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    # some are needed by dbus.libs, which is needed for systemd :-)
+    installPhase = ''
+      mkdir -p "$out/include/systemd"
+      mv src/systemd/*.h "$out/include/systemd"
+    '';
+  };
+
   meta = {
     homepage = "http://www.freedesktop.org/wiki/Software/systemd";
     description = "A system and service manager for Linux";
diff --git a/pkgs/os-specific/linux/systemd/fix-tests-1.patch b/pkgs/os-specific/linux/systemd/fix-tests-1.patch
new file mode 100644
index 000000000000..14bb0fa27081
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/fix-tests-1.patch
@@ -0,0 +1,68 @@
+Signed-off-by: Ramkumar Ramachandra <artag...@gmail.com>
+---
+ Ramkumar Ramachandra wrote:
+ > $ ./test-id128
+ > random: a08ea8ed34594d4bbd953dd182ec86f9
+ > Assertion 'sd_id128_get_machine(&id) == 0' failed at
+ > src/test/test-id128.c:41, function main(). Aborting.
+ > [1]    8017 abort (core dumped)  ./test-id128
+ 
+ Okay, this test fails because I don't have a /etc/machine-id -- I
+ thought systemd is supposed to create it?  However, from the logic in
+ src/core/machine-id-setup.c, it looks like although open() is called
+ with O_CREAT on /etc/machine-id, systemd barfs if the file isn't
+ present.  How about changing this?
+
+ src/core/machine-id-setup.c |   12 +++++-------
+ src/test/test-id128.c       |    6 ++++--
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
+index 7f4c23b..3f21d58 100644
+--- a/src/core/machine-id-setup.c
++++ b/src/core/machine-id-setup.c
+@@ -168,12 +168,8 @@ int machine_id_setup(void) {
+                 writable = true;
+         else {
+                 fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY);
+-                if (fd < 0) {
+-                        umask(m);
+-                        log_error("Cannot open /etc/machine-id: %m");
+-                        return -errno;
+-                }
+-
++                if (fd < 0)
++                        goto generate;
+                 writable = false;
+         }
+ 
+@@ -192,7 +188,9 @@ int machine_id_setup(void) {
+                 }
+         }
+ 
+-        /* Hmm, so, the id currently stored is not useful, then let's
++generate:
++        /* Hmm, so, either /etc/machine-id doesn't exist, the id
++         * currently stored is not useful, then let's
+          * generate one */
+ 
+         r = generate(id);
+diff --git a/src/test/test-id128.c b/src/test/test-id128.c
+index bfd743e..60902d0 100644
+--- a/src/test/test-id128.c
++++ b/src/test/test-id128.c
+@@ -38,8 +38,10 @@ int main(int argc, char *argv[]) {
+         assert_se(sd_id128_from_string(t, &id2) == 0);
+         assert_se(sd_id128_equal(id, id2));
+ 
+-        assert_se(sd_id128_get_machine(&id) == 0);
+-        printf("machine: %s\n", sd_id128_to_string(id, t));
++        if (sd_id128_get_machine(&id) < 0)
++                printf("machine: run systemd-machine-id-setup first\n");
++        else
++                printf("machine: %s\n", sd_id128_to_string(id, t));
+ 
+         assert_se(sd_id128_get_boot(&id) == 0);
+         printf("boot: %s\n", sd_id128_to_string(id, t));
+-- 
+1.7.8.1.362.g5d6df.dirty
diff --git a/pkgs/os-specific/linux/systemd/no-global-install.patch b/pkgs/os-specific/linux/systemd/no-global-install.patch
new file mode 100644
index 000000000000..6567251d57a1
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/no-global-install.patch
@@ -0,0 +1,26 @@
+diff --git a/Makefile.am b/Makefile.am
+index 05bf582..aa16a7c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2568,11 +2568,6 @@ endif
+ # "adm" and "wheel".
+ libsystemd-journal-install-hook:
+ 	libname=libsystemd-journal.so && $(move-to-rootlibdir)
+-	$(MKDIR_P) $(DESTDIR)/var/log/journal
+-	-chown 0:0 $(DESTDIR)/var/log/journal
+-	-chmod 755 $(DESTDIR)/var/log/journal
+-	-setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
+-	-setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
+ 
+ libsystemd-journal-uninstall-hook:
+ 	rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
+@@ -3676,9 +3671,6 @@ if HAVE_SYSV_COMPAT
+ sysvinit_DATA = \
+ 	docs/sysvinit/README
+ 
+-varlog_DATA = \
+-	docs/var-log/README
+-
+ docs/sysvinit/README: docs/sysvinit/README.in
+ 	$(SED_PROCESS)
+ 
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index 5af28876dc19..3956b5e04d09 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -4,7 +4,7 @@ let
 
   # Obtained from http://www.linux-usb.org/usb.ids.bz2.
   usbids = fetchurl {
-    url = http://nixos.org/tarballs/usb.ids.20120920.bz2;
+    url = http://tarballs.nixos.org/usb.ids.20120920.bz2;
     sha256 = "0sz860g7grf6kx22p49s6j8h85c69ymcw16a8110klzfl9hl9hli";
   };
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 8f441303c255..ec2c704cfb5c 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -5,13 +5,13 @@
 assert readlineSupport -> readline != null;
 
 stdenv.mkDerivation rec {
-  version = "1.1";
+  version = "2.0";
 
   name = "wpa_supplicant-${version}";
 
   src = fetchurl {
     url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
-    sha256 = "00lyifj8cz7qyal6dy1dxbpk3g3bywvdarik8gbj9ds7zmfbwkd5";
+    sha256 = "02cy6wrs4nzm7wbq9mc1vby8lnj58k4sb10h718ks8mmzc4mc49c";
   };
 
   extraConfig =
diff --git a/pkgs/os-specific/linux/wpa_supplicant/libnl.patch b/pkgs/os-specific/linux/wpa_supplicant/libnl.patch
index ede6dad721c5..477f8dd55f69 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/libnl.patch
+++ b/pkgs/os-specific/linux/wpa_supplicant/libnl.patch
@@ -5,7 +5,7 @@ diff -up wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo wpa_supplicant-1.0-r
  ifdef CONFIG_LIBNL32
    DRV_LIBS += -lnl-3
    DRV_LIBS += -lnl-genl-3
--  DRV_CFLAGS += -DCONFIG_LIBNL20
+-  DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
 +  DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0`
  else
    ifdef CONFIG_LIBNL_TINY
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 63e4fb1ca738..4350694c13a6 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.19.0";
+  name = "xf86-input-wacom-0.20.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "1lkvhirjysx0d2154jrwqc2i8jrqdjrlzjv7grbnm2cg5vpg7n53";
+    sha256 = "1408zjqsakcyx6v81qwh4q7m49cc6vcaad54jaw8ycw4i832jvjq";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
index 876daa7a1ecb..8ac5cdb69696 100644
--- a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
+++ b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchgit
+, fetchurl
 , autoconf
 , automake
 , libtool
@@ -8,28 +8,22 @@
 , libdrm
 , pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "xf86-video-nouveau-2012-03-05";
+stdenv.mkDerivation rec {
+  name = "xf86-video-nouveau-1.0.7";
 
-  src = fetchgit {
-    url = git://anongit.freedesktop.org/nouveau/xf86-video-nouveau;
-    rev = "f5d1cd2cb6808838ae1a188cef888eaa9582c76d";
-    sha256 = "8c20e9ce7897fbd4c5097e4738e80ecca30e6326b758a13fc97f96ccc12fd7d9"; 
+  src = fetchurl {
+    url = "mirror://xorg/individual/driver/${name}.tar.bz2";
+    sha256 = "0cg1q9dz9ksfp593x707gr10s8p7z00zdws1r4lshg42w5ccd1yi";
   };
 
+
   buildInputs = [
-    autoconf
-    automake
-    libtool
     xorgserver xproto fontsproto xf86driproto renderproto videoproto pixman
     utilmacros
     libdrm
     pkgconfig
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${pixman}/include/pixman-1";
-
-  preConfigure = "autoreconf -vfi";
 
   meta = {
     homepage = http://nouveau.freedesktop.org/wiki/;