diff options
Diffstat (limited to 'pkgs/os-specific/linux/kqemu/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/kqemu/default.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kqemu/default.nix b/pkgs/os-specific/linux/kqemu/default.nix new file mode 100644 index 000000000000..c703ca4e4a43 --- /dev/null +++ b/pkgs/os-specific/linux/kqemu/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, kernel, perl }: + +stdenv.mkDerivation rec { + name = "kqemu-1.4.0pre1-${kernel.version}"; + + src = fetchurl { + url = "http://www.nongnu.org/qemu/${name}.tar.gz"; + sha256 = "14dlmawn3gia1j401ag5si5k1a1vav7jpv86rl37p1hwmr7fihxs"; + }; + + buildInputs = [ perl ]; + + configureFlags = [ ''--PREFIX=$out'' ''--kernel-path=$(ls -d ${kernel}/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 '/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"; + }; +} |