From 6fb0495569846b6399583a6c32ee341dde2e1785 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 11 Jun 2018 19:21:39 -0400 Subject: [PATCH] UNTESTED: gnu: grub: Fix build on 32-bit x86. --- gnu/packages/bootloaders.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index a86c73731..8c8588973 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -61,7 +61,8 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26)) + #:use-module (srfi srfi-26) + #:use-module (ice-9 regex)) (define unifont ;; GNU Unifont, . @@ -144,6 +145,19 @@ ("texinfo" ,texinfo) ("help2man" ,help2man) + ;; FIXME: When building GRUB 2.02 on 32-bit x86, we need a binutils + ;; capable of assembling 64-bit instructions. However, our default + ;; binutils on 32-bit x86 is not 64-bit capable. + ,@(if (string-match "^i[3456]86-" (%current-system)) + `(("binutils" + ,(package/inherit + binutils + (arguments + (substitute-keyword-arguments (package-arguments binutils) + ((#:configure-flags flags ''()) + `(cons "--enable-64-bit-bfd" ,flags))))))) + '()) + ;; Dependencies for the test suite. The "real" QEMU is needed here, ;; because several targets are used. ("parted" ,parted) -- 2.17.1