summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2007-02-12 10:23:43 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2007-02-12 10:23:43 +0000
commit9fdea6a9177abfb17cea3213631905883961e8f8 (patch)
tree4d26d9a04ace2e2649460d8c19dcb7044f4d722b /pkgs
parentc8ceb3b2848d91baa55afe327f829a06a80a0f80 (diff)
downloadnixlib-9fdea6a9177abfb17cea3213631905883961e8f8.tar
nixlib-9fdea6a9177abfb17cea3213631905883961e8f8.tar.gz
nixlib-9fdea6a9177abfb17cea3213631905883961e8f8.tar.bz2
nixlib-9fdea6a9177abfb17cea3213631905883961e8f8.tar.lz
nixlib-9fdea6a9177abfb17cea3213631905883961e8f8.tar.xz
nixlib-9fdea6a9177abfb17cea3213631905883961e8f8.tar.zst
nixlib-9fdea6a9177abfb17cea3213631905883961e8f8.zip
* KVM (Kernel-based Virtual Machine). Requires KVM support in the
  kernel for performance (and VT/AMD-V in the CPU), but also provides
  a working QEMU for non-KVM-enabled systems.

svn path=/nixpkgs/trunk/; revision=7889
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/os-specific/linux/kernel-headers/2.6.20.nix21
-rw-r--r--pkgs/os-specific/linux/kvm/12.nix15
-rw-r--r--pkgs/top-level/all-packages.nix12
3 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.20.nix b/pkgs/os-specific/linux/kernel-headers/2.6.20.nix
new file mode 100644
index 000000000000..3676ece7825c
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel-headers/2.6.20.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation {
+  name = "linux-headers-2.6.20";
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://ftp.nl.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2;
+    sha256 = "0n455dyvmbs9l0m3hll2rilyrj8gsqqablrhnh1jw9vxmjhss51c";
+  };
+
+  platform = 
+    if stdenv.system == "i686-linux" then "i386" else
+    if stdenv.system == "x86_64-linux" then "x86_64" else
+    if stdenv.system == "powerpc-linux" then "powerpc" else
+    abort "don't know what the kernel include directory is called for this platform";
+
+  extraIncludeDirs =
+    if stdenv.system == "powerpc-linux" then ["ppc"] else [];
+}
diff --git a/pkgs/os-specific/linux/kvm/12.nix b/pkgs/os-specific/linux/kvm/12.nix
new file mode 100644
index 000000000000..aaa2ae5af147
--- /dev/null
+++ b/pkgs/os-specific/linux/kvm/12.nix
@@ -0,0 +1,15 @@
+{stdenv, fetchurl, kernelHeaders, zlib, e2fsprogs, SDL, alsaLib}:
+   
+stdenv.mkDerivation {
+  name = "kvm-12";
+   
+  src = fetchurl {
+    url = http://heanet.dl.sourceforge.net/sourceforge/kvm/kvm-12.tar.gz;
+    sha256 = "0w2w4kzir1qsapfav30bhng061570zl12ycyvpgwlx2br4s9mlmw";
+  };
+
+  configureFlags = "--with-patched-kernel --kerneldir=${kernelHeaders}";
+
+  # e2fsprogs is needed for libuuid.
+  buildInputs = [zlib e2fsprogs SDL alsaLib];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 570d6d15e7bb..3449d4d2baca 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2173,6 +2173,10 @@ rec {
     inherit fetchurl stdenv;
   };
 
+  kernelHeaders_2_6_20 = import ../os-specific/linux/kernel-headers/2.6.20.nix {
+    inherit fetchurl stdenv;
+  };
+
   kernelHeadersArm = import ../os-specific/linux/kernel-headers-cross {
     inherit fetchurl stdenv;
     cross = "arm-linux";
@@ -2263,6 +2267,14 @@ rec {
     inherit fetchurl stdenv perl bison mktemp kernel;
   };
 
+  kvm = kvm12;
+
+  kvm12 = import ../os-specific/linux/kvm/12.nix {
+    inherit fetchurl zlib e2fsprogs SDL alsaLib;
+    stdenv = overrideGCC stdenv gcc34;
+    kernelHeaders = kernelHeaders_2_6_20;
+  };
+
   libcap = import ../os-specific/linux/libcap {
     inherit fetchurl stdenv;
   };