Subject: bug#67109: ‘efi32-esp’ image support pulls in host-side code

From: Mathieu Othacehe <[email-masked]>
Date: Sat, 25 Nov 2023 15:33:33 +0100

Hello,

> guix system: error: #<gexp (lambda (root . args) (apply
> initialize-efi32-partition root #:grub-targets #<gexp-input #<gexp
> (quote ("i386-efi" . "BOOTIA32.EFI")) gnu/system/image.scm:142:28
> 7fef96f85390>:out> args)) gnu/system/image.scm:146:8 7fef96f85360>:
> invalid G-expression input

Expressed that way, I no longer have this error and `target` seems to
take the expected value, WDYT?

--8<---------------cut here---------------start------------->8---
(define esp32-partition
  (partition
   (inherit esp-partition)
   (initializer
    #~(lambda (root . args)
        (let ((targets '#$(let-system (system target)
                           (cond ((target-x86? (or target system))
                                  '("i386-efi". "BOOTIA32.EFI"))
                                 ((target-arm? (or target system))
                                  '("arm-efi" . "BOOTARM.EFI"))
                                 (else #f)))))
          (apply initialize-efi32-partition root
                 #:grub-targets targets
                 args))))))
--8<---------------cut here---------------end--------------->8---

Thanks,

Mathieu