From 1c4dd404609ce3201368c89042f8fbf20aacbd7b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 22 Jan 2007 19:57:12 +0000 Subject: [PATCH] * Grub requires a 32-bit Glibc. So use the i686-linux Grub on x86_64. (This fails to build unless Nix knows an i686-linux machine or it can get the Grub binary from a channel.) Very nasty. svn path=/nixpkgs/trunk/; revision=7757 --- pkgs/tools/misc/grub/default.nix | 4 ++++ pkgs/top-level/all-packages.nix | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix index ab7951e8e5e..9a1ee4319df 100644 --- a/pkgs/tools/misc/grub/default.nix +++ b/pkgs/tools/misc/grub/default.nix @@ -1,5 +1,9 @@ {stdenv, fetchurl}: +if stdenv.system == "x86_64-linux" then + abort "Grub doesn't build on x86_64-linux. You should use the build for i686-linux instead." +else + stdenv.mkDerivation { name = "grub-0.97"; src = fetchurl { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 805b6d8ef16..84becd19e5e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -369,9 +369,13 @@ rec { inherit fetchurl stdenv; }; - grub = import ../tools/misc/grub { - inherit fetchurl stdenv; - }; + grub = + if system == "x86_64-linux" then + (import ./all-packages.nix {system = "i686-linux";}).grub + else + import ../tools/misc/grub { + inherit fetchurl stdenv; + }; grubWrapper = import ../tools/misc/grub-wrapper { inherit stdenv grub diffutils gnused gnugrep coreutils;