diff options
Diffstat (limited to 'sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p4-r1.ebuild')
-rw-r--r-- | sys-firmware/broadcom-bt-firmware/broadcom-bt-firmware-12.0.1.1105_p4-r1.ebuild | 63 |
1 files changed, 63 insertions, 0 deletions
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 +} |