0aea0db581
modules) together in an attribute set returned by the function "kernelPackagesFor" that takes a kernel as argument. For instance, kernelPackages_2_6_23 is the result of calling this function with kernel_2_6_23. This is necessary in NixOS to make it easier to override the kernel: it's not enough to just specify a different kernel (via the boot.kernel option), but you also need matching nvidiaDriver, aufs, iwlwifi, etc. Having a single attribute set that contains all kernel-related packages makes this much easier. * The kernel now has a passthru attribute "features" that allows NixOS expressions to test whether a kernel has certain features. For instance, the externel "iwlwifi" kernel module package should only be built on kernels < 2.6.24, as kernels >= 2.6.24 have iwlwifi support integrated. So the NixOS expressions can do the test "kernel.features ? iwlwifi" to see if the iwlwifi package should be built. Kernel patches can declare additional features. E.g., the fbsplash patch adds a "fbSplash" feature. svn path=/nixpkgs/trunk/; revision=11881
29 lines
627 B
Nix
29 lines
627 B
Nix
{stdenv, fetchurl, kernel, xlibs, gtkLibs}:
|
|
|
|
let
|
|
|
|
versionNumber = "169.12";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
|
name = "nvidiaDrivers-${versionNumber}-${kernel.version}";
|
|
builder = ./builder.sh;
|
|
|
|
src = fetchurl {
|
|
url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg1.run";
|
|
sha256 = "0bxxjp30bysqaviqjq05vmrhp17w3qn94iwwwj074qmi710zffyy";
|
|
};
|
|
|
|
#xenPatch = ./nvidia-2.6.24-xen.patch;
|
|
|
|
inherit versionNumber kernel;
|
|
|
|
dontStrip = true;
|
|
|
|
libPath = [
|
|
gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib
|
|
xlibs.libXext xlibs.libX11 xlibs.libXv
|
|
];
|
|
}
|