grub2: fix cross-compilation

* gettext is used for native binaries, not hosted libs
* grub2 expects `BUILD_CC` to point to a native C compiler
wip/yesman
Ryan Burns 3 years ago
parent 29acad708d
commit 7c01f4b8fb
  1. 12
      pkgs/tools/misc/grub/2.0x.nix

@ -1,5 +1,6 @@
{ lib, stdenv, fetchgit, flex, bison, python3, autoconf, automake, gnulib, libtool
, gettext, ncurses, libusb-compat-0_1, freetype, qemu, lvm2, unifont, pkg-config
, pkgsBuildBuild
, fuse # only needed for grub-mount
, runtimeShell
, zfs ? null
@ -62,11 +63,13 @@ stdenv.mkDerivation rec {
echo 'echo "Compile grub2 with { kbdcompSupport = true; } to enable support for this command."' >> util/grub-kbdcomp.in
'';
nativeBuildInputs = [ bison flex python3 pkg-config autoconf automake ];
buildInputs = [ ncurses libusb-compat-0_1 freetype gettext lvm2 fuse libtool ]
nativeBuildInputs = [ bison flex python3 pkg-config autoconf automake gettext ];
buildInputs = [ ncurses libusb-compat-0_1 freetype lvm2 fuse libtool ]
++ optional doCheck qemu
++ optional zfsSupport zfs;
strictDeps = true;
hardeningDisable = [ "all" ];
# Work around a bug in the generated flex lexer (upstream flex bug?)
@ -99,7 +102,10 @@ stdenv.mkDerivation rec {
substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
'';
configureFlags = [ "--enable-grub-mount" ] # dep of os-prober
configureFlags = [
"--enable-grub-mount" # dep of os-prober
"BUILD_CC=${pkgsBuildBuild.stdenv.cc}/bin/cc"
]
++ optional zfsSupport "--enable-libzfs"
++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}" "--program-prefix=" ]
++ optionals xenSupport [ "--with-platform=xen" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}"];

Loading…
Cancel
Save