forked from mirrors/nixpkgs
ead1b8bc5c
svn path=/nixpkgs/trunk/; revision=23721
79 lines
2.2 KiB
Nix
79 lines
2.2 KiB
Nix
args @ {stdenv, fetchurl, xz, runCommand, userModeLinux ? false, extraConfig ? "",
|
|
kernelPatches ? [], extraMeta ? {},
|
|
features ? {}, preConfigure ? "",
|
|
...}:
|
|
|
|
let
|
|
conf = import ./config-blocks.nix;
|
|
|
|
baseKernelVersion = "2.6.33";
|
|
ZenSuffix = "zen1";
|
|
|
|
in
|
|
|
|
import ../kernel/generic.nix (
|
|
rec {
|
|
version = "${baseKernelVersion}-${ZenSuffix}";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://kernel/linux/kernel/v2.6/linux-${baseKernelVersion}.tar.bz2";
|
|
sha256 = "1inmam21w13nyf5imgdb5palhiap41zcxf9k32i4ck1w7gg3gqk3";
|
|
};
|
|
|
|
kernelPatches = [
|
|
{
|
|
name = "${ZenSuffix}";
|
|
patch = runCommand "${baseKernelVersion}-${ZenSuffix}.patch" {} "${xz}/bin/lzma -d < ${ fetchurl {
|
|
name = "${baseKernelVersion}-${ZenSuffix}.patch.lzma";
|
|
url = "http://downloads.zen-kernel.org/${baseKernelVersion}/${baseKernelVersion}-${ZenSuffix}.patch.lzma";
|
|
sha256 = "0a72d8allr4qi4p6hbbjh33kmcgbg84as0dfb50gsffvaj2d3kwf";
|
|
} } > $out";
|
|
}
|
|
]
|
|
++
|
|
stdenv.lib.attrByPath ["kernelPatches"] [] args;
|
|
|
|
features = {
|
|
iwlwifi = true;
|
|
zen = true;
|
|
fbConDecor = true;
|
|
aufs = true;
|
|
} // (stdenv.lib.attrByPath ["features"] {} args);
|
|
|
|
config = with conf;
|
|
''
|
|
${generalOptions}
|
|
${noDebug}
|
|
${virtualisation}
|
|
${if stdenv.lib.attrByPath ["features" "oldI686"] false args then noPAE else ""}
|
|
${usefulSubsystems}
|
|
${cfq}
|
|
${noNUMA}
|
|
${networking}
|
|
${wireless}
|
|
${fb}
|
|
${fbConDecor}
|
|
${sound}
|
|
${usbserial}
|
|
${fsXattr}
|
|
${security}
|
|
${blockDevices}
|
|
${bluetooth}
|
|
${misc}
|
|
${if stdenv.lib.attrByPath ["features" "ckSched"] false args then bfsched else forceCFSched}
|
|
'';
|
|
|
|
preConfigure = ''
|
|
mv README.zen README-zen
|
|
'' + stdenv.lib.attrByPath ["preConfigure"] "" args;
|
|
|
|
extraMeta = {
|
|
maintainers = [stdenv.lib.maintainers.raskin];
|
|
platforms = with stdenv.lib.platforms;
|
|
linux;
|
|
} // stdenv.lib.attrByPath ["extraMeta"] {} args;
|
|
}
|
|
// removeAttrs args ["extraConfig" "extraMeta" "features" "kernelPatches"
|
|
"xz" "runCommand" "preConfigure"]
|
|
)
|