nixpkgs/pkgs/os-specific/linux/kqemu/default.nix
Shea Levy 4fa4ab3a6e 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>
2013-03-24 07:45:00 -04:00

29 lines
888 B
Nix

{ stdenv, fetchurl, kernelDev, perl }:
stdenv.mkDerivation rec {
name = "kqemu-1.4.0pre1-${kernelDev.version}";
src = fetchurl {
url = "http://www.nongnu.org/qemu/${name}.tar.gz";
sha256 = "14dlmawn3gia1j401ag5si5k1a1vav7jpv86rl37p1hwmr7fihxs";
};
buildInputs = [ perl ];
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 ${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
'';
meta = {
description = "Kernel module for QEMU acceleration";
};
}