* Get User Mode Linux to compile again:

- Hack to make it work with the latest host kernel headers
    (2.6.18.1).
  - Don't call depmod impurily, rather use oldskool modutils.
  - modutils: use the final version, and use GCC 3.4 to compile it
    (4.1 doesn't work).

svn path=/nixpkgs/trunk/; revision=6908
This commit is contained in:
Eelco Dolstra 2006-10-30 13:45:48 +00:00
parent 9050bc10fe
commit 769c44da98
5 changed files with 16 additions and 8 deletions

View File

@ -31,7 +31,7 @@ installPhase() {
mkdir $out mkdir $out
mkdir $out/bin mkdir $out/bin
cp -p linux $out/bin cp -p linux $out/bin
make modules_install INSTALL_MOD_PATH=$out ARCH=um make modules_install INSTALL_MOD_PATH=$out ARCH=um DEPMOD=$modutils/sbin/depmod
} }
installPhase=installPhase installPhase=installPhase

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, perl, m4, gcc}: {stdenv, fetchurl, perl, m4, gcc, modutils}:
assert perl != null && m4 != null; assert perl != null && m4 != null;
@ -19,4 +19,11 @@ stdenv.mkDerivation {
config = ./config; config = ./config;
buildInputs = [perl m4]; buildInputs = [perl m4];
NIX_GCC = gcc; NIX_GCC = gcc;
# Quick hack to get UML to build with the latest kernel headers,
# which don't export the macro `offsetof' anymore unless __KERNEL__
# is set.
NIX_CFLAGS_COMPILE = "-Doffsetof(TYPE,MEMBER)=((size_t)&((TYPE*)0)->MEMBER)";
inherit modutils;
} }

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, bison, flex}: {stdenv, fetchurl, bison, flex}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "modutils-2.4.25"; name = "modutils-2.4.27";
src = fetchurl { src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/modutils-2.4.25.tar.bz2; url = http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/modutils-2.4.27.tar.bz2;
md5 = "2c0cca3ef6330a187c6ef4fe41ecaa4d"; md5 = "bac989c74ed10f3bf86177fc5b4b89b6";
}; };
buildInputs = [bison flex]; buildInputs = [bison flex];
} }

View File

@ -2137,7 +2137,8 @@ rec {
}; };
modutils = import ../os-specific/linux/modutils { modutils = import ../os-specific/linux/modutils {
inherit fetchurl stdenv bison flex; inherit fetchurl bison flex;
stdenv = overrideGCC stdenv gcc34;
}; };
nettools = import ../os-specific/linux/net-tools { nettools = import ../os-specific/linux/net-tools {
@ -2848,7 +2849,7 @@ rec {
}; };
uml = import ../misc/uml { uml = import ../misc/uml {
inherit fetchurl stdenv perl; inherit fetchurl stdenv perl modutils;
m4 = gnum4; m4 = gnum4;
gcc = gcc33; gcc = gcc33;
}; };

View File

@ -105,7 +105,7 @@ let {
thunderbird thunderbird
tightvnc tightvnc
# transformers # transformers
# uml uml
unzip unzip
uulib uulib
valgrind valgrind