Diff edk2-bin-202408 with a edk2-bin-202511

/usr/portage/sys-firmware/edk2-bin/edk2-bin-202511.ebuild 2026-09-07 20:03:07.402571872 +0300
1
# Copyright 1999-2025 Gentoo Authors
1
# Copyright 1999-2026 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4 4
EAPI=8
......
6 6
inherit readme.gentoo-r1 secureboot
7 7

  
8 8
BINPKG="${P/-bin/}-1"
9
ARCHES="amd64 arm64"
9
EDK2_QEMU_TARGETS="aarch64 loongarch64 riscv64 x86_64"
10 10

  
11 11
DESCRIPTION="TianoCore EDK II UEFI firmware for virtual machines"
12 12
HOMEPAGE="https://github.com/tianocore/edk2"
13
SRC_URI=$(printf "https://dev.gentoo.org/~chewi/distfiles/${BINPKG}-%s.xpak\n" ${ARCHES})
13
for a in ${EDK2_QEMU_TARGETS}; do
14
	SRC_URI+=" qemu_softmmu_targets_${a}? ( https://dev.gentoo.org/~chewi/distfiles/${BINPKG}-qemu-${a}.xpak )"
15
done
14 16
S="${WORKDIR}"
15 17
LICENSE="BSD-2-with-patent MIT"
16 18
SLOT="0"
17
KEYWORDS="amd64 arm64 ~loong ~ppc ppc64 ~riscv x86"
19
KEYWORDS="~amd64 ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
20
printf -v IUSE ' qemu_softmmu_targets_%s' ${EDK2_QEMU_TARGETS}
21
REQUIRED_USE="|| ( ${IUSE} )"
18 22

  
19 23
RDEPEND="!sys-firmware/edk2"
20 24

  
21 25
DOC_CONTENTS="This package includes the TianoCore EDK II UEFI firmware for virtual \
22
machines of these architectures: ${ARCHES}. See each architecture's README for \
23
usage details."
26
machines of these QEMU architectures: ${EDK2_QEMU_TARGETS}. See each architecture's README \
27
for usage details."
24 28

  
25 29
src_unpack() {
26 30
	local a
27
	for a in ${ARCHES}; do
31
	for a in ${EDK2_QEMU_TARGETS}; do
32
		use "qemu_softmmu_targets_${a}" || continue
28 33
		mkdir "${a}" || die
29
		tar -C "${a}" -xf - < <(xz -c -d --single-stream "${DISTDIR}/${BINPKG}-${a}.xpak") ||
30
			die "unpacking ${a} binpkg failed"
34
		tar -C "${a}" -xf - < <(xz -c -d --single-stream "${DISTDIR}/${BINPKG}-qemu-${a}.xpak") ||
35
			die "unpacking ${a} QEMU binpkg failed"
31 36
	done
32 37
}
33 38

  
......
41 46
	doins -r */usr/share/{edk2,qemu}/
42 47

  
43 48
	# Compatibility with older package versions.
44
	dosym edk2/OvmfX64 /usr/share/edk2-ovmf
49
	use qemu_softmmu_targets_x86_64 && dosym edk2/OvmfX64 /usr/share/edk2-ovmf
45 50

  
46 51
	secureboot_auto_sign --in-place
47 52
	readme.gentoo_create_doc
48 53

  
49 54
	local a
50
	for a in ${ARCHES}; do
55
	for a in ${EDK2_QEMU_TARGETS}; do
56
		use "qemu_softmmu_targets_${a}" || continue
51 57
		newdoc "${a}"/usr/share/doc/*/README.gentoo README-"${a}".gentoo
52 58
	done
53 59
}
54 60

  
55 61
pkg_preinst() {
56 62
	local OLD=${EROOT}/usr/share/edk2-ovmf NEW=${EROOT}/usr/share/edk2/OvmfX64
57
	if [[ -d ${OLD} && ! -L ${OLD} ]]; then
63
	if use qemu_softmmu_targets_x86_64 && [[ -d ${OLD} && ! -L ${OLD} ]]; then
58 64
		{
59 65
			rm -vf "${OLD}"/{OVMF_{CODE,CODE.secboot,VARS}.fd,EnrollDefaultKeys.efi,Shell.efi,UefiShell.img} &&
60 66
			mkdir -p "${NEW}" &&
Thank you!