summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-firmware')
-rw-r--r--sys-firmware/alsa-firmware/alsa-firmware-1.2.4-r1.ebuild (renamed from sys-firmware/alsa-firmware/alsa-firmware-1.2.4.ebuild)16
-rw-r--r--sys-firmware/alsa-firmware/files/alsa-firmware-1.2.4-musl.patch91
-rw-r--r--sys-firmware/alsa-firmware/metadata.xml9
-rw-r--r--sys-firmware/atmel-firmware/atmel-firmware-1.3-r2.ebuild2
-rw-r--r--sys-firmware/atmel-firmware/atmel-firmware-1.3-r3.ebuild (renamed from sys-firmware/atmel-firmware/atmel-firmware-1.3-r1.ebuild)21
-rw-r--r--sys-firmware/atmel-firmware/files/atmel-firmware-1.3-clang-16-build.patch13
-rw-r--r--sys-firmware/bluez-firmware/bluez-firmware-1.2-r1.ebuild2
-rw-r--r--sys-firmware/bluez-firmware/bluez-firmware-1.2.ebuild21
-rw-r--r--sys-firmware/broadcom-bt-firmware/Manifest1
-rw-r--r--sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p3.ebuild4
-rw-r--r--sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p4-r1.ebuild63
-rw-r--r--sys-firmware/broadcom-bt-firmware/metadata.xml17
-rw-r--r--sys-firmware/edk2-ovmf-bin/Manifest1
-rw-r--r--sys-firmware/edk2-ovmf-bin/edk2-ovmf-bin-202202.ebuild71
-rw-r--r--sys-firmware/edk2-ovmf-bin/metadata.xml11
-rw-r--r--sys-firmware/edk2-ovmf/Manifest7
-rw-r--r--sys-firmware/edk2-ovmf/edk2-ovmf-202105-r2.ebuild (renamed from sys-firmware/edk2-ovmf/edk2-ovmf-202105-r1.ebuild)14
-rw-r--r--sys-firmware/edk2-ovmf/edk2-ovmf-202202.ebuild (renamed from sys-firmware/edk2-ovmf/edk2-ovmf-202008.ebuild)123
-rw-r--r--sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-binutils-2.41-textrels.patch21
-rw-r--r--sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-lld-textrels.patch43
-rw-r--r--sys-firmware/edk2-ovmf/metadata.xml4
-rw-r--r--sys-firmware/firmware-imx/Manifest2
-rw-r--r--sys-firmware/firmware-imx/firmware-imx-8.18.ebuild (renamed from sys-firmware/firmware-imx/firmware-imx-5.4.ebuild)11
-rw-r--r--sys-firmware/intel-microcode/Manifest23
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20210608_p20210830.ebuild262
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20221108_p20221102.ebuild (renamed from sys-firmware/intel-microcode/intel-microcode-20201112_p20201116-r1.ebuild)27
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20230214_p20230212.ebuild (renamed from sys-firmware/intel-microcode/intel-microcode-20210216_p20210221.ebuild)29
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20230512_p20230512.ebuild (renamed from sys-firmware/intel-microcode/intel-microcode-20210216_p20210514.ebuild)29
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20230613_p20230520.ebuild (renamed from sys-firmware/intel-microcode/intel-microcode-20210608_p20210608.ebuild)47
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20230808_p20230804.ebuild287
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20230808_p20231007.ebuild287
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20231114_p20231114.ebuild287
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild287
-rw-r--r--sys-firmware/intel-microcode/metadata.xml24
-rw-r--r--sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3-r1.ebuild4
-rw-r--r--sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3.ebuild22
-rw-r--r--sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1-r1.ebuild4
-rw-r--r--sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1.ebuild22
-rw-r--r--sys-firmware/ipxe/Manifest6
-rw-r--r--sys-firmware/ipxe/ipxe-1.0.0_p20190728.ebuild119
-rw-r--r--sys-firmware/ipxe/ipxe-1.21.1.ebuild10
-rw-r--r--sys-firmware/ipxe/ipxe-1.21.1_p20230601.ebuild (renamed from sys-firmware/ipxe/ipxe-1.0.0_p20180211.ebuild)70
-rw-r--r--sys-firmware/ipxe/metadata.xml42
-rw-r--r--sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r1.ebuild21
-rw-r--r--sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r2.ebuild2
-rw-r--r--sys-firmware/iwl1000-ucode/Manifest1
-rw-r--r--sys-firmware/iwl1000-ucode/iwl1000-ucode-39.31.5.1-r1.ebuild20
-rw-r--r--sys-firmware/iwl3160-7260-bt-ucode/Manifest1
-rw-r--r--sys-firmware/iwl3160-7260-bt-ucode/iwl3160-7260-bt-ucode-37.8.10_p2.ebuild32
-rw-r--r--sys-firmware/iwl3160-7260-bt-ucode/metadata.xml10
-rw-r--r--sys-firmware/iwl3160-ucode/Manifest1
-rw-r--r--sys-firmware/iwl3160-ucode/iwl3160-ucode-0.16.242414.ebuild46
-rw-r--r--sys-firmware/iwl3160-ucode/metadata.xml10
-rw-r--r--sys-firmware/iwl6005-ucode/Manifest2
-rw-r--r--sys-firmware/iwl6005-ucode/iwl6005-ucode-17.168.5.3.ebuild24
-rw-r--r--sys-firmware/iwl6005-ucode/iwl6005-ucode-18.168.6.1.ebuild24
-rw-r--r--sys-firmware/iwl6005-ucode/metadata.xml5
-rw-r--r--sys-firmware/iwl6030-ucode/Manifest2
-rw-r--r--sys-firmware/iwl6030-ucode/iwl6030-ucode-17.168.5.2.ebuild24
-rw-r--r--sys-firmware/iwl6030-ucode/iwl6030-ucode-18.168.6.1.ebuild24
-rw-r--r--sys-firmware/iwl6030-ucode/metadata.xml5
-rw-r--r--sys-firmware/iwl7260-ucode/Manifest1
-rw-r--r--sys-firmware/iwl7260-ucode/iwl7260-ucode-0.16.242414.ebuild46
-rw-r--r--sys-firmware/iwl7260-ucode/metadata.xml10
-rw-r--r--sys-firmware/iwl8000-ucode/Manifest1
-rw-r--r--sys-firmware/iwl8000-ucode/iwl8000-ucode-16.242414.0.ebuild39
-rw-r--r--sys-firmware/iwl8000-ucode/metadata.xml10
-rw-r--r--sys-firmware/metadata.xml4
-rw-r--r--sys-firmware/nvidia-firmware/nvidia-firmware-340.32-r1.ebuild4
-rw-r--r--sys-firmware/raspberrypi-wifi-ucode/Manifest3
-rw-r--r--sys-firmware/raspberrypi-wifi-ucode/metadata.xml4
-rw-r--r--sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p10.ebuild66
-rw-r--r--sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p11.ebuild2
-rw-r--r--sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20221012.1_p1.ebuild (renamed from sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild)40
-rw-r--r--sys-firmware/seabios-bin/Manifest1
-rw-r--r--sys-firmware/seabios-bin/metadata.xml (renamed from sys-firmware/iwl1000-ucode/metadata.xml)5
-rw-r--r--sys-firmware/seabios-bin/seabios-bin-1.16.0.ebuild25
-rw-r--r--sys-firmware/seabios/Manifest4
-rw-r--r--sys-firmware/seabios/files/README2
-rw-r--r--sys-firmware/seabios/seabios-1.12.0-r1.ebuild171
-rw-r--r--sys-firmware/seabios/seabios-1.12.0.ebuild145
-rw-r--r--sys-firmware/seabios/seabios-1.14.0-r1.ebuild172
-rw-r--r--sys-firmware/seabios/seabios-1.14.0-r2.ebuild6
-rw-r--r--sys-firmware/seabios/seabios-1.16.0.ebuild (renamed from sys-firmware/seabios/seabios-1.14.0.ebuild)74
-rw-r--r--sys-firmware/sgabios/Manifest2
-rw-r--r--sys-firmware/sgabios/files/sgabios-0.1_pre8-build-cc.patch23
-rw-r--r--sys-firmware/sgabios/files/sgabios-0.1_pre8-makefile.patch12
-rw-r--r--sys-firmware/sgabios/sgabios-0.1_pre10.ebuild4
-rw-r--r--sys-firmware/sgabios/sgabios-0.1_pre8-r1.ebuild58
-rw-r--r--sys-firmware/sigrok-firmware-fx2lafw/Manifest1
-rw-r--r--sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7-r2.ebuild (renamed from sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7-r1.ebuild)32
-rw-r--r--sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-9999.ebuild32
-rw-r--r--sys-firmware/sof-firmware/Manifest5
-rw-r--r--sys-firmware/sof-firmware/metadata.xml15
-rw-r--r--sys-firmware/sof-firmware/sof-firmware-1.6.1.ebuild25
-rw-r--r--sys-firmware/sof-firmware/sof-firmware-2023.12.1.ebuild (renamed from sys-firmware/sof-firmware/sof-firmware-1.9.ebuild)24
-rw-r--r--sys-firmware/sof-firmware/sof-firmware-2023.12.ebuild33
-rw-r--r--sys-firmware/sof-firmware/sof-firmware-2024.03.ebuild45
-rw-r--r--sys-firmware/vgabios/vgabios-0.8a-r1.ebuild41
-rw-r--r--sys-firmware/vgabios/vgabios-0.8a.ebuild4
-rw-r--r--sys-firmware/zd1201-firmware/zd1201-firmware-0.14-r1.ebuild2
-rw-r--r--sys-firmware/zd1201-firmware/zd1201-firmware-0.14.ebuild25
-rw-r--r--sys-firmware/zd1211-firmware/zd1211-firmware-1.5-r1.ebuild2
-rw-r--r--sys-firmware/zd1211-firmware/zd1211-firmware-1.5.ebuild21
104 files changed, 2099 insertions, 1852 deletions
diff --git a/sys-firmware/alsa-firmware/alsa-firmware-1.2.4.ebuild b/sys-firmware/alsa-firmware/alsa-firmware-1.2.4-r1.ebuild
index 7d6a2ac51fc1..16c478503529 100644
--- a/sys-firmware/alsa-firmware/alsa-firmware-1.2.4.ebuild
+++ b/sys-firmware/alsa-firmware/alsa-firmware-1.2.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,9 +8,17 @@ DESCRIPTION="Advanced Linux Sound Architecture firmware"
HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
SRC_URI="https://www.alsa-project.org/files/pub/firmware/${P}.tar.bz2"
-LICENSE="GPL-2"
+LICENSE="GPL-2 freedist
+ alsa_cards_korg1212? ( all-rights-reserved )
+ alsa_cards_maestro3? ( all-rights-reserved )
+ alsa_cards_sb16? ( all-rights-reserved )
+ alsa_cards_ymfpci? ( all-rights-reserved )"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86"
+RESTRICT="alsa_cards_korg1212? ( bindist )
+ alsa_cards_maestro3? ( bindist )
+ alsa_cards_sb16? ( bindist )
+ alsa_cards_ymfpci? ( bindist )"
ECHOAUDIO_CARDS="alsa_cards_darla20 alsa_cards_gina20 alsa_cards_layla20
alsa_cards_darla24 alsa_cards_gina24 alsa_cards_layla24 alsa_cards_mona
@@ -31,6 +39,10 @@ RDEPEND="alsa_cards_usb-usx2y? ( sys-apps/fxload )
DOCS="README"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.4-musl.patch
+)
+
src_configure() {
econf --with-hotplug-dir=/lib/firmware
}
diff --git a/sys-firmware/alsa-firmware/files/alsa-firmware-1.2.4-musl.patch b/sys-firmware/alsa-firmware/files/alsa-firmware-1.2.4-musl.patch
new file mode 100644
index 000000000000..836575331735
--- /dev/null
+++ b/sys-firmware/alsa-firmware/files/alsa-firmware-1.2.4-musl.patch
@@ -0,0 +1,91 @@
+https://github.com/alsa-project/alsa-firmware/pull/10
+
+From 09da9c869fa177acca17d63ac5fc3b3217683918 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 15 Oct 2023 13:28:36 +0100
+Subject: [PATCH] Use stdint.h types
+
+u_int_* aren't standard, but uint* are. Use those instead for musl compat.
+
+Bug: https://bugs.gentoo.org/832969
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ hdsploader/digiface_firmware.dat | 4 +++-
+ hdsploader/digiface_firmware_rev11.dat | 4 +++-
+ hdsploader/multiface_firmware.dat | 4 +++-
+ hdsploader/multiface_firmware_rev11.dat | 4 +++-
+ hdsploader/tobin.c | 3 ++-
+ 5 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/hdsploader/digiface_firmware.dat b/hdsploader/digiface_firmware.dat
+index 9ac946a..9643e8e 100644
+--- a/hdsploader/digiface_firmware.dat
++++ b/hdsploader/digiface_firmware.dat
+@@ -1,5 +1,7 @@
++#include <stdint.h>
++
+ /* stored in little-endian */
+-static u_int32_t digiface_firmware[24413] = {
++static uint32_t digiface_firmware[24413] = {
+ 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000,
+ 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000,
+ 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a,
+diff --git a/hdsploader/digiface_firmware_rev11.dat b/hdsploader/digiface_firmware_rev11.dat
+index 2930017..adffd82 100644
+--- a/hdsploader/digiface_firmware_rev11.dat
++++ b/hdsploader/digiface_firmware_rev11.dat
+@@ -1,5 +1,7 @@
++#include <stdint.h>
++
+ /* stored in little-endian */
+-static u_int32_t digiface_firmware_rev11[24413] = {
++static uint32_t digiface_firmware_rev11[24413] = {
+ 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000,
+ 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000,
+ 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a,
+diff --git a/hdsploader/multiface_firmware.dat b/hdsploader/multiface_firmware.dat
+index 6c4813d..f95c1b3 100644
+--- a/hdsploader/multiface_firmware.dat
++++ b/hdsploader/multiface_firmware.dat
+@@ -1,5 +1,7 @@
++#include <stdint.h>
++
+ /* stored in little-endian */
+-static u_int32_t multiface_firmware[24413] = {
++static uint32_t multiface_firmware[24413] = {
+ 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000,
+ 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000,
+ 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a,
+diff --git a/hdsploader/multiface_firmware_rev11.dat b/hdsploader/multiface_firmware_rev11.dat
+index 057f53e..16de278 100644
+--- a/hdsploader/multiface_firmware_rev11.dat
++++ b/hdsploader/multiface_firmware_rev11.dat
+@@ -1,5 +1,7 @@
++#include <stdint.h>
++
+ /* stored in little-endian */
+-static u_int32_t multiface_firmware_rev11[24413] = {
++static uint32_t multiface_firmware_rev11[24413] = {
+ 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000,
+ 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000,
+ 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a,
+diff --git a/hdsploader/tobin.c b/hdsploader/tobin.c
+index 2d76220..8d67b2b 100644
+--- a/hdsploader/tobin.c
++++ b/hdsploader/tobin.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <endian.h>
+
+@@ -8,7 +9,7 @@
+ #include "multiface_firmware.dat"
+ #include "multiface_firmware_rev11.dat"
+
+-int write_bin_file(u_int32_t *array, const char *filename)
++int write_bin_file(uint32_t *array, const char *filename)
+ {
+ FILE *out;
+
diff --git a/sys-firmware/alsa-firmware/metadata.xml b/sys-firmware/alsa-firmware/metadata.xml
index 437d32a9f916..a6a9e0baa083 100644
--- a/sys-firmware/alsa-firmware/metadata.xml
+++ b/sys-firmware/alsa-firmware/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
-<email>alsa-bugs@gentoo.org</email>
-</maintainer>
+ <maintainer type="project">
+ <email>alsa-bugs@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">alsa-project/alsa-firmware</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-firmware/atmel-firmware/atmel-firmware-1.3-r2.ebuild b/sys-firmware/atmel-firmware/atmel-firmware-1.3-r2.ebuild
index 93b12d7aba22..fecf77bef489 100644
--- a/sys-firmware/atmel-firmware/atmel-firmware-1.3-r2.ebuild
+++ b/sys-firmware/atmel-firmware/atmel-firmware-1.3-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.thekelleys.org.uk/atmel/${P}.tar.gz"
LICENSE="Atmel"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc x86"
IUSE="pcmcia usb"
RDEPEND=">=net-wireless/wireless-tools-26-r1
diff --git a/sys-firmware/atmel-firmware/atmel-firmware-1.3-r1.ebuild b/sys-firmware/atmel-firmware/atmel-firmware-1.3-r3.ebuild
index bcd244232549..a9508563594e 100644
--- a/sys-firmware/atmel-firmware/atmel-firmware-1.3-r1.ebuild
+++ b/sys-firmware/atmel-firmware/atmel-firmware-1.3-r3.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
+
inherit toolchain-funcs
DESCRIPTION="Firmware and config for atmel and atmel_cs wlan drivers included in linux 2.6"
-HOMEPAGE="http://www.thekelleys.org.uk/atmel/"
-SRC_URI="http://www.thekelleys.org.uk/atmel/${P}.tar.gz"
+HOMEPAGE="https://www.thekelleys.org.uk/atmel/"
+SRC_URI="https://www.thekelleys.org.uk/atmel/${P}.tar.gz"
LICENSE="Atmel"
SLOT="0"
@@ -16,6 +17,10 @@ IUSE="pcmcia usb"
RDEPEND=">=net-wireless/wireless-tools-26-r1
pcmcia? ( sys-apps/pcmciautils )"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3-clang-16-build.patch
+)
+
src_compile() {
tc-export CC
emake atmel_fwl
@@ -43,13 +48,13 @@ src_install() {
}
pkg_postinst() {
- if use pcmcia && [ -f /var/run/cardmgr.pid ]; then
- kill -HUP `cat /var/run/cardmgr.pid`
+ if use pcmcia && [ -f /run/cardmgr.pid ]; then
+ kill -HUP `cat /run/cardmgr.pid`
fi
}
pkg_postrm() {
- if use pcmcia && [ -f /var/run/cardmgr.pid ]; then
- kill -HUP `cat /var/run/cardmgr.pid`
+ if use pcmcia && [ -f /run/cardmgr.pid ]; then
+ kill -HUP `cat /run/cardmgr.pid`
fi
}
diff --git a/sys-firmware/atmel-firmware/files/atmel-firmware-1.3-clang-16-build.patch b/sys-firmware/atmel-firmware/files/atmel-firmware-1.3-clang-16-build.patch
new file mode 100644
index 000000000000..dca3dd03be43
--- /dev/null
+++ b/sys-firmware/atmel-firmware/files/atmel-firmware-1.3-clang-16-build.patch
@@ -0,0 +1,13 @@
+Fix build with clang 16
+Bug: https://bugs.gentoo.org/887113
+--- a/atmel_fwl.c
++++ b/atmel_fwl.c
+@@ -37,7 +37,7 @@ struct atmel_priv_ioctl {
+ unsigned short len;
+ };
+
+-main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ int i, magic, rc, sock = -1;
+ struct ifreq ifr;
diff --git a/sys-firmware/bluez-firmware/bluez-firmware-1.2-r1.ebuild b/sys-firmware/bluez-firmware/bluez-firmware-1.2-r1.ebuild
index ec1c59572e1e..681ed1de7b39 100644
--- a/sys-firmware/bluez-firmware/bluez-firmware-1.2-r1.ebuild
+++ b/sys-firmware/bluez-firmware/bluez-firmware-1.2-r1.ebuild
@@ -11,7 +11,7 @@ RESTRICT="bindist mirror"
LICENSE="bluez-firmware"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~x86"
+KEYWORDS="amd64 ~arm64 ~hppa ppc x86"
IUSE=""
DOCS=( AUTHORS ChangeLog README )
diff --git a/sys-firmware/bluez-firmware/bluez-firmware-1.2.ebuild b/sys-firmware/bluez-firmware/bluez-firmware-1.2.ebuild
deleted file mode 100644
index 5e373ebd7a77..000000000000
--- a/sys-firmware/bluez-firmware/bluez-firmware-1.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="Firmware for Broadcom BCM203x and STLC2300 Bluetooth chips"
-HOMEPAGE="http://bluez.sourceforge.net/"
-SRC_URI="http://bluez.sourceforge.net/download/${P}.tar.gz"
-
-RESTRICT="bindist mirror"
-
-LICENSE="bluez-firmware"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ppc x86"
-IUSE=""
-
-DOCS="AUTHORS ChangeLog README"
-
-src_configure() {
- econf --libdir=/lib
-}
diff --git a/sys-firmware/broadcom-bt-firmware/Manifest b/sys-firmware/broadcom-bt-firmware/Manifest
index 024f956c96d6..ba368e976180 100644
--- a/sys-firmware/broadcom-bt-firmware/Manifest
+++ b/sys-firmware/broadcom-bt-firmware/Manifest
@@ -1 +1,2 @@
DIST broadcom-bt-firmware-12.0.1.1105_p3.tar.gz 2332072 BLAKE2B 819a95230a19c1f2dcdd0648ae9f29275ddfc133c86c0fcf85657aa1e52baede10e061e5b2a2c0c6b795d83813f86a67ea0378c21b0f2b961439a146241127d8 SHA512 96de9704d392c0d7bbdc4a094d7fbaf3904854af2ac05081cff7c29cfc11690a47e45674af82af33a0a9741a44c68bf6e3801ccdaaa84de8ba0d36039d89f412
+DIST broadcom-bt-firmware-12.0.1.1105_p4.tar.gz 2332067 BLAKE2B cc6c2b7b30ec1d7b3cedb1a836be603db60e48d13b02108e7ce4b72dfddea9997d115a4af25f6192c54d4ad4c0acb259b7079885fadf41e9e2e58cdaabf62dad SHA512 f37017d6ae17ed89199e9c87e2f603ba21e278ba75c5c0a62f9b0ed8f2f9118f42e19486cc73b3e9153db79699909581a4f5154a6ce862343f50905eb43afcfa
diff --git a/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p3.ebuild b/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p3.ebuild
index cbdff1e870a9..14cb24207a0d 100644
--- a/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p3.ebuild
+++ b/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/winterheart/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="broadcom_bcm20702 MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~ppc64 x86"
IUSE=""
src_install() {
diff --git a/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p4-r1.ebuild b/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p4-r1.ebuild
new file mode 100644
index 000000000000..ad2af756d59c
--- /dev/null
+++ b/sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p4-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit linux-info multiprocessing
+
+DESCRIPTION="Broadcom Bluetooth firmware"
+HOMEPAGE="https://github.com/winterheart/broadcom-bt-firmware"
+SRC_URI="https://github.com/winterheart/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="broadcom_bcm20702 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+# Re-use compress-* USE flags from sys-kernel/linux-firmware.
+IUSE="compress-xz compress-zstd"
+REQUIRED_USE="?? ( compress-xz compress-zstd )"
+
+BDEPEND="
+ compress-xz? ( app-arch/xz-utils )
+ compress-zstd? ( app-arch/zstd )
+"
+
+pkg_setup() {
+ if use compress-xz || use compress-zstd ; then
+ local CONFIG_CHECK
+
+ if kernel_is -ge 5 19; then
+ use compress-xz && CONFIG_CHECK="~FW_LOADER_COMPRESS_XZ"
+ use compress-zstd && CONFIG_CHECK="~FW_LOADER_COMPRESS_ZSTD"
+ else
+ use compress-xz && CONFIG_CHECK="~FW_LOADER_COMPRESS"
+ if use compress-zstd; then
+ eerror "Kernels <5.19 do not support ZSTD-compressed firmware files"
+ fi
+ fi
+ linux-info_pkg_setup
+ fi
+}
+
+src_install() {
+ insinto /lib/firmware
+ doins -r brcm
+
+ if use compress-xz || use compress-zstd; then
+ pushd "${ED}/lib/firmware/brcm" &>/dev/null || die
+ einfo "Compressing firmware ..."
+ local ext
+ local compressor
+
+ if use compress-xz; then
+ ext=xz
+ compressor="xz -T1 -C crc32"
+ elif use compress-zstd; then
+ ext=zst
+ compressor="zstd -15 -T1 -C -q --rm"
+ fi
+ find . -type f -print0 | \
+ xargs -0 -P $(makeopts_jobs) -I'{}' ${compressor} '{}'
+ assert
+ popd &>/dev/null || die
+ fi
+ dodoc DEVICES.md README.md
+}
diff --git a/sys-firmware/broadcom-bt-firmware/metadata.xml b/sys-firmware/broadcom-bt-firmware/metadata.xml
index a7fa285c7476..1d4e71fe4818 100644
--- a/sys-firmware/broadcom-bt-firmware/metadata.xml
+++ b/sys-firmware/broadcom-bt-firmware/metadata.xml
@@ -1,8 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Florian Schmaus</name>
- <email>flow@gentoo.org</email>
+ <maintainer type="person" proxied="yes">
+ <email>azamat.hackimov@gmail.com</email>
+ <name>Azamat H. Hackimov</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">winterheart/broadcom-bt-firmware</remote-id>
+ </upstream>
+<use>
+ <flag name="compress-xz">Compress firmware using xz (<pkg>app-arch/xz-utils</pkg>) before installation</flag>
+ <flag name="compress-zstd">Compress firmware using zstd (<pkg>app-arch/zstd</pkg>) before installation</flag>
+</use>
</pkgmetadata>
diff --git a/sys-firmware/edk2-ovmf-bin/Manifest b/sys-firmware/edk2-ovmf-bin/Manifest
new file mode 100644
index 000000000000..3acdd51ad6e6
--- /dev/null
+++ b/sys-firmware/edk2-ovmf-bin/Manifest
@@ -0,0 +1 @@
+DIST edk2-ovmf-202202-1.xpak 2672386 BLAKE2B 75c15d4379610ab2af85b78166e350d52f4f1bc1fff5b2eb693ad0d7b1f6648e65d8ae3e2c5467f93f1557ad3b4fa664ab2d76ff10794667de22c2ea8cca6b2d SHA512 06783b89c96bada0fd025ff39eaee501a027abcb03c0bdcf3ff497d52be22927ab03013d90f145ee94a8662cfffe4f8c154dcd06db1bb1acef8a85ae43de14a3
diff --git a/sys-firmware/edk2-ovmf-bin/edk2-ovmf-bin-202202.ebuild b/sys-firmware/edk2-ovmf-bin/edk2-ovmf-bin-202202.ebuild
new file mode 100644
index 000000000000..2a1a7048cbce
--- /dev/null
+++ b/sys-firmware/edk2-ovmf-bin/edk2-ovmf-bin-202202.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 secureboot
+
+BINPKG="${P/-bin/}-1"
+
+DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
+HOMEPAGE="https://github.com/tianocore/edk2"
+SRC_URI="https://dev.gentoo.org/~ajak/distfiles/${BINPKG}.xpak"
+S="${WORKDIR}"
+
+# TODO: the binary 202105 package currently lacks the preseeded
+# OVMF_VARS.secboot.fd file (that we typically get from fedora)
+
+LICENSE="BSD-2 MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~ppc ppc64 ~riscv x86"
+
+RDEPEND="!sys-firmware/edk2-ovmf"
+
+DISABLE_AUTOFORMATTING=true
+DOC_CONTENTS="This package contains the tianocore edk2 UEFI firmware for 64-bit x86
+virtual machines. The firmware is located under
+ /usr/share/edk2-ovmf/OVMF_CODE.fd
+ /usr/share/edk2-ovmf/OVMF_VARS.fd
+ /usr/share/edk2-ovmf/OVMF_CODE.secboot.fd
+
+If USE=binary is enabled, we also install an OVMF variables file (coming from
+fedora) that contains secureboot default keys
+
+ /usr/share/edk2-ovmf/OVMF_VARS.secboot.fd
+
+If you have compiled this package by hand, you need to either populate all
+necessary EFI variables by hand by booting
+ /usr/share/edk2-ovmf/UefiShell.(iso|img)
+or creating OVMF_VARS.secboot.fd by hand:
+ https://github.com/puiterwijk/qemu-ovmf-secureboot
+
+The firmware does not support csm (due to no free csm implementation
+available). If you need a firmware with csm support you have to download
+one for yourself. Firmware blobs are commonly labeled
+ OVMF{,_CODE,_VARS}-with-csm.fd
+
+In order to use the firmware you can run qemu the following way
+
+ $ qemu-system-x86_64 \
+ -drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
+ ..."
+
+src_unpack() {
+ tar -xf - < <(xz -c -d --single-stream "${DISTDIR}/${BINPKG}.xpak") || die "unpacking binpkg failed"
+}
+
+src_install() {
+ mv "usr/share/doc/${P/-bin/}" "usr/share/doc/${PF}" || die
+
+ # Don't want to try to install the readme from the source package
+ rm "usr/share/doc/${PF}/README.gentoo.bz2"
+ mv usr "${ED}" || die
+
+ secureboot_auto_sign --in-place
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-firmware/edk2-ovmf-bin/metadata.xml b/sys-firmware/edk2-ovmf-bin/metadata.xml
new file mode 100644
index 000000000000..674a9e5d13d6
--- /dev/null
+++ b/sys-firmware/edk2-ovmf-bin/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:tianocore:edk2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-firmware/edk2-ovmf/Manifest b/sys-firmware/edk2-ovmf/Manifest
index 82d355e9d92e..91c1fe2e832c 100644
--- a/sys-firmware/edk2-ovmf/Manifest
+++ b/sys-firmware/edk2-ovmf/Manifest
@@ -1,8 +1,9 @@
DIST brotli-666c3280cc11dc433c303d79a83d4ffbdd12cc8d.tar.gz 23855739 BLAKE2B 7406ec5b29ac66afbcd7c1376bb3208f298d19b6592b2869c52173aa64947d58bd443f9a61c67deaf046be910a0e31c0b843e5508e97e0e1f5e7bce100d86904 SHA512 df8e90562c4fd7f0e787949df6bc4f5a165b39bd333f442d27874fe65640fbba268f9350d7113e6761a5acceb66d78e75f1a296e5a89b94574edf28109cdc812
-DIST edk2-ovmf-202008-bin.tar.xz 3486024 BLAKE2B 8283db554ad7024e3a55b62ed0a560ed9f729d728f1dee3806814b1eb8d89dabc4fd70433f7f77656b65d9af7919d036074a53a95190a1aa8b65ab7d73495ffc SHA512 d0c8b249a7a2124e8bb63a4358466e86a3a837e76586565dd4762351998d8561374eabb8a1303dbf71ac269c15552d9e8cff71d65bc6fe8a3a81fb4fb032e0d8
-DIST edk2-ovmf-202008-qemu-firmware.tar.xz 680 BLAKE2B 176f8e94a3f605acc72850634cbf155619490f5998125521a392a8e9c7d2b78841b841f0cb5ea860f14645b124cf1921256bbe46960efbe3401805d89bbfbed6 SHA512 b72f248ab4d49503c3e8e686e22beb77f0e48d2c6c9523f389f20504e0c30fa11fa0fcb5607d7d5bb1ba2433894fa458864c5761335e39de4b2a40b01203f043
-DIST edk2-ovmf-202008.tar.gz 13172590 BLAKE2B 10acf77d0e70e21ca425ea41c0062f8cebe2cc607b93a2a253bcd87cea1546e791776a34d43fbf4f1040f4fc32e3ee413d44873d0f00b9e523816519cfed634e SHA512 c32340104f27b9b85f79e934cc9eeb739d47b01e13975c88f39b053e9bc5a1ecfe579ab3b63fc7747cc328e104b337b53d41deb4470c3f20dbbd5552173a4666
+DIST brotli-f4153a09f87cbb9c826d8fc12c74642bb2d879ea.tar.gz 512229 BLAKE2B cd86cc2cc7eefad24f87cda8006409bf764922b5f23ccfb951e7a41214b12004ce532b11f94f5fb858b3bf71f9abf8ef17ba219fa96bd5be23b51873afad0fd5 SHA512 7f48e794e738b31c2005e7cef6d8c0cc0d543f1cd8c137ae8ba14602cac2873de6299a3f32ad52be869f513e7548341353ed049609daef1063975694d9a9b80b
DIST edk2-ovmf-202105-qemu-firmware.tar.xz 672 BLAKE2B e87845a84c83f65db836fd054c81a4f3062d5e0fcc51aa0ecf9c2d23c8741f218d38ef737d140f5935ce8d9c34508e5f3b9f54bf9c547a391fa63cdc2ecf1233 SHA512 6100502f26db26e407dacce57c96b1abfd372bcb31767a068332afa09ac435a092fd2a73db27670d27c6e927c26e88315346bbac70578571108434b9683bd00c
DIST edk2-ovmf-202105-r1-bin.tar.xz 2633188 BLAKE2B 93b4bd1c75da69406b5d27ac32d8b7c63dc8248bcd5d54832e520a4b009be4b7f215eb7d489ecb7cb16d31e02452dfa06b8fa709f37c44e59b4ff70a550076c7 SHA512 356c2110abce43da9c0654324e222cbbab7085e3aa23d1ba4c98011e4d4992a37d61fa45394305b748d119dba12f65d7c7d630b9f8038065ba4672d758c702be
DIST edk2-ovmf-202105.tar.gz 13702868 BLAKE2B 3ec01d467562380ca2fd3bd807d2f6c55e4637c1afd71533f8f5b22cc634dc4c8cb63dab921677f8b315d17b3c9d0b6b00a0e2f3f8da61107033e9e81bf5a64d SHA512 c263345cbb243c63985f974a61f37c577a139d6a7099d2b8c9e1a553e5ebf16de12fb711b72624081c6bf637f8084bbf71731ab99e5747d81da460388ac25791
+DIST edk2-ovmf-202202-qemu-firmware.tar.xz 664 BLAKE2B 1aa4e25804ce0f3c967c80999315de24eaef6682e42dddd81c274ce4603ec3d15186de752de49e2527c6bd5517080c002a357ed6bc389b5afd6f7a4d93edeb44 SHA512 f9a29212274a99796784673d873e0eee7d3e2a5cf9e63192453841ee3a4ef4b813c7b2357fc7000f39c71ed6c66636daab772abb51d3972a2a56ade8a4c68faf
+DIST edk2-ovmf-202202.tar.gz 14208170 BLAKE2B d8411e6808b335ccd551349a10c983b9448a357e73273fa6c30a07785e27feffed0224950ee98b668712c33f6739a9b006e5043b7dfd014f48dba9fd449b3354 SHA512 200690a4867331de06e0478869b85577bc510213ebe679f2103160efb84d94c82ac8481ef1f15c3e42c1e9f22b7c5ef0d6c8f2c655bce7702ce843551cf9bb83
+DIST openssl-d82e959e621a3d597f1e0d50ff8c2d8b96915fd7.tar.gz 10034310 BLAKE2B 6996979dc12a523d565830e7b0943feb682a376f71ddb6f20cb8b9976bb7f12e39f088abaa45d514933ef79c0e4a2933dc6f1af4774fedaa16e74c0081c358e7 SHA512 a89bc652dc4318c5e8a9c594a43d890ca05dfc1acd6b15e2a8ab8b5628b5f33994143ff8024230e07b9e67556b28ea3a5e36763aa72dec20b52022ca8c6f2a7e
DIST openssl-e2e09d9fba1187f8d6aafaa34d4172f56f1ffb72.tar.gz 9981169 BLAKE2B 33aac7364cdd45fec5654ab6caef84e1a829464380419c8a6bb311055c5a01c0aaff6e046a7c541a87e908fa9d26bae652f5be901461d03df36f2522f9c34b0c SHA512 db2087c04f0b428b3f4e1c8b3ac53cce69e0fd331ed2b86ba00facafd1685864d73f71c13eee48f4fe0af2bddad848f84a2b8ed2a17fabdf7fa2ed7d9eb39371
diff --git a/sys-firmware/edk2-ovmf/edk2-ovmf-202105-r1.ebuild b/sys-firmware/edk2-ovmf/edk2-ovmf-202105-r2.ebuild
index c316a3faf1bd..77b264824aeb 100644
--- a/sys-firmware/edk2-ovmf/edk2-ovmf-202105-r1.ebuild
+++ b/sys-firmware/edk2-ovmf/edk2-ovmf-202105-r2.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10..11} )
-inherit python-any-r1 readme.gentoo-r1
+inherit python-any-r1 readme.gentoo-r1 secureboot
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
@@ -25,13 +25,13 @@ SRC_URI="
https://github.com/openssl/openssl/archive/${BUNDLED_OPENSSL_SUBMODULE_SHA}.tar.gz -> openssl-${BUNDLED_OPENSSL_SUBMODULE_SHA}.tar.gz
https://github.com/google/brotli/archive/${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz -> brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz
)
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${PF}-bin.tar.xz )
+ binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-r1-bin.tar.xz )
https://dev.gentoo.org/~tamiko/distfiles/${P}-qemu-firmware.tar.xz
"
LICENSE="BSD-2 MIT"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
+KEYWORDS="amd64 arm64 ~loong ~ppc ppc64 ~riscv x86"
IUSE="+binary"
REQUIRED_USE+="
@@ -90,6 +90,7 @@ In order to use the firmware you can run qemu the following way
pkg_setup() {
[[ ${PV} != "999999" ]] && use binary || python-any-r1_pkg_setup
+ secureboot_pkg_setup
}
src_prepare() {
@@ -167,6 +168,9 @@ src_install() {
insinto /usr/share/qemu/firmware
doins qemu/*
+ rm "${ED}"/usr/share/qemu/firmware/40-edk2-ovmf-x64-sb-enrolled.json || die "rm failed"
+
+ secureboot_auto_sign --in-place
readme.gentoo_create_doc
}
diff --git a/sys-firmware/edk2-ovmf/edk2-ovmf-202008.ebuild b/sys-firmware/edk2-ovmf/edk2-ovmf-202202.ebuild
index c02cae3b5fcf..43332ccb0057 100644
--- a/sys-firmware/edk2-ovmf/edk2-ovmf-202008.ebuild
+++ b/sys-firmware/edk2-ovmf/edk2-ovmf-202202.ebuild
@@ -1,64 +1,44 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{10..11} )
-inherit python-any-r1 readme.gentoo-r1
+inherit python-any-r1 readme.gentoo-r1 secureboot
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
-NON_BINARY_DEPEND="
- app-emulation/qemu
- >=dev-lang/nasm-2.0.7
- >=sys-power/iasl-20160729
- ${PYTHON_DEPS}
-"
-DEPEND=""
-RDEPEND=""
-if [[ ${PV} == "999999" ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/tianocore/edk2"
- DEPEND+="
- ${NON_BINARY_DEPEND}
- "
-else
- BUNDLED_OPENSSL_SUBMODULE_SHA="e2e09d9fba1187f8d6aafaa34d4172f56f1ffb72"
- BUNDLED_BROTLI_SUBMODULE_SHA="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- # Binary versions taken from fedora:
- # http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/e/
- # edk2-ovmf-20200801stable-1.fc34.noarch.rpm
-
- # TODO: talk with tamiko about unbundling
- SRC_URI="
- !binary? (
- https://github.com/tianocore/edk2/archive/edk2-stable${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/openssl/openssl/archive/${BUNDLED_OPENSSL_SUBMODULE_SHA}.tar.gz -> openssl-${BUNDLED_OPENSSL_SUBMODULE_SHA}.tar.gz
- https://github.com/google/brotli/archive/${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz -> brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz
- )
- binary? ( https://dev.gentoo.org/~mva/distfiles/${P}-bin.tar.xz )
- https://dev.gentoo.org/~mva/distfiles/${P}-qemu-firmware.tar.xz
- "
- KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
- IUSE="+binary"
- REQUIRED_USE+="
- !amd64? ( binary )
- "
- DEPEND+="
- !binary? (
- amd64? (
- ${NON_BINARY_DEPEND}
- )
- )"
- PATCHES=(
- )
-fi
+BUNDLED_OPENSSL_SUBMODULE_SHA="d82e959e621a3d597f1e0d50ff8c2d8b96915fd7"
+BUNDLED_BROTLI_SUBMODULE_SHA="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
+
+# TODO: talk with tamiko about unbundling (mva)
+
+# TODO: the binary 202105 package currently lacks the preseeded
+# OVMF_VARS.secboot.fd file (that we typically get from fedora)
+
+SRC_URI="https://github.com/tianocore/edk2/archive/edk2-stable${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/openssl/openssl/archive/${BUNDLED_OPENSSL_SUBMODULE_SHA}.tar.gz -> openssl-${BUNDLED_OPENSSL_SUBMODULE_SHA}.tar.gz
+ https://github.com/google/brotli/archive/${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz -> brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}.tar.gz
+ https://dev.gentoo.org/~ajak/distfiles/${P}-qemu-firmware.tar.xz"
LICENSE="BSD-2 MIT"
SLOT="0"
+KEYWORDS="-* amd64"
+
+BDEPEND="app-emulation/qemu
+ >=dev-lang/nasm-2.0.7
+ >=sys-power/iasl-20160729
+ ${PYTHON_DEPS}"
+RDEPEND="!sys-firmware/edk2-ovmf-bin"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-202105-werror.patch"
+ "${FILESDIR}/${PN}-202202-lld-textrels.patch"
+ "${FILESDIR}/${PN}-202202-binutils-2.41-textrels.patch"
+)
S="${WORKDIR}/edk2-edk2-stable${PV}"
@@ -89,35 +69,23 @@ In order to use the firmware you can run qemu the following way
$ qemu-system-x86_64 \
-drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
- ...
-
-You can register the firmware for use in libvirt by adding to /etc/libvirt/qemu.conf:
- nvram = [
- \"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
- \"/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
- ]"
+ ..."
pkg_setup() {
- [[ ${PV} != "999999" ]] && use binary || python-any-r1_pkg_setup
+ python-any-r1_pkg_setup
+ secureboot_pkg_setup
}
src_prepare() {
- if ! use binary; then
- sed -i -r \
- -e "/function SetupPython3/,/\}/{s,\\\$\(whereis python3\),${EPYTHON},g}" \
- "${S}"/edksetup.sh || die "Fixing for correct Python3 support failed"
- fi
- if [[ ${PV} != "999999" ]]; then
- if use binary; then
- eapply_user
- return
- else
- # Bundled submodules
- cp -rl "${WORKDIR}/openssl-${BUNDLED_OPENSSL_SUBMODULE_SHA}"/* "CryptoPkg/Library/OpensslLib/openssl/"
- cp -rl "${WORKDIR}/brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}"/* "BaseTools/Source/C/BrotliCompress/brotli/"
- cp -rl "${WORKDIR}/brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}"/* "MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/"
- fi
- fi
+ # Bundled submodules
+ cp -rl "${WORKDIR}/openssl-${BUNDLED_OPENSSL_SUBMODULE_SHA}"/* "CryptoPkg/Library/OpensslLib/openssl/"
+ cp -rl "${WORKDIR}/brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}"/* "BaseTools/Source/C/BrotliCompress/brotli/"
+ cp -rl "${WORKDIR}/brotli-${BUNDLED_BROTLI_SUBMODULE_SHA}"/* "MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/"
+
+ sed -i -r \
+ -e "/function SetupPython3/,/\}/{s,\\\$\(whereis python3\),${EPYTHON},g}" \
+ "${S}"/edksetup.sh || die "Fixing for correct Python3 support failed"
+
default
}
@@ -129,6 +97,8 @@ src_compile() {
BUILD_FLAGS="-D TLS_ENABLE \
-D HTTP_BOOT_ENABLE \
-D NETWORK_IP6_ENABLE \
+ -D TPM_ENABLE \
+ -D TPM2_ENABLE -D TPM2_CONFIG_ENABLE \
-D FD_SIZE_2MB"
SECUREBOOT_BUILD_FLAGS="${BUILD_FLAGS} \
@@ -136,7 +106,9 @@ src_compile() {
-D SMM_REQUIRE \
-D EXCLUDE_SHELL_FROM_FD"
- [[ ${PV} != "999999" ]] && use binary && return
+ export LDFLAGS="-z notext"
+ export EXTRA_LDFLAGS="-z notext"
+ export DLINK_FLAGS="-z notext"
emake ARCH=${TARGET_ARCH} -C BaseTools
@@ -177,6 +149,9 @@ src_install() {
insinto /usr/share/qemu/firmware
doins qemu/*
+ rm "${ED}"/usr/share/qemu/firmware/40-edk2-ovmf-x64-sb-enrolled.json || die "rm failed"
+
+ secureboot_auto_sign --in-place
readme.gentoo_create_doc
}
diff --git a/sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-binutils-2.41-textrels.patch b/sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-binutils-2.41-textrels.patch
new file mode 100644
index 000000000000..22d33c9097aa
--- /dev/null
+++ b/sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-binutils-2.41-textrels.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/913110
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -1906,7 +1906,7 @@ DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z comm
+ DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
+ DEFINE GCC48_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
+@@ -1929,7 +1929,7 @@ DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pi
+ DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)
+ DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
+ DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
+ DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+ DEFINE GCC49_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
diff --git a/sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-lld-textrels.patch b/sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-lld-textrels.patch
new file mode 100644
index 000000000000..eb8b6296fcff
--- /dev/null
+++ b/sys-firmware/edk2-ovmf/files/edk2-ovmf-202202-lld-textrels.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/913110
+https://github.com/tianocore/edk2/commit/a257988f590ba90dd8394dd6bc7014ae9d814a08
+
+From a257988f590ba90dd8394dd6bc7014ae9d814a08 Mon Sep 17 00:00:00 2001
+From: Ard Biesheuvel <ardb@kernel.org>
+Date: Mon, 3 Apr 2023 22:29:15 +0800
+Subject: [PATCH] BaseTools/tools_def CLANGDWARF: Permit text relocations
+
+We rely on PIE executables to get the codegen that is suitable for
+PE/COFF conversion where the resulting executables can be loaded
+anywhere in the address space.
+
+However, ELF linkers may default to disallowing text relocations in PIE
+executables, as this would require text segments to be updated at
+runtime, which is bad for security and increases the copy-on-write
+footprint of ELF executables and shared libraries.
+
+However, none of those concerns apply to PE/COFF executables in the
+context of EFI, which are copied into memory rather than mmap()'ed, and
+fixed up by the loader before launch.
+
+So pass -z notext to the LLD linker to permit runtime relocations in
+read-only sections.
+
+Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
+Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
+---
+ BaseTools/Conf/tools_def.template | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
+index 39c49b8001f4..9a5c11f6a385 100755
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -2870,7 +2870,7 @@ DEFINE CLANGDWARF_X64_PREFIX = ENV(CLANG_BIN)
+ DEFINE CLANGDWARF_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-q,--gc-sections -z max-page-size=0x40
+ DEFINE CLANGDWARF_DLINK2_FLAGS_COMMON = -Wl,--script=$(EDK_TOOLS_PATH)/Scripts/ClangBase.lds
+ DEFINE CLANGDWARF_IA32_X64_ASLDLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+-DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
++DEFINE CLANGDWARF_IA32_X64_DLINK_FLAGS = DEF(CLANGDWARF_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive -Wl,-z,notext
+ DEFINE CLANGDWARF_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
+ DEFINE CLANGDWARF_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(CLANGDWARF_DLINK2_FLAGS_COMMON)
+
diff --git a/sys-firmware/edk2-ovmf/metadata.xml b/sys-firmware/edk2-ovmf/metadata.xml
index 26afde23af57..eeff4b6986d3 100644
--- a/sys-firmware/edk2-ovmf/metadata.xml
+++ b/sys-firmware/edk2-ovmf/metadata.xml
@@ -12,4 +12,8 @@
<use>
<flag name="binary">Use pre-built binaries</flag>
</use>
+<upstream>
+ <remote-id type="github">tianocore/edk2</remote-id>
+ <remote-id type="cpe">cpe:/a:tianocore:edk2</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sys-firmware/firmware-imx/Manifest b/sys-firmware/firmware-imx/Manifest
index 1be082a21c9b..b6d1c1614069 100644
--- a/sys-firmware/firmware-imx/Manifest
+++ b/sys-firmware/firmware-imx/Manifest
@@ -1 +1 @@
-DIST firmware-imx-5.4.bin 429744 BLAKE2B a573f14d2c7cb35a1129bf5b1ebc31126ebb23b4a5d4ba407ddb432148d34f27e94990ca2b8dbe6083905f3504ca3db19966283b33657e2a2b0b5ed4cd8c0c79 SHA512 0c9d6e80a67d15518212573dbfe8addd6c7c5c8065f077bb58f6904c6d288c718d0b3dc4ed4735941d22bc9116a4986fb268327e2c1adcc6523ff84fa93c6b64
+DIST firmware-imx-8.18.bin 1513050 BLAKE2B ce4a8939f11a6580859d208164b225f7ce6bdd225f8488514727bb82360f6edb426a20f61e374cd7e72c32282284a1688368abff683a2907f0dbc12b7ca9379c SHA512 e0b0a73f53e3d97035fadc64f84ba8c3dc73a58db66107cfffc0f9938fa1ad4eb4e1d96a8f23f44ba9711305d5b4dbdf25a9333cce99c6d37aea492d65ae913a
diff --git a/sys-firmware/firmware-imx/firmware-imx-5.4.ebuild b/sys-firmware/firmware-imx/firmware-imx-8.18.ebuild
index 106878d131a0..1ca9ce550781 100644
--- a/sys-firmware/firmware-imx/firmware-imx-5.4.ebuild
+++ b/sys-firmware/firmware-imx/firmware-imx-8.18.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="NXP i.MX firmware"
HOMEPAGE="https://www.timesys.com/"
@@ -18,12 +18,7 @@ src_unpack() {
unpack "./${P}.tar.bz2"
}
-src_prepare() {
- default
- find -name "*.mk" | xargs rm -v || die
-}
-
src_install() {
insinto /lib/firmware
- doins -r epdc sdma vpu
+ doins -r */
}
diff --git a/sys-firmware/intel-microcode/Manifest b/sys-firmware/intel-microcode/Manifest
index 9c39469a906a..15207ee0441e 100644
--- a/sys-firmware/intel-microcode/Manifest
+++ b/sys-firmware/intel-microcode/Manifest
@@ -1,9 +1,16 @@
-DIST intel-microcode-collection-20201116.tar.xz 6506624 BLAKE2B b74ec0ddafe9681ae94d6a0df1de51655004eecae83c413fa824c9ad25cf68a25059627e2809a3b8cd5b3cb18647455385de0be2b2a7fcc6bc6c30e2ccabd1af SHA512 3a1aab0af9ff6dc95778276964b457a4429aa12f13499f6f89fa48285cf8aef9a0990099a80e360b76b2d4b6a836f2528f984aab17f12d905cf237dbab2a8b33
-DIST intel-microcode-collection-20210221.tar.xz 6690716 BLAKE2B 09758341d20d60b739c4859442457fcc4ce563327dd7f14e8a626f49198d3beb59ef580530500a2dacb5ab9832119e8d489f553ccffc56613b31df027eb93e98 SHA512 e3bb3644c46ee41752bbd21c56e69144d23dab9162ebfe9906a07ff646b7ba57d14b0280b044bf7ceab771fe80e75d7aed3808b68b823ae19bc0c7c4a94589dd
-DIST intel-microcode-collection-20210514.tar.xz 7907672 BLAKE2B d5226008e50e804c0acfa648393032b08a317572be1e38743721613000dede886d3885b36f7fa4a9c061e72855fc0ad409ce3299f679afc866abda7d29c9512a SHA512 fc4fcd3e2c4f1abdf5c0d23c1c0ac2f8c572531dadbc9a070c38150ec939cd4e2b13226b86df2371eb0679cef96307262d0356f2e617773c51c53f3e440894d2
-DIST intel-microcode-collection-20210608.tar.xz 8012692 BLAKE2B 98df9d18658bfdf06ac7db84ac30707fe8834874583b324ebc882b514975d71b686788fcd1c9b9c5b05448403b27524e29a94ade34facdffb1645333059019a9 SHA512 7fd810cf05334f6442b9a0c77aef5319d3e2006e887d0354dee952647ded3fa6331a30192abf82eda0676af0439b40f5e3ab0210611f96c78fe52f01f106c5d4
-DIST intel-microcode-collection-20210830.tar.xz 8681768 BLAKE2B 84f098285ed0b79b953e1f54b9ca077e42e7a2b6b28e862dddcb23a546ebebdd5afb9e54215b6c6493b72bf82121ace4b06f759413d3745571ff8156db52d6b1 SHA512 8a6a7376524888b0e89f9fd9a592d52a3859f4ddf1d961484b60d77098faa6984c5e8efc9cf4258a943cfc2c3503dbb87989868962a7ad8028c391d897e212b6
+DIST intel-microcode-collection-20221102.tar.xz 11125112 BLAKE2B 6054a3278b694ee4b1d1a92ad586ce37cbbfbead1fc7100541f7b71fb0b9e0eb9fd9560a459f8ba861eb95595a89b79e8dbb8ef2e70ef6513245e206fecd3667 SHA512 76426f6f491a17302bc312cfd1d58849d42ffa8d454c05ab086f493de20cd24d328a7b05689493e1fa70c025097c61fd09fd765bc02485ba6efe81d0fac014cd
+DIST intel-microcode-collection-20230212.tar.xz 13213352 BLAKE2B b2548908632cc65e997186e7af60a35ba4a44edb88263f5018c1cc9619299816c6184352653076413b95fb914f799b765e4fa6a5c46513d1425bde353e4dcde2 SHA512 27f2aacbf409acb005f83f0f486b59128ebac4c8d6b1b329cff7e33b237a8d47e579c6afb064d7a9ff634ad652ae0c2b9bc9302e6269007e12bd4aa391075430
+DIST intel-microcode-collection-20230512.tar.xz 12924124 BLAKE2B 3593d9dd9d46281471e1ef335bb8e3fccee99cf484256b9f3b1f2fd0af1d1266c0237bf7cf97314e229f0e3ae622de68bdbe2cf3d9ed4b74ca9189f2aa7bf226 SHA512 9d65406898a8e82e66ab9ff684166eaf61a2b42c765d6f55603985176cdf7600b1f95626da0f1fc25d781212ce2c80ac108d0174371390e0e2c2ab7dd48c7b0d
+DIST intel-microcode-collection-20230520.tar.xz 12720520 BLAKE2B 804579eb05c5b8835565dec3560d059f909d13da853d37c79ddbaa049b94f96e811a2240ab043dfdbf59074e683383f5c17e76ceb0e7f6cccffdaad330bf7de1 SHA512 6302866edf5a5209f8dfc80817fe306fc11376ac7d70450f32e38483902c428365fb553c57e989a6ca6e1cf07573352c9b500764250a815c4aff6b9f6b6d47fb
+DIST intel-microcode-collection-20230804.tar.xz 12972872 BLAKE2B b2d04ad679b537fbcff7327e4eb9de5d989a3bc6057f4ef339908921fb71275f8374d1db1234f36dd8b07587133c4d2e59f1910f854038253d4cd36d5e6d2dcf SHA512 9e47ee898b5ea1da3fc115de6e8f9e5e6b2eeb74a178c3226cb2bbdf0b1677ac95c40f5d4d874c7e054bf8293e4c2457e32c953a371ab34dd16c43841412f71e
+DIST intel-microcode-collection-20231007.tar.xz 13997252 BLAKE2B fdd9f42c1b8945c4fdc9eed3b07959ac193df365dce7ff0f81c5f10916581914800701a57f9a57822369967a24cb092acb770f79815c5f595633f3e19a3e3fb5 SHA512 59fe08497c8c4a137c7212a8cc4bd038a740059059ae938dff7759c6797a29d008df7661c7f0fb20ea673f12df40479866d62278bb58a79e78789704a76cfc88
+DIST intel-microcode-collection-20231114.tar.xz 13782912 BLAKE2B 65e2e8753e41fb140abdcc821b6fcdf9b930bcfcd24dcf523ab334c7cbfe1ce2f891b8c4385adb2a6ab4896a08215f140698a028265d0bfbc18b6fbd66720b3c SHA512 c9e590053f2fcd8882727476ea08c7ff68d2f65487c87845513c0037f741e4548b56bee69b0c05b864f92f23e1453f638e5547f716319a861c4f0de8f51a39da
+DIST intel-microcode-collection-20240312.tar.xz 13484040 BLAKE2B 947f78698211b372472629e7fdf076021db97f156d812ec2a84c5ab3d5ee374e04191f7881c956c261c6a6a5935b2c779b837879677ee98d44cf8c753a4393b8 SHA512 de577f232035a92ce563475edb4572c6fa40a0a2ee8e76b858de1ca42f905d366d107bf02e4968127ad6fe150baf37e11ed93191e40c1c5913ba34fe77184c00
DIST intel-ucode-sig_0x406e3-rev_0xd6.bin 101376 BLAKE2B 66d55867954d69dda1425febd93bb8c89f7aa836d504f8b5fee127f8505bcf2246f4fcc55cc245bc5e532528d60cca2eee278de7ab5174dc2862db7982a2b36f SHA512 248066b521bf512b5d8e4a8c7e921464ce52169c954d6e4ca580d8c172cd789519e22b4cf56c212e452b4191741f0202019f7061d322c9433b5af9ce5413b567
-DIST microcode-20201112.tar.gz 3610834 BLAKE2B 4212924f1673afded961266a25fe6063ec6cdafaa26c8bee1c42372eb8ab5f278dc2501615b23e09e2f9809bf2792a8db317c98c170bf0c5e1dd62b7dc80a084 SHA512 0875675d065a83ee14fa34a31022ee34e46aee579d1ff192414e79861af157ae269ca7c2c462f03b3accbd45590c76e5cbf4f53d7a6ed237e410213a96459211
-DIST microcode-20210216.tar.gz 3506111 BLAKE2B e09ab59dcccc77c15545b119dcf5309e626d53649a601c49fc7d6a65d774b8016d9ad44783f75ceb4bf384a03b909bc28693ed2be9f047029342dca9beae9cae SHA512 211ed90a248c891224bb8c569e24c04410d3f67ecc6daee41dc025042bd51c257baaba0da1ac5327df76352d2b53d812e81f06cc8726e43b95ea2f8898bc00bf
-DIST microcode-20210608.tar.gz 4782451 BLAKE2B 2eac43aaa7832365e428bf2de20797ef42293a53087545920d205bd3b11a3d8ca2afb33931af5d36b8f3a224b9c22ed89ff828acc8afdcfa1b8220884c55ae89 SHA512 61acd2e76aa019fa0002fbf56c503791080a937ff93d81e020f8f0cc089dc08928b4c7e9884f713b886e2f9d4a8409fea59e39f628ef534a588515e1c3fc861d
+DIST microcode-20221108.tar.gz 6436305 BLAKE2B e149e001656f45e8da9a83817a6f83fc6663edbfc8a98b27ab4f9d326f0999921aea03f1ea3628d35978ad5534e017f2d394d1d00d0c992aee54a539a582abf2 SHA512 d86bee1269d31d3028f0d2b7d4886795b96d8f1f9d5dbd5149c2dd4cec3b0319fd869f8138f283e2135ecb0bb6387cfd3c2ef1f597b4194a250ac4f2df7f15a4
+DIST microcode-20230214.tar.gz 12088391 BLAKE2B d98d054a8cfd66e3d0549d1e8f4a4745cad342d45f36a82d2f2f51fedc29635125fdad95ee4970069e134facc1ab3092b97837c6f8744ffedf220a5d3d022dd5 SHA512 6456cd6719923eeacb1f9d6d7372efd2bcd0de9e04350c722543ff41e45c7715ba52a2d330ad5818fbf44ea9df6b2ac482d6f8bd420b191427881dcfe3bd81e2
+DIST microcode-20230512.tar.gz 12654272 BLAKE2B 302aedf0b57719d1009be0dea513da7290b41842117951a0081f866024d5380c65850638ee3d2e87c8d9efcac4da58650463b0c31373d661fe74b8a3a380e099 SHA512 e21c82846f7f5e2c8d9559931e90389a7d21f8a59fbdec4c5b11fe43f010a21d3e9f27d67be12fe98b3dbdf26558a8ed74dc149bedd93f4b7728795dc6e86d48
+DIST microcode-20230613.tar.gz 12338446 BLAKE2B 56bffb26687fd3a20b79b4540ae10c98b2875e3edb84583b679ddc75e339193db4bddece25c7e5cb26b79f5e6ce2d10fcc318c55e13c05d8611198e4c571354b SHA512 460e46d20f71df1247affa2ca397b961ce3d77e3456144c6b7358e48c3239e9c077ff4c512b0c4b7d9a86f33fed094db8b3ac65b1a4047bb853212848d929639
+DIST microcode-20230808.tar.gz 13011561 BLAKE2B 400ba9b91a7048c780377d49ff6cb00458c60a9d53c2e5cef1eb99170ca8f0cad66336841d14869bd42d182f7d8df27a2fa9cb982b0df0c5fc9f62325b6acb69 SHA512 8316eb9d35b315e630c6c9fab1ba601b91e72cc42926ef14e7c2b77e7025d276ae06c143060f44cd1a873d3879c067d11ad82e1886c796e6be6bf466243ad85b
+DIST microcode-20231114.tar.gz 12466839 BLAKE2B e6084c92e9c3cc627af25a7f2f7fb26230b6ed117ddc197d19991df2816334132af92925f23af829bad005c32d0bd3afc362055ef223a599799d846216cf7612 SHA512 a684444ef81e81687ff43b8255e95675eed1d728053bb1a483a60e94e2d2d43f10fc12522510b22daf90c4debd8f035e6b9a565813aa799c2e1e3a464124f59b
+DIST microcode-20240312.tar.gz 12825665 BLAKE2B 43c771becef0f6dbfd41bf78a9a3cc8f6679a43ea48765d0e7f555c138dca6e3db42a4d33f743d8d51f38b0b6aa69322bba0c00ae9f1ff4c533b52166ee54747 SHA512 f5f3dfb1706675060b00057b5f017c2cb4ac0df74727139185fd167ca67fc6c611e205b1caeded23b006e4d8d314f87537007e7bafba2c87373f6d960988c911
diff --git a/sys-firmware/intel-microcode/intel-microcode-20210608_p20210830.ebuild b/sys-firmware/intel-microcode/intel-microcode-20210608_p20210830.ebuild
deleted file mode 100644
index 0a8e3fc79f0d..000000000000
--- a/sys-firmware/intel-microcode/intel-microcode-20210608_p20210830.ebuild
+++ /dev/null
@@ -1,262 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit linux-info toolchain-funcs mount-boot
-
-# Find updates by searching and clicking the first link (hopefully it's the one):
-# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
-
-COLLECTION_SNAPSHOT="${PV##*_p}"
-INTEL_SNAPSHOT="${PV/_p*}"
-#NUM="28087"
-#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}
-#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz
-DESCRIPTION="Intel IA32/IA64 microcode update data"
-HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files http://inertiawar.com/microcode/"
-SRC_URI="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
- https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
- https://dev.gentoo.org/~whissi/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
-
-LICENSE="intel-ucode"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="hostonly initramfs +split-ucode vanilla"
-REQUIRED_USE="|| ( initramfs split-ucode )"
-
-BDEPEND=">=sys-apps/iucode_tool-2.3"
-
-# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
-RDEPEND="hostonly? ( sys-apps/iucode_tool )"
-
-RESTRICT="binchecks bindist mirror strip"
-
-S=${WORKDIR}
-
-# Blacklist bad microcode here.
-# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
-MICROCODE_BLACKLIST_DEFAULT="-s !0x000406f1"
-
-# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
-MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00dc"
-
-# https://bugs.gentoo.org/722768
-MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00da"
-
-# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/commit/49bb67f32a2e3e631ba1a9a73da1c52e1cac7fd9
-MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000806c1,0x80,eq:0x0068"
-
-# In case we want to set some defaults ...
-MICROCODE_SIGNATURES_DEFAULT=""
-
-# Advanced users only!
-# Set MIRCOCODE_SIGNATURES to merge with:
-# only current CPU: MICROCODE_SIGNATURES="-S"
-# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
-# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
-
-pkg_pretend() {
- use initramfs && mount-boot_pkg_pretend
-}
-
-src_prepare() {
- default
-
- if cd Intel-Linux-Processor-Microcode-Data* &>/dev/null; then
- # new tarball format from GitHub
- mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*"
- cd .. || die
- rm -r Intel-Linux-Processor-Microcode-Data* || die
- fi
-
- mkdir intel-ucode-old || die
- cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die
-
- # Prevent "invalid file format" errors from iucode_tool
- rm -f "${S}"/intel-ucod*/list || die
-}
-
-src_install() {
- # This will take ALL of the upstream microcode sources:
- # - microcode.dat
- # - intel-ucode/
- # In some cases, they have not contained the same content (eg the directory has newer stuff).
- MICROCODE_SRC=(
- "${S}"/intel-ucode/
- "${S}"/intel-ucode-with-caveats/
- "${S}"/intel-ucode-old/
- )
-
- # Allow users who are scared about microcode updates not included in Intel's official
- # microcode tarball to opt-out and comply with Intel marketing
- if ! use vanilla; then
- MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} )
- fi
-
- # These will carry into pkg_preinst via env saving.
- : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}}
- : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}}
-
- opts=(
- ${MICROCODE_BLACKLIST}
- ${MICROCODE_SIGNATURES}
- # be strict about what we are doing
- --overwrite
- --strict-checks
- --no-ignore-broken
- # we want to install latest version
- --no-downgrade
- # show everything we find
- --list-all
- # show what we selected
- --list
- )
-
- # The earlyfw cpio needs to be in /boot because it must be loaded before
- # rootfs is mounted.
- use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
-
- keepdir /lib/firmware/intel-ucode
- opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
-
- iucode_tool \
- "${opts[@]}" \
- "${MICROCODE_SRC[@]}" \
- || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}"
-
- dodoc releasenote.md
-}
-
-pkg_preinst() {
- if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then
- ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!"
- fi
-
- if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
- ewarn "Package was created using advanced options:"
- ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!"
- fi
-
- # Make sure /boot is available if needed.
- use initramfs && mount-boot_pkg_preinst
-
- local _initramfs_file="${ED}/boot/intel-uc.img"
-
- if use hostonly; then
- # While this output looks redundant we do this check to detect
- # rare cases where iucode_tool was unable to detect system's processor(s).
- local _detected_processors=$(iucode_tool --scan-system 2>&1)
- if [[ -z "${_detected_processors}" ]]; then
- ewarn "Looks like iucode_tool was unable to detect any processor!"
- else
- einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..."
- fi
-
- opts=(
- --scan-system
- # be strict about what we are doing
- --overwrite
- --strict-checks
- --no-ignore-broken
- # we want to install latest version
- --no-downgrade
- # show everything we find
- --list-all
- # show what we selected
- --list
- )
-
- # The earlyfw cpio needs to be in /boot because it must be loaded before
- # rootfs is mounted.
- use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
-
- if use split-ucode; then
- opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
- fi
-
- opts+=( "${ED}/lib/firmware/intel-ucode-temp" )
-
- mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die
- keepdir /lib/firmware/intel-ucode
-
- iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}"
-
- rm -r "${ED}"/lib/firmware/intel-ucode-temp || die
-
- elif ! use split-ucode; then # hostonly disabled
- rm -r "${ED}"/lib/firmware/intel-ucode || die
- fi
-
- # Because it is possible that this package will install not one single file
- # due to user selection which is still somehow unexpected we add the following
- # check to inform user so that the user has at least a chance to detect
- # a problem/invalid select.
- local _has_installed_something=
- if use initramfs && [[ -s "${_initramfs_file}" ]]; then
- _has_installed_something="yes"
- elif use split-ucode; then
- _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;)
- fi
-
- if use hostonly && [[ -n "${_has_installed_something}" ]]; then
- elog "You only installed ucode(s) for all currently available (=online)"
- elog "processor(s). Remember to re-emerge this package whenever you"
- elog "change the system's processor model."
- elog ""
- elif [[ -z "${_has_installed_something}" ]]; then
- ewarn "WARNING:"
- if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
- ewarn "No ucode was installed! Because you have created this package"
- ewarn "using MICROCODE_SIGNATURES variable please double check if you"
- ewarn "have an invalid select."
- ewarn "It's rare but it is also possible that just no ucode update"
- ewarn "is available for your processor(s). In this case it is safe"
- ewarn "to ignore this warning."
- else
- ewarn "No ucode was installed! It's rare but it is also possible"
- ewarn "that just no ucode update is available for your processor(s)."
- ewarn "In this case it is safe to ignore this warning."
- fi
-
- ewarn ""
-
- if use hostonly; then
- ewarn "Unset \"hostonly\" USE flag to install all available ucodes."
- ewarn ""
- fi
- fi
-}
-
-pkg_prerm() {
- # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
- use initramfs && mount-boot_pkg_prerm
-}
-
-pkg_postrm() {
- # Don't forget to umount /boot if it was previously mounted by us.
- use initramfs && mount-boot_pkg_postrm
-}
-
-pkg_postinst() {
- # Don't forget to umount /boot if it was previously mounted by us.
- use initramfs && mount-boot_pkg_postinst
-
- # We cannot give detailed information if user is affected or not:
- # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES
- # to to force a specific, otherwise blacklisted, microcode. So we
- # only show a generic warning based on running kernel version:
- if kernel_is -lt 4 14 34; then
- ewarn "${P} contains microcode updates which require"
- ewarn "additional kernel patches which aren't yet included in kernel <4.14.34."
- ewarn "Loading such a microcode through kernel interface from an unpatched kernel"
- ewarn "can crash your system!"
- ewarn ""
- ewarn "Those microcodes are blacklisted per default. However, if you have altered"
- ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally"
- ewarn "re-enabled those microcodes...!"
- ewarn ""
- ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update"
- ewarn "requires additional kernel patches or not."
- fi
-}
diff --git a/sys-firmware/intel-microcode/intel-microcode-20201112_p20201116-r1.ebuild b/sys-firmware/intel-microcode/intel-microcode-20221108_p20221102.ebuild
index a162e73196e8..006f4811618a 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20201112_p20201116-r1.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20221108_p20221102.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-inherit linux-info toolchain-funcs mount-boot
+inherit linux-info mount-boot
# Find updates by searching and clicking the first link (hopefully it's the one):
# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
@@ -17,7 +17,8 @@ DESCRIPTION="Intel IA32/IA64 microcode update data"
HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files http://inertiawar.com/microcode/"
SRC_URI="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
- https://dev.gentoo.org/~whissi/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
LICENSE="intel-ucode"
SLOT="0"
@@ -30,7 +31,7 @@ BDEPEND=">=sys-apps/iucode_tool-2.3"
# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
RDEPEND="hostonly? ( sys-apps/iucode_tool )"
-RESTRICT="binchecks bindist mirror strip"
+RESTRICT="binchecks strip"
S=${WORKDIR}
@@ -56,6 +57,17 @@ MICROCODE_SIGNATURES_DEFAULT=""
# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+# Package Maintenance instructions :
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files\
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+
pkg_pretend() {
use initramfs && mount-boot_pkg_pretend
}
@@ -75,6 +87,13 @@ src_prepare() {
# Prevent "invalid file format" errors from iucode_tool
rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
}
src_install() {
diff --git a/sys-firmware/intel-microcode/intel-microcode-20210216_p20210221.ebuild b/sys-firmware/intel-microcode/intel-microcode-20230214_p20230212.ebuild
index 0a8e3fc79f0d..d0d809679e8d 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20210216_p20210221.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20230214_p20230212.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit linux-info toolchain-funcs mount-boot
+inherit linux-info mount-boot
# Find updates by searching and clicking the first link (hopefully it's the one):
# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
@@ -17,7 +17,8 @@ DESCRIPTION="Intel IA32/IA64 microcode update data"
HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files http://inertiawar.com/microcode/"
SRC_URI="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
- https://dev.gentoo.org/~whissi/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
LICENSE="intel-ucode"
SLOT="0"
@@ -30,7 +31,7 @@ BDEPEND=">=sys-apps/iucode_tool-2.3"
# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
RDEPEND="hostonly? ( sys-apps/iucode_tool )"
-RESTRICT="binchecks bindist mirror strip"
+RESTRICT="binchecks strip"
S=${WORKDIR}
@@ -56,6 +57,17 @@ MICROCODE_SIGNATURES_DEFAULT=""
# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+# Package Maintenance instructions :
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+
pkg_pretend() {
use initramfs && mount-boot_pkg_pretend
}
@@ -75,6 +87,13 @@ src_prepare() {
# Prevent "invalid file format" errors from iucode_tool
rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
}
src_install() {
diff --git a/sys-firmware/intel-microcode/intel-microcode-20210216_p20210514.ebuild b/sys-firmware/intel-microcode/intel-microcode-20230512_p20230512.ebuild
index 0a8e3fc79f0d..d0d809679e8d 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20210216_p20210514.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20230512_p20230512.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit linux-info toolchain-funcs mount-boot
+inherit linux-info mount-boot
# Find updates by searching and clicking the first link (hopefully it's the one):
# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
@@ -17,7 +17,8 @@ DESCRIPTION="Intel IA32/IA64 microcode update data"
HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files http://inertiawar.com/microcode/"
SRC_URI="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
- https://dev.gentoo.org/~whissi/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
LICENSE="intel-ucode"
SLOT="0"
@@ -30,7 +31,7 @@ BDEPEND=">=sys-apps/iucode_tool-2.3"
# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
RDEPEND="hostonly? ( sys-apps/iucode_tool )"
-RESTRICT="binchecks bindist mirror strip"
+RESTRICT="binchecks strip"
S=${WORKDIR}
@@ -56,6 +57,17 @@ MICROCODE_SIGNATURES_DEFAULT=""
# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+# Package Maintenance instructions :
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+
pkg_pretend() {
use initramfs && mount-boot_pkg_pretend
}
@@ -75,6 +87,13 @@ src_prepare() {
# Prevent "invalid file format" errors from iucode_tool
rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
}
src_install() {
diff --git a/sys-firmware/intel-microcode/intel-microcode-20210608_p20210608.ebuild b/sys-firmware/intel-microcode/intel-microcode-20230613_p20230520.ebuild
index 0a8e3fc79f0d..5d1ff1e7f4be 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20210608_p20210608.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20230613_p20230520.ebuild
@@ -1,39 +1,57 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit linux-info toolchain-funcs mount-boot
+inherit linux-info mount-boot
# Find updates by searching and clicking the first link (hopefully it's the one):
# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
+#
+#
+# Package Maintenance instructions:
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+#
+# PV:
+# * the first date is upstream
+# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection
COLLECTION_SNAPSHOT="${PV##*_p}"
INTEL_SNAPSHOT="${PV/_p*}"
#NUM="28087"
+
#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}
#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz
+
DESCRIPTION="Intel IA32/IA64 microcode update data"
-HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files http://inertiawar.com/microcode/"
-SRC_URI="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
+HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/"
+SRC_URI="
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
- https://dev.gentoo.org/~whissi/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz"
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+"
+S="${WORKDIR}"
LICENSE="intel-ucode"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE="hostonly initramfs +split-ucode vanilla"
REQUIRED_USE="|| ( initramfs split-ucode )"
+RESTRICT="binchecks strip"
BDEPEND=">=sys-apps/iucode_tool-2.3"
-
# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
RDEPEND="hostonly? ( sys-apps/iucode_tool )"
-RESTRICT="binchecks bindist mirror strip"
-
-S=${WORKDIR}
-
# Blacklist bad microcode here.
# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
MICROCODE_BLACKLIST_DEFAULT="-s !0x000406f1"
@@ -75,6 +93,13 @@ src_prepare() {
# Prevent "invalid file format" errors from iucode_tool
rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
}
src_install() {
diff --git a/sys-firmware/intel-microcode/intel-microcode-20230808_p20230804.ebuild b/sys-firmware/intel-microcode/intel-microcode-20230808_p20230804.ebuild
new file mode 100644
index 000000000000..5d1ff1e7f4be
--- /dev/null
+++ b/sys-firmware/intel-microcode/intel-microcode-20230808_p20230804.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info mount-boot
+
+# Find updates by searching and clicking the first link (hopefully it's the one):
+# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
+#
+#
+# Package Maintenance instructions:
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+#
+# PV:
+# * the first date is upstream
+# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection
+
+COLLECTION_SNAPSHOT="${PV##*_p}"
+INTEL_SNAPSHOT="${PV/_p*}"
+#NUM="28087"
+
+#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}
+#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz
+
+DESCRIPTION="Intel IA32/IA64 microcode update data"
+HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/"
+SRC_URI="
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+"
+S="${WORKDIR}"
+
+LICENSE="intel-ucode"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="hostonly initramfs +split-ucode vanilla"
+REQUIRED_USE="|| ( initramfs split-ucode )"
+RESTRICT="binchecks strip"
+
+BDEPEND=">=sys-apps/iucode_tool-2.3"
+# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
+RDEPEND="hostonly? ( sys-apps/iucode_tool )"
+
+# Blacklist bad microcode here.
+# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
+MICROCODE_BLACKLIST_DEFAULT="-s !0x000406f1"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00dc"
+
+# https://bugs.gentoo.org/722768
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00da"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/commit/49bb67f32a2e3e631ba1a9a73da1c52e1cac7fd9
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000806c1,0x80,eq:0x0068"
+
+# In case we want to set some defaults ...
+MICROCODE_SIGNATURES_DEFAULT=""
+
+# Advanced users only!
+# Set MIRCOCODE_SIGNATURES to merge with:
+# only current CPU: MICROCODE_SIGNATURES="-S"
+# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
+# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+
+pkg_pretend() {
+ use initramfs && mount-boot_pkg_pretend
+}
+
+src_prepare() {
+ default
+
+ if cd Intel-Linux-Processor-Microcode-Data* &>/dev/null; then
+ # new tarball format from GitHub
+ mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*"
+ cd .. || die
+ rm -r Intel-Linux-Processor-Microcode-Data* || die
+ fi
+
+ mkdir intel-ucode-old || die
+ cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die
+
+ # Prevent "invalid file format" errors from iucode_tool
+ rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
+}
+
+src_install() {
+ # This will take ALL of the upstream microcode sources:
+ # - microcode.dat
+ # - intel-ucode/
+ # In some cases, they have not contained the same content (eg the directory has newer stuff).
+ MICROCODE_SRC=(
+ "${S}"/intel-ucode/
+ "${S}"/intel-ucode-with-caveats/
+ "${S}"/intel-ucode-old/
+ )
+
+ # Allow users who are scared about microcode updates not included in Intel's official
+ # microcode tarball to opt-out and comply with Intel marketing
+ if ! use vanilla; then
+ MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} )
+ fi
+
+ # These will carry into pkg_preinst via env saving.
+ : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}}
+ : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}}
+
+ opts=(
+ ${MICROCODE_BLACKLIST}
+ ${MICROCODE_SIGNATURES}
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+
+ keepdir /lib/firmware/intel-ucode
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+
+ iucode_tool \
+ "${opts[@]}" \
+ "${MICROCODE_SRC[@]}" \
+ || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}"
+
+ dodoc releasenote.md
+}
+
+pkg_preinst() {
+ if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then
+ ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!"
+ fi
+
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "Package was created using advanced options:"
+ ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!"
+ fi
+
+ # Make sure /boot is available if needed.
+ use initramfs && mount-boot_pkg_preinst
+
+ local _initramfs_file="${ED}/boot/intel-uc.img"
+
+ if use hostonly; then
+ # While this output looks redundant we do this check to detect
+ # rare cases where iucode_tool was unable to detect system's processor(s).
+ local _detected_processors=$(iucode_tool --scan-system 2>&1)
+ if [[ -z "${_detected_processors}" ]]; then
+ ewarn "Looks like iucode_tool was unable to detect any processor!"
+ else
+ einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..."
+ fi
+
+ opts=(
+ --scan-system
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
+
+ if use split-ucode; then
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+ fi
+
+ opts+=( "${ED}/lib/firmware/intel-ucode-temp" )
+
+ mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die
+ keepdir /lib/firmware/intel-ucode
+
+ iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}"
+
+ rm -r "${ED}"/lib/firmware/intel-ucode-temp || die
+
+ elif ! use split-ucode; then # hostonly disabled
+ rm -r "${ED}"/lib/firmware/intel-ucode || die
+ fi
+
+ # Because it is possible that this package will install not one single file
+ # due to user selection which is still somehow unexpected we add the following
+ # check to inform user so that the user has at least a chance to detect
+ # a problem/invalid select.
+ local _has_installed_something=
+ if use initramfs && [[ -s "${_initramfs_file}" ]]; then
+ _has_installed_something="yes"
+ elif use split-ucode; then
+ _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;)
+ fi
+
+ if use hostonly && [[ -n "${_has_installed_something}" ]]; then
+ elog "You only installed ucode(s) for all currently available (=online)"
+ elog "processor(s). Remember to re-emerge this package whenever you"
+ elog "change the system's processor model."
+ elog ""
+ elif [[ -z "${_has_installed_something}" ]]; then
+ ewarn "WARNING:"
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "No ucode was installed! Because you have created this package"
+ ewarn "using MICROCODE_SIGNATURES variable please double check if you"
+ ewarn "have an invalid select."
+ ewarn "It's rare but it is also possible that just no ucode update"
+ ewarn "is available for your processor(s). In this case it is safe"
+ ewarn "to ignore this warning."
+ else
+ ewarn "No ucode was installed! It's rare but it is also possible"
+ ewarn "that just no ucode update is available for your processor(s)."
+ ewarn "In this case it is safe to ignore this warning."
+ fi
+
+ ewarn ""
+
+ if use hostonly; then
+ ewarn "Unset \"hostonly\" USE flag to install all available ucodes."
+ ewarn ""
+ fi
+ fi
+}
+
+pkg_prerm() {
+ # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
+ use initramfs && mount-boot_pkg_prerm
+}
+
+pkg_postrm() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postrm
+}
+
+pkg_postinst() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postinst
+
+ # We cannot give detailed information if user is affected or not:
+ # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES
+ # to to force a specific, otherwise blacklisted, microcode. So we
+ # only show a generic warning based on running kernel version:
+ if kernel_is -lt 4 14 34; then
+ ewarn "${P} contains microcode updates which require"
+ ewarn "additional kernel patches which aren't yet included in kernel <4.14.34."
+ ewarn "Loading such a microcode through kernel interface from an unpatched kernel"
+ ewarn "can crash your system!"
+ ewarn ""
+ ewarn "Those microcodes are blacklisted per default. However, if you have altered"
+ ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally"
+ ewarn "re-enabled those microcodes...!"
+ ewarn ""
+ ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update"
+ ewarn "requires additional kernel patches or not."
+ fi
+}
diff --git a/sys-firmware/intel-microcode/intel-microcode-20230808_p20231007.ebuild b/sys-firmware/intel-microcode/intel-microcode-20230808_p20231007.ebuild
new file mode 100644
index 000000000000..5d1ff1e7f4be
--- /dev/null
+++ b/sys-firmware/intel-microcode/intel-microcode-20230808_p20231007.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info mount-boot
+
+# Find updates by searching and clicking the first link (hopefully it's the one):
+# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
+#
+#
+# Package Maintenance instructions:
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+#
+# PV:
+# * the first date is upstream
+# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection
+
+COLLECTION_SNAPSHOT="${PV##*_p}"
+INTEL_SNAPSHOT="${PV/_p*}"
+#NUM="28087"
+
+#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}
+#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz
+
+DESCRIPTION="Intel IA32/IA64 microcode update data"
+HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/"
+SRC_URI="
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+"
+S="${WORKDIR}"
+
+LICENSE="intel-ucode"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="hostonly initramfs +split-ucode vanilla"
+REQUIRED_USE="|| ( initramfs split-ucode )"
+RESTRICT="binchecks strip"
+
+BDEPEND=">=sys-apps/iucode_tool-2.3"
+# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
+RDEPEND="hostonly? ( sys-apps/iucode_tool )"
+
+# Blacklist bad microcode here.
+# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
+MICROCODE_BLACKLIST_DEFAULT="-s !0x000406f1"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00dc"
+
+# https://bugs.gentoo.org/722768
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00da"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/commit/49bb67f32a2e3e631ba1a9a73da1c52e1cac7fd9
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000806c1,0x80,eq:0x0068"
+
+# In case we want to set some defaults ...
+MICROCODE_SIGNATURES_DEFAULT=""
+
+# Advanced users only!
+# Set MIRCOCODE_SIGNATURES to merge with:
+# only current CPU: MICROCODE_SIGNATURES="-S"
+# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
+# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+
+pkg_pretend() {
+ use initramfs && mount-boot_pkg_pretend
+}
+
+src_prepare() {
+ default
+
+ if cd Intel-Linux-Processor-Microcode-Data* &>/dev/null; then
+ # new tarball format from GitHub
+ mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*"
+ cd .. || die
+ rm -r Intel-Linux-Processor-Microcode-Data* || die
+ fi
+
+ mkdir intel-ucode-old || die
+ cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die
+
+ # Prevent "invalid file format" errors from iucode_tool
+ rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
+}
+
+src_install() {
+ # This will take ALL of the upstream microcode sources:
+ # - microcode.dat
+ # - intel-ucode/
+ # In some cases, they have not contained the same content (eg the directory has newer stuff).
+ MICROCODE_SRC=(
+ "${S}"/intel-ucode/
+ "${S}"/intel-ucode-with-caveats/
+ "${S}"/intel-ucode-old/
+ )
+
+ # Allow users who are scared about microcode updates not included in Intel's official
+ # microcode tarball to opt-out and comply with Intel marketing
+ if ! use vanilla; then
+ MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} )
+ fi
+
+ # These will carry into pkg_preinst via env saving.
+ : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}}
+ : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}}
+
+ opts=(
+ ${MICROCODE_BLACKLIST}
+ ${MICROCODE_SIGNATURES}
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+
+ keepdir /lib/firmware/intel-ucode
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+
+ iucode_tool \
+ "${opts[@]}" \
+ "${MICROCODE_SRC[@]}" \
+ || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}"
+
+ dodoc releasenote.md
+}
+
+pkg_preinst() {
+ if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then
+ ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!"
+ fi
+
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "Package was created using advanced options:"
+ ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!"
+ fi
+
+ # Make sure /boot is available if needed.
+ use initramfs && mount-boot_pkg_preinst
+
+ local _initramfs_file="${ED}/boot/intel-uc.img"
+
+ if use hostonly; then
+ # While this output looks redundant we do this check to detect
+ # rare cases where iucode_tool was unable to detect system's processor(s).
+ local _detected_processors=$(iucode_tool --scan-system 2>&1)
+ if [[ -z "${_detected_processors}" ]]; then
+ ewarn "Looks like iucode_tool was unable to detect any processor!"
+ else
+ einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..."
+ fi
+
+ opts=(
+ --scan-system
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
+
+ if use split-ucode; then
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+ fi
+
+ opts+=( "${ED}/lib/firmware/intel-ucode-temp" )
+
+ mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die
+ keepdir /lib/firmware/intel-ucode
+
+ iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}"
+
+ rm -r "${ED}"/lib/firmware/intel-ucode-temp || die
+
+ elif ! use split-ucode; then # hostonly disabled
+ rm -r "${ED}"/lib/firmware/intel-ucode || die
+ fi
+
+ # Because it is possible that this package will install not one single file
+ # due to user selection which is still somehow unexpected we add the following
+ # check to inform user so that the user has at least a chance to detect
+ # a problem/invalid select.
+ local _has_installed_something=
+ if use initramfs && [[ -s "${_initramfs_file}" ]]; then
+ _has_installed_something="yes"
+ elif use split-ucode; then
+ _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;)
+ fi
+
+ if use hostonly && [[ -n "${_has_installed_something}" ]]; then
+ elog "You only installed ucode(s) for all currently available (=online)"
+ elog "processor(s). Remember to re-emerge this package whenever you"
+ elog "change the system's processor model."
+ elog ""
+ elif [[ -z "${_has_installed_something}" ]]; then
+ ewarn "WARNING:"
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "No ucode was installed! Because you have created this package"
+ ewarn "using MICROCODE_SIGNATURES variable please double check if you"
+ ewarn "have an invalid select."
+ ewarn "It's rare but it is also possible that just no ucode update"
+ ewarn "is available for your processor(s). In this case it is safe"
+ ewarn "to ignore this warning."
+ else
+ ewarn "No ucode was installed! It's rare but it is also possible"
+ ewarn "that just no ucode update is available for your processor(s)."
+ ewarn "In this case it is safe to ignore this warning."
+ fi
+
+ ewarn ""
+
+ if use hostonly; then
+ ewarn "Unset \"hostonly\" USE flag to install all available ucodes."
+ ewarn ""
+ fi
+ fi
+}
+
+pkg_prerm() {
+ # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
+ use initramfs && mount-boot_pkg_prerm
+}
+
+pkg_postrm() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postrm
+}
+
+pkg_postinst() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postinst
+
+ # We cannot give detailed information if user is affected or not:
+ # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES
+ # to to force a specific, otherwise blacklisted, microcode. So we
+ # only show a generic warning based on running kernel version:
+ if kernel_is -lt 4 14 34; then
+ ewarn "${P} contains microcode updates which require"
+ ewarn "additional kernel patches which aren't yet included in kernel <4.14.34."
+ ewarn "Loading such a microcode through kernel interface from an unpatched kernel"
+ ewarn "can crash your system!"
+ ewarn ""
+ ewarn "Those microcodes are blacklisted per default. However, if you have altered"
+ ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally"
+ ewarn "re-enabled those microcodes...!"
+ ewarn ""
+ ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update"
+ ewarn "requires additional kernel patches or not."
+ fi
+}
diff --git a/sys-firmware/intel-microcode/intel-microcode-20231114_p20231114.ebuild b/sys-firmware/intel-microcode/intel-microcode-20231114_p20231114.ebuild
new file mode 100644
index 000000000000..5d1ff1e7f4be
--- /dev/null
+++ b/sys-firmware/intel-microcode/intel-microcode-20231114_p20231114.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info mount-boot
+
+# Find updates by searching and clicking the first link (hopefully it's the one):
+# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
+#
+#
+# Package Maintenance instructions:
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+#
+# PV:
+# * the first date is upstream
+# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection
+
+COLLECTION_SNAPSHOT="${PV##*_p}"
+INTEL_SNAPSHOT="${PV/_p*}"
+#NUM="28087"
+
+#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}
+#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz
+
+DESCRIPTION="Intel IA32/IA64 microcode update data"
+HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/"
+SRC_URI="
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+"
+S="${WORKDIR}"
+
+LICENSE="intel-ucode"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="hostonly initramfs +split-ucode vanilla"
+REQUIRED_USE="|| ( initramfs split-ucode )"
+RESTRICT="binchecks strip"
+
+BDEPEND=">=sys-apps/iucode_tool-2.3"
+# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
+RDEPEND="hostonly? ( sys-apps/iucode_tool )"
+
+# Blacklist bad microcode here.
+# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
+MICROCODE_BLACKLIST_DEFAULT="-s !0x000406f1"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00dc"
+
+# https://bugs.gentoo.org/722768
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00da"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/commit/49bb67f32a2e3e631ba1a9a73da1c52e1cac7fd9
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000806c1,0x80,eq:0x0068"
+
+# In case we want to set some defaults ...
+MICROCODE_SIGNATURES_DEFAULT=""
+
+# Advanced users only!
+# Set MIRCOCODE_SIGNATURES to merge with:
+# only current CPU: MICROCODE_SIGNATURES="-S"
+# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
+# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+
+pkg_pretend() {
+ use initramfs && mount-boot_pkg_pretend
+}
+
+src_prepare() {
+ default
+
+ if cd Intel-Linux-Processor-Microcode-Data* &>/dev/null; then
+ # new tarball format from GitHub
+ mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*"
+ cd .. || die
+ rm -r Intel-Linux-Processor-Microcode-Data* || die
+ fi
+
+ mkdir intel-ucode-old || die
+ cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die
+
+ # Prevent "invalid file format" errors from iucode_tool
+ rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
+}
+
+src_install() {
+ # This will take ALL of the upstream microcode sources:
+ # - microcode.dat
+ # - intel-ucode/
+ # In some cases, they have not contained the same content (eg the directory has newer stuff).
+ MICROCODE_SRC=(
+ "${S}"/intel-ucode/
+ "${S}"/intel-ucode-with-caveats/
+ "${S}"/intel-ucode-old/
+ )
+
+ # Allow users who are scared about microcode updates not included in Intel's official
+ # microcode tarball to opt-out and comply with Intel marketing
+ if ! use vanilla; then
+ MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} )
+ fi
+
+ # These will carry into pkg_preinst via env saving.
+ : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}}
+ : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}}
+
+ opts=(
+ ${MICROCODE_BLACKLIST}
+ ${MICROCODE_SIGNATURES}
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+
+ keepdir /lib/firmware/intel-ucode
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+
+ iucode_tool \
+ "${opts[@]}" \
+ "${MICROCODE_SRC[@]}" \
+ || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}"
+
+ dodoc releasenote.md
+}
+
+pkg_preinst() {
+ if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then
+ ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!"
+ fi
+
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "Package was created using advanced options:"
+ ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!"
+ fi
+
+ # Make sure /boot is available if needed.
+ use initramfs && mount-boot_pkg_preinst
+
+ local _initramfs_file="${ED}/boot/intel-uc.img"
+
+ if use hostonly; then
+ # While this output looks redundant we do this check to detect
+ # rare cases where iucode_tool was unable to detect system's processor(s).
+ local _detected_processors=$(iucode_tool --scan-system 2>&1)
+ if [[ -z "${_detected_processors}" ]]; then
+ ewarn "Looks like iucode_tool was unable to detect any processor!"
+ else
+ einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..."
+ fi
+
+ opts=(
+ --scan-system
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
+
+ if use split-ucode; then
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+ fi
+
+ opts+=( "${ED}/lib/firmware/intel-ucode-temp" )
+
+ mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die
+ keepdir /lib/firmware/intel-ucode
+
+ iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}"
+
+ rm -r "${ED}"/lib/firmware/intel-ucode-temp || die
+
+ elif ! use split-ucode; then # hostonly disabled
+ rm -r "${ED}"/lib/firmware/intel-ucode || die
+ fi
+
+ # Because it is possible that this package will install not one single file
+ # due to user selection which is still somehow unexpected we add the following
+ # check to inform user so that the user has at least a chance to detect
+ # a problem/invalid select.
+ local _has_installed_something=
+ if use initramfs && [[ -s "${_initramfs_file}" ]]; then
+ _has_installed_something="yes"
+ elif use split-ucode; then
+ _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;)
+ fi
+
+ if use hostonly && [[ -n "${_has_installed_something}" ]]; then
+ elog "You only installed ucode(s) for all currently available (=online)"
+ elog "processor(s). Remember to re-emerge this package whenever you"
+ elog "change the system's processor model."
+ elog ""
+ elif [[ -z "${_has_installed_something}" ]]; then
+ ewarn "WARNING:"
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "No ucode was installed! Because you have created this package"
+ ewarn "using MICROCODE_SIGNATURES variable please double check if you"
+ ewarn "have an invalid select."
+ ewarn "It's rare but it is also possible that just no ucode update"
+ ewarn "is available for your processor(s). In this case it is safe"
+ ewarn "to ignore this warning."
+ else
+ ewarn "No ucode was installed! It's rare but it is also possible"
+ ewarn "that just no ucode update is available for your processor(s)."
+ ewarn "In this case it is safe to ignore this warning."
+ fi
+
+ ewarn ""
+
+ if use hostonly; then
+ ewarn "Unset \"hostonly\" USE flag to install all available ucodes."
+ ewarn ""
+ fi
+ fi
+}
+
+pkg_prerm() {
+ # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
+ use initramfs && mount-boot_pkg_prerm
+}
+
+pkg_postrm() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postrm
+}
+
+pkg_postinst() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postinst
+
+ # We cannot give detailed information if user is affected or not:
+ # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES
+ # to to force a specific, otherwise blacklisted, microcode. So we
+ # only show a generic warning based on running kernel version:
+ if kernel_is -lt 4 14 34; then
+ ewarn "${P} contains microcode updates which require"
+ ewarn "additional kernel patches which aren't yet included in kernel <4.14.34."
+ ewarn "Loading such a microcode through kernel interface from an unpatched kernel"
+ ewarn "can crash your system!"
+ ewarn ""
+ ewarn "Those microcodes are blacklisted per default. However, if you have altered"
+ ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally"
+ ewarn "re-enabled those microcodes...!"
+ ewarn ""
+ ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update"
+ ewarn "requires additional kernel patches or not."
+ fi
+}
diff --git a/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild b/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
new file mode 100644
index 000000000000..418ab5cc22e2
--- /dev/null
+++ b/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info mount-boot
+
+# Find updates by searching and clicking the first link (hopefully it's the one):
+# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
+#
+#
+# Package Maintenance instructions:
+# 1. The ebuild is in the form of intel-microcode-<INTEL_SNAPSHOT>_p<COLLECTION_SNAPSHOT>.ebuild
+# 2. The INTEL_SNAPSHOT upstream is located at: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
+# 3. The COLLECTION_SNAPSHOT is created manually using the following steps:
+# a. Clone the repository https://github.com/platomav/CPUMicrocodes
+# b. Rename the Intel directory to intel-microcode-collection-<YYYYMMDD>
+# c. From the CPUMicrocodes directory tar and xz compress the contents of intel-microcode-collection-<YYYYMMDD>:
+# tar -cJf intel-microcode-collection-<YYYYMMDD>.tar.xz intel-microcode-collection-<YYYYMMDD>/
+# d. This file can go in your devspace, add the URL to SRC_URI if it's not there
+# https://dev.gentoo.org/~<dev nick>/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+#
+# PV:
+# * the first date is upstream
+# * the second date is snapshot (use last commit date in repo) from intel-microcode-collection
+
+COLLECTION_SNAPSHOT="${PV##*_p}"
+INTEL_SNAPSHOT="${PV/_p*}"
+#NUM="28087"
+
+#https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=${NUM}
+#https://downloadmirror.intel.com/${NUM}/eng/microcode-${INTEL_SNAPSHOT}.tgz
+
+DESCRIPTION="Intel IA32/IA64 microcode update data"
+HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files https://github.com/platomav/CPUMicrocodes http://inertiawar.com/microcode/"
+SRC_URI="
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-${INTEL_SNAPSHOT}.tar.gz
+ https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/raw/437f382b1be4412b9d03e2bbdcda46d83d581242/intel-ucode/06-4e-03 -> intel-ucode-sig_0x406e3-rev_0xd6.bin
+ https://dev.gentoo.org/~mpagano/dist/intel-microcode/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/intel-microcode-collection-${COLLECTION_SNAPSHOT}.tar.xz
+"
+S="${WORKDIR}"
+
+LICENSE="intel-ucode"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="hostonly initramfs +split-ucode vanilla"
+REQUIRED_USE="|| ( initramfs split-ucode )"
+RESTRICT="binchecks strip"
+
+BDEPEND=">=sys-apps/iucode_tool-2.3"
+# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
+RDEPEND="hostonly? ( sys-apps/iucode_tool )"
+
+# Blacklist bad microcode here.
+# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
+MICROCODE_BLACKLIST_DEFAULT="-s !0x000406f1"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00dc"
+
+# https://bugs.gentoo.org/722768
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000406e3,0xc0,eq:0x00da"
+
+# https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/commit/49bb67f32a2e3e631ba1a9a73da1c52e1cac7fd9
+MICROCODE_BLACKLIST_DEFAULT+=" -s !0x000806c1,0x80,eq:0x0068"
+
+# In case we want to set some defaults ...
+MICROCODE_SIGNATURES_DEFAULT=""
+
+# Advanced users only!
+# Set MIRCOCODE_SIGNATURES to merge with:
+# only current CPU: MICROCODE_SIGNATURES="-S"
+# only specific CPU: MICROCODE_SIGNATURES="-s 0x00000f4a -s 0x00010676"
+# exclude specific CPU: MICROCODE_SIGNATURES="-s !0x00000686"
+
+pkg_pretend() {
+ use initramfs && mount-boot_pkg_pretend
+}
+
+src_prepare() {
+ default
+
+ if cd Intel-Linux-Processor-Microcode-Data* &>/dev/null; then
+ # new tarball format from GitHub
+ mv * ../ || die "Failed to move Intel-Linux-Processor-Microcode-Data*"
+ cd .. || die
+ rm -r Intel-Linux-Processor-Microcode-Data* || die
+ fi
+
+ mkdir intel-ucode-old || die
+ cp "${DISTDIR}"/intel-ucode-sig_0x406e3-rev_0xd6.bin "${S}"/intel-ucode-old/ || die
+
+ # Prevent "invalid file format" errors from iucode_tool
+ rm -f "${S}"/intel-ucod*/list || die
+
+ # https://gitlab.com/iucode-tool/iucode-tool/-/issues/4
+ rm "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/cpu106C0_plat01_ver00000007_2007-08-24_PRD_923CDFA3.bin || die
+
+ # Remove non-microcode file from list
+ rm -f "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT}/LICENSE || die
+ rm -f "${S}"/intel-ucode*/LICENSE || die
+}
+
+src_install() {
+ # This will take ALL of the upstream microcode sources:
+ # - microcode.dat
+ # - intel-ucode/
+ # In some cases, they have not contained the same content (eg the directory has newer stuff).
+ MICROCODE_SRC=(
+ "${S}"/intel-ucode/
+ "${S}"/intel-ucode-with-caveats/
+ "${S}"/intel-ucode-old/
+ )
+
+ # Allow users who are scared about microcode updates not included in Intel's official
+ # microcode tarball to opt-out and comply with Intel marketing
+ if ! use vanilla; then
+ MICROCODE_SRC+=( "${S}"/intel-microcode-collection-${COLLECTION_SNAPSHOT} )
+ fi
+
+ # These will carry into pkg_preinst via env saving.
+ : ${MICROCODE_BLACKLIST=${MICROCODE_BLACKLIST_DEFAULT}}
+ : ${MICROCODE_SIGNATURES=${MICROCODE_SIGNATUES_DEFAULT}}
+
+ opts=(
+ ${MICROCODE_BLACKLIST}
+ ${MICROCODE_SIGNATURES}
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+
+ keepdir /lib/firmware/intel-ucode
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+
+ iucode_tool \
+ "${opts[@]}" \
+ "${MICROCODE_SRC[@]}" \
+ || die "iucode_tool ${opts[@]} ${MICROCODE_SRC[@]}"
+
+ dodoc releasenote.md
+}
+
+pkg_preinst() {
+ if [[ ${MICROCODE_BLACKLIST} != ${MICROCODE_BLACKLIST_DEFAULT} ]]; then
+ ewarn "MICROCODE_BLACKLIST is set to \"${MICROCODE_BLACKLIST}\" instead of default \"${MICROCODE_BLACKLIST_DEFAULT}\". You are on your own!"
+ fi
+
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "Package was created using advanced options:"
+ ewarn "MICROCODE_SIGNATURES is set to \"${MICROCODE_SIGNATURES}\" instead of default \"${MICROCODE_SIGNATURES_DEFAULT}\"!"
+ fi
+
+ # Make sure /boot is available if needed.
+ use initramfs && mount-boot_pkg_preinst
+
+ local _initramfs_file="${ED}/boot/intel-uc.img"
+
+ if use hostonly; then
+ # While this output looks redundant we do this check to detect
+ # rare cases where iucode_tool was unable to detect system's processor(s).
+ local _detected_processors=$(iucode_tool --scan-system 2>&1)
+ if [[ -z "${_detected_processors}" ]]; then
+ ewarn "Looks like iucode_tool was unable to detect any processor!"
+ else
+ einfo "Only installing ucode(s) for ${_detected_processors#iucode_tool: system has } due to USE=hostonly ..."
+ fi
+
+ opts=(
+ --scan-system
+ # be strict about what we are doing
+ --overwrite
+ --strict-checks
+ --no-ignore-broken
+ # we want to install latest version
+ --no-downgrade
+ # show everything we find
+ --list-all
+ # show what we selected
+ --list
+ )
+
+ # The earlyfw cpio needs to be in /boot because it must be loaded before
+ # rootfs is mounted.
+ use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
+
+ if use split-ucode; then
+ opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
+ fi
+
+ opts+=( "${ED}/lib/firmware/intel-ucode-temp" )
+
+ mv "${ED}"/lib/firmware/intel-ucode{,-temp} || die
+ keepdir /lib/firmware/intel-ucode
+
+ iucode_tool "${opts[@]}" || die "iucode_tool ${opts[@]}"
+
+ rm -r "${ED}"/lib/firmware/intel-ucode-temp || die
+
+ elif ! use split-ucode; then # hostonly disabled
+ rm -r "${ED}"/lib/firmware/intel-ucode || die
+ fi
+
+ # Because it is possible that this package will install not one single file
+ # due to user selection which is still somehow unexpected we add the following
+ # check to inform user so that the user has at least a chance to detect
+ # a problem/invalid select.
+ local _has_installed_something=
+ if use initramfs && [[ -s "${_initramfs_file}" ]]; then
+ _has_installed_something="yes"
+ elif use split-ucode; then
+ _has_installed_something=$(find "${ED}/lib/firmware/intel-ucode" -maxdepth 0 -not -empty -exec echo yes \;)
+ fi
+
+ if use hostonly && [[ -n "${_has_installed_something}" ]]; then
+ elog "You only installed ucode(s) for all currently available (=online)"
+ elog "processor(s). Remember to re-emerge this package whenever you"
+ elog "change the system's processor model."
+ elog ""
+ elif [[ -z "${_has_installed_something}" ]]; then
+ ewarn "WARNING:"
+ if [[ ${MICROCODE_SIGNATURES} != ${MICROCODE_SIGNATURES_DEFAULT} ]]; then
+ ewarn "No ucode was installed! Because you have created this package"
+ ewarn "using MICROCODE_SIGNATURES variable please double check if you"
+ ewarn "have an invalid select."
+ ewarn "It's rare but it is also possible that just no ucode update"
+ ewarn "is available for your processor(s). In this case it is safe"
+ ewarn "to ignore this warning."
+ else
+ ewarn "No ucode was installed! It's rare but it is also possible"
+ ewarn "that just no ucode update is available for your processor(s)."
+ ewarn "In this case it is safe to ignore this warning."
+ fi
+
+ ewarn ""
+
+ if use hostonly; then
+ ewarn "Unset \"hostonly\" USE flag to install all available ucodes."
+ ewarn ""
+ fi
+ fi
+}
+
+pkg_prerm() {
+ # Make sure /boot is mounted so that we can remove /boot/intel-uc.img!
+ use initramfs && mount-boot_pkg_prerm
+}
+
+pkg_postrm() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postrm
+}
+
+pkg_postinst() {
+ # Don't forget to umount /boot if it was previously mounted by us.
+ use initramfs && mount-boot_pkg_postinst
+
+ # We cannot give detailed information if user is affected or not:
+ # If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES
+ # to to force a specific, otherwise blacklisted, microcode. So we
+ # only show a generic warning based on running kernel version:
+ if kernel_is -lt 4 14 34; then
+ ewarn "${P} contains microcode updates which require"
+ ewarn "additional kernel patches which aren't yet included in kernel <4.14.34."
+ ewarn "Loading such a microcode through kernel interface from an unpatched kernel"
+ ewarn "can crash your system!"
+ ewarn ""
+ ewarn "Those microcodes are blacklisted per default. However, if you have altered"
+ ewarn "MICROCODE_BLACKLIST or MICROCODE_SIGNATURES, you maybe have unintentionally"
+ ewarn "re-enabled those microcodes...!"
+ ewarn ""
+ ewarn "Check \"${EROOT}/usr/share/doc/${PN}-*/releasenot*\" if your microcode update"
+ ewarn "requires additional kernel patches or not."
+ fi
+}
diff --git a/sys-firmware/intel-microcode/metadata.xml b/sys-firmware/intel-microcode/metadata.xml
index d12b8b092528..31efbfe0fea2 100644
--- a/sys-firmware/intel-microcode/metadata.xml
+++ b/sys-firmware/intel-microcode/metadata.xml
@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<use>
- <flag name="initramfs">install a small initramfs for use with CONFIG_MICROCODE_EARLY</flag>
- <flag name="hostonly">only install ucode(s) supported by currently available (=online) processor(s)</flag>
- <flag name="split-ucode">install the split binary ucode files (used by the kernel directly)</flag>
- <flag name="vanilla">install only microcode updates from Intel's official microcode tarball</flag>
-</use>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <use>
+ <flag name="initramfs">Install a small initramfs for use with CONFIG_MICROCODE_EARLY</flag>
+ <flag name="hostonly">Only install ucode(s) supported by currently available (=online) processor(s)</flag>
+ <flag name="split-ucode">Install the split binary ucode files (used by the kernel directly)</flag>
+ <flag name="vanilla">Only install microcode updates from Intel's official microcode tarball</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">intel/Intel-Linux-Processor-Microcode-Data-Files</remote-id>
+ <remote-id type="github">platomav/CPUMicrocodes</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3-r1.ebuild b/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3-r1.ebuild
index 319a34b61d7b..cc2f0dae226d 100644
--- a/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3-r1.ebuild
+++ b/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://gentoo/${MY_P}.tgz"
LICENSE="ipw2100-fw"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~loong x86"
S=${WORKDIR}
diff --git a/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3.ebuild b/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3.ebuild
deleted file mode 100644
index 81a6a3c86cfa..000000000000
--- a/sys-firmware/ipw2100-firmware/ipw2100-firmware-1.3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-MY_P=${P/firmware/fw}
-
-DESCRIPTION="Firmware for the Intel PRO/Wireless 2100 3B miniPCI adapter"
-HOMEPAGE="http://ipw2100.sourceforge.net/"
-SRC_URI="mirror://gentoo/${MY_P}.tgz"
-
-LICENSE="ipw2100-fw"
-SLOT="${PV}"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE=""
-
-S=${WORKDIR}
-
-src_install() {
- insinto /lib/firmware
- doins ipw2100-${PV}{,-i,-p}.fw
-}
diff --git a/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1-r1.ebuild b/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1-r1.ebuild
index 7d0a29b4c0b7..722d7d9306b4 100644
--- a/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1-r1.ebuild
+++ b/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://gentoo/${MY_P}.tgz"
LICENSE="ipw2200-fw"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~loong x86"
S=${WORKDIR}/${MY_P}
diff --git a/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1.ebuild b/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1.ebuild
deleted file mode 100644
index 93ff56de95eb..000000000000
--- a/sys-firmware/ipw2200-firmware/ipw2200-firmware-3.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-MY_P=${P/firmware/fw}
-
-DESCRIPTION="Firmware for the Intel PRO/Wireless 2200BG/2915ABG miniPCI and 2225BG PCI"
-HOMEPAGE="http://ipw2200.sourceforge.net/"
-SRC_URI="http://www.bughost.org/firmware/${MY_P}.tgz"
-
-LICENSE="ipw2200-fw"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE=""
-
-S=${WORKDIR}/${MY_P}
-
-src_install() {
- insinto /lib/firmware
- doins ipw2200-{bss,ibss,sniffer}.fw
-}
diff --git a/sys-firmware/ipxe/Manifest b/sys-firmware/ipxe/Manifest
index f7b3398a4125..03e4b585e3cd 100644
--- a/sys-firmware/ipxe/Manifest
+++ b/sys-firmware/ipxe/Manifest
@@ -1,6 +1,4 @@
-DIST ipxe-1.0.0_p20180211-546dd51-bin.tar.xz 1748228 BLAKE2B 5ed2ce71c7dbc41d5cbef6e263abd230b9831c945a8edb33a29d408bd4262e370a2f73c8d2eb3cb20e08c61ece83af1fb1bb4c5694098cb29c44628dbd18def8 SHA512 af2778c925a6e4c374ddae85f3db983c83e7a4e5bb2cf35e356d277b87d4c89bf63cc2c061ec31d608ff2160c13297232fa131da2b9dd0b580d93e1b0efd6532
-DIST ipxe-1.0.0_p20180211-546dd51.tar.bz2 2954305 BLAKE2B 8232b1afe017ff5d0389534e4efea3209ea0330d66e4d3d429abf81da66639b19488911d85bf2da200ff8cb0d49c5dda438074c4538303335419ea080ef80a16 SHA512 45d7f80f15a1c5ff1daa31b132065d38013a51127795ad81308b468940a455edcb40cde7601475039a7c977d732817203bbc627c642d3d10146a480da603f1dd
-DIST ipxe-1.0.0_p20190728-a4f8c6e-bin.tar.xz 1839688 BLAKE2B b28772b928690646e1b0cb1c27ef56e2cb1c0637a43c6174dea7c8ca401d8c8819938fa358a0bed5d57b8cf992b8c2060b52e32a970ef813f1cf705fb0805beb SHA512 1e5838b8c530257dc544f6e25f80e6e223480917db393ca3ff8c577f07e60180e18f2eed4e71f7b1965157d6e7001f65e224d3c8b56a98f84739e2504ca38985
-DIST ipxe-1.0.0_p20190728-a4f8c6e.tar.bz2 2985776 BLAKE2B 5a85505404978d51f80e30332f6eb0417d6d97eb9b3bc05eec5ad649c446c7d17dc841f8cd34a1b29c31dc6f5cf08baa69191de9c8dd4bcdb098c5d7f13a7824 SHA512 3af0da9058b39966bfd8f9d7dfe518ae7b26e18f58d1a3fa2cba8922ec3c50775b82dd9f23bf51be3ca3f69b705f92bcf80988a1817b30f7ab1826a4b159c5a6
DIST ipxe-1.21.1-bin.tar.xz 1860424 BLAKE2B 9d621c92be1058389758f885a02b601169d645335bba366a18d16326a7616345e44eb0cd5007d32ac034e7e3c8f8eecd90ade3346e34ca0df899622321f38017 SHA512 85afacfb70e562a935380b7d14ab7328e418478a6f6124eaec7cd0fefb9ba13b8a3f04833fab7b724ceb4c94897a7be2c67faa8be59373719a972ad51e6a5ab3
DIST ipxe-1.21.1.tar.gz 3934045 BLAKE2B 03871b5f89c6228a9082bb89c7b102d85e5f3afcd5fe0d93762e220fe162c9c3037a9918f30251fd103835d949335f99109a12559f560a5b686e65a7c24c6501 SHA512 47400975110ed4ab95835aa1b7c8d5a6917c19c5713c6ab88bc0741a3adcd62245a9c4251d1f46fffc45289c6b18bf893f86dbc3b67d3189c41b7f198367ecaa
+DIST ipxe-1.21.1_p20230601-bin.tar.xz 2248076 BLAKE2B aac91488a4df65548b857980283fc66b3d6d245e400a8dc1115be1708439d09aafb9d6fe93366feafa889035bdfb13edd15be34bf47aa52b75f14f75a1956618 SHA512 2dbcc5b6bf764f9fecf0fd18e304d4ac21ae081a590ceda710a2984e2cd500cff3f26f36d4abb15f806ee64f11ee1b1eb299e6e184f54d85ce74843918a4f02a
+DIST ipxe-1.21.1_p20230601.gh.tar.gz 4137586 BLAKE2B 51d8e0f5c95e77707d934a0d8c16104c0d7c500ca33f408c2d94b77244d4b198e7a4b40ee091eb059a55bc0f780572bee8d3556de28f9fdae498206c24139276 SHA512 3fbb803bd679adbeb805c7d3a8ac952e14ff41fdbb7b0c30d8ccb196e39da346faf4c3e2588466bc82400b9f113f08aa8a8056d4ed2393d1aa0fee0d22b67111
diff --git a/sys-firmware/ipxe/ipxe-1.0.0_p20190728.ebuild b/sys-firmware/ipxe/ipxe-1.0.0_p20190728.ebuild
deleted file mode 100644
index dc6b098f4149..000000000000
--- a/sys-firmware/ipxe/ipxe-1.0.0_p20190728.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs savedconfig
-
-GIT_REV="a4f8c6e31f6c62522cfc633bbbffa81b22f9d6f3"
-GIT_SHORT=${GIT_REV:0:7}
-
-DESCRIPTION="Open source network boot (PXE) firmware"
-HOMEPAGE="https://ipxe.org/"
-SRC_URI="
- !binary? ( https://git.ipxe.org/ipxe.git/snapshot/${GIT_REV}.tar.bz2 -> ${P}-${GIT_SHORT}.tar.bz2 )
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-${GIT_SHORT}-bin.tar.xz )"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 x86"
-IUSE="+binary efi ipv6 iso lkrn +qemu undi usb vmware"
-
-REQUIRED_USE="!amd64? ( !x86? ( binary ) )"
-
-SOURCE_DEPEND="app-arch/xz-utils
- dev-lang/perl
- sys-libs/zlib
- iso? (
- app-cdr/cdrtools
- sys-boot/syslinux
- )"
-DEPEND="
- !binary? (
- amd64? ( ${SOURCE_DEPEND} )
- x86? ( ${SOURCE_DEPEND} )
- )"
-RDEPEND=""
-
-S="${WORKDIR}/ipxe-${GIT_SHORT}/src"
-
-src_configure() {
- use binary && return
-
- cat <<-EOF > "${S}"/config/local/general.h
-#undef BANNER_TIMEOUT
-#define BANNER_TIMEOUT 0
-EOF
-
- use ipv6 && echo "#define NET_PROTO_IPV6" >> "${S}"/config/local/general.h
-
- if use vmware; then
- cat <<-EOF >> "${S}"/config/local/general.h
-#define VMWARE_SETTINGS
-#define CONSOLE_VMWARE
-EOF
- fi
-
- restore_config config/local/general.h
-
- tc-ld-disable-gold
-}
-
-ipxemake() {
- # Q='' makes the build verbose since that's what everyone loves now
- emake Q='' \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AS="$(tc-getAS)" \
- AR="$(tc-getAR)" \
- NM="$(tc-getNM)" \
- OBJCOPY="$(tc-getOBJCOPY)" \
- RANLIB="$(tc-getRANLIB)" \
- OBJDUMP="$(tc-getOBJDUMP)" \
- HOST_CC="$(tc-getBUILD_CC)" \
- "$@"
-}
-
-src_compile() {
- use binary && return
-
- export NO_WERROR=1
- if use qemu; then
- ipxemake bin/808610de.rom # pxe-e1000.rom (old)
- ipxemake bin/8086100e.rom # pxe-e1000.rom
- ipxemake bin/80861209.rom # pxe-eepro100.rom
- ipxemake bin/10500940.rom # pxe-ne2k_pci.rom
- ipxemake bin/10222000.rom # pxe-pcnet.rom
- ipxemake bin/10ec8139.rom # pxe-rtl8139.rom
- ipxemake bin/1af41000.rom # pxe-virtio.rom
- fi
-
- if use vmware; then
- ipxemake bin/8086100f.mrom # e1000
- ipxemake bin/808610d3.mrom # e1000e
- ipxemake bin/10222000.mrom # vlance
- ipxemake bin/15ad07b0.rom # vmxnet3
- fi
-
- use efi && ipxemake PLATFORM=efi BIN=bin-efi bin-efi/ipxe.efi
- use iso && ipxemake bin/ipxe.iso
- use undi && ipxemake bin/undionly.kpxe
- use usb && ipxemake bin/ipxe.usb
- use lkrn && ipxemake bin/ipxe.lkrn
-}
-
-src_install() {
- insinto /usr/share/ipxe/
-
- if use qemu || use vmware; then
- doins bin/*.rom
- fi
- use vmware && doins bin/*.mrom
- use efi && doins bin-efi/*.efi
- use iso && doins bin/*.iso
- use undi && doins bin/*.kpxe
- use usb && doins bin/*.usb
- use lkrn && doins bin/*.lkrn
-
- save_config config/local/general.h
-}
diff --git a/sys-firmware/ipxe/ipxe-1.21.1.ebuild b/sys-firmware/ipxe/ipxe-1.21.1.ebuild
index 32f157da7b8d..58c13763d2f1 100644
--- a/sys-firmware/ipxe/ipxe-1.21.1.ebuild
+++ b/sys-firmware/ipxe/ipxe-1.21.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,8 +14,8 @@ S="${WORKDIR}/${P}/src"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 x86"
-IUSE="+binary efi ipv6 iso lkrn +qemu undi usb vmware"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv x86"
+IUSE="+binary uefi ipv6 iso lkrn +qemu undi usb vmware"
REQUIRED_USE="!amd64? ( !x86? ( binary ) )"
SOURCE_DEPEND="
@@ -93,7 +93,7 @@ src_compile() {
ipxemake bin/15ad07b0.rom # vmxnet3
fi
- use efi && ipxemake PLATFORM=efi BIN=bin-efi bin-efi/ipxe.efi
+ use uefi && ipxemake PLATFORM=efi BIN=bin-efi bin-efi/ipxe.efi
use iso && ipxemake bin/ipxe.iso
use undi && ipxemake bin/undionly.kpxe
use usb && ipxemake bin/ipxe.usb
@@ -107,7 +107,7 @@ src_install() {
doins bin/*.rom
fi
use vmware && doins bin/*.mrom
- use efi && doins bin-efi/*.efi
+ use uefi && doins bin-efi/*.efi
use iso && doins bin/*.iso
use undi && doins bin/*.kpxe
use usb && doins bin/*.usb
diff --git a/sys-firmware/ipxe/ipxe-1.0.0_p20180211.ebuild b/sys-firmware/ipxe/ipxe-1.21.1_p20230601.ebuild
index b13500031e9b..3ab9d677fbbb 100644
--- a/sys-firmware/ipxe/ipxe-1.0.0_p20180211.ebuild
+++ b/sys-firmware/ipxe/ipxe-1.21.1_p20230601.ebuild
@@ -1,57 +1,64 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
-inherit toolchain-funcs savedconfig
+inherit savedconfig secureboot toolchain-funcs
-GIT_REV="546dd51de8459d4d09958891f426fa2c73ff090d"
-GIT_SHORT=${GIT_REV:0:7}
+# for 1.21.1_p20230601
+COMMIT_SHA1="4fa4052c7ebb59e4d4aa396f1563c89118623ec7"
DESCRIPTION="Open source network boot (PXE) firmware"
HOMEPAGE="https://ipxe.org/"
SRC_URI="
- !binary? ( https://git.ipxe.org/ipxe.git/snapshot/${GIT_REV}.tar.bz2 -> ${P}-${GIT_SHORT}.tar.bz2 )
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-${GIT_SHORT}-bin.tar.xz )"
+ !binary? ( https://github.com/${PN}/${PN}/archive/${COMMIT_SHA1}.tar.gz -> ${P}.gh.tar.gz )
+ binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
+S="${WORKDIR}/${PN}-${COMMIT_SHA1}/src"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 x86"
-IUSE="+binary efi ipv6 iso lkrn +qemu undi usb vmware"
-
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv x86"
+IUSE="+binary uefi32 uefi64 ipv6 iso lkrn +qemu undi usb vmware"
REQUIRED_USE="!amd64? ( !x86? ( binary ) )"
-SOURCE_DEPEND="app-arch/xz-utils
+SOURCE_DEPEND="
+ app-arch/xz-utils
dev-lang/perl
- sys-libs/zlib
iso? (
app-cdr/cdrtools
sys-boot/syslinux
)"
-DEPEND="
+BDEPEND="
!binary? (
amd64? ( ${SOURCE_DEPEND} )
x86? ( ${SOURCE_DEPEND} )
)"
-RDEPEND=""
-S="${WORKDIR}/ipxe-${GIT_SHORT}/src"
+pkg_setup() {
+ if use uefi32 || use uefi64; then
+ secureboot_pkg_setup
+ fi
+}
src_configure() {
use binary && return
- cat <<-EOF > "${S}"/config/local/general.h
-#undef BANNER_TIMEOUT
-#define BANNER_TIMEOUT 0
-EOF
+ cat > config/local/general.h <<-EOF || die
+ #undef BANNER_TIMEOUT
+ #define BANNER_TIMEOUT 0
+ EOF
- use ipv6 && echo "#define NET_PROTO_IPV6" >> "${S}"/config/local/general.h
+ if use ipv6; then
+ cat >> config/local/general.h <<-EOF || die
+ #define NET_PROTO_IPV6
+ EOF
+ fi
if use vmware; then
- cat <<-EOF >> "${S}"/config/local/general.h
-#define VMWARE_SETTINGS
-#define CONSOLE_VMWARE
-EOF
+ cat >> config/local/general.h <<-EOF || die
+ #define VMWARE_SETTINGS
+ #define CONSOLE_VMWARE
+ EOF
fi
restore_config config/local/general.h
@@ -95,7 +102,8 @@ src_compile() {
ipxemake bin/15ad07b0.rom # vmxnet3
fi
- use efi && ipxemake PLATFORM=efi BIN=bin-efi bin-efi/ipxe.efi
+ use uefi32 && ipxemake PLATFORM=efi BIN=bin-i386-efi bin-i386-efi/ipxe.efi
+ use uefi64 && ipxemake PLATFORM=efi BIN=bin-x86_64-efi bin-x86_64-efi/ipxe.efi
use iso && ipxemake bin/ipxe.iso
use undi && ipxemake bin/undionly.kpxe
use usb && ipxemake bin/ipxe.usb
@@ -109,11 +117,21 @@ src_install() {
doins bin/*.rom
fi
use vmware && doins bin/*.mrom
- use efi && doins bin-efi/*.efi
+ use uefi32 && newins bin-i386-efi/ipxe.efi ipxe-i386.efi
+ use uefi64 && newins bin-x86_64-efi/ipxe.efi ipxe-x86_64.efi
+ # Add a symlink for backwards compatiblity, in case both variants are
+ # enabled the x86_64 bit variant takes presedence.
+ use uefi32 && dosym ipxe-i386.efi /usr/share/ipxe/ipxe.efi
+ use uefi64 && dosym ipxe-x86_64.efi /usr/share/ipxe/ipxe.efi
+
use iso && doins bin/*.iso
use undi && doins bin/*.kpxe
use usb && doins bin/*.usb
use lkrn && doins bin/*.lkrn
+ if use uefi32 || use uefi64; then
+ secureboot_auto_sign --in-place
+ fi
+
save_config config/local/general.h
}
diff --git a/sys-firmware/ipxe/metadata.xml b/sys-firmware/ipxe/metadata.xml
index 8f1848c208ca..116526e14dbe 100644
--- a/sys-firmware/ipxe/metadata.xml
+++ b/sys-firmware/ipxe/metadata.xml
@@ -1,23 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
-</maintainer>
-<maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
-</maintainer>
-<use>
- <flag name="binary">Use pre-built binaries</flag>
- <flag name="efi">Build an EFI program for using PXE</flag>
- <flag name="iso">Build a bootable ISO for using PXE</flag>
- <flag name="lkrn">Build a linux kernel bootable file for using with grub/etc...</flag>
- <flag name="usb">Build a bootable USB image for using PXE</flag>
- <flag name="undi">Build a Universal Network Device Interface driver
- chainloading your existing PXE NIC into iPXE</flag>
- <flag name="qemu">Build the required PXE ROM images for <pkg>app-emulation/qemu</pkg></flag>
- <flag name="vmware">Build the PXE ROM images that VMWare uses</flag>
-</use>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <use>
+ <flag name="binary">Use pre-built binaries</flag>
+ <flag name="uefi32">Build a 32bit UEFI program for using PXE</flag>
+ <flag name="uefi64">Build a 64bit UEFI program for using PXE</flag>
+ <flag name="iso">Build a bootable ISO for using PXE</flag>
+ <flag name="lkrn">Build a linux kernel bootable file for using with grub/etc...</flag>
+ <flag name="usb">Build a bootable USB image for using PXE</flag>
+ <flag name="undi">Build a Universal Network Device Interface driver
+ chainloading your existing PXE NIC into iPXE</flag>
+ <flag name="qemu">Build the required PXE ROM images for <pkg>app-emulation/qemu</pkg></flag>
+ <flag name="vmware">Build the PXE ROM images that VMWare uses</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ipxe/ipxe</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r1.ebuild b/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r1.ebuild
deleted file mode 100644
index 0ac539665e44..000000000000
--- a/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="firmware for Hauppauge PVR-x50 and Conexant 2341x based cards"
-HOMEPAGE="http://www.ivtvdriver.org/index.php/Firmware"
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="Hauppauge-Firmware"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-
-S=${WORKDIR}
-
-src_install() {
- insinto /lib/firmware
- doins v4l-cx2341x-*.fw v4l-pvrusb2-*.fw
- doins *.mpg
-}
diff --git a/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r2.ebuild b/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r2.ebuild
index 9e8725143de3..112373f1a2be 100644
--- a/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r2.ebuild
+++ b/sys-firmware/ivtv-firmware/ivtv-firmware-20080701-r2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="Hauppauge-Firmware"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ppc x86"
S=${WORKDIR}
diff --git a/sys-firmware/iwl1000-ucode/Manifest b/sys-firmware/iwl1000-ucode/Manifest
deleted file mode 100644
index 72392b54f397..000000000000
--- a/sys-firmware/iwl1000-ucode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST iwlwifi-1000-ucode-39.31.5.1.tgz 180879 BLAKE2B c188230b9beade89d0db2d7bb52432a75aad425618348ee7e242c52bb57f8940ce302ed9dab13420a99cc29178f56d2fd7bf069e35ab5c26d3ddb34be45dcba5 SHA512 18f01b51f83e133bd6803567afb75606faba8cd96e3ed4faab8350d6f63e43c4c9397fdc17631efda1606fbef9e1a2b3065cbb58779de0f56223c95703474b06
diff --git a/sys-firmware/iwl1000-ucode/iwl1000-ucode-39.31.5.1-r1.ebuild b/sys-firmware/iwl1000-ucode/iwl1000-ucode-39.31.5.1-r1.ebuild
deleted file mode 100644
index b689c2319d6d..000000000000
--- a/sys-firmware/iwl1000-ucode/iwl1000-ucode-39.31.5.1-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="iwlwifi-1000-ucode-${PV}"
-DESCRIPTION="Intel (R) Wireless WiFi Link 1000BGN ucode"
-HOMEPAGE="https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi"
-SRC_URI="https://wireless.wiki.kernel.org/_media/en/users/drivers/${MY_P}.tgz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="ipw3945"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-src_install() {
- insinto /lib/firmware
- doins iwlwifi-1000-5.ucode
- dodoc README.iwlwifi-1000-ucode
-}
diff --git a/sys-firmware/iwl3160-7260-bt-ucode/Manifest b/sys-firmware/iwl3160-7260-bt-ucode/Manifest
deleted file mode 100644
index df191cb8ac36..000000000000
--- a/sys-firmware/iwl3160-7260-bt-ucode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST iwl3160-7260-bt-ucode-37.8.10_p2.tgz 78372 BLAKE2B 5abb7abc130ebe93527b4d3d364488bfebe4c9ad005c5173e4a27db5bf880c3af97b451825b5ac972ec89bbab25f127e2e8f15501fcfd96b679868a21154f888 SHA512 73399fcfd58972b9099cad6014f686f74ed4aedc2278d1389d1e815fb08d2af43f3f6defa70d409ecc0b388fba0710dc8fe26627d3149c79db8e8792576047e5
diff --git a/sys-firmware/iwl3160-7260-bt-ucode/iwl3160-7260-bt-ucode-37.8.10_p2.ebuild b/sys-firmware/iwl3160-7260-bt-ucode/iwl3160-7260-bt-ucode-37.8.10_p2.ebuild
deleted file mode 100644
index 7678f40b14c5..000000000000
--- a/sys-firmware/iwl3160-7260-bt-ucode/iwl3160-7260-bt-ucode-37.8.10_p2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info
-
-DESCRIPTION="Firmware for Intel (R) Wireless 3160, 7260, 7265 Bluetooth"
-HOMEPAGE="https://wireless.kernel.org/en/users/Drivers/iwlwifi"
-SRC_URI="mirror://gentoo/${P}.tgz"
-S="${WORKDIR}"
-
-LICENSE="ipw3945"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="!sys-kernel/linux-firmware[-savedconfig]"
-
-CONFIG_CHECK="~IWLMVM"
-ERROR_IWLMVM="CONFIG_IWLMVM is required to be enabled in /usr/src/linux/.config for the kernel to be able to load the Intel (R) Wireless 3160, 7260, 7265 firmware"
-
-pkg_pretend() {
- if kernel_is lt 3 10 0; then
- ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}."
- ewarn "This microcode image requires a kernel >= 3.10.0."
- fi
-}
-
-src_install() {
- insinto /lib/firmware
- doins -r intel
-}
diff --git a/sys-firmware/iwl3160-7260-bt-ucode/metadata.xml b/sys-firmware/iwl3160-7260-bt-ucode/metadata.xml
deleted file mode 100644
index d418f15e58ba..000000000000
--- a/sys-firmware/iwl3160-7260-bt-ucode/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gienah@gentoo.org</email>
- <description>Feel free to bump and add yourself to the maintainer list,
- please consider bumping sys-firmware/iwl3160-ucode and
- sys-firmware/iwl7260-ucode as well.</description>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-firmware/iwl3160-ucode/Manifest b/sys-firmware/iwl3160-ucode/Manifest
deleted file mode 100644
index a842e4b5e8ae..000000000000
--- a/sys-firmware/iwl3160-ucode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST iwl3160-ucode-0.16.242414.tgz 467156 BLAKE2B 47a94667cfdc5a9409073e866f750b7c3edefe42539ab1b4f7ac432e2dc74a8a5c0cf45bad5febb1ed165b74dc2af1319b088c751bde69cd5c64812ffd5f43f7 SHA512 ca0f675ebddb92c936df6bf412fdd1a41a33426636c3c40881251dfdd8b6527bc03d03b73b10dfb6fcc23676d1d51c372ac406f9554baf7f4ac36c9bd302b79d
diff --git a/sys-firmware/iwl3160-ucode/iwl3160-ucode-0.16.242414.ebuild b/sys-firmware/iwl3160-ucode/iwl3160-ucode-0.16.242414.ebuild
deleted file mode 100644
index 3abce4765618..000000000000
--- a/sys-firmware/iwl3160-ucode/iwl3160-ucode-0.16.242414.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit linux-info versionator
-
-DEV_N="${PN:3:4}"
-vc=($(get_all_version_components "${PV}"))
-MY_PV="${vc[2]}.${vc[4]}.${vc[0]}"
-MY_PN="iwlwifi-${DEV_N}-ucode"
-
-DV_MAJOR="4"
-DV_MINOR="3"
-DV_PATCH="0"
-
-DESCRIPTION="Firmware for Intel (R) Dual Band Wireless-AC ${DEV_N}"
-HOMEPAGE="https://wireless.kernel.org/en/users/Drivers/iwlwifi"
-SRC_URI="https://wireless.wiki.kernel.org/_media/en/users/drivers/${MY_PN}-${MY_PV}.tgz -> ${P}.tgz"
-
-LICENSE="ipw3945"
-SLOT="${vc[2]}"
-KEYWORDS="~amd64 ~x86"
-IUSE="bluetooth"
-
-DEPEND=""
-RDEPEND="bluetooth? ( sys-firmware/iwl3160-7260-bt-ucode )
- !sys-kernel/linux-firmware[-savedconfig]"
-
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
-
-CONFIG_CHECK="~IWLMVM"
-ERROR_IWLMVM="CONFIG_IWLMVM is required to be enabled in /usr/src/linux/.config for the kernel to be able to load the ${DEV_N} firmware"
-
-pkg_pretend() {
- if kernel_is lt "${DV_MAJOR}" "${DV_MINOR}" "${DV_PATCH}"; then
- ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}."
- ewarn "This microcode image requires a kernel >= ${DV_MAJOR}.${DV_MINOR}.${DV_PATCH}."
- ewarn "For kernel versions < ${DV_MAJOR}.${DV_MINOR}.${DV_PATCH}, you may install older SLOTS"
- fi
-}
-
-src_install() {
- insinto /lib/firmware
- doins "${S}/iwlwifi-${DEV_N}-${vc[2]}.ucode"
- dodoc README*
-}
diff --git a/sys-firmware/iwl3160-ucode/metadata.xml b/sys-firmware/iwl3160-ucode/metadata.xml
deleted file mode 100644
index da045d84eccb..000000000000
--- a/sys-firmware/iwl3160-ucode/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gienah@gentoo.org</email>
- <description>Feel free to bump and add yourself to the maintainer list,
- please bump sys-firmware/iwl7260-ucode and maybe
- sys-firmware/iwl3160-7260-bt-ucode as well.</description>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-firmware/iwl6005-ucode/Manifest b/sys-firmware/iwl6005-ucode/Manifest
deleted file mode 100644
index 1f80304743d0..000000000000
--- a/sys-firmware/iwl6005-ucode/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST iwlwifi-6000g2a-ucode-17.168.5.3.tgz 210543 BLAKE2B 9db1e81bb3330bff9e048ce4be066997fa6cda2ea5edb2a4865e4ffd233453dfa608eca73a68b45f72d4ea20dbe188abeb9d47ead442e521309056fe57d9adf2 SHA512 9fcee47c294777f30d40933942db171d45e4bfd6c6adc8f80e759f296d1df8ee91419379bddd738654c04d73974d03dc6a9a809e10a16e58b8a3f76f8df10636
-DIST iwlwifi-6000g2a-ucode-18.168.6.1.tgz 326978 BLAKE2B a1a9f8bb535c48ae51594b84bf5d3ff4121808483872f246f97cc42176a8c6f81aa1dc84725ccfad2531819ba1a360929b9d77130d9c29bcf3d62bfa6c843d51 SHA512 6e30662005e49957323addf62b73ac98f15122f451674038c8154cb544a36b1d004ad38818bf7530b1135eb40ed73d4aa4b28fd77f807ecb7a779e2067d52adb
diff --git a/sys-firmware/iwl6005-ucode/iwl6005-ucode-17.168.5.3.ebuild b/sys-firmware/iwl6005-ucode/iwl6005-ucode-17.168.5.3.ebuild
deleted file mode 100644
index 981082e222fd..000000000000
--- a/sys-firmware/iwl6005-ucode/iwl6005-ucode-17.168.5.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="iwlwifi-6000g2a-ucode"
-
-DESCRIPTION="Intel (R) Wireless WiFi Advanced N 6005 ucode"
-HOMEPAGE="http://intellinuxwireless.org/?p=iwlwifi"
-SRC_URI="http://intellinuxwireless.org/iwlwifi/downloads/${MY_PN}-${PV}.tgz"
-
-LICENSE="ipw3945"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_install() {
- insinto /lib/firmware
- doins iwlwifi-6000g2a-5.ucode
-
- dodoc README*
-}
diff --git a/sys-firmware/iwl6005-ucode/iwl6005-ucode-18.168.6.1.ebuild b/sys-firmware/iwl6005-ucode/iwl6005-ucode-18.168.6.1.ebuild
deleted file mode 100644
index 3cefba539e90..000000000000
--- a/sys-firmware/iwl6005-ucode/iwl6005-ucode-18.168.6.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="iwlwifi-6000g2a-ucode"
-
-DESCRIPTION="Intel (R) Wireless WiFi Advanced N 6005 ucode"
-HOMEPAGE="http://intellinuxwireless.org/?p=iwlwifi"
-SRC_URI="http://intellinuxwireless.org/iwlwifi/downloads/${MY_PN}-${PV}.tgz"
-
-LICENSE="ipw3945"
-SLOT="1"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_install() {
- insinto /lib/firmware
- doins iwlwifi-6000g2a-6.ucode
-
- dodoc README*
-}
diff --git a/sys-firmware/iwl6005-ucode/metadata.xml b/sys-firmware/iwl6005-ucode/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/sys-firmware/iwl6005-ucode/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/sys-firmware/iwl6030-ucode/Manifest b/sys-firmware/iwl6030-ucode/Manifest
deleted file mode 100644
index f6410f81f2eb..000000000000
--- a/sys-firmware/iwl6030-ucode/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST iwlwifi-6000g2b-ucode-17.168.5.2.tgz 221694 BLAKE2B 7a4b5a6fe7c3c4b61d915d87da044f463b916dce59716ac874b93cd370e1dc96930734ef35104bca99b184463128c7ea456e264033a113e445eb63f9804c7afc SHA512 124c061db09de3d042e1a93c0b45b4433245a4d0ab7990f4d19ff646ef496a3a988b078efe52bc4c2aad2c0a1eaa7c25e78e78c3f9a194b8b885397cdcfdf57f
-DIST iwlwifi-6000g2b-ucode-18.168.6.1.tgz 330313 BLAKE2B adeb3566582332fa57c6d67830e4a741ad79081fb4a7f93c3c30158bd74f3b6b372a1bbbd9dc51ded0eb0d6de71f09134633ba5041d788a2f7408e3953b06c90 SHA512 6bc37e75c7286cac49b84160c33b6f5218284fa460bb3e874a9bef2f0b669ebb5998dbed1e45815cd91d6eedad681dd5a4a75358ec4066c6db629e2b3e44ba16
diff --git a/sys-firmware/iwl6030-ucode/iwl6030-ucode-17.168.5.2.ebuild b/sys-firmware/iwl6030-ucode/iwl6030-ucode-17.168.5.2.ebuild
deleted file mode 100644
index 6ba7b58fb1a5..000000000000
--- a/sys-firmware/iwl6030-ucode/iwl6030-ucode-17.168.5.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="iwlwifi-6000g2b-ucode"
-
-DESCRIPTION="Intel (R) Wireless WiFi Advanced N 6030 ucode"
-HOMEPAGE="http://intellinuxwireless.org/?p=iwlwifi"
-SRC_URI="http://intellinuxwireless.org/iwlwifi/downloads/${MY_PN}-${PV}.tgz"
-
-LICENSE="ipw3945"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_install() {
- insinto /lib/firmware
- doins iwlwifi-6000g2b-5.ucode
-
- dodoc README*
-}
diff --git a/sys-firmware/iwl6030-ucode/iwl6030-ucode-18.168.6.1.ebuild b/sys-firmware/iwl6030-ucode/iwl6030-ucode-18.168.6.1.ebuild
deleted file mode 100644
index 512b33074805..000000000000
--- a/sys-firmware/iwl6030-ucode/iwl6030-ucode-18.168.6.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="iwlwifi-6000g2b-ucode"
-
-DESCRIPTION="Intel (R) Wireless WiFi Advanced N 6030 ucode"
-HOMEPAGE="http://intellinuxwireless.org/?p=iwlwifi"
-SRC_URI="http://intellinuxwireless.org/iwlwifi/downloads/${MY_PN}-${PV}.tgz"
-
-LICENSE="ipw3945"
-SLOT="1"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_install() {
- insinto /lib/firmware
- doins iwlwifi-6000g2b-6.ucode
-
- dodoc README*
-}
diff --git a/sys-firmware/iwl6030-ucode/metadata.xml b/sys-firmware/iwl6030-ucode/metadata.xml
deleted file mode 100644
index 115e9d64a669..000000000000
--- a/sys-firmware/iwl6030-ucode/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/sys-firmware/iwl7260-ucode/Manifest b/sys-firmware/iwl7260-ucode/Manifest
deleted file mode 100644
index d4f059301255..000000000000
--- a/sys-firmware/iwl7260-ucode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST iwl7260-ucode-0.16.242414.tgz 494594 BLAKE2B b1dc80d923eca6046750d0858f19598473ac7c0d0155e98ecc0080fa61825366d17a2e4985031908548667ce17c8ee3f4b6683d10d53e532385c86c6f9dc84fc SHA512 8abfa4141a390a733ea6a43fe7d8d8874752b84a42a5be0a93ed7935f2f76241af41d48f2911393837a32aaf0230f1b1ee9984488e60f447c29794c0e60cd0bb
diff --git a/sys-firmware/iwl7260-ucode/iwl7260-ucode-0.16.242414.ebuild b/sys-firmware/iwl7260-ucode/iwl7260-ucode-0.16.242414.ebuild
deleted file mode 100644
index 3abce4765618..000000000000
--- a/sys-firmware/iwl7260-ucode/iwl7260-ucode-0.16.242414.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit linux-info versionator
-
-DEV_N="${PN:3:4}"
-vc=($(get_all_version_components "${PV}"))
-MY_PV="${vc[2]}.${vc[4]}.${vc[0]}"
-MY_PN="iwlwifi-${DEV_N}-ucode"
-
-DV_MAJOR="4"
-DV_MINOR="3"
-DV_PATCH="0"
-
-DESCRIPTION="Firmware for Intel (R) Dual Band Wireless-AC ${DEV_N}"
-HOMEPAGE="https://wireless.kernel.org/en/users/Drivers/iwlwifi"
-SRC_URI="https://wireless.wiki.kernel.org/_media/en/users/drivers/${MY_PN}-${MY_PV}.tgz -> ${P}.tgz"
-
-LICENSE="ipw3945"
-SLOT="${vc[2]}"
-KEYWORDS="~amd64 ~x86"
-IUSE="bluetooth"
-
-DEPEND=""
-RDEPEND="bluetooth? ( sys-firmware/iwl3160-7260-bt-ucode )
- !sys-kernel/linux-firmware[-savedconfig]"
-
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
-
-CONFIG_CHECK="~IWLMVM"
-ERROR_IWLMVM="CONFIG_IWLMVM is required to be enabled in /usr/src/linux/.config for the kernel to be able to load the ${DEV_N} firmware"
-
-pkg_pretend() {
- if kernel_is lt "${DV_MAJOR}" "${DV_MINOR}" "${DV_PATCH}"; then
- ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}."
- ewarn "This microcode image requires a kernel >= ${DV_MAJOR}.${DV_MINOR}.${DV_PATCH}."
- ewarn "For kernel versions < ${DV_MAJOR}.${DV_MINOR}.${DV_PATCH}, you may install older SLOTS"
- fi
-}
-
-src_install() {
- insinto /lib/firmware
- doins "${S}/iwlwifi-${DEV_N}-${vc[2]}.ucode"
- dodoc README*
-}
diff --git a/sys-firmware/iwl7260-ucode/metadata.xml b/sys-firmware/iwl7260-ucode/metadata.xml
deleted file mode 100644
index e6370cd8d013..000000000000
--- a/sys-firmware/iwl7260-ucode/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gienah@gentoo.org</email>
- <description>Feel free to bump and add yourself to the maintainer list,
- please bump sys-firmware/iwl3160-ucode and maybe
- sys-firmware/iwl3160-7260-bt-ucode as well.</description>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-firmware/iwl8000-ucode/Manifest b/sys-firmware/iwl8000-ucode/Manifest
deleted file mode 100644
index 4a550d988175..000000000000
--- a/sys-firmware/iwl8000-ucode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST iwlwifi-8000-ucode-16.242414.0.tgz 931690 BLAKE2B 0fc3816c400314187eb8d2e9d76debdd941614d4a4769f78ecc2e819a1f8144e0ce7eacc475b692dc0539ded9609891cec962cdd20ea1aab8f86b3ca633816b3 SHA512 2d471f57f8fcc4dabd249a80a16cb81388eafddbe13b53a78572c6f9661ce3b6399dc43599d978b0319a14a14b29d5a9e39746e8096c985ea8f3d48e8c01fa47
diff --git a/sys-firmware/iwl8000-ucode/iwl8000-ucode-16.242414.0.ebuild b/sys-firmware/iwl8000-ucode/iwl8000-ucode-16.242414.0.ebuild
deleted file mode 100644
index 1d1c33d0803e..000000000000
--- a/sys-firmware/iwl8000-ucode/iwl8000-ucode-16.242414.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit linux-info
-
-MY_P="iwlwifi-${P#iwl}"
-
-DESCRIPTION="Firmware for Intel (R) Wireless 8260 and 4165"
-HOMEPAGE="https://wireless.kernel.org/en/users/Drivers/iwlwifi"
-SRC_URI="https://wireless.wiki.kernel.org/_media/en/users/drivers/${MY_P}.tgz"
-
-LICENSE="ipw3945"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND=""
-RDEPEND="
- !sys-kernel/linux-firmware[-savedconfig]
-"
-
-CONFIG_CHECK="~IWLMVM"
-ERROR_IWLMVM="CONFIG_IWLMVM is required to be enabled in /usr/src/linux/.config for the kernel to be able to load the ${DEV_N} firmware"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if kernel_is lt 4 3 0; then
- eerror "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}."
- eerror "This microcode image requires a kernel >= 4.3.0."
- fi
-}
-
-src_install() {
- insinto /lib/firmware
- doins iwlwifi-8000C-16.ucode
- dodoc README*
-}
diff --git a/sys-firmware/iwl8000-ucode/metadata.xml b/sys-firmware/iwl8000-ucode/metadata.xml
deleted file mode 100644
index cef3c32e4162..000000000000
--- a/sys-firmware/iwl8000-ucode/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>nicolasbock@gentoo.org</email>
- <description>
- Feel free to bump and add yourself to the maintainer list.
- </description>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-firmware/metadata.xml b/sys-firmware/metadata.xml
index 043bc9ec9e64..73e9caa45736 100644
--- a/sys-firmware/metadata.xml
+++ b/sys-firmware/metadata.xml
@@ -4,6 +4,10 @@
<longdescription lang="en">
The sys-firmware category contains misc. firmware and microcode.
</longdescription>
+ <longdescription lang="de">
+ Die Kategorie sys-firmware enthält verschiedene Firmware und
+ Mikrocode.
+ </longdescription>
<longdescription lang="es">
La categoría sys-firmware contiene firmware y microcódigo para
diversos dispositivos.
diff --git a/sys-firmware/nvidia-firmware/nvidia-firmware-340.32-r1.ebuild b/sys-firmware/nvidia-firmware/nvidia-firmware-340.32-r1.ebuild
index ed672abe0d29..6a6d6622a002 100644
--- a/sys-firmware/nvidia-firmware/nvidia-firmware-340.32-r1.ebuild
+++ b/sys-firmware/nvidia-firmware/nvidia-firmware-340.32-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1 unpacker
diff --git a/sys-firmware/raspberrypi-wifi-ucode/Manifest b/sys-firmware/raspberrypi-wifi-ucode/Manifest
index 121dca28ca30..e002548961e8 100644
--- a/sys-firmware/raspberrypi-wifi-ucode/Manifest
+++ b/sys-firmware/raspberrypi-wifi-ucode/Manifest
@@ -1,3 +1,2 @@
-DIST firmware-nonfree_20190114-1+rpt10.debian.tar.xz 2034132 BLAKE2B f6bdfbedc261acdcef976c02fb96f312a7c16c1c06c9419de73559c6ba59cf7d558b28c0dbf720bef3942a57c512fe8b5066bbb574b8286f9184ab029af9c20d SHA512 cf8eb4ad1947dc9f692fcf6540174a186bb054ea8cfdcd458c98452fa90125fc5079ac1cdfcf4171b6ee97023bc1d0a2a180d4b6ef6829c7c84a84922ee336f6
DIST firmware-nonfree_20190114-1+rpt11.debian.tar.xz 2038892 BLAKE2B a2d66e637cd26928c23855f5369c13b83e25b6b4353c82e9a62cb14b010a8c1fda566f6d200e0e7a706c7fb140238082238b7af80fe1f75fe3f07c815fc0eb6a SHA512 5ba6783dc3f3903f20321571a1fb2e11d7781de6d49689c68e6e1f194dad9cdddec90abc94a32a130323b2c8f9839af387c46aee895caf30ffb2f6dfe6d95b7d
-DIST firmware-nonfree_20190114-1+rpt9.debian.tar.xz 2040560 BLAKE2B 923adb08e4033f1f70c8e373464b5a4881f354fb218b163accb957b99ed1adf104f496b2156c772d881e7e01ed393d0f6c1563dbe797e1b1600a1f7f768292c4 SHA512 80df5df213105bfae231dbc81d17941258063971ea82e5d321b31d92a0be7101b9ecfe03aed02d9b7a0263d13bbcdcb862d4892a9e789da781af1430d81a821d
+DIST firmware-nonfree_20221012-1~bpo11+1+rpt1.debian.tar.xz 1819844 BLAKE2B 3b8bea16b73b67f8467844c282f337ac4784a937a54e05b255d2bb7956a2ee10f6a4cdb619384e7d408df4d637d5a3e9b1a50bb260ac3afd22e23dee8177ed21 SHA512 ba25ea62096bcac853865ff28d0982c05c37a364e10e846984d14c30ae7441cfd0b35a7c6bf4bfeca5aa5b2321e582b8e7553cdf28dd919371227fb8550c541b
diff --git a/sys-firmware/raspberrypi-wifi-ucode/metadata.xml b/sys-firmware/raspberrypi-wifi-ucode/metadata.xml
index 8e65e8c54bcc..25dd5e85fb96 100644
--- a/sys-firmware/raspberrypi-wifi-ucode/metadata.xml
+++ b/sys-firmware/raspberrypi-wifi-ucode/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>sam@gentoo.org</email>
- <name>Sam James</name>
+ <email>expeditioneer@gentoo.org</email>
+ <name>Dennis Lamm</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>crabbedhaloablution@icloud.com</email>
diff --git a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p10.ebuild b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p10.ebuild
deleted file mode 100644
index ec573949e197..000000000000
--- a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p10.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Most up-to-date uCode for the Broadcom wifi chips on Raspberry Pi SBCs"
-HOMEPAGE="https://github.com/RPi-Distro/firmware-nonfree
- https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree"
-MY_PN=firmware-nonfree
-SRC_URI="https://archive.raspberrypi.org/debian/pool/main/f/${MY_PN}/${MY_PN}_$(ver_cut 1)-$(ver_cut 2)+rpt$(ver_cut 4).debian.tar.xz"
-S="${WORKDIR}"
-
-LICENSE="Broadcom"
-SLOT="0"
-KEYWORDS="arm arm64"
-
-RDEPEND="!sys-kernel/linux-firmware[-savedconfig]"
-
-pkg_pretend() {
- local -a BADFILES=()
- local txt file
- # /lib/firmware/brcm/brcmfmac434{30,36,55,56}-sdio.*.txt
- # The above pattern works because the files we want to hit
- # have names of the form:
- # * /lib/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
- # * /lib/firmware/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
- # * /lib/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
- # * /lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
- # * /lib/firmware/brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt
- # * /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
- # * /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
- # * /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
- # While the files installed by raspberrypi-wifi-ucode have names
- # of the form:
- # * /lib/firmware/brcm/brcmfmac43430-sdio.txt
- # * /lib/firmware/brcm/brcmfmac43436-sdio.txt
- # * /lib/firmware/brcm/brcmfmac43455-sdio.txt
- # * /lib/firmware/brcm/brcmfmac43456-sdio.txt
- # So no overlap is assured.
- for txt in "${EPREFIX}"/lib/firmware/brcm/brcmfmac434{30,36,55,56}-sdio.*.txt; do
- [[ -e "${txt}" ]] && BADFILES+=( "${txt}" )
- done
-
- if [[ "${#BADFILES[@]}" -gt 1 ]]; then
- eerror "The following files should be excluded from the savedconfig of"
- eerror "linux-firmware and linux-firmware should be re-emerged. Even"
- eerror "though they do not collide with files from ${PN},"
- eerror "they may be loaded preferentially to the files included in"
- eerror "${PN}, leading to undefined behaviour."
- eerror "List of files:"
- for file in "${BADFILES[@]}"; do
- eerror "${file}"
- done
- fi
-}
-
-src_prepare() {
- default
- eapply -p1 debian/patches/sdio-txt-files.patch
-}
-
-src_install() {
- insinto /lib/firmware/brcm
- doins brcm/*
- dodoc debian/changelog
-}
diff --git a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p11.ebuild b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p11.ebuild
index cb9800e8cd64..ec573949e197 100644
--- a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p11.ebuild
+++ b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p11.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}"
LICENSE="Broadcom"
SLOT="0"
-KEYWORDS="~arm ~arm64"
+KEYWORDS="arm arm64"
RDEPEND="!sys-kernel/linux-firmware[-savedconfig]"
diff --git a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20221012.1_p1.ebuild
index 5475720b31f7..c6d302db7925 100644
--- a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild
+++ b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20221012.1_p1.ebuild
@@ -1,20 +1,24 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="Most up-to-date uCode for the Broadcom wifi chips on Raspberry Pi SBCs"
-HOMEPAGE="https://github.com/RPi-Distro/firmware-nonfree
+HOMEPAGE="
+ https://github.com/RPi-Distro/firmware-nonfree
https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree"
MY_PN=firmware-nonfree
-SRC_URI="https://archive.raspberrypi.org/debian/pool/main/f/${MY_PN}/${MY_PN}_$(ver_cut 1)-$(ver_cut 2)+rpt$(ver_cut 4).debian.tar.xz"
+SRC_URI="https://archive.raspberrypi.org/debian/pool/main/f/${MY_PN}/${MY_PN}_$(ver_cut 1)-$(ver_cut 2)~bpo11+1+rpt$(ver_cut 4).debian.tar.xz"
S="${WORKDIR}"
LICENSE="Broadcom"
SLOT="0"
KEYWORDS="arm arm64"
-RDEPEND="!sys-kernel/linux-firmware[-savedconfig]"
+RDEPEND="
+ net-wireless/wireless-regdb
+ !sys-kernel/linux-firmware[-savedconfig]
+"
pkg_pretend() {
local -a BADFILES=()
@@ -54,13 +58,31 @@ pkg_pretend() {
fi
}
-src_prepare() {
- default
- eapply -p1 debian/patches/sdio-txt-files.patch
+src_configure() {
+ unlink "${S}"/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin || die
+ ln -rs \
+ "${S}"/debian/config/brcm80211/cypress/cyfmac43455-sdio-standard.bin \
+ "${S}"/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin || die
+
+ ln -frs \
+ "${S}"/debian/config/brcm80211/cypress/cyfmac43455-sdio-standard.bin \
+ "${S}"/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
+
+ ln -frs \
+ "${S}"/debian/config/brcm80211/cypress/cyfmac43455-sdio-standard.bin \
+ "${S}"/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
+
+ ln -frs \
+ "${S}"/debian/config/brcm80211/cypress/cyfmac43455-sdio-standard.bin \
+ "${S}"/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
}
src_install() {
insinto /lib/firmware/brcm
- doins brcm/*
+ doins debian/config/brcm80211/brcm/*
+
+ insinto /lib/firmware/cypress
+ doins debian/config/brcm80211/cypress/*
+
dodoc debian/changelog
}
diff --git a/sys-firmware/seabios-bin/Manifest b/sys-firmware/seabios-bin/Manifest
new file mode 100644
index 000000000000..348aa7cc234f
--- /dev/null
+++ b/sys-firmware/seabios-bin/Manifest
@@ -0,0 +1 @@
+DIST seabios-1.16.0-1.xpak 141506 BLAKE2B b2d0cc367ea7ba958604f95dc2a7ab92fd76768e6133552b76d651755cab225eed3e1a6bd350b7f3b5058212390c073e9ca37896412797ac224fb1ce4b5f641a SHA512 4007a6cd40b7c82d1f53450a4151a19d5020ca4c3258b4502f9bfb1c3eacfef1a934794b58d38439e41884cd7a962aa436e22b9194b5731585383fd1476dd688
diff --git a/sys-firmware/iwl1000-ucode/metadata.xml b/sys-firmware/seabios-bin/metadata.xml
index 85e4ed814fa2..cfac6f8ac4ff 100644
--- a/sys-firmware/iwl1000-ucode/metadata.xml
+++ b/sys-firmware/seabios-bin/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-firmware/seabios-bin/seabios-bin-1.16.0.ebuild b/sys-firmware/seabios-bin/seabios-bin-1.16.0.ebuild
new file mode 100644
index 000000000000..e2421960919d
--- /dev/null
+++ b/sys-firmware/seabios-bin/seabios-bin-1.16.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BINPKG="${P/-bin/}-1"
+
+DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
+HOMEPAGE="https://www.seabios.org/"
+SRC_URI="https://dev.gentoo.org/~ajak/distfiles/${BINPKG}.xpak"
+S="${WORKDIR}"
+
+LICENSE="LGPL-3 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="!sys-firmware/seabios"
+
+src_unpack() {
+ tar -xf - < <(xz -c -d --single-stream "${DISTDIR}/${BINPKG}.xpak") || die "unpacking binpkg failed"
+}
+
+src_install() {
+ mv usr "${ED}" || die
+}
diff --git a/sys-firmware/seabios/Manifest b/sys-firmware/seabios/Manifest
index 1f37057de6a9..8eda39382f89 100644
--- a/sys-firmware/seabios/Manifest
+++ b/sys-firmware/seabios/Manifest
@@ -1,5 +1,3 @@
-DIST seabios-1.12.0-bin.tar.xz 162492 BLAKE2B 9a5a349226ed7efbed328493dc057e232203b251677a23f1f09c133743ff0ca6b05270c9d27460be1d8897888fe23ff7bdfa122023fa8ddb23af03d5b9b6f8dd SHA512 f7a0395d621245093bb9a278d95ecc3d4e8d23f620058cd4fddaf885c8b86256f6258f3fd8173c1d24c03306f44d180e768bf8005ee123bc4b699b9f0ca371be
-DIST seabios-1.12.0.tar.gz 613542 BLAKE2B f145c2db716996bfa9e5c014086ccfaa8ae96ebc158f34303b122b7bf209408c567665d8691364df8d8e886f63e0e72a3f3cd319dfa86ef581023201b5d94e53 SHA512 e52c5363e5bb37b5286e55545aa06bd126218f9d0e3a06ac2e189de68fe3de3256c11ca1bb13357a9c384d7e3af6284083ff3aa587688b5de04ef11b97bdfa27
-DIST seabios-1.14.0-bin.tar.xz 170160 BLAKE2B 1ab471ce0c6e27633ec42a66e3069496be84de713baab5de4f297821bd0da26404f7f70abc82e223ec5aa317a878889ae92b019988c72d24f77e7dcc5865f916 SHA512 7964e9bb7dff4fd6593f5d6d64efc4b1460750461b86635dbe5255d2086d619f51711d7a35e4dc20e556f705091c0950afabeddcd2e8876f05ce14f9ca73ed71
DIST seabios-1.14.0-r2-bin.tar.xz 132256 BLAKE2B 7d38949de254d6e3699d463a66c363156aa36bfe16c18bea48c55a61bdc423184175fd5427d3246a78d9c6335e61e5baa982f67e7406c5525e405b4383530d41 SHA512 5ce0e407b97e878842fbd7ad2f9e8a65f2565a5aa43d08e01cff024352780f55f8669958c58d20770db7f90e87cc52c860af831cefe3846227e7b45cd9dc33ee
DIST seabios-1.14.0.tar.gz 628985 BLAKE2B cc1126925dab1551a655680d20d06ebf28c12c386500d1ee4df9e1a99403b4c5bc6a66c2cc5ef58b4c3d6d7226f35007506a6a1855c2cf2742469dcb7aba05bb SHA512 215c42f59425f8abd062be7b11fc0e39c977cee5001a2381551b0f851ac337d0dd53c065267e6dee0e710ffd700fa635f9007b89da8dfce0f47122c984ee8146
+DIST seabios-1.16.0.tar.gz 635419 BLAKE2B b645f20bae341d56ce4fc4a7044446050d8490c6c136377f6dccf02c88100b0644bc13d210b4a517a8be6002d5671b0fba77120a2aca3a9bafbad5e88d037e40 SHA512 9daefcfb1c9edda4462a4b080c9bac552154d577ae19703a914928e43005e7a52edd86869c6507e94a7f0c61ce8b3e6f5dea38cd5146628cb138a130947c522f
diff --git a/sys-firmware/seabios/files/README b/sys-firmware/seabios/files/README
deleted file mode 100644
index a7aed6d46cf6..000000000000
--- a/sys-firmware/seabios/files/README
+++ /dev/null
@@ -1,2 +0,0 @@
-The configuration files config.vga-xxx are based on the variants found in
-the qemu/roms/ tree.
diff --git a/sys-firmware/seabios/seabios-1.12.0-r1.ebuild b/sys-firmware/seabios/seabios-1.12.0-r1.ebuild
deleted file mode 100644
index 03b9cd8cd76c..000000000000
--- a/sys-firmware/seabios/seabios-1.12.0-r1.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit toolchain-funcs python-any-r1
-
-# SeaBIOS maintainers sometimes don't release stable tarballs or stable
-# binaries to generate the stable tarball the following is necessary:
-# git clone git://git.seabios.org/seabios.git && cd seabios
-# git archive --output seabios-${PV}.tar.gz --prefix seabios-${PV}/ rel-${PV}
-
-if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
- EGIT_REPO_URI="git://git.seabios.org/seabios.git"
- inherit git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
- # Binary versions taken from fedora:
- # http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
- # seabios-bin-1.12.1-2.fc31.noarch.rpm
- # seavgabios-bin-1.12.1-2.fc31.noarch.rpm
- SRC_URI="
- !binary? ( https://code.coreboot.org/p/seabios/downloads/get/${P}.tar.gz )
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
-fi
-
-DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
-HOMEPAGE="https://www.seabios.org/"
-
-LICENSE="LGPL-3 GPL-3"
-SLOT="0"
-IUSE="+binary debug +seavgabios"
-
-REQUIRED_USE="debug? ( !binary )"
-
-SOURCE_DEPEND="
- >=sys-power/iasl-20060912
- ${PYTHON_DEPS}"
-DEPEND="
- !binary? (
- ${SOURCE_DEPEND}
- )"
-RDEPEND=""
-
-choose_target_chost() {
- if [[ -n "${CC}" ]]; then
- ${CC} -dumpmachine
- return
- fi
-
- if use amd64 || use x86; then
- # Use the native compiler
- echo "${CHOST}"
- return
- fi
-
- local i
- for i in x86_64 i686 i586 i486 i386 ; do
- i=${i}-pc-linux-gnu
- type -P ${i}-gcc > /dev/null && echo ${i} && return
- done
-}
-
-pkg_pretend() {
- if ! use binary; then
- ewarn "You have decided to compile your own SeaBIOS. This is not"
- ewarn "supported by upstream unless you use their recommended"
- ewarn "toolchain (which you are not)."
- elog
- ewarn "If you are intending to use this build with QEMU, realize"
- ewarn "you will not receive any support if you have compiled your"
- ewarn "own SeaBIOS. Virtual machines subtly fail based on changes"
- ewarn "in SeaBIOS."
- if [[ -z "$(choose_target_chost)" ]]; then
- elog
- eerror "Before you can compile ${PN}[-binary], you need to install a x86 cross-compiler"
- eerror "Run the following commands:"
- eerror " emerge crossdev"
- eerror " crossdev --stable -t x86_64-pc-linux-gnu"
- die "cross-compiler is needed"
- fi
- fi
-}
-
-pkg_setup() {
- use binary || python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- # This simplifies the logic between binary & source builds.
- mkdir -p "${S}"
-}
-
-src_prepare() {
- default
-
- # Ensure precompiled iasl files are never used
- find "${WORKDIR}" -name '*.hex' -delete || die
-}
-
-src_configure() {
- use binary && return
-
- tc-ld-disable-gold #438058
-
- if use debug ; then
- echo "CONFIG_DEBUG_LEVEL=8" >.config
- fi
- _emake config
-}
-
-_emake() {
- LANG=C \
- emake V=1 \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AR="$(tc-getAR)" \
- AS="$(tc-getAS)" \
- OBJCOPY="$(tc-getOBJCOPY)" \
- RANLIB="$(tc-getRANLIB)" \
- OBJDUMP="$(tc-getOBJDUMP)" \
- HOST_CC="$(tc-getBUILD_CC)" \
- VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \
- "$@"
-}
-
-src_compile() {
- use binary && return
-
- local TARGET_CHOST=$(choose_target_chost)
-
- cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
- _emake oldnoconfig
- CHOST="${TARGET_CHOST}" _emake iasl
- CHOST="${TARGET_CHOST}" _emake out/bios.bin
- mv out/bios.bin ../bios-256k.bin || die
-
- if use seavgabios ; then
- local config t targets=(
- cirrus
- isavga
- qxl
- stdvga
- virtio
- vmware
- )
- for t in "${targets[@]}" ; do
- emake clean distclean
- cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die
- _emake oldnoconfig
- CHOST="${TARGET_CHOST}" _emake out/vgabios.bin
- cp out/vgabios.bin ../vgabios-${t}.bin || die
- done
- fi
-}
-
-src_install() {
- insinto /usr/share/seabios
- use binary && doins ../bios.bin
- doins ../bios-256k.bin
-
- if use seavgabios ; then
- insinto /usr/share/seavgabios
- doins ../vgabios*.bin
- fi
-}
diff --git a/sys-firmware/seabios/seabios-1.12.0.ebuild b/sys-firmware/seabios/seabios-1.12.0.ebuild
deleted file mode 100644
index 375070e32da8..000000000000
--- a/sys-firmware/seabios/seabios-1.12.0.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit toolchain-funcs python-any-r1
-
-# SeaBIOS maintainers sometimes don't release stable tarballs or stable
-# binaries to generate the stable tarball the following is necessary:
-# git clone git://git.seabios.org/seabios.git && cd seabios
-# git archive --output seabios-${PV}.tar.gz --prefix seabios-${PV}/ rel-${PV}
-
-if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
- EGIT_REPO_URI="git://git.seabios.org/seabios.git"
- inherit git-r3
-else
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sparc x86"
-
- # Binary versions taken from fedora:
- # http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
- # seabios-bin-1.12.1-2.fc31.noarch.rpm
- # seavgabios-bin-1.12.1-2.fc31.noarch.rpm
- SRC_URI="
- !binary? ( https://code.coreboot.org/p/seabios/downloads/get/${P}.tar.gz )
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
-fi
-
-DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
-HOMEPAGE="https://www.seabios.org/"
-
-LICENSE="LGPL-3 GPL-3"
-SLOT="0"
-IUSE="+binary debug +seavgabios"
-
-REQUIRED_USE="debug? ( !binary )
- !amd64? ( !x86? ( binary ) )"
-
-# The amd64/x86 check is needed to workaround #570892.
-SOURCE_DEPEND="
- >=sys-power/iasl-20060912
- ${PYTHON_DEPS}"
-DEPEND="
- !binary? (
- amd64? ( ${SOURCE_DEPEND} )
- x86? ( ${SOURCE_DEPEND} )
- )"
-RDEPEND=""
-
-pkg_pretend() {
- if ! use binary; then
- ewarn "You have decided to compile your own SeaBIOS. This is not"
- ewarn "supported by upstream unless you use their recommended"
- ewarn "toolchain (which you are not)."
- elog
- ewarn "If you are intending to use this build with QEMU, realize"
- ewarn "you will not receive any support if you have compiled your"
- ewarn "own SeaBIOS. Virtual machines subtly fail based on changes"
- ewarn "in SeaBIOS."
- fi
-}
-
-pkg_setup() {
- use binary || python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- # This simplifies the logic between binary & source builds.
- mkdir -p "${S}"
-}
-
-src_prepare() {
- default
-
- # Ensure precompiled iasl files are never used
- find "${WORKDIR}" -name '*.hex' -delete || die
-}
-
-src_configure() {
- use binary && return
-
- tc-ld-disable-gold #438058
-
- if use debug ; then
- echo "CONFIG_DEBUG_LEVEL=8" >.config
- fi
- _emake config
-}
-
-_emake() {
- LANG=C \
- emake V=1 \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AR="$(tc-getAR)" \
- AS="$(tc-getAS)" \
- OBJCOPY="$(tc-getOBJCOPY)" \
- RANLIB="$(tc-getRANLIB)" \
- OBJDUMP="$(tc-getOBJDUMP)" \
- HOST_CC="$(tc-getBUILD_CC)" \
- VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \
- "$@"
-}
-
-src_compile() {
- use binary && return
-
- cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
- _emake oldnoconfig
- _emake iasl
- _emake out/bios.bin
- mv out/bios.bin ../bios-256k.bin || die
-
- if use seavgabios ; then
- local config t targets=(
- cirrus
- isavga
- qxl
- stdvga
- virtio
- vmware
- )
- for t in "${targets[@]}" ; do
- emake clean distclean
- cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die
- _emake oldnoconfig
- _emake out/vgabios.bin
- cp out/vgabios.bin ../vgabios-${t}.bin || die
- done
- fi
-}
-
-src_install() {
- insinto /usr/share/seabios
- use binary && doins ../bios.bin
- doins ../bios-256k.bin
-
- if use seavgabios ; then
- insinto /usr/share/seavgabios
- doins ../vgabios*.bin
- fi
-}
diff --git a/sys-firmware/seabios/seabios-1.14.0-r1.ebuild b/sys-firmware/seabios/seabios-1.14.0-r1.ebuild
deleted file mode 100644
index f97b51857b56..000000000000
--- a/sys-firmware/seabios/seabios-1.14.0-r1.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-inherit toolchain-funcs python-any-r1
-
-# SeaBIOS maintainers sometimes don't release stable tarballs or stable
-# binaries to generate the stable tarball the following is necessary:
-# git clone git://git.seabios.org/seabios.git && cd seabios
-# git archive --output seabios-${PV}.tar.gz --prefix seabios-${PV}/ rel-${PV}
-
-if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
- EGIT_REPO_URI="git://git.seabios.org/seabios.git"
- inherit git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
- SRC_URI="
- !binary? ( https://www.seabios.org/downloads/${P}.tar.gz )
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
-fi
-
-DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
-HOMEPAGE="https://www.seabios.org/"
-
-LICENSE="LGPL-3 GPL-3"
-SLOT="0"
-IUSE="+binary debug +seavgabios"
-
-REQUIRED_USE="debug? ( !binary )"
-
-SOURCE_DEPEND="
- >=sys-power/iasl-20060912
- ${PYTHON_DEPS}"
-DEPEND="
- !binary? (
- ${SOURCE_DEPEND}
- )"
-RDEPEND=""
-
-choose_target_chost() {
- if [[ -n "${CC}" ]]; then
- ${CC} -dumpmachine
- return
- fi
-
- if use amd64 || use x86; then
- # Use the native compiler
- echo "${CHOST}"
- return
- fi
-
- local i
- for i in x86_64 i686 i586 i486 i386 ; do
- i=${i}-pc-linux-gnu
- type -P ${i}-gcc > /dev/null && echo ${i} && return
- done
-}
-
-pkg_pretend() {
- if ! use binary; then
- ewarn "You have decided to compile your own SeaBIOS. This is not"
- ewarn "supported by upstream unless you use their recommended"
- ewarn "toolchain (which you are not)."
- elog
- ewarn "If you are intending to use this build with QEMU, realize"
- ewarn "you will not receive any support if you have compiled your"
- ewarn "own SeaBIOS. Virtual machines subtly fail based on changes"
- ewarn "in SeaBIOS."
- if [[ -z "$(choose_target_chost)" ]]; then
- elog
- eerror "Before you can compile ${PN}[-binary], you need to install a x86 cross-compiler"
- eerror "Run the following commands:"
- eerror " emerge crossdev"
- eerror " crossdev --stable -t x86_64-pc-linux-gnu"
- die "cross-compiler is needed"
- fi
- fi
-}
-
-pkg_setup() {
- use binary || python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- # This simplifies the logic between binary & source builds.
- mkdir -p "${S}"
-}
-
-src_prepare() {
- default
-
- if ! use binary; then
- eapply "${FILESDIR}"/${PN}-1.14.0-binutils-2.36.patch
- fi
-
- # Ensure precompiled iasl files are never used
- find "${WORKDIR}" -name '*.hex' -delete || die
-}
-
-src_configure() {
- use binary && return
-
- tc-ld-disable-gold #438058
-
- if use debug ; then
- echo "CONFIG_DEBUG_LEVEL=8" >.config
- fi
- _emake config
-}
-
-_emake() {
- LANG=C \
- emake V=1 \
- CPP="$(tc-getPROG CPP cpp)" \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AR="$(tc-getAR)" \
- AS="$(tc-getAS)" \
- OBJCOPY="$(tc-getOBJCOPY)" \
- RANLIB="$(tc-getRANLIB)" \
- OBJDUMP="$(tc-getOBJDUMP)" \
- STRIP="$(tc-getSTRIP)" \
- HOST_CC="$(tc-getBUILD_CC)" \
- VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \
- "$@"
-}
-
-src_compile() {
- use binary && return
-
- local TARGET_CHOST=$(choose_target_chost)
-
- cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
- _emake oldnoconfig
- CHOST="${TARGET_CHOST}" _emake iasl
- CHOST="${TARGET_CHOST}" _emake out/bios.bin
- mv out/bios.bin ../bios-256k.bin || die
-
- if use seavgabios ; then
- local config t targets=(
- cirrus
- isavga
- qxl
- stdvga
- virtio
- vmware
- )
- for t in "${targets[@]}" ; do
- _emake clean distclean
- cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die
- _emake oldnoconfig
- CHOST="${TARGET_CHOST}" _emake out/vgabios.bin
- cp out/vgabios.bin ../vgabios-${t}.bin || die
- done
- fi
-}
-
-src_install() {
- insinto /usr/share/seabios
- doins ../bios-256k.bin
-
- if use seavgabios ; then
- insinto /usr/share/seavgabios
- doins ../vgabios*.bin
- fi
-}
diff --git a/sys-firmware/seabios/seabios-1.14.0-r2.ebuild b/sys-firmware/seabios/seabios-1.14.0-r2.ebuild
index 37b8af0969c1..8dd899ac22d6 100644
--- a/sys-firmware/seabios/seabios-1.14.0-r2.ebuild
+++ b/sys-firmware/seabios/seabios-1.14.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{9,10,11} )
inherit toolchain-funcs python-any-r1
@@ -20,7 +20,7 @@ if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
EGIT_REPO_URI="git://git.seabios.org/seabios.git"
inherit git-r3
else
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sparc x86"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
SRC_URI="
!binary? ( https://www.seabios.org/downloads/${P}.tar.gz )
diff --git a/sys-firmware/seabios/seabios-1.14.0.ebuild b/sys-firmware/seabios/seabios-1.16.0.ebuild
index 0c4005c94f06..6399287a3bf3 100644
--- a/sys-firmware/seabios/seabios-1.14.0.ebuild
+++ b/sys-firmware/seabios/seabios-1.16.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{9,10,11} )
inherit toolchain-funcs python-any-r1
@@ -16,11 +16,8 @@ if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then
EGIT_REPO_URI="git://git.seabios.org/seabios.git"
inherit git-r3
else
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sparc x86"
-
- SRC_URI="
- !binary? ( https://www.seabios.org/downloads/${P}.tar.gz )
- binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )"
+ SRC_URI="https://www.seabios.org/downloads/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm64 ~loong ~m68k ~mips ~ppc ppc64 x86"
fi
DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS"
@@ -28,18 +25,12 @@ HOMEPAGE="https://www.seabios.org/"
LICENSE="LGPL-3 GPL-3"
SLOT="0"
-IUSE="+binary debug +seavgabios"
-
-REQUIRED_USE="debug? ( !binary )"
+IUSE="debug +seavgabios"
-SOURCE_DEPEND="
+BDEPEND="
>=sys-power/iasl-20060912
${PYTHON_DEPS}"
-DEPEND="
- !binary? (
- ${SOURCE_DEPEND}
- )"
-RDEPEND=""
+RDEPEND="!sys-firmware/seabios-bin"
choose_target_chost() {
if [[ -n "${CC}" ]]; then
@@ -61,37 +52,24 @@ choose_target_chost() {
}
pkg_pretend() {
- if ! use binary; then
- ewarn "You have decided to compile your own SeaBIOS. This is not"
- ewarn "supported by upstream unless you use their recommended"
- ewarn "toolchain (which you are not)."
+ ewarn "You have decided to compile your own SeaBIOS. This is not"
+ ewarn "supported by upstream unless you use their recommended"
+ ewarn "toolchain (which you are not)."
+ elog
+ ewarn "If you are intending to use this build with QEMU, realize"
+ ewarn "you will not receive any support if you have compiled your"
+ ewarn "own SeaBIOS. Virtual machines subtly fail based on changes"
+ ewarn "in SeaBIOS."
+ if [[ -z "$(choose_target_chost)" ]]; then
elog
- ewarn "If you are intending to use this build with QEMU, realize"
- ewarn "you will not receive any support if you have compiled your"
- ewarn "own SeaBIOS. Virtual machines subtly fail based on changes"
- ewarn "in SeaBIOS."
- if [[ -z "$(choose_target_chost)" ]]; then
- elog
- eerror "Before you can compile ${PN}[-binary], you need to install a x86 cross-compiler"
- eerror "Run the following commands:"
- eerror " emerge crossdev"
- eerror " crossdev --stable -t x86_64-pc-linux-gnu"
- die "cross-compiler is needed"
- fi
+ eerror "Before you can compile ${PN}, you need to install a x86 cross-compiler"
+ eerror "Run the following commands:"
+ eerror " emerge crossdev"
+ eerror " crossdev --stable -t x86_64-pc-linux-gnu"
+ die "cross-compiler is needed"
fi
}
-pkg_setup() {
- use binary || python-any-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- # This simplifies the logic between binary & source builds.
- mkdir -p "${S}"
-}
-
src_prepare() {
default
@@ -100,8 +78,6 @@ src_prepare() {
}
src_configure() {
- use binary && return
-
tc-ld-disable-gold #438058
if use debug ; then
@@ -113,6 +89,7 @@ src_configure() {
_emake() {
LANG=C \
emake V=1 \
+ CPP="$(tc-getPROG CPP cpp)" \
CC="$(tc-getCC)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
@@ -120,14 +97,13 @@ _emake() {
OBJCOPY="$(tc-getOBJCOPY)" \
RANLIB="$(tc-getRANLIB)" \
OBJDUMP="$(tc-getOBJDUMP)" \
+ STRIP="$(tc-getSTRIP)" \
HOST_CC="$(tc-getBUILD_CC)" \
VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \
"$@"
}
src_compile() {
- use binary && return
-
local TARGET_CHOST=$(choose_target_chost)
cp "${FILESDIR}/seabios/config.seabios-256k" .config || die
@@ -146,7 +122,7 @@ src_compile() {
vmware
)
for t in "${targets[@]}" ; do
- emake clean distclean
+ _emake clean distclean
cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die
_emake oldnoconfig
CHOST="${TARGET_CHOST}" _emake out/vgabios.bin
diff --git a/sys-firmware/sgabios/Manifest b/sys-firmware/sgabios/Manifest
index 47d874a70e85..ff7364727fc6 100644
--- a/sys-firmware/sgabios/Manifest
+++ b/sys-firmware/sgabios/Manifest
@@ -1,4 +1,2 @@
DIST sgabios-0.1_pre10-bin.tar.xz 2652 BLAKE2B 6dff0152f8553c245796badfd291e0e79f2a6a935a9908d9825dbac760746c05265b7f12a29a2d1fa1b95d16291ca5723fbf2f53b5bb04ff416e64b9c66b0c7d SHA512 6dd43858e91bee57bc0bc6d721eb26abb30bbe8b9c30733b39f3612cdf0dddd9ad8876518a4457a68a48d8a4b911225635c0e8eef1a7e78cfe65c8fcf0af2bab
DIST sgabios-0.1_pre10.tar.gz 31086 BLAKE2B f9577d0009d90c46aa5963e6dea50be4b7ec4b5c597194b33256748adbc4d60b3ac50646ce80befbd6d810ba80e93048fd6234b4d320d15f3506087435ec346c SHA512 cf12a8b8579658c99a3ad8c325637dba1569d364fc5440caf33c85a4f0403d83cf755df61d068151191c75588d568da629329a93d731f49b0b9131c983141fe6
-DIST sgabios-0.1_pre8-bins.tar.xz 2704 BLAKE2B 8efcf613a4857467cc3cfbc3f6402bca091892f0b2137ff65caf2b444610c86c1db0e61505bfe48ed8d6ccc9e8928190c2a38693aeddd523e27d22a29e777044 SHA512 46fc02200b3fa2e45c954a2b6e4cd40f10d6969fd05ef4d441402c7390b4e83390250972ef0ea891635400cad22a4d8fd2b66b56afa91d03e1e0b99132e09c0d
-DIST sgabios-0.1_pre8.tar.xz 27200 BLAKE2B 8ea535f2fcc8f7105a278202648e06722e7463e66ff3ccf824cd3a672a7908e7223f27678ebd4ca73eb19abaff75e082ea7b9bc222332436f31a8840443d7b44 SHA512 68e2a894eb5b99cda2b0e96ade891e24397ac962a777a97dbb526f4570e5734d36a88fde1ef64ed7a887cd8bfc500c91c48849d2c26aca6ce7e36dd80aaf361e
diff --git a/sys-firmware/sgabios/files/sgabios-0.1_pre8-build-cc.patch b/sys-firmware/sgabios/files/sgabios-0.1_pre8-build-cc.patch
deleted file mode 100644
index 6cdac84c6acb..000000000000
--- a/sys-firmware/sgabios/files/sgabios-0.1_pre8-build-cc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/552280
-
---- a/Makefile
-+++ b/Makefile
-@@ -20,6 +20,9 @@
- BUILD_USER = \"$(shell whoami)\"
-
- CFLAGS := -Wall -Os -m32 -nostdlib
-+BUILD_CFLAGS := -Wall -O2
-+BUILD_CC ?= $(CC)
-+BUILD_LD ?= $(BUILD_CC)
-
- ASFLAGS := $(CFLAGS)
- ASFLAGS += -DBUILD_DATE="$(BUILD_DATE)"
-@@ -55,7 +56,7 @@
- $(LD) $(LDFLAGS) $(OBJS) -o $@
-
- csum8: csum8.c
-- $(CC) -Wall -O2 -o $@ $<
-+ $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -o $@ $<
-
- sgabios.o: buildinfo
-
diff --git a/sys-firmware/sgabios/files/sgabios-0.1_pre8-makefile.patch b/sys-firmware/sgabios/files/sgabios-0.1_pre8-makefile.patch
deleted file mode 100644
index 18e636f4e88e..000000000000
--- a/sys-firmware/sgabios/files/sgabios-0.1_pre8-makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u sgabios-0.1_pre8/Makefile sgabios-0.1_pre8-fix//Makefile
---- sgabios-0.1_pre8/Makefile 2012-07-21 17:16:41.903363117 -0500
-+++ sgabios-0.1_pre8-fix//Makefile 2012-07-23 11:11:08.438162997 -0500
-@@ -71,8 +71,4 @@
-
- ifeq (.depend, $(wildcard .depend))
- include .depend
--else
--# if no .depend file existed, add a make clean to the end of building .depend
--.depend::
-- $(MAKE) clean
- endif
diff --git a/sys-firmware/sgabios/sgabios-0.1_pre10.ebuild b/sys-firmware/sgabios/sgabios-0.1_pre10.ebuild
index 829c335c7724..9c2552dd24cd 100644
--- a/sys-firmware/sgabios/sgabios-0.1_pre10.ebuild
+++ b/sys-firmware/sgabios/sgabios-0.1_pre10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ S="${WORKDIR}/sgabios-a85446a"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="+binary"
REQUIRED_USE="!amd64? ( !x86? ( binary ) )"
diff --git a/sys-firmware/sgabios/sgabios-0.1_pre8-r1.ebuild b/sys-firmware/sgabios/sgabios-0.1_pre8-r1.ebuild
deleted file mode 100644
index 8a87d1c68a90..000000000000
--- a/sys-firmware/sgabios/sgabios-0.1_pre8-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="serial graphics adapter bios option rom for x86"
-HOMEPAGE="https://code.google.com/p/sgabios/"
-SRC_URI="mirror://gentoo/${P}.tar.xz
- !binary? ( https://dev.gentoo.org/~cardoe/distfiles/${P}.tar.xz )
- binary? ( https://dev.gentoo.org/~cardoe/distfiles/${P}-bins.tar.xz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sparc x86"
-IUSE="+binary"
-
-REQUIRED_USE="!amd64? ( !x86? ( binary ) )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-makefile.patch
- "${FILESDIR}"/${P}-build-cc.patch #552280
-)
-
-src_prepare() {
- if use binary; then
- eapply_user
- return
- fi
- default
-}
-
-src_compile() {
- use binary && return
-
- tc-ld-disable-gold
- tc-export_build_env BUILD_CC
- emake \
- BUILD_CC="${BUILD_CC}" \
- BUILD_CFLAGS="${BUILD_CFLAGS}" \
- BUILD_LDFLAGS="${BUILD_LDFLAGS}" \
- BUILD_CPPFLAGS="${BUILD_CPPFLAGS}" \
- CC="$(tc-getCC)" \
- LD="$(tc-getLD)" \
- AR="$(tc-getAR)" \
- OBJCOPY="$(tc-getOBJCOPY)"
-}
-
-src_install() {
- insinto /usr/share/sgabios
-
- if use binary ; then
- doins bins/sgabios.bin
- else
- doins sgabios.bin
- fi
-}
diff --git a/sys-firmware/sigrok-firmware-fx2lafw/Manifest b/sys-firmware/sigrok-firmware-fx2lafw/Manifest
index cacd9d659689..6bfe7ff8ed7f 100644
--- a/sys-firmware/sigrok-firmware-fx2lafw/Manifest
+++ b/sys-firmware/sigrok-firmware-fx2lafw/Manifest
@@ -1,2 +1,3 @@
+DIST sigrok-firmware-fx2lafw-0.1.7-update-syntax.patch.xz 3668 BLAKE2B 969607c030b5a9076fb2b9598886714a2243ec642f34c63e92ddd1f4f5b8d315755ed093f30158d363aae857f096f060ea8ad7cde5e61d99c2db99de373877de SHA512 5bb124c4f60dc1b574b987605c8f5c4a10826127569d315df378510ba6977d11466761991894834ec05212799c8cae30f34d37419f5fac89d1570451b690a548
DIST sigrok-firmware-fx2lafw-0.1.7.tar.gz 145443 BLAKE2B 6e19fde87caf942ca8f95a67f5ba5553e2044e9ba43ca81f6b7be69f4a75ca25e946edf80d0f4ddf7d361f98aff68e9a0d950070fbca24423c908fbc70155ae9 SHA512 e9973980b07cef395637476c6294473e349770be24afe6b03d284bf3057f6b32fe686e25f3baa180b96455397db43e16f191a9feb07bf46e097170fb4d326f8e
DIST sigrok-firmware-fx2lafw-bin-0.1.7.tar.gz 54529 BLAKE2B b8659ba77f6976a927bd60c903abbc7bf7128d4dfff8a58dfe1f6522c6f7d5e5c0f8c8bc170fef7499461426ab1059093c4cc1553a39f4a059786cfc144f787f SHA512 60faac29198532bd5e03e44ed7f89c1502c83c6cf60ec5cc0f3ae9891c45b5de55eba5304c47d3231c8222ff61f1425aed88a44e7ff89d30b75d6e5faf7a623c
diff --git a/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7-r1.ebuild b/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7-r2.ebuild
index 10d98c962474..d6b183e8f11e 100644
--- a/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7-r1.ebuild
+++ b/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.7-r2.ebuild
@@ -1,17 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
SDCC_DEPEND=">=dev-embedded/sdcc-3.4.0[device-lib(+),mcs51(+),sdcpp(+)]"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
- IUSE=""
inherit git-r3 autotools
else
- SRC_URI="binary? ( https://sigrok.org/download/binary/${PN}/${PN}-bin-${PV}.tar.gz )
- !binary? ( https://sigrok.org/download/source/${PN}/${P}.tar.gz )"
+ SRC_URI="
+ binary? ( https://sigrok.org/download/binary/${PN}/${PN}-bin-${PV}.tar.gz )
+ !binary? (
+ https://sigrok.org/download/source/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}-update-syntax.patch.xz
+ )
+ "
KEYWORDS="~amd64 ~x86"
IUSE="binary"
SDCC_DEPEND="!binary? ( ${SDCC_DEPEND} )"
@@ -23,23 +27,29 @@ HOMEPAGE="https://sigrok.org/wiki/Fx2lafw"
LICENSE="GPL-2+"
SLOT="0"
-RDEPEND=""
-DEPEND="${RDEPEND}
- ${SDCC_DEPEND}"
+DEPEND="${SDCC_DEPEND}"
+
+PATCHES=()
src_unpack() {
if [[ ${PV} == "9999" ]]; then
git-r3_src_unpack
else
default
- # The binary & source dirs are slightly diff.
- use binary && S="${WORKDIR}/${PN}-bin-${PV}"
+ if use binary; then
+ # The binary & source dirs are slightly diff.
+ S="${WORKDIR}/${PN}-bin-${PV}"
+ else
+ PATCHES+=(
+ "${WORKDIR}"/${P}-update-syntax.patch
+ )
+ fi
fi
}
src_prepare() {
[[ ${PV} == "9999" ]] && eautoreconf
- eapply_user
+ default
}
src_install() {
diff --git a/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-9999.ebuild b/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-9999.ebuild
index 10d98c962474..d6b183e8f11e 100644
--- a/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-9999.ebuild
+++ b/sys-firmware/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-9999.ebuild
@@ -1,17 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI="8"
SDCC_DEPEND=">=dev-embedded/sdcc-3.4.0[device-lib(+),mcs51(+),sdcpp(+)]"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
- IUSE=""
inherit git-r3 autotools
else
- SRC_URI="binary? ( https://sigrok.org/download/binary/${PN}/${PN}-bin-${PV}.tar.gz )
- !binary? ( https://sigrok.org/download/source/${PN}/${P}.tar.gz )"
+ SRC_URI="
+ binary? ( https://sigrok.org/download/binary/${PN}/${PN}-bin-${PV}.tar.gz )
+ !binary? (
+ https://sigrok.org/download/source/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}-update-syntax.patch.xz
+ )
+ "
KEYWORDS="~amd64 ~x86"
IUSE="binary"
SDCC_DEPEND="!binary? ( ${SDCC_DEPEND} )"
@@ -23,23 +27,29 @@ HOMEPAGE="https://sigrok.org/wiki/Fx2lafw"
LICENSE="GPL-2+"
SLOT="0"
-RDEPEND=""
-DEPEND="${RDEPEND}
- ${SDCC_DEPEND}"
+DEPEND="${SDCC_DEPEND}"
+
+PATCHES=()
src_unpack() {
if [[ ${PV} == "9999" ]]; then
git-r3_src_unpack
else
default
- # The binary & source dirs are slightly diff.
- use binary && S="${WORKDIR}/${PN}-bin-${PV}"
+ if use binary; then
+ # The binary & source dirs are slightly diff.
+ S="${WORKDIR}/${PN}-bin-${PV}"
+ else
+ PATCHES+=(
+ "${WORKDIR}"/${P}-update-syntax.patch
+ )
+ fi
fi
}
src_prepare() {
[[ ${PV} == "9999" ]] && eautoreconf
- eapply_user
+ default
}
src_install() {
diff --git a/sys-firmware/sof-firmware/Manifest b/sys-firmware/sof-firmware/Manifest
index 2395475a2ffb..3069daf66e4f 100644
--- a/sys-firmware/sof-firmware/Manifest
+++ b/sys-firmware/sof-firmware/Manifest
@@ -1,2 +1,3 @@
-DIST sof-firmware-1.6.1.tar.gz 3033953 BLAKE2B 0c33bd9a5d17c3b889219bf926d3619e3e448ff6b16e39b4caffe19e87c98d1227b303ebe80d185f93480ead29f37de39093f3e76f275df7836d3250ae47c566 SHA512 71acd34662ffd4d93f6111dfd046ed358184fdf24d0e118da43770aeee45bd15105b688bc5a569f2cb7941724ec822d2cfbab8a08e9caee1a77aa5763ac7b48e
-DIST sof-firmware-1.9.tar.gz 3470302 BLAKE2B 597467915a658beda5611177c550b51a15720dfde23f1a55ea91217e7e809ff5c6417c6cc449e5d4a1732ffc03f9f817407951410646c9431ec189e8b141f60e SHA512 aee733381edb2150f2132c296e9151b1d6a71246e204b15c2394587c528286f730ceaf02002e1e58ccea0deba5e4ae81cb7a03efb858ac954633b0cfaec81a22
+DIST sof-firmware-2023.12.1.tar.gz 5446189 BLAKE2B a901637ba25df51152f04c7db5330b70a18c92363b102c061568a4c3a8a7e2fc506ac9783abe715f680a27be8a040d63b7dd5b62682979ccf1e4eaeb30789d83 SHA512 e0175f3af5336f23548efcf8fa302bafbb6122fd173273203f687c05ee17fab4e7bd457b27cc7a62fd25ea77708ffdbf9e1fe3880d3df1cf2196d7073c6f7677
+DIST sof-firmware-2023.12.tar.gz 5427762 BLAKE2B 48169378609119555f9b655599cef55e5722be71fdfc8fb71b699188fcb3f62a68e217fc3fec8859cd3e1c252f046208d5123c961dd824bd9b6559bd1fb72325 SHA512 ed43e7597c93140b15499ba17bae1866dcf1e2959d910e81b3831e4db2224a1dcff790ef21afcd610d7cc9309251a08351bae1c959ded18e5e28a6b24ae99506
+DIST sof-firmware-2024.03.tar.gz 8161590 BLAKE2B 23d73ff3ab30b5134086bb21e606805a7d9667adf1a5598a3d31068ba0254dc4c34464ee3913eb3530a8124e3614eff9ba28fa731e9816b28980ea05834c1037 SHA512 1e9891d3891f5a4413a77a68ea6d3a2e6ead8c1a67eaa7e9aaf30871753617ffce19bd3b85ebcbb617e606646f6aa0e1dafee5279c294ec72ef4b2885e009f72
diff --git a/sys-firmware/sof-firmware/metadata.xml b/sys-firmware/sof-firmware/metadata.xml
index 437d32a9f916..5933a501e2ec 100644
--- a/sys-firmware/sof-firmware/metadata.xml
+++ b/sys-firmware/sof-firmware/metadata.xml
@@ -1,7 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
-<email>alsa-bugs@gentoo.org</email>
-</maintainer>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>alsa-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="tools">Tools to interact with sof firmwares (upstream expects them to be present, but allow to skip them for systems not able to install needed dependencies)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">thesofproject/sof</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-firmware/sof-firmware/sof-firmware-1.6.1.ebuild b/sys-firmware/sof-firmware/sof-firmware-1.6.1.ebuild
deleted file mode 100644
index d62dacb90048..000000000000
--- a/sys-firmware/sof-firmware/sof-firmware-1.6.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Sound Open Firmware (SOF) binary files"
-
-HOMEPAGE="https://www.sofproject.org https://github.com/thesofproject/sof https://github.com/thesofproject/sof-bin"
-SRC_URI="https://github.com/thesofproject/sof-bin/archive/stable-v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-S=${WORKDIR}/sof-bin-stable-v${PV}
-
-src_compile() {
- sed -i -e '1i #!/bin/bash\nset -e' go.sh || die
-}
-
-src_install() {
- mkdir -p "${D}/lib/firmware/intel" || die
- SOF_VERSION=v${PV} ROOT=${D} ${S}/go.sh || die
-}
diff --git a/sys-firmware/sof-firmware/sof-firmware-1.9.ebuild b/sys-firmware/sof-firmware/sof-firmware-2023.12.1.ebuild
index 73dbc489b0e4..5d36427294f2 100644
--- a/sys-firmware/sof-firmware/sof-firmware-1.9.ebuild
+++ b/sys-firmware/sof-firmware/sof-firmware-2023.12.1.ebuild
@@ -1,23 +1,33 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Sound Open Firmware (SOF) binary files"
-
HOMEPAGE="https://www.sofproject.org https://github.com/thesofproject/sof https://github.com/thesofproject/sof-bin"
-SRC_URI="https://github.com/thesofproject/sof-bin/releases/download/v${PV}/sof-bin-v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/thesofproject/sof-bin/releases/download/v${PV}/sof-bin-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/sof-bin-${PV}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
-S=${WORKDIR}/sof-bin-v${PV}
+# Needed for sof-ctl
+RDEPEND="media-libs/alsa-lib"
-QA_PREBUILT="/usr/bin/sof-logger"
+QA_PREBUILT="usr/bin/sof-ctl
+ usr/bin/sof-logger
+ usr/bin/sof-probes"
src_install() {
dodir /lib/firmware/intel
dodir /usr/bin
- FW_DEST="${D}/lib/firmware/intel" TOOLS_DEST="${D}/usr/bin" "${S}/install.sh" v${PV} || die
+ FW_DEST="${D}/lib/firmware/intel" TOOLS_DEST="${D}/usr/bin" "${S}/install.sh" || die
+}
+
+pkg_preinst() {
+ local sofpath="${EROOT}/lib/firmware/intel/sof"
+ if [[ ! -L "${sofpath}" && -d "${sofpath}" ]] ; then
+ rm -r "${sofpath}" || die
+ fi
}
diff --git a/sys-firmware/sof-firmware/sof-firmware-2023.12.ebuild b/sys-firmware/sof-firmware/sof-firmware-2023.12.ebuild
new file mode 100644
index 000000000000..5d36427294f2
--- /dev/null
+++ b/sys-firmware/sof-firmware/sof-firmware-2023.12.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Sound Open Firmware (SOF) binary files"
+HOMEPAGE="https://www.sofproject.org https://github.com/thesofproject/sof https://github.com/thesofproject/sof-bin"
+SRC_URI="https://github.com/thesofproject/sof-bin/releases/download/v${PV}/sof-bin-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/sof-bin-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+
+# Needed for sof-ctl
+RDEPEND="media-libs/alsa-lib"
+
+QA_PREBUILT="usr/bin/sof-ctl
+ usr/bin/sof-logger
+ usr/bin/sof-probes"
+
+src_install() {
+ dodir /lib/firmware/intel
+ dodir /usr/bin
+ FW_DEST="${D}/lib/firmware/intel" TOOLS_DEST="${D}/usr/bin" "${S}/install.sh" || die
+}
+
+pkg_preinst() {
+ local sofpath="${EROOT}/lib/firmware/intel/sof"
+ if [[ ! -L "${sofpath}" && -d "${sofpath}" ]] ; then
+ rm -r "${sofpath}" || die
+ fi
+}
diff --git a/sys-firmware/sof-firmware/sof-firmware-2024.03.ebuild b/sys-firmware/sof-firmware/sof-firmware-2024.03.ebuild
new file mode 100644
index 000000000000..105eaae58f37
--- /dev/null
+++ b/sys-firmware/sof-firmware/sof-firmware-2024.03.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Sound Open Firmware (SOF) binary files"
+HOMEPAGE="https://www.sofproject.org https://github.com/thesofproject/sof https://github.com/thesofproject/sof-bin"
+SRC_URI="https://github.com/thesofproject/sof-bin/releases/download/v${PV}/sof-bin-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/sof-bin-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+tools"
+
+RDEPEND="
+ tools? (
+ media-libs/alsa-lib
+ sys-libs/glibc
+ )
+"
+
+QA_PREBUILT="usr/bin/sof-ctl
+ usr/bin/sof-logger
+ usr/bin/sof-probes"
+
+src_install() {
+ dodir /lib/firmware/intel
+ dodir /usr/bin
+ FW_DEST="${D}/lib/firmware/intel" TOOLS_DEST="${D}/usr/bin" "${S}/install.sh" || die
+
+ # Drop tools if requested (i.e. useful for musl systems, where glibc
+ # is not available)
+ if ! use tools ; then
+ rm -rv "${D}"/usr/bin || die
+ fi
+}
+
+pkg_preinst() {
+ # Fix sof-ace-tplg directory symlink collisions
+ local sofpath="${EROOT}/lib/firmware/intel/sof-ace-tplg"
+ if [[ ! -L "${sofpath}" && -d "${sofpath}" ]] ; then
+ rm -r "${sofpath}" || die
+ fi
+}
diff --git a/sys-firmware/vgabios/vgabios-0.8a-r1.ebuild b/sys-firmware/vgabios/vgabios-0.8a-r1.ebuild
new file mode 100644
index 000000000000..ed39a5dd8bb1
--- /dev/null
+++ b/sys-firmware/vgabios/vgabios-0.8a-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="VGA BIOS implementation"
+HOMEPAGE="https://www.nongnu.org/vgabios/"
+SRC_URI="https://savannah.gnu.org/download/${PN}/${P}.tgz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="binary debug"
+BDEPEND="!binary? ( sys-devel/dev86 )"
+
+src_compile() {
+ if ! use binary ; then
+ emake clean # Necessary to clean up the pre-built pieces
+ emake biossums CC="$(tc-getCC)"
+ emake GCC="$(tc-getCC)" CC="$(tc-getCC)"
+ fi
+}
+
+src_install() {
+ insinto /usr/share/vgabios
+
+ # Stock VGABIOS
+ newins VGABIOS-lgpl-latest.bin vgabios.bin
+ use debug && newins VGABIOS-lgpl-latest.debug.bin vgabios.debug.bin
+
+ # Cirrus
+ newins VGABIOS-lgpl-latest.cirrus.bin vgabios-cirrus.bin
+ use debug && newins VGABIOS-lgpl-latest.cirrus.debug.bin \
+ vgabios-cirrus.debug.bin
+
+ # Banshee
+ newins VGABIOS-lgpl-latest.banshee.bin vgabios-banshee.bin
+
+}
diff --git a/sys-firmware/vgabios/vgabios-0.8a.ebuild b/sys-firmware/vgabios/vgabios-0.8a.ebuild
index b6e76ce21a67..f29f45d6c17d 100644
--- a/sys-firmware/vgabios/vgabios-0.8a.ebuild
+++ b/sys-firmware/vgabios/vgabios-0.8a.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ SRC_URI="https://savannah.gnu.org/download/${PN}/${P}.tgz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
IUSE="binary debug"
BDEPEND="!binary? ( sys-devel/dev86 )"
diff --git a/sys-firmware/zd1201-firmware/zd1201-firmware-0.14-r1.ebuild b/sys-firmware/zd1201-firmware/zd1201-firmware-0.14-r1.ebuild
index 594e41f0a002..87cfa5f04189 100644
--- a/sys-firmware/zd1201-firmware/zd1201-firmware-0.14-r1.ebuild
+++ b/sys-firmware/zd1201-firmware/zd1201-firmware-0.14-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/linux-lc100020/${MY_P}.tar.gz"
LICENSE="|| ( GPL-3 MPL-1.1 )"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ppc64 x86"
S="${WORKDIR}"/${MY_P}
diff --git a/sys-firmware/zd1201-firmware/zd1201-firmware-0.14.ebuild b/sys-firmware/zd1201-firmware/zd1201-firmware-0.14.ebuild
deleted file mode 100644
index 9ab402099c49..000000000000
--- a/sys-firmware/zd1201-firmware/zd1201-firmware-0.14.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-MY_P=zd1201-${PV}-fw
-
-DESCRIPTION="Firmware for ZyDAS 1201 based USB 802.11b Network WiFi devices"
-HOMEPAGE="http://linux-lc100020.sourceforge.net/"
-SRC_URI="mirror://sourceforge/linux-lc100020/${MY_P}.tar.gz"
-
-LICENSE="|| ( GPL-3 MPL-1.1 )"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-IUSE=""
-
-S=${WORKDIR}/${MY_P}
-
-src_compile() { :; }
-
-src_install() {
- insinto /lib/firmware
- doins zd1201{,-ap}.fw
- dodoc README
-}
diff --git a/sys-firmware/zd1211-firmware/zd1211-firmware-1.5-r1.ebuild b/sys-firmware/zd1211-firmware/zd1211-firmware-1.5-r1.ebuild
index bfd917f1e179..f79f3468059a 100644
--- a/sys-firmware/zd1211-firmware/zd1211-firmware-1.5-r1.ebuild
+++ b/sys-firmware/zd1211-firmware/zd1211-firmware-1.5-r1.ebuild
@@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/project/zd1211/${PN}/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86"
S="${WORKDIR}"/${PN}
diff --git a/sys-firmware/zd1211-firmware/zd1211-firmware-1.5.ebuild b/sys-firmware/zd1211-firmware/zd1211-firmware-1.5.ebuild
deleted file mode 100644
index 1428a149e12e..000000000000
--- a/sys-firmware/zd1211-firmware/zd1211-firmware-1.5.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="Firmware for ZyDAS ZD1211 USB-WLAN devices supported by the zd1211rw driver"
-HOMEPAGE="https://sourceforge.net/projects/zd1211/"
-SRC_URI="mirror://sourceforge/zd1211/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 ~sparc x86"
-IUSE=""
-
-S=${WORKDIR}/${PN}
-
-src_install() {
- insinto /lib/firmware/zd1211
- doins zd1211_u{b,r,phr} zd1211b_u{b,r,phr}
- dodoc README
-}