summary refs log tree commit diff
path: root/pkgs/applications/virtualization
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2012-08-08 02:30:25 +0400
committerJan Malakhovski <oxij@oxij.org>2012-08-08 02:30:25 +0400
commitbff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7 (patch)
tree8a4e33300a97c2d8b4fba2a5b58bcda464f2811d /pkgs/applications/virtualization
parenta8ef82d3726688853cfece59d7ce64f489c58cf9 (diff)
downloadnixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.tar
nixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.tar.gz
nixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.tar.bz2
nixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.tar.lz
nixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.tar.xz
nixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.tar.zst
nixpkgs-bff9f2720f36ff1f3ac3ac86a3c0adb9d572c7e7.zip
Revert "xen: update to version 4.1.2"
This reverts commit af32fd6ce3ce2ae138c2fc2bc5c6067216f8b828.
Diffstat (limited to 'pkgs/applications/virtualization')
-rw-r--r--pkgs/applications/virtualization/xen/default.nix19
-rw-r--r--pkgs/applications/virtualization/xen/gcc-4.5.patch39
2 files changed, 45 insertions, 13 deletions
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index d898daad2a7..ce799242e12 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.1.2";
+  version = "4.0.3";
 
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
@@ -30,24 +30,23 @@ let
       }
     ];
 
-  ipxeSrc =
-      { url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-v1.0.0.tar.gz;
-        sha256 = "d3128bfda9a1542049c278755f85bbcbb8441da7bfd702d511ce237fcf86a723";
-      };
-in
+in 
 
 stdenv.mkDerivation {
   name = "xen-${version}";
 
   src = fetchurl {
     url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
-    sha256 = "7d9c93057cf480d3f1efa792b19285a84fa3c06060ea5c5c453be00887389b0d";
+    sha256 = "0p4i7mm8cdsr8i9z3dij6nriyvz6la2rhm7jkyk2n8h62nnxi1b5";
   };
 
   patches =
     [ # Xen looks for headers in /usr/include and for libraries using
       # ldconfig.  Don't do that.
       ./has-header.patch
+
+      # GCC 4.5 compatibility.
+      ./gcc-4.5.patch
     ];
 
   buildInputs =
@@ -103,18 +102,12 @@ stdenv.mkDerivation {
         --replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
         --replace /bin/ls ls
 
-      grep -rl /etc/xen * | xargs sed -i 's|/etc/xen|$out/etc/xen|g'
-
       # Xen's stubdoms need various sources that it usually fetches at
       # build time using wget.  We can't have that.
       ${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
         cp ${src} stubdom/${src.name}
       '')}
 
-      ${let src = fetchurl ipxeSrc; in ''
-        cp ${src} tools/firmware/etherboot/ipxe.tar.gz
-      ''}
-
       # Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
       mkdir -p tools/include/gnu
       touch tools/include/gnu/stubs-32.h
diff --git a/pkgs/applications/virtualization/xen/gcc-4.5.patch b/pkgs/applications/virtualization/xen/gcc-4.5.patch
new file mode 100644
index 00000000000..a8412d69fd3
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/gcc-4.5.patch
@@ -0,0 +1,39 @@
+http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html
+
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c
+--- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/arch/x86/mm.c	2010-12-22 20:10:05.000000000 +0100
+@@ -281,7 +281,7 @@
+ /*
+  * Mark portion of the address space read only.
+  */
+-extern void shared_info;
++extern char shared_info[PAGE_SIZE]; 
+ static void set_readonly(void *text, void *etext)
+ {
+     unsigned long start_address =
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk
+--- xen-4.0.1-orig//extras/mini-os/minios.mk	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/minios.mk	2010-12-22 20:03:11.000000000 +0100
+@@ -10,6 +10,7 @@
+ DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+ DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
+ DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
++DEF_CFLAGS += -Wno-uninitialized
+ DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
+ 
+ DEF_ASFLAGS += -D__ASSEMBLY__
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c
+--- xen-4.0.1-orig//extras/mini-os/netfront.c	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/netfront.c	2010-12-22 19:56:59.000000000 +0100
+@@ -25,8 +25,8 @@
+ 
+ 
+ 
+-#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
+-#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
++#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
++#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
+ #define GRANT_INVALID_REF 0
+ 
+