summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-08-05 00:20:21 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-08-05 02:52:58 +0300
commit116c0268ffd387c88b6b47135203fb330eb422f0 (patch)
treea2f704a1ca569050ff50f6f311f1a2f6fb161f10
parenta5a88b0248f3ca70db30605c0c2aa93bb360d8ad (diff)
downloadguix-116c0268ffd387c88b6b47135203fb330eb422f0.tar.gz
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.
-rw-r--r--gnu/packages/bootloaders.scm21
1 files 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