summaryrefslogtreecommitdiff
path: root/sys-firmware/edk2/edk2-202411.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-firmware/edk2/edk2-202411.ebuild')
-rw-r--r--sys-firmware/edk2/edk2-202411.ebuild26
1 files changed, 24 insertions, 2 deletions
diff --git a/sys-firmware/edk2/edk2-202411.ebuild b/sys-firmware/edk2/edk2-202411.ebuild
index 0b8cd1c71d87..a998704605eb 100644
--- a/sys-firmware/edk2/edk2-202411.ebuild
+++ b/sys-firmware/edk2/edk2-202411.ebuild
@@ -6,7 +6,7 @@ EAPI=8
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python3_{12..13} )
-inherit edo prefix python-any-r1 readme.gentoo-r1 secureboot toolchain-funcs
+inherit edo flag-o-matic prefix python-any-r1 readme.gentoo-r1 secureboot toolchain-funcs
DESCRIPTION="TianoCore EDK II UEFI firmware for virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
@@ -48,7 +48,7 @@ SRC_URI="
S="${WORKDIR}/${PN}-${PN}-stable${PV}"
LICENSE="BSD-2 MIT"
SLOT="0"
-KEYWORDS="-* ~amd64 arm64 ~riscv"
+KEYWORDS="-* ~amd64 arm64 ~loong ~riscv"
BDEPEND="
${PYTHON_DEPS}
@@ -64,6 +64,8 @@ RDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-202411-werror.patch"
+ "${FILESDIR}/${PN}-202411-gcc15.patch"
+ "${FILESDIR}/${PN}-202411-loong.patch"
"${FILESDIR}/${PN}-202408-binutils-2.41-textrels.patch"
)
@@ -93,6 +95,14 @@ pkg_setup() {
UNIT1="QEMU_VARS.qcow2"
FMT="qcow2"
;;
+ loong)
+ TARGET_ARCH="LOONGARCH64"
+ QEMU_ARCH="loongarch64"
+ ARCH_DIRS="${DIR}/LoongArchVirtQemu"
+ UNIT0="QEMU_EFI.fd"
+ UNIT1="QEMU_VARS.fd"
+ FMT="raw"
+ ;;
riscv)
TARGET_ARCH="RISCV64"
QEMU_ARCH="riscv64"
@@ -260,6 +270,14 @@ src_compile() {
mk_fw_vars arm64 Build/ArmVirtQemu-AARCH64.secboot_INSECURE/"${BUILD_DIR}"/FV/QEMU_VARS.fd
raw_to_qcow2 64m Build/ArmVirtQemu-AARCH64*/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd
;;
+ loong)
+ BUILD_ARGS+=(
+ # fails to seed the OpenSSL RNG during early initialization due
+ # to improper FPU enabling (maybe too late)
+ -D NETWORK_TLS_ENABLE=FALSE
+ )
+ mybuild -a LOONGARCH64 -p OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
+ ;;
riscv)
mybuild -a RISCV64 -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
raw_to_qcow2 32m Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.fd
@@ -294,6 +312,10 @@ src_install() {
newins Build/ArmVirtQemu-AARCH64${TYPE}/"${BUILD_DIR}"/FV/QEMU_VARS.qcow2 QEMU_VARS${TYPE}.qcow2
done
;;
+ loong)
+ insinto ${DIR}/LoongArchVirtQemu
+ doins Build/LoongArchVirtQemu/"${BUILD_DIR}"/FV/QEMU_{EFI,VARS}.fd
+ ;;
riscv)
insinto ${DIR}/RiscVVirtQemu
doins Build/RiscVVirtQemu/"${BUILD_DIR}"/FV/RISCV_VIRT_{CODE,VARS}.qcow2