summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2016-10-01 13:24:25 +0200
committerLars Wendler <polynomial-c@gentoo.org>2016-10-01 13:24:25 +0200
commit1843c06324022c4f1b97b9f131085badf5413733 (patch)
tree76ce5f0c614e426f7f7745ffff2a155348a55608
parentsys-libs/freeipmi: Removed old. (diff)
downloadgentoo-1843c06324022c4f1b97b9f131085badf5413733.tar.gz
gentoo-1843c06324022c4f1b97b9f131085badf5413733.tar.bz2
gentoo-1843c06324022c4f1b97b9f131085badf5413733.zip
sys-kernel/linux-firmware: Re-added linux-firmware package (bug #595768).
Was mistakenly removed. Package-Manager: portage-2.3.1 RepoMan-Options: --force Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
-rw-r--r--sys-kernel/linux-firmware/Manifest5
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20151207.ebuild109
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20160223.ebuild111
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20160331.ebuild111
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20160616.ebuild111
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20160628.ebuild111
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-99999999.ebuild111
-rw-r--r--sys-kernel/linux-firmware/metadata.xml19
8 files changed, 688 insertions, 0 deletions
diff --git a/sys-kernel/linux-firmware/Manifest b/sys-kernel/linux-firmware/Manifest
new file mode 100644
index 000000000000..606d392b4567
--- /dev/null
+++ b/sys-kernel/linux-firmware/Manifest
@@ -0,0 +1,5 @@
+DIST linux-firmware-20151207.tar.xz 34075376 SHA256 ef2ba016d777f8cd3f910f3a673a65e5d167bb63c7af9d6e3e1469891c4de8c4 SHA512 b34ee48eaf085bc0dd3d2823678885118bd4f9a854a854eefe92d3e80042a7256505cf72c2d0ff81487797a09261b3af562df2aea2a997ef95950084eca9520c WHIRLPOOL 322488811690f362828d3253b647c6eecab2b05c8bf4f67c6f3a2d97dc48501e51ed658b00c7a988c3211fe255fa905cda461b7d54b180897f1a99ab76c9b11a
+DIST linux-firmware-20160223.tar.xz 35929392 SHA256 fde2f588fc0d2b7efa3b906a831e379ce7b42e60d17a225553b07a308049d189 SHA512 c50dc68b4b14dd40d279ca1f6d88235f2c268d48075b46a890f9ea8eb7121a81b8e991860ac06dd9107f202fb707d8ee681105066b12d1cac4d25e45b6f81426 WHIRLPOOL 356ffe1c2a2d079ae04872e5d8bbae94c38bf6352d451dbb7e916387b8d65eca0f9338598bcf8daec07e679b21dfdf54520542b7f58e827ab637118353220c15
+DIST linux-firmware-20160331.tar.xz 35957140 SHA256 99ab767835006038e9efcc9d583b767c4a98091c35a6e2710f654e4fc2db7a45 SHA512 99694f336c4051d51f527399e225ee4a5842024d52f0d74204afd947ab5d0517c774e42519f469a1b653bc2ea026735bb83af5e495a8c2c5b5898ebe5d86cb40 WHIRLPOOL 17091f691577fa0976cb90cb6a60599155ff02afb95aacfa9c12228371c69d88750214b76f479cfdf55f36f7584a03c81158a61b1a593012e15db0ce8d740672
+DIST linux-firmware-20160616.tar.xz 36089804 SHA256 216cd8680ab29368f2c206b3dbaa180e5f7331f64b016e0a674870f8abe668b5 SHA512 0a6c8aaea9a6bea5eb92a60499861d59e91b87ab44af4e1b7794539ae46ca6cc5a59ca945d4e4d376bdcf1820b32c66531459db7bfb95e97d343cf9a964f6f7e WHIRLPOOL 17df2ff0d701728c9815ee4e1be6548939fb9d3e54e55ae4caeb05b41b3a0921048a7c0a05f1e682c1a32c3344e1e7c0717fadb365b7717c95f96506f2e93a81
+DIST linux-firmware-20160628.tar.xz 37855232 SHA256 02e22483b466a30284adfce1ec7189f7c2a18a4af2e747e0eb73227ce3bf466b SHA512 cf202ee5526f0a6af2341d7ec248b8eae380acda0bacd9c1b56ea5eeb9880ade2d10ff81b533e761233d54e3a8fa862d39795ab012878784f8a905bbefb3c1d1 WHIRLPOOL 29f4286cc3ab63bf0197d9c2d2e7bfeee7a5312b8ff594e178d81cdb511c253b33d6b00ca8767d57ac643b377618465e1e87a1227db86bd55a00d8999ed2acd4
diff --git a/sys-kernel/linux-firmware/linux-firmware-20151207.ebuild b/sys-kernel/linux-firmware/linux-firmware-20151207.ebuild
new file mode 100644
index 000000000000..953385accaa2
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20151207.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2016 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="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+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="https://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
+ !sys-firmware/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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20160223.ebuild b/sys-kernel/linux-firmware/linux-firmware-20160223.ebuild
new file mode 100644
index 000000000000..8415438957eb
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20160223.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2016 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="https://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
+ !sys-firmware/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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20160331.ebuild b/sys-kernel/linux-firmware/linux-firmware-20160331.ebuild
new file mode 100644
index 000000000000..3522566a8767
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20160331.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2016 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="alpha amd64 arm ppc x86"
+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="https://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
+ !sys-firmware/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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20160616.ebuild b/sys-kernel/linux-firmware/linux-firmware-20160616.ebuild
new file mode 100644
index 000000000000..8415438957eb
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20160616.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2016 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="https://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
+ !sys-firmware/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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20160628.ebuild b/sys-kernel/linux-firmware/linux-firmware-20160628.ebuild
new file mode 100644
index 000000000000..8415438957eb
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20160628.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2016 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="https://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
+ !sys-firmware/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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
new file mode 100644
index 000000000000..8415438957eb
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2016 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="https://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
+ !sys-firmware/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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/metadata.xml b/sys-kernel/linux-firmware/metadata.xml
new file mode 100644
index 000000000000..c662ac904b9d
--- /dev/null
+++ b/sys-kernel/linux-firmware/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+</maintainer>
+<maintainer type="person">
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+</maintainer>
+<maintainer type="project">
+ <email>kernel@gentoo.org</email>
+ <name>Gentoo Kernel Project</name>
+</maintainer>
+<use>
+ <flag name="savedconfig">Allows individual selection of firmware files</flag>
+</use>
+</pkgmetadata>