~ruther/guix-local

116c0268ffd387c88b6b47135203fb330eb422f0 — Efraim Flashner 3 years ago a5a88b0
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.
1 files changed, 17 insertions(+), 4 deletions(-)

M gnu/packages/bootloaders.scm
M gnu/packages/bootloaders.scm => gnu/packages/bootloaders.scm +17 -4
@@ 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