diff options
Diffstat (limited to 'sys-kernel/linux-firmware/linux-firmware-20180913.ebuild')
-rw-r--r-- | sys-kernel/linux-firmware/linux-firmware-20180913.ebuild | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/sys-kernel/linux-firmware/linux-firmware-20180913.ebuild b/sys-kernel/linux-firmware/linux-firmware-20180913.ebuild new file mode 100644 index 000000000000..1b03975e839a --- /dev/null +++ b/sys-kernel/linux-firmware/linux-firmware-20180913.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +inherit savedconfig + +if [[ ${PV} == 99999999* ]]; then + inherit git-r3 + SRC_URI="" + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git" +else + GIT_COMMIT="44d4fca9922a252a0bd81f6307bcc072a78da54a" + SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +fi + +DESCRIPTION="Linux firmware files" +HOMEPAGE="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git" + +LICENSE="linux-firmware ( BSD ISC MIT no-source-code ) GPL-2 GPL-2+ freedist" +SLOT="0" +IUSE="savedconfig" + +DEPEND="" +RDEPEND="!savedconfig? ( + !sys-firmware/alsa-firmware[alsa_cards_ca0132] + !sys-firmware/alsa-firmware[alsa_cards_korg1212] + !sys-firmware/alsa-firmware[alsa_cards_maestro3] + !sys-firmware/alsa-firmware[alsa_cards_sb16] + !sys-firmware/alsa-firmware[alsa_cards_ymfpci] + !media-tv/cx18-firmware + !<sys-firmware/ivtv-firmware-20080701-r1 + !media-tv/linuxtv-dvb-firmware[dvb_cards_cx231xx] + !media-tv/linuxtv-dvb-firmware[dvb_cards_cx23885] + !media-tv/linuxtv-dvb-firmware[dvb_cards_usb-dib0700] + !net-dialup/ueagle-atm + !net-dialup/ueagle4-atm + !net-wireless/ar9271-firmware + !net-wireless/i2400m-fw + !net-wireless/libertas-firmware + !sys-firmware/rt61-firmware + !net-wireless/rt73-firmware + !net-wireless/rt2860-firmware + !net-wireless/rt2870-firmware + !sys-block/qla-fc-firmware + !sys-firmware/amd-ucode + !sys-firmware/iwl1000-ucode + !sys-firmware/iwl2000-ucode + !sys-firmware/iwl2030-ucode + !sys-firmware/iwl3945-ucode + !sys-firmware/iwl4965-ucode + !sys-firmware/iwl5000-ucode + !sys-firmware/iwl5150-ucode + !sys-firmware/iwl6000-ucode + !sys-firmware/iwl6005-ucode + !sys-firmware/iwl6030-ucode + !sys-firmware/iwl6050-ucode + !sys-firmware/iwl3160-ucode + !sys-firmware/iwl7260-ucode + !sys-firmware/iwl7265-ucode + !sys-firmware/iwl3160-7260-bt-ucode + !sys-firmware/radeon-ucode + )" +#add anything else that collides to this + +RESTRICT="binchecks strip" + +src_unpack() { + if [[ ${PV} == 99999999* ]]; then + git-r3_src_unpack + else + default + # rename directory from git snapshot tarball + mv ${PN}-*/ ${P} || die + fi +} + +src_prepare() { + default + + echo "# Remove files that shall not be installed from this list." > ${PN}.conf + find * \( \! -type d -and \! -name ${PN}.conf \) >> ${PN}.conf + + if use savedconfig; then + restore_config ${PN}.conf + ebegin "Removing all files not listed in config" + find * \( \! -type d -and \! -name ${PN}.conf \) \ + | sort ${PN}.conf ${PN}.conf - \ + | uniq -u | xargs -r rm + eend $? || die + # remove empty directories, bug #396073 + find -type d -empty -delete || die + fi +} + +src_install() { + if use !savedconfig; then + save_config ${PN}.conf + fi + rm ${PN}.conf || die + insinto /lib/firmware/ + doins -r * +} + +pkg_preinst() { + if use savedconfig; then + ewarn "USE=savedconfig is active. You must handle file collisions manually." + fi +} + +pkg_postinst() { + elog "If you are only interested in particular firmware files, edit the saved" + elog "configfile and remove those that you do not want." +} |