Partially revert my recent kernelPackages changes

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 commit is contained in:
Shea Levy 2013-03-24 07:45:00 -04:00
parent f8fb55b4cc
commit 4fa4ab3a6e
34 changed files with 228 additions and 225 deletions

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernelDev, lvm2
, which, alsaLib, curl, gawk
, xorriso, makeself, perl, pkgconfig
, javaBindings ? false, jdk ? null
@ -40,7 +40,7 @@ let
};
in stdenv.mkDerivation {
name = "virtualbox-${version}-${kernel.version}";
name = "virtualbox-${version}-${kernelDev.version}";
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
@ -49,7 +49,7 @@ in stdenv.mkDerivation {
buildInputs =
[ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
libcap glib kernel lvm2 python alsaLib curl pam xorriso makeself perl
libcap glib kernelDev lvm2 python alsaLib curl pam xorriso makeself perl
pkgconfig which libXmu ]
++ optional javaBindings jdk
++ optional pythonBindings python;
@ -61,7 +61,7 @@ in stdenv.mkDerivation {
prePatch = ''
set -x
MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
MODULES_BUILD_DIR=`echo ${kernelDev}/lib/modules/*/build`
sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
-e 's@MKISOFS --version@MKISOFS -version@' \
-e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \

View File

@ -1,18 +1,18 @@
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernelDev, which, makeWrapper
, libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
, dbus }:
let version = "4.2.8"; in
stdenv.mkDerivation {
name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "04a5402d8dcdefc83ffb2785351ddc57758781a3759137974469189392ae4ad5";
};
KERN_DIR = "${kernel}/lib/modules/*/build";
KERN_DIR = "${kernelDev}/lib/modules/*/build";
buildInputs = [ patchelf cdrkit makeWrapper dbus ];
@ -112,7 +112,7 @@ stdenv.mkDerivation {
for i in *
do
cd $i
kernelVersion=$(cd ${kernel}/lib/modules; ls)
kernelVersion=$(cd ${kernelDev}/lib/modules; ls)
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
find . -type f | xargs sed -i -e "s|-o root||g" \
-e "s|-g root||g"

View File

@ -1,7 +1,7 @@
{ stdenv, fetchgit, kernel }:
{ stdenv, fetchgit, kernelDev }:
stdenv.mkDerivation {
name = "acpi-call-${kernel.version}";
name = "acpi-call-${kernelDev.version}";
src = fetchgit {
url = "git://github.com/mkottman/acpi_call.git";
@ -12,12 +12,12 @@ stdenv.mkDerivation {
preBuild = ''
sed -e 's/break/true/' -i test_off.sh
sed -e 's@/bin/bash@.bin/sh@' -i test_off.sh
sed -e "s@/lib/modules/\$(.*)@${kernel}/lib/modules/${kernel.modDirVersion}@" -i Makefile
sed -e "s@/lib/modules/\$(.*)@${kernelDev}/lib/modules/${kernelDev.modDirVersion}@" -i Makefile
'';
installPhase = ''
mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
cp acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc
mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
cp acpi_call.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
mkdir -p $out/bin
cp test_off.sh $out/bin/test_discrete_video_off.sh
chmod a+x $out/bin/test_discrete_video_off.sh

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, builderDefs, kernel }:
{ stdenv, fetchurl, builderDefs, kernelDev }:
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
@ -8,7 +8,7 @@
buildInputs = [];
configureFlags = [];
makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out''];
makeFlags = [''KERNELPATH=${kernelDev}/lib/modules/*/build'' ''DESTDIR=$out''];
};
in with localDefs;
let
@ -17,7 +17,7 @@ postInstall = fullDepEntry (''
'') [minInit doMakeInstall];
in
stdenv.mkDerivation rec {
name = "atheros-0.9.4-${kernel.version}";
name = "atheros-0.9.4-${kernelDev.version}";
builder = writeScript (name + "-builder")
(textClosure localDefs [doMakeInstall
postInstall doForceShare doPropagate]);

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, kernel, xlibs, which, imake
{ stdenv, fetchurl, kernelDev, xlibs, which, imake
, mesa # for fgl_glxgears
, libXxf86vm, xf86vidmodeproto # for fglrx_gamma
, xorg, makeWrapper, glibc, patchelf
@ -23,7 +23,7 @@
assert stdenv.system == "x86_64-linux";
stdenv.mkDerivation rec {
name = "ati-drivers-${version}-${kernel.version}";
name = "ati-drivers-${version}-${kernelDev.version}";
version = "10-11-x86";
builder = ./builder.sh;
@ -46,7 +46,9 @@ stdenv.mkDerivation rec {
unzip
];
inherit kernel glibc /* glibc only used for setting interpreter */;
kernel = kernelDev;
inherit glibc /* glibc only used for setting interpreter */;
LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":"
[ "${xorg.libXrandr}/lib"

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, kernel, aufs }:
{ stdenv, fetchurl, kernelDev, aufs }:
assert aufs != null;
let version = "20100506"; in
stdenv.mkDerivation {
name = "aufs2-util-${version}-${kernel.version}";
name = "aufs2-util-${version}-${kernelDev.version}";
src = fetchurl {
url = "http://nixos.org/tarballs/aufs2-util-git-${version}.tar.bz2";
@ -15,7 +15,7 @@ stdenv.mkDerivation {
buildInputs = [ aufs ];
makeFlags =
[ "KDIR=${kernel}/lib/modules/${kernel.version}/build"
[ "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build"
"Install=install"
"DESTDIR=$(out)"
];

View File

@ -1,9 +1,9 @@
{ stdenv, fetchgit, kernel, aufs }:
{ stdenv, fetchgit, kernelDev, aufs }:
assert aufs != null;
stdenv.mkDerivation {
name = "aufs3-util-${aufs.patch.version}-${kernel.version}";
name = "aufs3-util-${aufs.patch.version}-${kernelDev.version}";
src = fetchgit {
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
@ -14,7 +14,7 @@ stdenv.mkDerivation {
buildInputs = [ aufs ];
makeFlags =
[ "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build"
[ "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
"Install=install"
"DESTDIR=$(out)"
];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, kernel, perl, fetchgit }:
{ stdenv, fetchurl, kernelDev, perl, fetchgit }:
assert kernel.features ? aufsBase;
assert kernelDev.features ? aufsBase;
let version = "20100522"; in
stdenv.mkDerivation {
name = "aufs2-${version}-${kernel.version}";
name = "aufs2-${version}-${kernelDev.version}";
src =
if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.35") 0) then
if (builtins.lessThan (builtins.compareVersions kernelDev.version "2.6.35") 0) then
fetchurl {
url = "http://nixos.org/tarballs/aufs2-standalone-git-${version}.tar.bz2";
sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6";
@ -22,12 +22,12 @@ stdenv.mkDerivation {
buildInputs = [ perl ];
makeFlags = "KDIR=${kernel}/lib/modules/${kernel.version}/build";
makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build";
installPhase =
''
mkdir -p $out/lib/modules/${kernel.version}/misc
cp aufs.ko $out/lib/modules/${kernel.version}/misc
mkdir -p $out/lib/modules/${kernelDev.version}/misc
cp aufs.ko $out/lib/modules/${kernelDev.version}/misc
# Install the headers because aufs2-util requires them.
cp -prvd include $out/

View File

@ -1,4 +1,4 @@
{ stdenv, kernel, perl }:
{ stdenv, kernelDev, perl }:
let
@ -7,25 +7,25 @@ let
(if x.features ? aufs3 then x.features.aufs3 else false)
else false;
featureAbort = abort "This kernel does not have aufs 3 support";
patch = stdenv.lib.findFirst aufsPredicate featureAbort kernel.kernelPatches;
patch = stdenv.lib.findFirst aufsPredicate featureAbort kernelDev.kernelPatches;
in
stdenv.mkDerivation {
name = "aufs3-${patch.version}-${kernel.version}";
name = "aufs3-${patch.version}-${kernelDev.version}";
src = patch.patch.src;
buildInputs = [ perl ];
makeFlags = "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build";
makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
NIX_CFLAGS_COMPILE="-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
NIX_CFLAGS_COMPILE="-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
installPhase =
''
mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
cp -v aufs.ko $out/lib/modules/${kernel.modDirVersion}/misc
mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
cp -v aufs.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
# Install the headers because aufs3-util requires them.
mkdir -p $out/include/linux

View File

@ -1,9 +1,9 @@
{ stdenv, fetchurl, kernel }:
{ stdenv, fetchurl, kernelDev }:
let
baseName = "bbswitch";
version = "0.6";
name = "${baseName}-${version}-${kernel.version}";
name = "${baseName}-${version}-${kernelDev.version}";
in
@ -17,13 +17,13 @@ stdenv.mkDerivation {
preBuild = ''
substituteInPlace Makefile \
--replace "\$(shell uname -r)" "${kernel.modDirVersion}" \
--replace "/lib/modules" "${kernel}/lib/modules"
--replace "\$(shell uname -r)" "${kernelDev.modDirVersion}" \
--replace "/lib/modules" "${kernelDev}/lib/modules"
'';
installPhase = ''
ensureDir $out/lib/modules/${kernel.modDirVersion}/misc
cp bbswitch.ko $out/lib/modules/${kernel.modDirVersion}/misc
ensureDir $out/lib/modules/${kernelDev.modDirVersion}/misc
cp bbswitch.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
ensureDir $out/bin
tee $out/bin/discrete_vga_poweroff << EOF

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, kernel, perl, makeWrapper }:
{ stdenv, fetchurl, kernelDev, perl, makeWrapper }:
# BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x)
# BLCR 0.8.5 should works for kernel version up to 3.7.1
assert stdenv.isLinux;
assert builtins.compareVersions "3.7.2" kernel.version == 1;
assert builtins.compareVersions "3.7.2" kernelDev.version == 1;
stdenv.mkDerivation {
name = "blcr_${kernel.version}-0.8.5";
name = "blcr_${kernelDev.version}-0.8.5";
src = fetchurl {
url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz;
@ -18,9 +18,9 @@ stdenv.mkDerivation {
preConfigure = ''
configureFlagsArray=(
--with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build
--with-kmod-dir=$out/lib/modules/${kernel.modDirVersion}
--with-system-map=${kernel}/System.map
--with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-kmod-dir=$out/lib/modules/${kernelDev.modDirVersion}
--with-system-map=${kernelDev}/System.map
)
'';

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, kernel }:
{ stdenv, fetchurl, kernelDev }:
let version = "5_100_82_112";
bits = if stdenv.system == "i686-linux" then "32" else
@ -6,7 +6,7 @@ let version = "5_100_82_112";
in
stdenv.mkDerivation {
name = "broadcom-sta-${version}-${kernel.version}";
name = "broadcom-sta-${version}-${kernelDev.version}";
src = fetchurl {
url = "http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_${bits}-v${version}.tar.gz";
@ -15,13 +15,13 @@ stdenv.mkDerivation {
else "1qsarnry10f5m8a73wbr9cg2ifs00sqg6x0ay59l72vl9hb2zlww";
};
buildInputs = [ kernel ];
buildInputs = [ kernelDev ];
patches =
[ ./makefile.patch ./linux-2.6.39.patch ./linux-3.2.patch
./linux-3.4.patch ./license.patch
];
makeFlags = "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build";
makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
unpackPhase =
''
@ -32,7 +32,7 @@ stdenv.mkDerivation {
installPhase =
''
binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
binDir="$out/lib/modules/${kernelDev.modDirVersion}/kernel/net/wireless/"
docDir="$out/share/doc/broadcom-sta/"
mkdir -p "$binDir" "$docDir"
cp wl.ko "$binDir"

View File

@ -1,8 +1,8 @@
{ fetchurl, stdenv, kernel, onlyHeaders ? false }:
{ fetchurl, stdenv, kernelDev, onlyHeaders ? false }:
stdenv.mkDerivation rec {
pname = "cryptodev-linux-1.5";
name = "${pname}-${kernel.version}";
name = "${pname}-${kernelDev.version}";
src = fetchurl {
url = "http://download.gna.org/cryptodev-linux/${pname}.tar.gz";
@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
};
buildPhase = if !onlyHeaders then ''
make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
SUBDIRS=`pwd` INSTALL_PATH=$out
'' else ":";
installPhase = stdenv.lib.optionalString (!onlyHeaders) ''
make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
'' + ''
mkdir -p $out/include/crypto

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, kernel }:
{ stdenv, fetchurl, kernelDev }:
stdenv.mkDerivation {
name = "e1000e-1.5.1-${kernel.version}";
name = "e1000e-1.5.1-${kernelDev.version}";
src = fetchurl {
url = "http://downloads.sourceforge.net/e1000/e1000e-1.5.1.tar.gz";
sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw";
};
buildInputs = [ kernel ];
buildInputs = [ kernelDev ];
configurePhase = ''
cd src
kernel_version=$( cd ${kernel}/lib/modules && echo * )
sed -i -e 's|/lib/modules|${kernel}/lib/modules|' Makefile
kernel_version=$( cd ${kernelDev}/lib/modules && echo * )
sed -i -e 's|/lib/modules|${kernelDev}/lib/modules|' Makefile
export makeFlags="BUILD_KERNEL=$kernel_version"
'';

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv, kernel, pkgconfig, gtkmm, boost, pcre }:
{ fetchurl, stdenv, kernelDev, pkgconfig, gtkmm, boost, pcre }:
stdenv.mkDerivation rec {
name = "exmap-0.10-${kernel.version}";
name = "exmap-0.10-${kernelDev.version}";
src = fetchurl {
url = "http://www.berthels.co.uk/exmap/download/${name}.tgz";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
patchPhase = ''
substituteInPlace "kernel/Makefile" \
--replace '/lib/modules/$(shell uname -r)/build' \
${kernel}/lib/modules/*/build
${kernelDev}/lib/modules/*/build
# The `proc_root' variable (the root of `/proc') is no longer exported
# since 2.6.26. Fortunately, one can pass `NULL' instead of `&proc_root'.
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
substituteInPlace "src/Makefile" --replace "-Werror" ""
'';
buildInputs = [ kernel pkgconfig gtkmm boost pcre ];
buildInputs = [ kernelDev pkgconfig gtkmm boost pcre ];
buildPhase = "make build";

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, kernel }:
{ stdenv, fetchurl, kernelDev }:
let baseName = "frandom-1.1";
in
stdenv.mkDerivation rec {
name = "${baseName}-${kernel.version}";
name = "${baseName}-${kernelDev.version}";
src = fetchurl {
url = "http://sourceforge.net/projects/frandom/files/${baseName}.tar.gz";
@ -12,14 +12,14 @@ stdenv.mkDerivation rec {
};
preBuild = ''
kernelVersion=$(cd ${kernel}/lib/modules && ls)
kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
substituteInPlace Makefile \
--replace "\$(shell uname -r)" "$kernelVersion" \
--replace "/lib/modules" "${kernel}/lib/modules"
--replace "/lib/modules" "${kernelDev}/lib/modules"
'';
installPhase = ''
kernelVersion=$(cd ${kernel}/lib/modules && ls)
kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
ensureDir $out/lib/modules/$kernelVersion/misc
cp frandom.ko $out/lib/modules/$kernelVersion/misc

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, kernel, module_init_tools}:
{ stdenv, fetchurl, kernelDev, module_init_tools}:
stdenv.mkDerivation rec {
name = "iscsitarget-1.4.20.2-${kernel.version}";
name = "iscsitarget-1.4.20.2-${kernelDev.version}";
src = fetchurl {
url = "mirror://sourceforge/iscsitarget/iscsitarget/1.4.20.2/${name}.tar.gz";
sha256 = "126kp0yc7vmvdbaw2xfav89340b0h91dvvyib5qbvyrq40n8wg0g";
};
KSRC = "${kernel}/lib/modules/*/build";
KSRC = "${kernelDev}/lib/modules/*/build";
DESTDIR = "$(out)";

View File

@ -1,9 +1,9 @@
{stdenv, fetchurl, kernel}:
{stdenv, fetchurl, kernelDev}:
let version = "1.2.25"; in
stdenv.mkDerivation rec {
name = "iwlwifi-${version}-${kernel.version}";
name = "iwlwifi-${version}-${kernelDev.version}";
src = fetchurl {
url = "http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-${version}.tgz";
@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
# Urgh, we need the complete kernel sources for some header
# files. So unpack the original kernel source tarball and copy
# the configured include directory etc. on top of it.
kernelVersion=$(cd ${kernel}/lib/modules && ls)
kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source)
tar xvfj ${kernel.src}
kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
tar xvfj ${kernelDev.src}
kernelSource=$(echo $(pwd)/linux-*)
cp -prd $kernelBuild/* $kernelSource

View File

@ -1,13 +1,13 @@
{ stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
{ stdenv, kernelDev, elfutils, python, perl, newt, slang, asciidoc, xmlto
, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
, withGtk ? false, gtk ? null }:
assert withGtk -> gtk != null;
stdenv.mkDerivation {
name = "perf-linux-${kernel.version}";
name = "perf-linux-${kernelDev.version}";
inherit (kernel) src patches;
inherit (kernelDev) src patches;
preConfigure = ''
cd tools/perf

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, perl, bison, mktemp, linuxHeaders, linuxHeadersCross, kernel ? null }:
{ stdenv, fetchurl, perl, bison, mktemp, linuxHeaders, linuxHeadersCross, kernelDev ? null }:
assert stdenv.isLinux;
@ -8,7 +8,7 @@ let
in
stdenv.mkDerivation {
name = "klibc-${version}${stdenv.lib.optionalString (kernel != null) "-${kernel.version}"}";
name = "klibc-${version}${stdenv.lib.optionalString (kernelDev != null) "-${kernelDev.version}"}";
src = fetchurl {
url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
@ -20,7 +20,7 @@ stdenv.mkDerivation {
# So it cannot run the 'make headers_install' it wants to run.
# We don't install the headers, so klibc will not be useful as libc, but
# usually in nixpkgs we only use the userspace tools comming with klibc.
prePatch = stdenv.lib.optionalString (kernel == null) ''
prePatch = stdenv.lib.optionalString (kernelDev == null) ''
sed -i -e /headers_install/d scripts/Kbuild.install
'';
@ -49,15 +49,15 @@ stdenv.mkDerivation {
echo "CONFIG_AEABI=y" >> defconfig
makeFlags=$(eval "echo $makeFlags")
'' + (if kernel == null then ''
'' + (if kernelDev == null then ''
mkdir linux
cp -prsd $linuxHeaders/include linux/
chmod -R u+w linux/include/
'' else ''
tar xvf ${kernel.src}
tar xvf ${kernelDev.src}
mv linux* linux
cd linux
ln -sv ${kernel}/config .config
ln -sv ${kernelDev}/config .config
make prepare
cd ..
'');

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, kernel, perl }:
{ stdenv, fetchurl, kernelDev, perl }:
stdenv.mkDerivation rec {
name = "kqemu-1.4.0pre1-${kernel.version}";
name = "kqemu-1.4.0pre1-${kernelDev.version}";
src = fetchurl {
url = "http://www.nongnu.org/qemu/${name}.tar.gz";
@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
buildInputs = [ perl ];
configureFlags = [ ''--PREFIX=$out'' ''--kernel-path=$(ls -d ${kernel}/lib/modules/*/build)'' ];
configureFlags = [ ''--PREFIX=$out'' ''--kernel-path=$(ls -d ${kernelDev}/lib/modules/*/build)'' ];
preConfigure = ''
sed -e '/#include/i#include <linux/sched.h>' -i kqemu-linux.c
sed -e 's/memset/mymemset/g; s/memcpy/mymemcpy/g; s/void [*]my/static void *my/g' -i common/kernel.c
sed -e 's/`uname -r`/'"$(basename ${kernel}/lib/modules/*)"'/' -i install.sh
sed -e 's/`uname -r`/'"$(basename ${kernelDev}/lib/modules/*)"'/' -i install.sh
sed -e '/kernel_path=/akernel_path=$out$kernel_path' -i install.sh
sed -e '/depmod/d' -i install.sh
cat install.sh

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, kernel, perl }:
{ stdenv, fetchurl, kernelDev, perl }:
stdenv.mkDerivation {
name = "ndiswrapper-1.56-${kernel.version}";
name = "ndiswrapper-1.56-${kernelDev.version}";
# need at least .config and include
inherit kernel;
kernel = kernelDev;
buildPhase = "
echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
@ -27,7 +27,7 @@ stdenv.mkDerivation {
sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
};
buildInputs = [ kernel perl ];
buildInputs = [ kernelDev perl ];
# this is a patch against svn head, not stable version
patches = [./prefix.patch];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
, gtk, atk, pango, glib, gdk_pixbuf
, # Whether to build the libraries only (i.e. not the kernel module or
# nvidia-settings). Used to support 32-bit binaries on 64-bit
@ -11,7 +11,7 @@ with stdenv.lib;
let versionNumber = "310.32"; in
stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
builder = ./builder.sh;
@ -32,7 +32,7 @@ stdenv.mkDerivation {
inherit versionNumber libsOnly;
kernel = if libsOnly then null else kernel;
kernel = if libsOnly then null else kernelDev;
dontStrip = true;

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
let
@ -7,7 +7,7 @@ let
in
stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}-${kernel.version}";
name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
builder = ./builder-legacy.sh;
@ -24,7 +24,9 @@ stdenv.mkDerivation {
}
else throw "nvidia-x11 does not support platform ${stdenv.system}";
inherit versionNumber kernel;
kernel = kernelDev;
inherit versionNumber;
dontStrip = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
, gtk, atk, pango, glib, gdk_pixbuf
, # Whether to build the libraries only (i.e. not the kernel module or
# nvidia-settings). Used to support 32-bit binaries on 64-bit
@ -11,7 +11,7 @@ with stdenv.lib;
let versionNumber = "304.84"; in
stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
builder = ./builder-legacy304.sh;
@ -30,7 +30,7 @@ stdenv.mkDerivation {
inherit versionNumber libsOnly;
kernel = if libsOnly then null else kernel;
kernel = if libsOnly then null else kernelDev;
dontStrip = true;

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib}:
{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib}:
let
@ -7,7 +7,7 @@ let
in
stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}-${kernel.version}";
name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
builder = ./builder-legacy.sh;
@ -24,7 +24,9 @@ stdenv.mkDerivation {
}
else throw "nvidia-x11 does not support platform ${stdenv.system}";
inherit versionNumber kernel;
kernel = kernelDev;
inherit versionNumber;
dontStrip = true;

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, kernel}:
{ stdenv, fetchurl, kernelDev}:
stdenv.mkDerivation rec {
name = "open-iscsi-2.0-871-${kernel.version}";
name = "open-iscsi-2.0-871-${kernelDev.version}";
src = fetchurl {
url = "http://www.open-iscsi.org/bits/${name}.tar.gz";
sha256 = "1jvx1agybaj4czhz41bz37as076spicsmlh5pjksvwl2mr38gsmw";
};
KSRC = "${kernel}/lib/modules/*/build";
KSRC = "${kernelDev}/lib/modules/*/build";
DESTDIR = "$(out)";
preConfigure = ''

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
{ stdenv, fetchurl, kernelDev, perl, autoconf, automake, libtool, coreutils, gawk }:
stdenv.mkDerivation {
name = "spl-0.6.0-rc14-${kernel.version}";
name = "spl-0.6.0-rc14-${kernelDev.version}";
src = fetchurl {
url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc14.tar.gz;
sha256 = "00wyamf13z8ins4s14xf0b3hfjfz4w084mr17hs3k5xifb5jxa8g";
@ -9,9 +9,9 @@ stdenv.mkDerivation {
patches = [ ./install_prefix.patch ./install_prefix_2.patch ./module_prefix.patch ];
buildInputs = [ perl kernel autoconf automake libtool ];
buildInputs = [ perl kernelDev autoconf automake libtool ];
NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
NIX_CFLAGS_COMPILE = "-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
preConfigure = ''
./autogen.sh
@ -25,8 +25,8 @@ stdenv.mkDerivation {
'';
configureFlags = ''
--with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build
--with-linux-obj=${kernel}/lib/modules/${kernel.modDirVersion}/build
--with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
'';
meta = {

View File

@ -1,23 +1,23 @@
{stdenv, fetchurl, kernel}:
{stdenv, fetchurl, kernelDev}:
stdenv.mkDerivation {
name = "tp_smapi-0.41-${kernel.version}";
name = "tp_smapi-0.41-${kernelDev.version}";
src = fetchurl {
url = "https://github.com/downloads/evgeni/tp_smapi/tp_smapi-0.41.tar.gz";
sha256 = "6aef02b92d10360ac9be0db29ae390636be55017990063a092a285c70b54e666";
};
buildInputs = [ kernel ];
buildInputs = [ kernelDev ];
makeFlags = [
"KBASE=${kernel}/lib/modules/${kernel.modDirVersion}"
"KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}"
"SHELL=/bin/sh"
];
installPhase = ''
install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
'';
dontStrip = true;

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl, klibc, kernel, withKlibc ? true}:
{stdenv, fetchurl, klibc, kernelDev, withKlibc ? true}:
stdenv.mkDerivation rec {
name = "v86d-${version}-${kernel.version}";
name = "v86d-${version}-${kernelDev.version}";
version = "0.1.10";
src = fetchurl {
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
configureFlags = if withKlibc then [ "--with-klibc" ] else [ "--default" ];
makeFlags = [
"KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/source"
"KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/source"
"DESTDIR=$(out)"
];

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, kernel, ncurses, fxload}:
{stdenv, fetchurl, kernelDev, ncurses, fxload}:
let
@ -12,7 +12,7 @@ let
in
stdenv.mkDerivation {
name = "wis-go7007-0.9.8-${kernel.version}";
name = "wis-go7007-0.9.8-${kernelDev.version}";
src = fetchurl {
url = http://gentoo.osuosl.org/distfiles/wis-go7007-linux-0.9.8.tar.bz2;
@ -50,9 +50,9 @@ stdenv.mkDerivation {
# Urgh, we need the complete kernel sources for some header
# files. So unpack the original kernel source tarball and copy
# the configured include directory etc. on top of it.
kernelVersion=$(cd ${kernel}/lib/modules && ls)
kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source)
tar xvfj ${kernel.src}
kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
tar xvfj ${kernelDev.src}
kernelSource=$(echo $(pwd)/linux-*)
cp -prd $kernelBuild/* $kernelSource

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
{ stdenv, fetchurl, kernelDev, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
stdenv.mkDerivation {
name = "zfs-0.6.0-rc14-${kernel.version}";
name = "zfs-0.6.0-rc14-${kernelDev.version}";
src = fetchurl {
url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc14.tar.gz;
@ -10,11 +10,11 @@ stdenv.mkDerivation {
patches = [ ./module_perm_prefix.patch ./mount_zfs_prefix.patch ./kerneldir_path.patch ./no_absolute_paths_to_coreutils.patch ];
buildInputs = [ kernel spl perl autoconf automake libtool zlib libuuid coreutils ];
buildInputs = [ kernelDev spl perl autoconf automake libtool zlib libuuid coreutils ];
# for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
NIX_CFLAGS_LINK = "-lgcc_s";
NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
NIX_CFLAGS_COMPILE = "-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
preConfigure = ''
./autogen.sh
@ -29,9 +29,9 @@ stdenv.mkDerivation {
'';
configureFlags = ''
--with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build
--with-linux-obj=${kernel}/lib/modules/${kernel.modDirVersion}/build
--with-spl=${spl}/libexec/spl/${kernel.modDirVersion}
--with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-spl=${spl}/libexec/spl/${kernelDev.modDirVersion}
${if stdenv.system == "i686-linux" then "--enable-atomic-spinlocks" else ""}
'';

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, which, autoconf, automake, flex, yacc,
kernel, glibc, ncurses, perl, krb5 }:
kernelDev, glibc, ncurses, perl, krb5 }:
assert stdenv.isLinux;
stdenv.mkDerivation {
name = "openafs-1.6.1-${kernel.version}";
name = "openafs-1.6.1-${kernelDev.version}";
src = fetchurl {
url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2;
@ -14,7 +14,7 @@ stdenv.mkDerivation {
buildInputs = [ autoconf automake flex yacc ncurses perl which ];
preConfigure = ''
ln -s ${kernel}/lib/modules/*/build $TMP/linux
ln -s ${kernelDev}/lib/modules/*/build $TMP/linux
patchShebangs .
for i in `grep -l -R '/usr/\(include\|src\)' .`; do

View File

@ -5956,123 +5956,120 @@ let
for a specific kernel. This function can then be called for
whatever kernel you're using. */
linuxPackagesFor = kernel:
let
callPackage = newScope self;
linuxPackagesFor = kernel: self: let callPackage = newScope self; in {
inherit kernel;
self = {
kernel = kernel.dev or kernel;
kernelDev = kernel.dev or kernel;
acpi_call = callPackage ../os-specific/linux/acpi-call {};
acpi_call = callPackage ../os-specific/linux/acpi-call {};
bbswitch = callPackage ../os-specific/linux/bbswitch {};
bbswitch = callPackage ../os-specific/linux/bbswitch {};
ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
aufs =
if self.kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs/2.nix { }
else if self.kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs/3.nix { }
else null;
aufs =
if self.kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs/2.nix { }
else if self.kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs/3.nix { }
else null;
aufs_util =
if self.kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs-util/2.nix { }
else if self.kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs-util/3.nix { }
else null;
aufs_util =
if self.kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs-util/2.nix { }
else if self.kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs-util/3.nix { }
else null;
blcr = callPackage ../os-specific/linux/blcr { };
blcr = callPackage ../os-specific/linux/blcr { };
cryptodev = callPackage ../os-specific/linux/cryptodev { };
cryptodev = callPackage ../os-specific/linux/cryptodev { };
e1000e = callPackage ../os-specific/linux/e1000e {};
e1000e = callPackage ../os-specific/linux/e1000e {};
exmap = callPackage ../os-specific/linux/exmap { };
exmap = callPackage ../os-specific/linux/exmap { };
frandom = callPackage ../os-specific/linux/frandom { };
frandom = callPackage ../os-specific/linux/frandom { };
iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
iwlwifi4965ucode =
if builtins.compareVersions self.kernel.version "2.6.27" == 0
|| builtins.compareVersions self.kernel.version "2.6.27" == 1
then iwlwifi4965ucodeV2
else iwlwifi4965ucodeV1;
iwlwifi4965ucode =
if builtins.compareVersions self.kernel.version "2.6.27" == 0
|| builtins.compareVersions self.kernel.version "2.6.27" == 1
then iwlwifi4965ucodeV2
else iwlwifi4965ucodeV1;
atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
openafsClient = callPackage ../servers/openafs-client { };
openafsClient = callPackage ../servers/openafs-client { };
openiscsi = callPackage ../os-specific/linux/open-iscsi { };
openiscsi = callPackage ../os-specific/linux/open-iscsi { };
wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
kqemu = callPackage ../os-specific/linux/kqemu { };
kqemu = callPackage ../os-specific/linux/kqemu { };
klibc = callPackage ../os-specific/linux/klibc {
linuxHeaders = glibc.kernelHeaders;
};
klibc = callPackage ../os-specific/linux/klibc {
linuxHeaders = glibc.kernelHeaders;
};
splashutils = let hasFbConDecor = if self.kernel ? features
then self.kernel.features ? fbConDecor
else self.kernel.config.isEnabled "FB_CON_DECOR";
in if hasFbConDecor then pkgs.splashutils else null;
splashutils = let hasFbConDecor = if self.kernel ? features
then self.kernel.features ? fbConDecor
else self.kernel.config.isEnabled "FB_CON_DECOR";
in if hasFbConDecor then pkgs.splashutils else null;
/* compiles but has to be integrated into the kernel somehow
Let's have it uncommented and finish it..
*/
ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
/* compiles but has to be integrated into the kernel somehow
Let's have it uncommented and finish it..
*/
ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
perf = callPackage ../os-specific/linux/kernel/perf.nix { };
perf = callPackage ../os-specific/linux/kernel/perf.nix { };
spl = callPackage ../os-specific/linux/spl/default.nix { };
spl = callPackage ../os-specific/linux/spl/default.nix { };
sysprof = callPackage ../development/tools/profiling/sysprof {
inherit (gnome) libglade;
};
sysprof = callPackage ../development/tools/profiling/sysprof {
inherit (gnome) libglade;
};
systemtap = callPackage ../development/tools/profiling/systemtap {
linux = self.kernel;
inherit (gnome) libglademm;
};
systemtap = callPackage ../development/tools/profiling/systemtap {
linux = self.kernelDev;
inherit (gnome) libglademm;
};
tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
v86d = callPackage ../os-specific/linux/v86d { };
v86d = callPackage ../os-specific/linux/v86d { };
virtualbox = callPackage ../applications/virtualization/virtualbox {
stdenv = stdenv_32bit;
inherit (gnome) libIDL;
};
virtualbox = callPackage ../applications/virtualization/virtualbox {
stdenv = stdenv_32bit;
inherit (gnome) libIDL;
};
virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
zfs = callPackage ../os-specific/linux/zfs/default.nix { };
};
in (self // { kernel = self.kernel.out; });
zfs = callPackage ../os-specific/linux/zfs/default.nix { };
};
# Build the kernel modules for the some of the kernels.
linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32);
linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35);
linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0);
linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2);
linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen);
linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4);
linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi);
linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7);
linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8);
linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 linuxPackages_2_6_32);
linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 linuxPackages_2_6_35);
linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen);
linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 linuxPackages_3_7);
linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8 linuxPackages_3_8);
# The current default kernel / kernel modules.
linux = linuxPackages.kernel;