From 116c0268ffd387c88b6b47135203fb330eb422f0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 5 Aug 2022 00:20:21 +0300 Subject: gnu: grub-efi32: Fix building on aarch64-linux. * gnu/packages/bootloaders.scm (grub-efi32)[arguments]: When building for aarch64-linux add TARGET_CC to configure-flags. [native-inputs]: When building for aarch64-linux add cross-gcc and cross-binutils for arm-linux-gnueabihf. --- gnu/packages/bootloaders.scm | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 71a10f54d5..d19cf55bc4 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -340,10 +340,23 @@ menu to select one of the installed operating systems.") (synopsis "GRand Unified Boot loader (UEFI 32bit version)") (arguments `(,@(substitute-keyword-arguments (package-arguments grub-efi) - ((#:configure-flags flags - ''()) `(cons* ,(cond ((target-x86?) "--target=i386") - ((target-arm?) "--target=arm")) - ,flags))))))) + ((#:configure-flags flags ''()) + `(cons* + ,@(cond ((target-x86?) '("--target=i386")) + ((target-aarch64?) + (list "--target=arm" + (string-append "TARGET_CC=" + (cc-for-target "arm-linux-gnueabihf")))) + ((target-arm?) '("--target=arm")) + (else '())) + ,flags))))) + (native-inputs + (if (target-aarch64?) + (modify-inputs (package-native-inputs grub-efi) + (prepend + (cross-gcc "arm-linux-gnueabihf") + (cross-binutils "arm-linux-gnueabihf"))) + (package-native-inputs grub-efi))))) ;; Because grub searches hardcoded paths it's easiest to just build grub ;; again to make it find both grub-pc and grub-efi. There is a command -- cgit v1.2.3