First, pass in `self' again so that overriding works properly (thanks
for pointing that out, @edolstra)
Second, instead of having linuxPackages*.kernel mean something different
inside the set and out, add a new attribute linuxPackages*.kernelDev,
which for the generic kernel is simply linuxPackages*.kernel but for the
manual-config kernel is the `dev' output (which has the build tree,
source tree, etc.)
The second change required trivial modifications in a bunch of
expressions, I verified that all of the linuxPackages* sets defined in
all-packages.nix have the same drv paths before and after the change.
Signed-off-by: Shea Levy <shea@shealevy.com>
This comes from:
svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff
patch -p0 < diff
and then adding into svn all files new from the patch.
trunk@18255 comes from the last time I updated stdenv-updates from trunk.
svn path=/nixpkgs/stdenv-updates2/; revision=18272
builders. These are redundant now.
* Inlined some trivial builders.
* Removed a few explicit setup-hook creations. This is done
automatically now if setupHook is set.
* Deleted the initscripts package. NixOS doesn't use it anymore.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15276
* klibc: build against the regular kernel headers instead of depending
on a kernel build. This way we don't have to rebuild klibc every
time the kernel changes.
* splashutils 1.3: compile properly with a klibc that uses unpatched
kernel headers.
svn path=/nixpkgs/trunk/; revision=13900
library.
* Removed devicemapperStatic, e2fsprogsDiet, lvm2Static since they're
redundant (it's what you get when you use pkgsDiet/pkgsStatic).
svn path=/nixpkgs/trunk/; revision=12554
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
from the fbsplash kernel patch. So use the actual patched kernel as
an input to klibc, instead of Glibc's kernel headers.
svn path=/nixpkgs/trunk/; revision=7138