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 { 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 , which, alsaLib, curl, gawk
, xorriso, makeself, perl, pkgconfig , xorriso, makeself, perl, pkgconfig
, javaBindings ? false, jdk ? null , javaBindings ? false, jdk ? null
@ -40,7 +40,7 @@ let
}; };
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "virtualbox-${version}-${kernel.version}"; name = "virtualbox-${version}-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
@ -49,7 +49,7 @@ in stdenv.mkDerivation {
buildInputs = buildInputs =
[ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL [ 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 ] pkgconfig which libXmu ]
++ optional javaBindings jdk ++ optional javaBindings jdk
++ optional pythonBindings python; ++ optional pythonBindings python;
@ -61,7 +61,7 @@ in stdenv.mkDerivation {
prePatch = '' prePatch = ''
set -x 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@ \ sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
-e 's@MKISOFS --version@MKISOFS -version@' \ -e 's@MKISOFS --version@MKISOFS -version@' \
-e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \ -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 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
, dbus }: , dbus }:
let version = "4.2.8"; in let version = "4.2.8"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "VirtualBox-GuestAdditions-${version}-${kernel.version}"; name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "04a5402d8dcdefc83ffb2785351ddc57758781a3759137974469189392ae4ad5"; sha256 = "04a5402d8dcdefc83ffb2785351ddc57758781a3759137974469189392ae4ad5";
}; };
KERN_DIR = "${kernel}/lib/modules/*/build"; KERN_DIR = "${kernelDev}/lib/modules/*/build";
buildInputs = [ patchelf cdrkit makeWrapper dbus ]; buildInputs = [ patchelf cdrkit makeWrapper dbus ];
@ -112,7 +112,7 @@ stdenv.mkDerivation {
for i in * for i in *
do do
cd $i cd $i
kernelVersion=$(cd ${kernel}/lib/modules; ls) kernelVersion=$(cd ${kernelDev}/lib/modules; ls)
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
find . -type f | xargs sed -i -e "s|-o root||g" \ find . -type f | xargs sed -i -e "s|-o root||g" \
-e "s|-g root||g" -e "s|-g root||g"

View File

@ -1,7 +1,7 @@
{ stdenv, fetchgit, kernel }: { stdenv, fetchgit, kernelDev }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "acpi-call-${kernel.version}"; name = "acpi-call-${kernelDev.version}";
src = fetchgit { src = fetchgit {
url = "git://github.com/mkottman/acpi_call.git"; url = "git://github.com/mkottman/acpi_call.git";
@ -12,12 +12,12 @@ stdenv.mkDerivation {
preBuild = '' preBuild = ''
sed -e 's/break/true/' -i test_off.sh sed -e 's/break/true/' -i test_off.sh
sed -e 's@/bin/bash@.bin/sh@' -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 = '' installPhase = ''
mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
cp acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc cp acpi_call.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
mkdir -p $out/bin mkdir -p $out/bin
cp test_off.sh $out/bin/test_discrete_video_off.sh cp test_off.sh $out/bin/test_discrete_video_off.sh
chmod a+x $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 { let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */ src = /* put a fetchurl here */
fetchurl { fetchurl {
@ -8,7 +8,7 @@
buildInputs = []; buildInputs = [];
configureFlags = []; configureFlags = [];
makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out'']; makeFlags = [''KERNELPATH=${kernelDev}/lib/modules/*/build'' ''DESTDIR=$out''];
}; };
in with localDefs; in with localDefs;
let let
@ -17,7 +17,7 @@ postInstall = fullDepEntry (''
'') [minInit doMakeInstall]; '') [minInit doMakeInstall];
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "atheros-0.9.4-${kernel.version}"; name = "atheros-0.9.4-${kernelDev.version}";
builder = writeScript (name + "-builder") builder = writeScript (name + "-builder")
(textClosure localDefs [doMakeInstall (textClosure localDefs [doMakeInstall
postInstall doForceShare doPropagate]); 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 , mesa # for fgl_glxgears
, libXxf86vm, xf86vidmodeproto # for fglrx_gamma , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
, xorg, makeWrapper, glibc, patchelf , xorg, makeWrapper, glibc, patchelf
@ -23,7 +23,7 @@
assert stdenv.system == "x86_64-linux"; assert stdenv.system == "x86_64-linux";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ati-drivers-${version}-${kernel.version}"; name = "ati-drivers-${version}-${kernelDev.version}";
version = "10-11-x86"; version = "10-11-x86";
builder = ./builder.sh; builder = ./builder.sh;
@ -46,7 +46,9 @@ stdenv.mkDerivation rec {
unzip 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 ":" LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":"
[ "${xorg.libXrandr}/lib" [ "${xorg.libXrandr}/lib"

View File

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

View File

@ -1,9 +1,9 @@
{ stdenv, fetchgit, kernel, aufs }: { stdenv, fetchgit, kernelDev, aufs }:
assert aufs != null; assert aufs != null;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "aufs3-util-${aufs.patch.version}-${kernel.version}"; name = "aufs3-util-${aufs.patch.version}-${kernelDev.version}";
src = fetchgit { src = fetchgit {
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git; url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
@ -14,7 +14,7 @@ stdenv.mkDerivation {
buildInputs = [ aufs ]; buildInputs = [ aufs ];
makeFlags = makeFlags =
[ "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build" [ "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
"Install=install" "Install=install"
"DESTDIR=$(out)" "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 let version = "20100522"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "aufs2-${version}-${kernel.version}"; name = "aufs2-${version}-${kernelDev.version}";
src = 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 { fetchurl {
url = "http://nixos.org/tarballs/aufs2-standalone-git-${version}.tar.bz2"; url = "http://nixos.org/tarballs/aufs2-standalone-git-${version}.tar.bz2";
sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6"; sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6";
@ -22,12 +22,12 @@ stdenv.mkDerivation {
buildInputs = [ perl ]; buildInputs = [ perl ];
makeFlags = "KDIR=${kernel}/lib/modules/${kernel.version}/build"; makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build";
installPhase = installPhase =
'' ''
mkdir -p $out/lib/modules/${kernel.version}/misc mkdir -p $out/lib/modules/${kernelDev.version}/misc
cp aufs.ko $out/lib/modules/${kernel.version}/misc cp aufs.ko $out/lib/modules/${kernelDev.version}/misc
# Install the headers because aufs2-util requires them. # Install the headers because aufs2-util requires them.
cp -prvd include $out/ cp -prvd include $out/

View File

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

View File

@ -1,9 +1,9 @@
{ stdenv, fetchurl, kernel }: { stdenv, fetchurl, kernelDev }:
let let
baseName = "bbswitch"; baseName = "bbswitch";
version = "0.6"; version = "0.6";
name = "${baseName}-${version}-${kernel.version}"; name = "${baseName}-${version}-${kernelDev.version}";
in in
@ -17,13 +17,13 @@ stdenv.mkDerivation {
preBuild = '' preBuild = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "\$(shell uname -r)" "${kernel.modDirVersion}" \ --replace "\$(shell uname -r)" "${kernelDev.modDirVersion}" \
--replace "/lib/modules" "${kernel}/lib/modules" --replace "/lib/modules" "${kernelDev}/lib/modules"
''; '';
installPhase = '' installPhase = ''
ensureDir $out/lib/modules/${kernel.modDirVersion}/misc ensureDir $out/lib/modules/${kernelDev.modDirVersion}/misc
cp bbswitch.ko $out/lib/modules/${kernel.modDirVersion}/misc cp bbswitch.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
ensureDir $out/bin ensureDir $out/bin
tee $out/bin/discrete_vga_poweroff << EOF 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.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 # BLCR 0.8.5 should works for kernel version up to 3.7.1
assert stdenv.isLinux; assert stdenv.isLinux;
assert builtins.compareVersions "3.7.2" kernel.version == 1; assert builtins.compareVersions "3.7.2" kernelDev.version == 1;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "blcr_${kernel.version}-0.8.5"; name = "blcr_${kernelDev.version}-0.8.5";
src = fetchurl { src = fetchurl {
url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz; url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz;
@ -18,9 +18,9 @@ stdenv.mkDerivation {
preConfigure = '' preConfigure = ''
configureFlagsArray=( configureFlagsArray=(
--with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-kmod-dir=$out/lib/modules/${kernel.modDirVersion} --with-kmod-dir=$out/lib/modules/${kernelDev.modDirVersion}
--with-system-map=${kernel}/System.map --with-system-map=${kernelDev}/System.map
) )
''; '';

View File

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

View File

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

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, kernel }: { stdenv, fetchurl, kernelDev }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "e1000e-1.5.1-${kernel.version}"; name = "e1000e-1.5.1-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://downloads.sourceforge.net/e1000/e1000e-1.5.1.tar.gz"; url = "http://downloads.sourceforge.net/e1000/e1000e-1.5.1.tar.gz";
sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw"; sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw";
}; };
buildInputs = [ kernel ]; buildInputs = [ kernelDev ];
configurePhase = '' configurePhase = ''
cd src cd src
kernel_version=$( cd ${kernel}/lib/modules && echo * ) kernel_version=$( cd ${kernelDev}/lib/modules && echo * )
sed -i -e 's|/lib/modules|${kernel}/lib/modules|' Makefile sed -i -e 's|/lib/modules|${kernelDev}/lib/modules|' Makefile
export makeFlags="BUILD_KERNEL=$kernel_version" 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 { stdenv.mkDerivation rec {
name = "exmap-0.10-${kernel.version}"; name = "exmap-0.10-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://www.berthels.co.uk/exmap/download/${name}.tgz"; url = "http://www.berthels.co.uk/exmap/download/${name}.tgz";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
patchPhase = '' patchPhase = ''
substituteInPlace "kernel/Makefile" \ substituteInPlace "kernel/Makefile" \
--replace '/lib/modules/$(shell uname -r)/build' \ --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 # 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'. # 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" "" substituteInPlace "src/Makefile" --replace "-Werror" ""
''; '';
buildInputs = [ kernel pkgconfig gtkmm boost pcre ]; buildInputs = [ kernelDev pkgconfig gtkmm boost pcre ];
buildPhase = "make build"; buildPhase = "make build";

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, kernel }: { stdenv, fetchurl, kernelDev }:
let baseName = "frandom-1.1"; let baseName = "frandom-1.1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${baseName}-${kernel.version}"; name = "${baseName}-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://sourceforge.net/projects/frandom/files/${baseName}.tar.gz"; url = "http://sourceforge.net/projects/frandom/files/${baseName}.tar.gz";
@ -12,14 +12,14 @@ stdenv.mkDerivation rec {
}; };
preBuild = '' preBuild = ''
kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "\$(shell uname -r)" "$kernelVersion" \ --replace "\$(shell uname -r)" "$kernelVersion" \
--replace "/lib/modules" "${kernel}/lib/modules" --replace "/lib/modules" "${kernelDev}/lib/modules"
''; '';
installPhase = '' installPhase = ''
kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
ensureDir $out/lib/modules/$kernelVersion/misc ensureDir $out/lib/modules/$kernelVersion/misc
cp frandom.ko $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 { stdenv.mkDerivation rec {
name = "iscsitarget-1.4.20.2-${kernel.version}"; name = "iscsitarget-1.4.20.2-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/iscsitarget/iscsitarget/1.4.20.2/${name}.tar.gz"; url = "mirror://sourceforge/iscsitarget/iscsitarget/1.4.20.2/${name}.tar.gz";
sha256 = "126kp0yc7vmvdbaw2xfav89340b0h91dvvyib5qbvyrq40n8wg0g"; sha256 = "126kp0yc7vmvdbaw2xfav89340b0h91dvvyib5qbvyrq40n8wg0g";
}; };
KSRC = "${kernel}/lib/modules/*/build"; KSRC = "${kernelDev}/lib/modules/*/build";
DESTDIR = "$(out)"; DESTDIR = "$(out)";

View File

@ -1,9 +1,9 @@
{stdenv, fetchurl, kernel}: {stdenv, fetchurl, kernelDev}:
let version = "1.2.25"; in let version = "1.2.25"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "iwlwifi-${version}-${kernel.version}"; name = "iwlwifi-${version}-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-${version}.tgz"; 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 # Urgh, we need the complete kernel sources for some header
# files. So unpack the original kernel source tarball and copy # files. So unpack the original kernel source tarball and copy
# the configured include directory etc. on top of it. # the configured include directory etc. on top of it.
kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source) kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
tar xvfj ${kernel.src} tar xvfj ${kernelDev.src}
kernelSource=$(echo $(pwd)/linux-*) kernelSource=$(echo $(pwd)/linux-*)
cp -prd $kernelBuild/* $kernelSource 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 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
, withGtk ? false, gtk ? null }: , withGtk ? false, gtk ? null }:
assert withGtk -> gtk != null; assert withGtk -> gtk != null;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "perf-linux-${kernel.version}"; name = "perf-linux-${kernelDev.version}";
inherit (kernel) src patches; inherit (kernelDev) src patches;
preConfigure = '' preConfigure = ''
cd tools/perf 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; assert stdenv.isLinux;
@ -8,7 +8,7 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "klibc-${version}${stdenv.lib.optionalString (kernel != null) "-${kernel.version}"}"; name = "klibc-${version}${stdenv.lib.optionalString (kernelDev != null) "-${kernelDev.version}"}";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2"; 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. # 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 # 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. # 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 sed -i -e /headers_install/d scripts/Kbuild.install
''; '';
@ -49,15 +49,15 @@ stdenv.mkDerivation {
echo "CONFIG_AEABI=y" >> defconfig echo "CONFIG_AEABI=y" >> defconfig
makeFlags=$(eval "echo $makeFlags") makeFlags=$(eval "echo $makeFlags")
'' + (if kernel == null then '' '' + (if kernelDev == null then ''
mkdir linux mkdir linux
cp -prsd $linuxHeaders/include linux/ cp -prsd $linuxHeaders/include linux/
chmod -R u+w linux/include/ chmod -R u+w linux/include/
'' else '' '' else ''
tar xvf ${kernel.src} tar xvf ${kernelDev.src}
mv linux* linux mv linux* linux
cd linux cd linux
ln -sv ${kernel}/config .config ln -sv ${kernelDev}/config .config
make prepare make prepare
cd .. cd ..
''); '');

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, kernel, perl }: { stdenv, fetchurl, kernelDev, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "kqemu-1.4.0pre1-${kernel.version}"; name = "kqemu-1.4.0pre1-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://www.nongnu.org/qemu/${name}.tar.gz"; url = "http://www.nongnu.org/qemu/${name}.tar.gz";
@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
buildInputs = [ perl ]; 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 = '' preConfigure = ''
sed -e '/#include/i#include <linux/sched.h>' -i kqemu-linux.c 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/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 '/kernel_path=/akernel_path=$out$kernel_path' -i install.sh
sed -e '/depmod/d' -i install.sh sed -e '/depmod/d' -i install.sh
cat install.sh cat install.sh

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, kernel, perl }: { stdenv, fetchurl, kernelDev, perl }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ndiswrapper-1.56-${kernel.version}"; name = "ndiswrapper-1.56-${kernelDev.version}";
# need at least .config and include # need at least .config and include
inherit kernel; kernel = kernelDev;
buildPhase = " buildPhase = "
echo make KBUILD=$(echo \$kernel/lib/modules/*/build); echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
@ -27,7 +27,7 @@ stdenv.mkDerivation {
sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57"; sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
}; };
buildInputs = [ kernel perl ]; buildInputs = [ kernelDev perl ];
# this is a patch against svn head, not stable version # this is a patch against svn head, not stable version
patches = [./prefix.patch]; 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 , gtk, atk, pango, glib, gdk_pixbuf
, # Whether to build the libraries only (i.e. not the kernel module or , # Whether to build the libraries only (i.e. not the kernel module or
# nvidia-settings). Used to support 32-bit binaries on 64-bit # nvidia-settings). Used to support 32-bit binaries on 64-bit
@ -11,7 +11,7 @@ with stdenv.lib;
let versionNumber = "310.32"; in let versionNumber = "310.32"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
builder = ./builder.sh; builder = ./builder.sh;
@ -32,7 +32,7 @@ stdenv.mkDerivation {
inherit versionNumber libsOnly; inherit versionNumber libsOnly;
kernel = if libsOnly then null else kernel; kernel = if libsOnly then null else kernelDev;
dontStrip = true; 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 let
@ -7,7 +7,7 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}-${kernel.version}"; name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
builder = ./builder-legacy.sh; builder = ./builder-legacy.sh;
@ -24,7 +24,9 @@ stdenv.mkDerivation {
} }
else throw "nvidia-x11 does not support platform ${stdenv.system}"; else throw "nvidia-x11 does not support platform ${stdenv.system}";
inherit versionNumber kernel; kernel = kernelDev;
inherit versionNumber;
dontStrip = true; 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 , gtk, atk, pango, glib, gdk_pixbuf
, # Whether to build the libraries only (i.e. not the kernel module or , # Whether to build the libraries only (i.e. not the kernel module or
# nvidia-settings). Used to support 32-bit binaries on 64-bit # nvidia-settings). Used to support 32-bit binaries on 64-bit
@ -11,7 +11,7 @@ with stdenv.lib;
let versionNumber = "304.84"; in let versionNumber = "304.84"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
builder = ./builder-legacy304.sh; builder = ./builder-legacy304.sh;
@ -30,7 +30,7 @@ stdenv.mkDerivation {
inherit versionNumber libsOnly; inherit versionNumber libsOnly;
kernel = if libsOnly then null else kernel; kernel = if libsOnly then null else kernelDev;
dontStrip = true; 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 let
@ -7,7 +7,7 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nvidia-x11-${versionNumber}-${kernel.version}"; name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
builder = ./builder-legacy.sh; builder = ./builder-legacy.sh;
@ -24,7 +24,9 @@ stdenv.mkDerivation {
} }
else throw "nvidia-x11 does not support platform ${stdenv.system}"; else throw "nvidia-x11 does not support platform ${stdenv.system}";
inherit versionNumber kernel; kernel = kernelDev;
inherit versionNumber;
dontStrip = true; dontStrip = true;

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, kernel}: { stdenv, fetchurl, kernelDev}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "open-iscsi-2.0-871-${kernel.version}"; name = "open-iscsi-2.0-871-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = "http://www.open-iscsi.org/bits/${name}.tar.gz"; url = "http://www.open-iscsi.org/bits/${name}.tar.gz";
sha256 = "1jvx1agybaj4czhz41bz37as076spicsmlh5pjksvwl2mr38gsmw"; sha256 = "1jvx1agybaj4czhz41bz37as076spicsmlh5pjksvwl2mr38gsmw";
}; };
KSRC = "${kernel}/lib/modules/*/build"; KSRC = "${kernelDev}/lib/modules/*/build";
DESTDIR = "$(out)"; DESTDIR = "$(out)";
preConfigure = '' 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 { stdenv.mkDerivation {
name = "spl-0.6.0-rc14-${kernel.version}"; name = "spl-0.6.0-rc14-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc14.tar.gz; url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc14.tar.gz;
sha256 = "00wyamf13z8ins4s14xf0b3hfjfz4w084mr17hs3k5xifb5jxa8g"; sha256 = "00wyamf13z8ins4s14xf0b3hfjfz4w084mr17hs3k5xifb5jxa8g";
@ -9,9 +9,9 @@ stdenv.mkDerivation {
patches = [ ./install_prefix.patch ./install_prefix_2.patch ./module_prefix.patch ]; 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 = '' preConfigure = ''
./autogen.sh ./autogen.sh
@ -25,8 +25,8 @@ stdenv.mkDerivation {
''; '';
configureFlags = '' configureFlags = ''
--with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-linux-obj=${kernel}/lib/modules/${kernel.modDirVersion}/build --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
''; '';
meta = { meta = {

View File

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

View File

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

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, kernel, ncurses, fxload}: {stdenv, fetchurl, kernelDev, ncurses, fxload}:
let let
@ -12,7 +12,7 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "wis-go7007-0.9.8-${kernel.version}"; name = "wis-go7007-0.9.8-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = http://gentoo.osuosl.org/distfiles/wis-go7007-linux-0.9.8.tar.bz2; 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 # Urgh, we need the complete kernel sources for some header
# files. So unpack the original kernel source tarball and copy # files. So unpack the original kernel source tarball and copy
# the configured include directory etc. on top of it. # the configured include directory etc. on top of it.
kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source) kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
tar xvfj ${kernel.src} tar xvfj ${kernelDev.src}
kernelSource=$(echo $(pwd)/linux-*) kernelSource=$(echo $(pwd)/linux-*)
cp -prd $kernelBuild/* $kernelSource 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 { stdenv.mkDerivation {
name = "zfs-0.6.0-rc14-${kernel.version}"; name = "zfs-0.6.0-rc14-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc14.tar.gz; 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 ]; 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 # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
NIX_CFLAGS_LINK = "-lgcc_s"; 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 = '' preConfigure = ''
./autogen.sh ./autogen.sh
@ -29,9 +29,9 @@ stdenv.mkDerivation {
''; '';
configureFlags = '' configureFlags = ''
--with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-linux-obj=${kernel}/lib/modules/${kernel.modDirVersion}/build --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
--with-spl=${spl}/libexec/spl/${kernel.modDirVersion} --with-spl=${spl}/libexec/spl/${kernelDev.modDirVersion}
${if stdenv.system == "i686-linux" then "--enable-atomic-spinlocks" else ""} ${if stdenv.system == "i686-linux" then "--enable-atomic-spinlocks" else ""}
''; '';

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, which, autoconf, automake, flex, yacc, { stdenv, fetchurl, which, autoconf, automake, flex, yacc,
kernel, glibc, ncurses, perl, krb5 }: kernelDev, glibc, ncurses, perl, krb5 }:
assert stdenv.isLinux; assert stdenv.isLinux;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "openafs-1.6.1-${kernel.version}"; name = "openafs-1.6.1-${kernelDev.version}";
src = fetchurl { src = fetchurl {
url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2; 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 ]; buildInputs = [ autoconf automake flex yacc ncurses perl which ];
preConfigure = '' preConfigure = ''
ln -s ${kernel}/lib/modules/*/build $TMP/linux ln -s ${kernelDev}/lib/modules/*/build $TMP/linux
patchShebangs . patchShebangs .
for i in `grep -l -R '/usr/\(include\|src\)' .`; do 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 for a specific kernel. This function can then be called for
whatever kernel you're using. */ whatever kernel you're using. */
linuxPackagesFor = kernel: linuxPackagesFor = kernel: self: let callPackage = newScope self; in {
let inherit kernel;
callPackage = newScope self;
self = { kernelDev = kernel.dev or kernel;
kernel = 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 = aufs =
if self.kernel.features ? aufs2 then if self.kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs/2.nix { } callPackage ../os-specific/linux/aufs/2.nix { }
else if self.kernel.features ? aufs3 then else if self.kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs/3.nix { } callPackage ../os-specific/linux/aufs/3.nix { }
else null; else null;
aufs_util = aufs_util =
if self.kernel.features ? aufs2 then if self.kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs-util/2.nix { } callPackage ../os-specific/linux/aufs-util/2.nix { }
else if self.kernel.features ? aufs3 then else if self.kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs-util/3.nix { } callPackage ../os-specific/linux/aufs-util/3.nix { }
else null; 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 = iwlwifi4965ucode =
if builtins.compareVersions self.kernel.version "2.6.27" == 0 if builtins.compareVersions self.kernel.version "2.6.27" == 0
|| builtins.compareVersions self.kernel.version "2.6.27" == 1 || builtins.compareVersions self.kernel.version "2.6.27" == 1
then iwlwifi4965ucodeV2 then iwlwifi4965ucodeV2
else iwlwifi4965ucodeV1; 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_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.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_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 { klibc = callPackage ../os-specific/linux/klibc {
linuxHeaders = glibc.kernelHeaders; linuxHeaders = glibc.kernelHeaders;
}; };
splashutils = let hasFbConDecor = if self.kernel ? features splashutils = let hasFbConDecor = if self.kernel ? features
then self.kernel.features ? fbConDecor then self.kernel.features ? fbConDecor
else self.kernel.config.isEnabled "FB_CON_DECOR"; else self.kernel.config.isEnabled "FB_CON_DECOR";
in if hasFbConDecor then pkgs.splashutils else null; in if hasFbConDecor then pkgs.splashutils else null;
/* compiles but has to be integrated into the kernel somehow /* compiles but has to be integrated into the kernel somehow
Let's have it uncommented and finish it.. Let's have it uncommented and finish it..
*/ */
ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { }; 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 { sysprof = callPackage ../development/tools/profiling/sysprof {
inherit (gnome) libglade; inherit (gnome) libglade;
}; };
systemtap = callPackage ../development/tools/profiling/systemtap { systemtap = callPackage ../development/tools/profiling/systemtap {
linux = self.kernel; linux = self.kernelDev;
inherit (gnome) libglademm; 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 { virtualbox = callPackage ../applications/virtualization/virtualbox {
stdenv = stdenv_32bit; stdenv = stdenv_32bit;
inherit (gnome) libIDL; 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 { }; zfs = callPackage ../os-specific/linux/zfs/default.nix { };
}; };
in (self // { kernel = self.kernel.out; });
# Build the kernel modules for the some of the kernels. # Build the kernel modules for the some of the kernels.
linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32); 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 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 linuxPackages_2_6_35);
linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0); linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2); 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 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen);
linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4); 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 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7); linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 linuxPackages_3_7);
linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8); linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8 linuxPackages_3_8);
# The current default kernel / kernel modules. # The current default kernel / kernel modules.
linux = linuxPackages.kernel; linux = linuxPackages.kernel;