diff options
Diffstat (limited to 'sys-firmware')
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 -} |