aboutsummaryrefslogtreecommitdiff
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
guix-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