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.
This commit is contained in:
Efraim Flashner 2022-08-05 00:20:21 +03:00
parent a5a88b0248
commit 116c0268ff
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -340,10 +340,23 @@ (define-public grub-efi32
(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