Archived
1
0
Fork 0

gnu: ovmf-arm: Update to use GCC5.

* gnu/packages/firmware.scm (ovmf-arm): Updating OVMF to 202308 requires
GCC5, packages inheriting from ovmf also need to be updated.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I3a7b3f450e0da39129e7cffce7482b8e391e3858
This commit is contained in:
spacecadet@purge.sh 2023-11-12 03:07:35 +00:00 committed by Efraim Flashner
parent c67e8c12d8
commit edb794bbd4
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -1018,36 +1018,39 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(supported-systems %supported-systems)))) (supported-systems %supported-systems))))
(define-public ovmf-arm (define-public ovmf-arm
(package (let ((toolchain-ver "GCC5"))
(inherit ovmf) (package
(name "ovmf-arm") (inherit ovmf)
(native-inputs (name "ovmf-arm")
(append (package-native-inputs ovmf) (native-inputs
(if (not (string-prefix? "armhf" (%current-system))) (append (package-native-inputs ovmf)
`(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf")) (if (not (string-prefix? "armhf" (%current-system)))
("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))) `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"))
'()))) ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf")))
(arguments '())))
(substitute-keyword-arguments (package-arguments ovmf) (arguments
((#:phases phases) (substitute-keyword-arguments (package-arguments ovmf)
#~(modify-phases #$phases ((#:phases phases)
#$@(if (string-prefix? "armhf" (%current-system)) #~(modify-phases #$phases
'() #$@(if (string-prefix? "armhf" (%current-system))
'((add-before 'configure 'set-env '()
(lambda _ #~((add-before 'configure 'set-env
(setenv "GCC49_ARM_PREFIX" "arm-linux-gnueabihf-"))))) (lambda _
(replace 'build (setenv (string-append #$toolchain-ver "_ARM_PREFIX")
(lambda _ "arm-linux-gnueabihf-")))))
(invoke "build" "-a" "ARM" "-t" "GCC49" (replace 'build
"-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) (lambda _
(delete 'build-x64) (invoke "build" "-a" "ARM" "-t" #$toolchain-ver
(replace 'install "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
(lambda _ (delete 'build-x64)
(let ((fmw (string-append #$output "/share/firmware"))) (replace 'install
(mkdir-p fmw) (lambda _
(copy-file "Build/ArmVirtQemu-ARM/RELEASE_GCC49/FV/QEMU_EFI.fd" (let ((fmw (string-append #$output "/share/firmware")))
(string-append fmw "/ovmf_arm.bin"))))))))) (mkdir-p fmw)
(supported-systems %supported-systems))) (copy-file (string-append "Build/ArmVirtQemu-ARM/RELEASE_"
#$toolchain-ver "/FV/QEMU_EFI.fd")
(string-append fmw "/ovmf_arm.bin")))))))))
(supported-systems %supported-systems))))
(define* (make-arm-trusted-firmware platform (define* (make-arm-trusted-firmware platform
#:key (triplet "aarch64-linux-gnu")) #:key (triplet "aarch64-linux-gnu"))