diff options
Diffstat (limited to 'sys-kernel/linux-firmware/linux-firmware-20141009.ebuild')
-rw-r--r-- | sys-kernel/linux-firmware/linux-firmware-20141009.ebuild | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/sys-kernel/linux-firmware/linux-firmware-20141009.ebuild b/sys-kernel/linux-firmware/linux-firmware-20141009.ebuild new file mode 100644 index 000000000000..78d8c97f74d9 --- /dev/null +++ b/sys-kernel/linux-firmware/linux-firmware-20141009.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit savedconfig + +if [[ ${PV} == 99999999* ]]; then + inherit git-2 + SRC_URI="" + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/firmware/${PN}.git" + KEYWORDS="" +else + SRC_URI="mirror://gentoo/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +fi + +DESCRIPTION="Linux firmware files" +HOMEPAGE="http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git" + +LICENSE="GPL-1 GPL-2 GPL-3 BSD 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 + !x11-drivers/radeon-ucode + )" +#add anything else that collides to this + +src_unpack() { + if [[ ${PV} == 99999999* ]]; then + git-2_src_unpack + else + default + # rename directory from git snapshot tarball + mv ${PN}-*/ ${P} || die + fi +} + +src_prepare() { + 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() { + save_config ${PN}.conf + 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." +} |