summaryrefslogtreecommitdiff
path: root/sys-kernel/linux-firmware
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-kernel/linux-firmware
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-kernel/linux-firmware')
-rw-r--r--sys-kernel/linux-firmware/Manifest18
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20160331.ebuild110
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20161205.ebuild111
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20170113.ebuild110
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20170314.ebuild112
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20170519.ebuild112
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20170622.ebuild112
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-20170906.ebuild112
-rw-r--r--sys-kernel/linux-firmware/linux-firmware-99999999.ebuild110
-rw-r--r--sys-kernel/linux-firmware/metadata.xml19
10 files changed, 926 insertions, 0 deletions
diff --git a/sys-kernel/linux-firmware/Manifest b/sys-kernel/linux-firmware/Manifest
new file mode 100644
index 000000000000..65863c7906be
--- /dev/null
+++ b/sys-kernel/linux-firmware/Manifest
@@ -0,0 +1,18 @@
+DIST linux-firmware-20160331.tar.xz 35957140 SHA256 99ab767835006038e9efcc9d583b767c4a98091c35a6e2710f654e4fc2db7a45 SHA512 99694f336c4051d51f527399e225ee4a5842024d52f0d74204afd947ab5d0517c774e42519f469a1b653bc2ea026735bb83af5e495a8c2c5b5898ebe5d86cb40 WHIRLPOOL 17091f691577fa0976cb90cb6a60599155ff02afb95aacfa9c12228371c69d88750214b76f479cfdf55f36f7584a03c81158a61b1a593012e15db0ce8d740672
+DIST linux-firmware-20161205.tar.xz 40891260 SHA256 a1ab4b2d77b60b466f2312d5ee14717f0f70c9b40e36d20587e5df6ceca61e0b SHA512 ba6d5c919d55da78b17acdf8bab53735190c4fab892ba9510a13a05d56b15c91957a818e4eb4fc092646796acc49e775c147dcb8b901523365d21df453767b0d WHIRLPOOL 45a82e4002c764e8eba2f3ad5dcb7c2d151783b580d70b1e1a4c49e6827c10c07876cb5d3d5a7ecf4c300867dbba62379983af125bfd64cb5b71ae8ff83c565e
+DIST linux-firmware-20170113.tar.xz 40606424 SHA256 dbc63d53ff12bff9ca0bc35ce91436356c2878dce41dc64d0f2b0c25b39e447b SHA512 28b9f4452f7b29d0a641585d792a19fe6eabe3aa9d383934f995c62a6f62db0cb877db16aaac4b2e2b7966f98e0f7b5737e206d0d8cd8a61aa64b2fb5a554749 WHIRLPOOL f63477f35d66c685039a6c85449eaf4416ee0fd32a3a8f5b69a0aa77c1f67759f7a8da05bb49d7cf82a9ac5a52ab44fe75ae6767347c73bb3538e70c3fb79e80
+DIST linux-firmware-20170314.tar.xz 43175092 SHA256 9f07ee85524a95af1ec16e7008aa71eb07edf2edda07bf36f85b2d790452a67f SHA512 501e84d3ee9272d23e4d26a0a8bb7471f4e1edd16dee7c0c12a8ae8e90d6f5fa7f08276fc43eed6020bc3608c79b0914519c5c7082b6f013b6651d8afa7f79ae WHIRLPOOL 339a5f30f132d2f1688187d63df4dfdbe551fd3ca59d73e8f9e515fd1e26d62be62b87a8198437ad4934ce2d44287266f9628f7e82e53936f4957cf59d534827
+DIST linux-firmware-20170519.tar.gz 101696800 SHA256 a0011b362f651096fca9ad0edf699fd724699be397a5f5b037bb3153458bebde SHA512 4637aa3c6f8edd23417f48812467bf679b7d1cb77aebdbbe112957170b28725946a5badac14c141e15e237326997a3ad6c1de4794c84bbab0f8e418bb8ab67e8 WHIRLPOOL 94e6284ea60f546210d44b587cb91fe54ab11028b4485b6f0ea94616335cf64ab74c0cdcd0cb54f3e2a97881acfbf4966d51775c818dd85ac784a49f85222b6a
+DIST linux-firmware-20170622.tar.gz 104302528 SHA256 03d220c1747ed71b54b53ce04bfb178fe937ba585309b4a0b32eb351d709fcb0 SHA512 946b31666ef79a21e29a757340482dfdb70b43f7818ca47bf5e16fb6a79bb585822af014731b6c6034944dd37269ae948bbc23fc1f104bccfd7b7b405f41bbd5 WHIRLPOOL dedfef88d4ba7fdc9b5e7c07f6a04221d4d34256678e366f3182d4180d0e8de4071ded809d285c89aa0ab68bdf05cd9b9c0139084d9497df4d420e7e91ba48c8
+DIST linux-firmware-20170906.tar.gz 106748426 SHA256 db961e03e8914360c36210bcd10367b6bab655c652a29046bc8ec66241dc034c SHA512 c21043600e0c8e9ee58f439c01f38981f4c4bb2dc9397e655fc8285e656f3c34560cbeff1ea16f3d0204fc06d83fd1982c600d78cf6851b8f6c307e1a7a92b71 WHIRLPOOL 7cf9e547c018e69b1f3b047cd6a4fc2db7363abaa51d38432db8ad0b76e5029827ef2c73883bfcea79313d67499d5dc145625a85e3a7a4eec759a62ef493cc8f
+EBUILD linux-firmware-20160331.ebuild 3125 SHA256 45e2b7a7dbb6a4aee05c903f6f9a131ae587c6b0549cad7b9f68175c6b7647f1 SHA512 8acf0d853ef178d0d39327538cde8e5f9cb8e62a3ce8a68f6f85100bea86ce6c90f06babcb8ebdee058ab06ca5bf27efddd00dd346f902decbf8f0f962608379 WHIRLPOOL 561aa8388cb44db38572ceff0676a77c7185c7e204c74f619f3a983dc796025048e32213ac25c0e88f999e56063fd65ea337b17e729ed49d27a9ac0f02454009
+EBUILD linux-firmware-20161205.ebuild 3260 SHA256 9e0a83d6e9ff9519321bb9b4bb6f8a8988bbbdaf937fbb80b52900db262fb7e1 SHA512 11b84d341fbf6b9f424867a36bf1b444baa02bb1daf0cc6e26cc637f5519682a179e324842711c29f40da588026769759b51bbaf77f10a67e13864771fb5074f WHIRLPOOL 3d2871a46cdc35eb3056d54550bf8c11c82bb465f0458e385a5747c2c783bc4775a2a38df0adbfa6de8f4bcfb4cdba50dbb63e34e29b7e57105ae674e5503d43
+EBUILD linux-firmware-20170113.ebuild 3089 SHA256 b02306c72aedae621419540a7d87a104e658fd1f8477e7a188c82513388bb945 SHA512 21637497b8fcc0d3b302d9d8db35f395c31f93426103b6f1401fc2c32c05ab9f5fb0374226c26ee7fb6e5ad412678c128f00e123e6cd1820705ee917767f22c7 WHIRLPOOL 2189d7e7296ef63155f61014080af604fefc9635c5ce4d3486cdcf95b2a82f1f2a3922ffeecbebf7f0c254f6e4b801e9a27bccbf089e47642a94f318642f2ea9
+EBUILD linux-firmware-20170314.ebuild 3290 SHA256 0aab6538a31d84d084d346e9b59244b76ed2bef6d99d50ee0f0f926cd0c635cc SHA512 a008c6c41693094bd604017815b5e0c687f98fb53f655463f204a5077a2d260469680601bfe72ab2521b3657bad40d5dd6ce00cf3a5b485a3bd58b67ab789220 WHIRLPOOL 7e9f4a909359dadf371eebe99fca6c30845de42296b46e22bf5f544d71c43f5db458b8a858e9784266701adbf2d62a5b60c06b0084d5b42be7ec43dd32a7b5d8
+EBUILD linux-firmware-20170519.ebuild 3258 SHA256 dd5502e9e2fccef0b1be04889fae3a261a8ce8c2a28c45ed9f090d350d28bd9e SHA512 633cc5040382fddb5377b1c23c9f39fe01632abe8331f82160f5b8db66d722ddaefc61e7de2021e75758e9d3f45069982e37f7a543a9ee3a4cba6095d76d1b98 WHIRLPOOL 1c7e6e6a24a04e7372411a08396a27c6ac039c49995d4fa1f939e4093afe149cadac8bd4f175c66f1d0b18b768dc3b88e46180ad8a2e8d210ea2d2b15befea2f
+EBUILD linux-firmware-20170622.ebuild 3258 SHA256 68d53b5e8957d2637461c08d45de3caa5993b161d278154eba07d2dcaa0bcdae SHA512 f255c17eab32003cbcc561cd2996a5246ced84a2dc36251b02123c4a15737c204bce1b01d1b5063c065cfbd7069836fa61859ace5e64a1d2e7eb70334b2571d7 WHIRLPOOL d09f019ab5a1042f59f13d3de31b28b4f33ace569b8d74293e0c96d4caf3a561c2faaf3e00d0cff63094a9d2bdab3c3c03f2a9998f2d98cd27489d67eb046b93
+EBUILD linux-firmware-20170906.ebuild 3258 SHA256 ee44e69a9734b7a1a0a24360b80e21e80b117076f389a1a5d40ed27a6515666d SHA512 072f827134deed4c8b29fcb66a927696c1930edc4c3fb10d9b5620a5bdf76dce3afe4aafcdda3637e6025b76130b0e4e602d882ae35689241ff0c27ffd85a7ec WHIRLPOOL e0603decf05cb45653fe67c0b7535958bae7d76ef670f34b751ece1022dd10033b0cc3511c0d98851741d5aa1890238ae99976cc125e9e086b516154e97ab5cf
+EBUILD linux-firmware-99999999.ebuild 3089 SHA256 b02306c72aedae621419540a7d87a104e658fd1f8477e7a188c82513388bb945 SHA512 21637497b8fcc0d3b302d9d8db35f395c31f93426103b6f1401fc2c32c05ab9f5fb0374226c26ee7fb6e5ad412678c128f00e123e6cd1820705ee917767f22c7 WHIRLPOOL 2189d7e7296ef63155f61014080af604fefc9635c5ce4d3486cdcf95b2a82f1f2a3922ffeecbebf7f0c254f6e4b801e9a27bccbf089e47642a94f318642f2ea9
+MISC ChangeLog 12152 SHA256 523dc04163dceae881e031f7424570fdd80c927c28539e821c8fb0488e4566bb SHA512 260b60920824085212f4b2818554b5fb36683f669872a08f916329124d6ff89a5f098d35b9d78e239c9c6190d7db2ed663316f52050615e1ae5053132ebd16d7 WHIRLPOOL c57df826499caa21a89b95582c6df6c17698032c464d64c956fe497f9b66ee27240a2ea80ff8d95c89758fff75ca2e9a7f6918ac94186e26f900ad8c11def588
+MISC ChangeLog-2015 21057 SHA256 4d5d2fe9e0e1e35bd173ef509cae0cc80abc77d58888d6d5a4b64773b54030c7 SHA512 0f7d4d49b0f96464a8e4a63574c6173a6be829bbd1c24f1080a206fbad886bcfead74c9876695281e2f5588b0f27947fc9d3ff04a4c399d549c0f3261b8b0aaa WHIRLPOOL 42e82b80bb9dda822d7a06b939c22269b05ed5b5ec0d9533622d3422f00efd2462f01ca64e1223b1c373254184e9b23981b9fa31b7b7bb22e7b08b2bf6132583
+MISC metadata.xml 570 SHA256 4046cafe19e48656306555a9bc9c299fc3125ccdf303f926d24237af851e62c1 SHA512 55b3274fb2d43a015620bdfa759c554a2e966b8a83b8fd72a6ef1c08dd0f3b8b0b6afba00fc846fa39b631e100d4df059aed44c98111a6a260d1a3f5048916c9 WHIRLPOOL 934c78170504f3fb2ffe032bfa35abb1f35b8a5c6a85d0f6736b9a499a399dddf9ad3a71d7fa1019ae58ea0f535cd11d1e4b3752cd1865aad6ef80811f0f7468
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..88df9244a790
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20160331.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="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
+
+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-20161205.ebuild b/sys-kernel/linux-firmware/linux-firmware-20161205.ebuild
new file mode 100644
index 000000000000..7258629c9056
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20161205.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 arm hppa ppc64"
+else
+ GIT_COMMIT="91ddce492dc0a6a718396e0c79101087134f622d"
+ SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.xz -> ${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="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
+
+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-20170113.ebuild b/sys-kernel/linux-firmware/linux-firmware-20170113.ebuild
new file mode 100644
index 000000000000..b3a27592e5b2
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20170113.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="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
+
+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-20170314.ebuild b/sys-kernel/linux-firmware/linux-firmware-20170314.ebuild
new file mode 100644
index 000000000000..3b23fb500322
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20170314.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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 ia64 ppc ppc64 sparc x86"
+else
+ GIT_COMMIT="e39f0e3e6897ad865b3704f61218ae83f98a85da"
+ SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${GIT_COMMIT}.tar.xz -> ${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="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
+
+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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20170519.ebuild b/sys-kernel/linux-firmware/linux-firmware-20170519.ebuild
new file mode 100644
index 000000000000..56baea0d6618
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20170519.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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
+ GIT_COMMIT="df40d15d6ad617e72ce7ea00b91d9117d92dcccc"
+ 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
+
+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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20170622.ebuild b/sys-kernel/linux-firmware/linux-firmware-20170622.ebuild
new file mode 100644
index 000000000000..ff4e0f2640fe
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20170622.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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
+ GIT_COMMIT="7d2c913dcd1be083350d97a8cb1eba24cfacbc8a"
+ 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
+
+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() {
+ 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."
+}
diff --git a/sys-kernel/linux-firmware/linux-firmware-20170906.ebuild b/sys-kernel/linux-firmware/linux-firmware-20170906.ebuild
new file mode 100644
index 000000000000..c601600a5649
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-20170906.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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
+ GIT_COMMIT="a61ac5cf8374edbfe692d12f805a1b194f7fead2"
+ 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
+
+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() {
+ 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."
+}
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..b3a27592e5b2
--- /dev/null
+++ b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="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
+
+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>