summaryrefslogtreecommitdiff
path: root/sys-apps/flashrom
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-apps/flashrom
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-apps/flashrom')
-rw-r--r--sys-apps/flashrom/Manifest12
-rw-r--r--sys-apps/flashrom/flashrom-0.9.6.1.ebuild98
-rw-r--r--sys-apps/flashrom/flashrom-0.9.7.ebuild113
-rw-r--r--sys-apps/flashrom/flashrom-0.9.8.ebuild127
-rw-r--r--sys-apps/flashrom/flashrom-0.9.9.ebuild130
-rw-r--r--sys-apps/flashrom/flashrom-9999.ebuild130
-rw-r--r--sys-apps/flashrom/metadata.xml66
7 files changed, 676 insertions, 0 deletions
diff --git a/sys-apps/flashrom/Manifest b/sys-apps/flashrom/Manifest
new file mode 100644
index 000000000000..f9bc94d1a88b
--- /dev/null
+++ b/sys-apps/flashrom/Manifest
@@ -0,0 +1,12 @@
+DIST flashrom-0.9.6.1.tar.bz2 368133 SHA256 6f7b588cce74c90b4fe9c9c794de105de76e0323442fb5770b1aeab81e9d560a SHA512 335243ca869a49521b6404004496cdba16f11da4f5321bbc8786635bbc7a0fe7215de2015d67200da68d398ed270d9a2ad9308ca9f762790e39b9f0602e53529 WHIRLPOOL f55f53cc6f06b627d8561e369bca32f1b62dc8de9a35963c01575b31f3190cf1be3b7114db8552b7f9f87c971960f1d16fe284d44e8d2db3da2996431d08598c
+DIST flashrom-0.9.7.tar.bz2 408883 SHA256 5a55212d00791981a9a1cb0cdca9d9e58bea6d399864251e7b410b4d3d6137e9 SHA512 a226c1ac3f9c7822b74ca14b7f9b53013110b2cdb66b1f936593c693ee54f19d643cc3a97a9635c05f2c959aca817668006f609ddb503a84d0bf5d510065674e WHIRLPOOL 97472148f97b86dc3b6661fe0368f492584308a8e86f2376bd3eb6e285a02dfcf231f2d917f30a734e90fbc9baf3899329c04ea245048d647077c50646ecd17d
+DIST flashrom-0.9.8.tar.bz2 473902 SHA256 13dc7c895e583111ecca370363a3527d237d178a134a94b20db7df177c05f934 SHA512 1a1c4513bac7cdf91326ab68b822034101e688bfab0dc0b5698f664fc766027229128c55eed94f302cac05d949647cdec6a103a423c3861b047cf0ff7cc0b509 WHIRLPOOL 61381faeff133065c195e37d9cf9eced6f5ff4c3dc6103abcca8186d11de9e1523e4fcfd173f34dfa44c78ad731db25a771d670bf5cd808f00ed5e80697c5c35
+DIST flashrom-0.9.9.tar.bz2 495199 SHA256 cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45 SHA512 155445ce7acab97f91596aad704aa2211da1c3f71fb463fc65c621dfea41e44b5de7db801c5b5cfc37450e8a8cfed5b202553715d999710422c830a0c38ae153 WHIRLPOOL aa7de16e247d704e7a1266fab088f78817d8fe866a0e4279a501d37b777b669d9a9c5aa96283db1e4e943659b3820aba0abb4a2c9f7283afe965df51b4c6541a
+EBUILD flashrom-0.9.6.1.ebuild 2700 SHA256 f960d28e09ec861b75e6428fdf71297d176e70eea1f72a8586e70b3e2e6dc451 SHA512 a55401031f53b030f7615a45c7f7f0785ac86066da8c37f3c783d18924575a034adaf97c4a133aaa8b5feade2a7a3064d6ae356a2ed1db814182e2520e55867c WHIRLPOOL b3f617521f1908e8850a98f9d93aa35296532a0258dbb154770ca8a5f3efa6676ca8b2456d6c41d4f358f2f072420c0e2f6aeaabed89f2a4750fa3a76f78d093
+EBUILD flashrom-0.9.7.ebuild 3398 SHA256 5f7a50637b464b562bd084d9863f1eb58044cef6089318dcc923851100c77d5d SHA512 25449b059d89f6d83983b52910d697e84b1ae98e5d28ceedef2f8479fc0998215fd5daa24b3e3ed324a1e909a4b07eff304ce012ae64a364905713ad18a936f2 WHIRLPOOL f0a044d3c4ec2f9017fb6f03b5f54aacc71d3197575efde9e984de668f00ff124ba16843728bcb453cb282c9d663e6793fd173789eb369db5bd9f9f15ec40d20
+EBUILD flashrom-0.9.8.ebuild 4133 SHA256 01b0b38f80f98413d42dde209fe431202bfa8bb644d99d217bf59d6a84a9245d SHA512 b69d08a6187c4ba726315cf6a079af038c0593a705e0259f7fee6ee4f24acf5f89cb90b7969c1711fc6846532f455981a1fd26eec9754d0f72a0c9fdfc8f6737 WHIRLPOOL 90bdaf2cc3f547edb114c5aeca489cd38b37bdef86178b2a1d470fdc79906de0c13bac1579c6f59cb234e6fe113b28c71c156a0fef6155e2607ce47da3724b55
+EBUILD flashrom-0.9.9.ebuild 4251 SHA256 140edc6b11a99f709afb91de0bfd6597e9d2eb9e851dcb6a0499a6df7588fda8 SHA512 c28cefdf53221056fd8cb389d9757c009fda6ed78d06b116afac263601cd6a54f7b2a35c59faa342b3418ef588c8a1dd108ee84a0327596994cd86adc0d7f9f1 WHIRLPOOL b70f55198b8dc5bedda3ba48c1c1254da4082bda535606b313e7283874e32424b9aefc65fdac228e9934b42a82cdf6b6a682e6d650e03110b3eb2ef13efc8dad
+EBUILD flashrom-9999.ebuild 4251 SHA256 140edc6b11a99f709afb91de0bfd6597e9d2eb9e851dcb6a0499a6df7588fda8 SHA512 c28cefdf53221056fd8cb389d9757c009fda6ed78d06b116afac263601cd6a54f7b2a35c59faa342b3418ef588c8a1dd108ee84a0327596994cd86adc0d7f9f1 WHIRLPOOL b70f55198b8dc5bedda3ba48c1c1254da4082bda535606b313e7283874e32424b9aefc65fdac228e9934b42a82cdf6b6a682e6d650e03110b3eb2ef13efc8dad
+MISC ChangeLog 3485 SHA256 e8f257ade4a60ce652f1913b3a8340bca08bb1fc0a74408146662e2a81e67963 SHA512 71f3cd918a6881c14e1f003a98928d7b7044d102702a44675d1cbad50d6f01cb5fd603bff2db2dfe21db28150754737a96d25c129c4e2d00626c458e07b4388a WHIRLPOOL 75c999f1ed67cbb8d7436fe1d47da93c3afb041574cc9531934cb8f8367a3700c459adaa4594481324621625d37c68a58952df7a2555f1c9a00b4037ec695056
+MISC ChangeLog-2015 6912 SHA256 ac83c9389a99e8c7cfb610b23c9a1f65292bf05d7d4d9867e0af4004e35731c7 SHA512 31f1ad9adf2876cd6cdcd3140e9f5bbafef4a786404effde764561a8c5ec9ebac86328f987bb54cf200be942bb1ef41fb357fe7e3f73a407c61cad48c94d2429 WHIRLPOOL b628374223c84ee612bc6eee3c3eb3c1b3c67493bc735f62991c8144be4e4dbf738ab3ba536df226fcc89d91906935e062de798c9a93dc3fdf6851ed5d14482f
+MISC metadata.xml 4551 SHA256 80cb1353b2d1c8c89e85908245a11cb7f192538bd3f796d7beff12c13c2e1335 SHA512 2224358689218526fdaef78fc0316f7449a2914302a68c8af83c18b6df7783fcbc1ab38c239c9b358210a56b44b3cba11a2b90cf10bee16d987cf64a93277549 WHIRLPOOL a64ad4848e3803c5678f1448fa0f88f8311a308abe6b490dc40085b09e688f2ede8b14fde72fbb8e189066c31c2e6534e2188cfab944d79b0e052001114a4f4c
diff --git a/sys-apps/flashrom/flashrom-0.9.6.1.ebuild b/sys-apps/flashrom/flashrom-0.9.6.1.ebuild
new file mode 100644
index 000000000000..df3b6c22ee50
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-0.9.6.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="https://code.coreboot.org/svn/flashrom/trunk"
+ inherit subversion
+else
+ SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
+ KEYWORDS="amd64 arm x86"
+fi
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="http://flashrom.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="atahpt +bitbang_spi +buspirate_spi +dediprog doc +drkaiser
++dummy ft2232_spi +gfxnvidia +internal +nic3com +nicintel +nicintel_spi
+nicnatsemi nicrealtek +ogp_spi rayer_spi
++pony_spi +satasii satamv +serprog +wiki"
+
+COMMON_DEPEND="atahpt? ( sys-apps/pciutils )
+ dediprog? ( virtual/libusb:0 )
+ drkaiser? ( sys-apps/pciutils )
+ ft2232_spi? ( dev-embedded/libftdi:0 )
+ gfxnvidia? ( sys-apps/pciutils )
+ internal? ( sys-apps/pciutils )
+ nic3com? ( sys-apps/pciutils )
+ nicintel? ( sys-apps/pciutils )
+ nicintel_spi? ( sys-apps/pciutils )
+ nicnatsemi? ( sys-apps/pciutils )
+ nicrealtek? ( sys-apps/pciutils )
+ rayer_spi? ( sys-apps/pciutils )
+ satasii? ( sys-apps/pciutils )
+ satamv? ( sys-apps/pciutils )
+ ogp_spi? ( sys-apps/pciutils )"
+RDEPEND="${COMMON_DEPEND}
+ internal? ( sys-apps/dmidecode )"
+DEPEND="${COMMON_DEPEND}
+ sys-apps/diffutils"
+
+_flashrom_enable() {
+ local c="CONFIG_${2:-$(echo $1 | tr [:lower:] [:upper:])}"
+ args+=" $c=$(usex $1 yes no)"
+}
+flashrom_enable() {
+ local u
+ for u in "$@" ; do _flashrom_enable $u ; done
+}
+
+src_compile() {
+ local progs=0
+ local args=""
+
+ # Programmer
+ flashrom_enable \
+ atahpt bitbang_spi buspirate_spi dediprog drkaiser \
+ ft2232_spi gfxnvidia nic3com nicintel nicintel_spi nicnatsemi nicrealtek \
+ ogp_spi rayer_spi pony_spi \
+ satasii satamv serprog \
+ internal dummy
+ _flashrom_enable wiki PRINT_WIKI
+
+ # You have to specify at least one programmer, and if you specify more than
+ # one programmer you have to include either dummy or internal in the list.
+ for prog in ${IUSE//[+-]} ; do
+ case ${prog} in
+ internal|dummy|wiki) continue ;;
+ esac
+
+ use ${prog} && : $(( progs++ ))
+ done
+ if [ $progs -ne 1 ] ; then
+ if ! use internal && ! use dummy ; then
+ ewarn "You have to specify at least one programmer, and if you specify"
+ ewarn "more than one programmer, you have to enable either dummy or"
+ ewarn "internal as well. 'internal' will be the default now."
+ args+=" CONFIG_INTERNAL=yes"
+ fi
+ fi
+
+ # WARNERROR=no, bug 347879
+ tc-export AR CC RANLIB
+ emake WARNERROR=no ${args} || die
+}
+
+src_install() {
+ dosbin flashrom || die
+ doman flashrom.8
+ dodoc ChangeLog README
+
+ if use doc; then
+ dodoc Documentation/*.txt
+ fi
+}
diff --git a/sys-apps/flashrom/flashrom-0.9.7.ebuild b/sys-apps/flashrom/flashrom-0.9.7.ebuild
new file mode 100644
index 000000000000..111a7ba871d3
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-0.9.7.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="https://code.coreboot.org/svn/flashrom/trunk"
+ inherit subversion
+else
+ SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
+ KEYWORDS="amd64 arm ~mips x86"
+fi
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="http://flashrom.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="atahpt +bitbang_spi +buspirate_spi +dediprog +drkaiser
++dummy ft2232_spi +gfxnvidia +internal +linux_spi +nic3com +nicintel
++nicintel_spi nicnatsemi nicrealtek +ogp_spi rayer_spi
++pony_spi +satasii satamv +serprog static tools usbblaster +wiki"
+
+LIB_DEPEND="atahpt? ( sys-apps/pciutils[static-libs(+)] )
+ dediprog? ( virtual/libusb:0[static-libs(+)] )
+ drkaiser? ( sys-apps/pciutils[static-libs(+)] )
+ ft2232_spi? ( dev-embedded/libftdi:0[static-libs(+)] )
+ gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
+ internal? ( sys-apps/pciutils[static-libs(+)] )
+ nic3com? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_spi? ( sys-apps/pciutils[static-libs(+)] )
+ nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
+ nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
+ rayer_spi? ( sys-apps/pciutils[static-libs(+)] )
+ satasii? ( sys-apps/pciutils[static-libs(+)] )
+ satamv? ( sys-apps/pciutils[static-libs(+)] )
+ usbblaster? ( dev-embedded/libftdi:0[static-libs(+)] )
+ ogp_spi? ( sys-apps/pciutils[static-libs(+)] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ sys-apps/diffutils"
+RDEPEND+=" internal? ( sys-apps/dmidecode )"
+
+_flashrom_enable() {
+ local c="CONFIG_${2:-$(echo $1 | tr [:lower:] [:upper:])}"
+ args+=" $c=$(usex $1 yes no)"
+}
+flashrom_enable() {
+ local u
+ for u in "$@" ; do _flashrom_enable $u ; done
+}
+
+src_compile() {
+ local progs=0
+ local args=""
+
+ # Programmer
+ flashrom_enable \
+ atahpt bitbang_spi buspirate_spi dediprog drkaiser \
+ ft2232_spi gfxnvidia linux_spi nic3com nicintel \
+ nicintel_spi nicnatsemi nicrealtek ogp_spi rayer_spi \
+ pony_spi satasii satamv serprog usbblaster \
+ internal dummy
+ _flashrom_enable wiki PRINT_WIKI
+ _flashrom_enable static STATIC
+
+ # You have to specify at least one programmer, and if you specify more than
+ # one programmer you have to include either dummy or internal in the list.
+ for prog in ${IUSE//[+-]} ; do
+ case ${prog} in
+ internal|dummy|wiki) continue ;;
+ esac
+
+ use ${prog} && : $(( progs++ ))
+ done
+ if [[ ${progs} -ne 1 ]] ; then
+ if ! use internal && ! use dummy ; then
+ ewarn "You have to specify at least one programmer, and if you specify"
+ ewarn "more than one programmer, you have to enable either dummy or"
+ ewarn "internal as well. 'internal' will be the default now."
+ args+=" CONFIG_INTERNAL=yes"
+ fi
+ fi
+
+ # WARNERROR=no, bug 347879
+ tc-export AR CC RANLIB
+ emake WARNERROR=no ${args}
+}
+
+src_test() {
+ if [[ -d tests ]] ; then
+ pushd tests >/dev/null
+ ./tests.py || die
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ dosbin flashrom
+ doman flashrom.8
+ dodoc ChangeLog README Documentation/*.txt
+
+ if use tools; then
+ if use amd64; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ elif use x86; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ fi
+ fi
+}
diff --git a/sys-apps/flashrom/flashrom-0.9.8.ebuild b/sys-apps/flashrom/flashrom-0.9.8.ebuild
new file mode 100644
index 000000000000..5ad355a65031
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-0.9.8.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="https://code.coreboot.org/svn/flashrom/trunk"
+ inherit subversion
+else
+ SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
+ KEYWORDS="amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~sparc x86"
+fi
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="http://flashrom.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+# The defaults match the upstream Makefile.
+# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
+# by some other spi programmers.
+IUSE_PROGRAMMERS="atahpt +atavia +buspirate_spi dediprog +drkaiser +dummy
++ft2232_spi +gfxnvidia +internal +it8212 +linux_spi mstarddc_spi +nic3com
++nicintel +nicintel_eeprom +nicintel_spi nicnatsemi +nicrealtek +ogp_spi
++pickit2_spi +pony_spi +rayer_spi +satamv +satasii +serprog +usbblaster_spi"
+IUSE="${IUSE_PROGRAMMERS} +internal_dmi static tools +wiki"
+
+LIB_DEPEND="atahpt? ( sys-apps/pciutils[static-libs(+)] )
+ atavia? ( sys-apps/pciutils[static-libs(+)] )
+ dediprog? ( virtual/libusb:0[static-libs(+)] )
+ drkaiser? ( sys-apps/pciutils[static-libs(+)] )
+ ft2232_spi? ( dev-embedded/libftdi:0[static-libs(+)] )
+ gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
+ it8212? ( sys-apps/pciutils[static-libs(+)] )
+ internal? ( sys-apps/pciutils[static-libs(+)] )
+ nic3com? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_spi? ( sys-apps/pciutils[static-libs(+)] )
+ nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
+ nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
+ ogp_spi? ( sys-apps/pciutils[static-libs(+)] )
+ pickit2_spi? ( virtual/libusb:0[static-libs(+)] )
+ rayer_spi? ( sys-apps/pciutils[static-libs(+)] )
+ satamv? ( sys-apps/pciutils[static-libs(+)] )
+ satasii? ( sys-apps/pciutils[static-libs(+)] )
+ usbblaster_spi? ( dev-embedded/libftdi:0[static-libs(+)] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ sys-apps/diffutils"
+RDEPEND+=" !internal_dmi? ( sys-apps/dmidecode )"
+
+_flashrom_enable() {
+ local c="CONFIG_${2:-$(echo "$1" | tr [:lower:] [:upper:])}"
+ args+=( "${c}=$(usex $1 yes no)" )
+}
+flashrom_enable() {
+ local u
+ for u ; do _flashrom_enable "${u}" ; done
+}
+
+src_prepare() {
+ sed -i \
+ -e 's:pkg-config:$(PKG_CONFIG):' \
+ Makefile || die
+}
+
+src_compile() {
+ # Help keep things in sync.
+ local sprogs=$(echo $(
+ grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
+ sort -u | \
+ sed 's:^CONFIG_::' | \
+ tr '[:upper:]' '[:lower:]'))
+ local eprogs=$(echo ${IUSE_PROGRAMMERS//[+-]})
+ if [[ ${sprogs} != "${eprogs}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "IUSE set to: ${eprogs}"
+ eerror "flashrom.c : ${sprogs}"
+ die "sync IUSE to the list of source programmers"
+ fi
+
+ # Turn USE flags into CONFIG_xxx settings.
+ local args=()
+ flashrom_enable ${eprogs}
+ _flashrom_enable wiki PRINT_WIKI
+ _flashrom_enable static STATIC
+
+ # You have to specify at least one programmer, and if you specify more than
+ # one programmer you have to include either dummy or internal in the list.
+ # We pick dummy as the default because internal requires libpci.
+ if ! use internal && ! use dummy ; then
+ if [[ ${#args[@]} -ne 1 ]] ; then
+ ewarn "You have to specify at least one programmer, and if you specify"
+ ewarn "more than one programmer, you have to enable either dummy or"
+ ewarn "internal as well. 'dummy' will be the default now."
+ args+=( CONFIG_DUMMY=yes )
+ fi
+ fi
+
+ tc-export AR CC PKG_CONFIG RANLIB
+ emake WARNERROR=no "${args[@]}"
+}
+
+src_test() {
+ if [[ -d tests ]] ; then
+ pushd tests >/dev/null
+ ./tests.py || die
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ dosbin flashrom
+ doman flashrom.8
+ dodoc ChangeLog README Documentation/*.txt
+
+ if use tools ; then
+ if use amd64 ; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ elif use x86 ; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ fi
+ fi
+}
diff --git a/sys-apps/flashrom/flashrom-0.9.9.ebuild b/sys-apps/flashrom/flashrom-0.9.9.ebuild
new file mode 100644
index 000000000000..a552cb33f7fe
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-0.9.9.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="https://code.coreboot.org/svn/flashrom/trunk"
+ inherit subversion
+else
+ SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="http://flashrom.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+# The defaults match the upstream Makefile.
+# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
+# by some other spi programmers.
+IUSE_PROGRAMMERS="
+atahpt +atapromise +atavia +buspirate_spi ch341a_spi dediprog +drkaiser +dummy
++ft2232_spi +gfxnvidia +internal +it8212 +linux_spi mstarddc_spi +nic3com
++nicintel +nicintel_eeprom +nicintel_spi nicnatsemi +nicrealtek +ogp_spi
++pickit2_spi +pony_spi +rayer_spi +satamv +satasii +serprog +usbblaster_spi"
+IUSE="${IUSE_PROGRAMMERS} +internal_dmi static tools +wiki"
+
+LIB_DEPEND="atahpt? ( sys-apps/pciutils[static-libs(+)] )
+ atapromise? ( sys-apps/pciutils[static-libs(+)] )
+ atavia? ( sys-apps/pciutils[static-libs(+)] )
+ ch341a_spi? ( virtual/libusb:0[static-libs(+)] )
+ dediprog? ( virtual/libusb:0[static-libs(+)] )
+ drkaiser? ( sys-apps/pciutils[static-libs(+)] )
+ ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] )
+ gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
+ it8212? ( sys-apps/pciutils[static-libs(+)] )
+ internal? ( sys-apps/pciutils[static-libs(+)] )
+ nic3com? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_spi? ( sys-apps/pciutils[static-libs(+)] )
+ nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
+ nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
+ ogp_spi? ( sys-apps/pciutils[static-libs(+)] )
+ pickit2_spi? ( virtual/libusb:0[static-libs(+)] )
+ rayer_spi? ( sys-apps/pciutils[static-libs(+)] )
+ satamv? ( sys-apps/pciutils[static-libs(+)] )
+ satasii? ( sys-apps/pciutils[static-libs(+)] )
+ usbblaster_spi? ( dev-embedded/libftdi:=[static-libs(+)] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ sys-apps/diffutils"
+RDEPEND+=" !internal_dmi? ( sys-apps/dmidecode )"
+
+_flashrom_enable() {
+ local c="CONFIG_${2:-$(echo "$1" | tr [:lower:] [:upper:])}"
+ args+=( "${c}=$(usex $1 yes no)" )
+}
+flashrom_enable() {
+ local u
+ for u ; do _flashrom_enable "${u}" ; done
+}
+
+src_prepare() {
+ sed -i \
+ -e 's:pkg-config:$(PKG_CONFIG):' \
+ Makefile || die
+}
+
+src_compile() {
+ # Help keep things in sync.
+ local sprogs=$(echo $(
+ grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
+ sort -u | \
+ sed 's:^CONFIG_::' | \
+ tr '[:upper:]' '[:lower:]'))
+ local eprogs=$(echo ${IUSE_PROGRAMMERS//[+-]})
+ if [[ ${sprogs} != "${eprogs}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "IUSE set to: ${eprogs}"
+ eerror "flashrom.c : ${sprogs}"
+ die "sync IUSE to the list of source programmers"
+ fi
+
+ # Turn USE flags into CONFIG_xxx settings.
+ local args=()
+ flashrom_enable ${eprogs}
+ _flashrom_enable wiki PRINT_WIKI
+ _flashrom_enable static STATIC
+
+ # You have to specify at least one programmer, and if you specify more than
+ # one programmer you have to include either dummy or internal in the list.
+ # We pick dummy as the default because internal requires libpci.
+ if ! use internal && ! use dummy ; then
+ if [[ ${#args[@]} -ne 1 ]] ; then
+ ewarn "You have to specify at least one programmer, and if you specify"
+ ewarn "more than one programmer, you have to enable either dummy or"
+ ewarn "internal as well. 'dummy' will be the default now."
+ args+=( CONFIG_DUMMY=yes )
+ fi
+ fi
+
+ tc-export AR CC PKG_CONFIG RANLIB
+ emake WARNERROR=no "${args[@]}"
+}
+
+src_test() {
+ if [[ -d tests ]] ; then
+ pushd tests >/dev/null
+ ./tests.py || die
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ dosbin flashrom
+ doman flashrom.8
+ dodoc README Documentation/*.txt
+
+ if use tools ; then
+ if use amd64 ; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ elif use x86 ; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ fi
+ fi
+}
diff --git a/sys-apps/flashrom/flashrom-9999.ebuild b/sys-apps/flashrom/flashrom-9999.ebuild
new file mode 100644
index 000000000000..a552cb33f7fe
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-9999.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="https://code.coreboot.org/svn/flashrom/trunk"
+ inherit subversion
+else
+ SRC_URI="http://download.flashrom.org/releases/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="http://flashrom.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+# The defaults match the upstream Makefile.
+# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
+# by some other spi programmers.
+IUSE_PROGRAMMERS="
+atahpt +atapromise +atavia +buspirate_spi ch341a_spi dediprog +drkaiser +dummy
++ft2232_spi +gfxnvidia +internal +it8212 +linux_spi mstarddc_spi +nic3com
++nicintel +nicintel_eeprom +nicintel_spi nicnatsemi +nicrealtek +ogp_spi
++pickit2_spi +pony_spi +rayer_spi +satamv +satasii +serprog +usbblaster_spi"
+IUSE="${IUSE_PROGRAMMERS} +internal_dmi static tools +wiki"
+
+LIB_DEPEND="atahpt? ( sys-apps/pciutils[static-libs(+)] )
+ atapromise? ( sys-apps/pciutils[static-libs(+)] )
+ atavia? ( sys-apps/pciutils[static-libs(+)] )
+ ch341a_spi? ( virtual/libusb:0[static-libs(+)] )
+ dediprog? ( virtual/libusb:0[static-libs(+)] )
+ drkaiser? ( sys-apps/pciutils[static-libs(+)] )
+ ft2232_spi? ( dev-embedded/libftdi:=[static-libs(+)] )
+ gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
+ it8212? ( sys-apps/pciutils[static-libs(+)] )
+ internal? ( sys-apps/pciutils[static-libs(+)] )
+ nic3com? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_eeprom? ( sys-apps/pciutils[static-libs(+)] )
+ nicintel_spi? ( sys-apps/pciutils[static-libs(+)] )
+ nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
+ nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
+ ogp_spi? ( sys-apps/pciutils[static-libs(+)] )
+ pickit2_spi? ( virtual/libusb:0[static-libs(+)] )
+ rayer_spi? ( sys-apps/pciutils[static-libs(+)] )
+ satamv? ( sys-apps/pciutils[static-libs(+)] )
+ satasii? ( sys-apps/pciutils[static-libs(+)] )
+ usbblaster_spi? ( dev-embedded/libftdi:=[static-libs(+)] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ sys-apps/diffutils"
+RDEPEND+=" !internal_dmi? ( sys-apps/dmidecode )"
+
+_flashrom_enable() {
+ local c="CONFIG_${2:-$(echo "$1" | tr [:lower:] [:upper:])}"
+ args+=( "${c}=$(usex $1 yes no)" )
+}
+flashrom_enable() {
+ local u
+ for u ; do _flashrom_enable "${u}" ; done
+}
+
+src_prepare() {
+ sed -i \
+ -e 's:pkg-config:$(PKG_CONFIG):' \
+ Makefile || die
+}
+
+src_compile() {
+ # Help keep things in sync.
+ local sprogs=$(echo $(
+ grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
+ sort -u | \
+ sed 's:^CONFIG_::' | \
+ tr '[:upper:]' '[:lower:]'))
+ local eprogs=$(echo ${IUSE_PROGRAMMERS//[+-]})
+ if [[ ${sprogs} != "${eprogs}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "IUSE set to: ${eprogs}"
+ eerror "flashrom.c : ${sprogs}"
+ die "sync IUSE to the list of source programmers"
+ fi
+
+ # Turn USE flags into CONFIG_xxx settings.
+ local args=()
+ flashrom_enable ${eprogs}
+ _flashrom_enable wiki PRINT_WIKI
+ _flashrom_enable static STATIC
+
+ # You have to specify at least one programmer, and if you specify more than
+ # one programmer you have to include either dummy or internal in the list.
+ # We pick dummy as the default because internal requires libpci.
+ if ! use internal && ! use dummy ; then
+ if [[ ${#args[@]} -ne 1 ]] ; then
+ ewarn "You have to specify at least one programmer, and if you specify"
+ ewarn "more than one programmer, you have to enable either dummy or"
+ ewarn "internal as well. 'dummy' will be the default now."
+ args+=( CONFIG_DUMMY=yes )
+ fi
+ fi
+
+ tc-export AR CC PKG_CONFIG RANLIB
+ emake WARNERROR=no "${args[@]}"
+}
+
+src_test() {
+ if [[ -d tests ]] ; then
+ pushd tests >/dev/null
+ ./tests.py || die
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ dosbin flashrom
+ doman flashrom.8
+ dodoc README Documentation/*.txt
+
+ if use tools ; then
+ if use amd64 ; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ elif use x86 ; then
+ dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ fi
+ fi
+}
diff --git a/sys-apps/flashrom/metadata.xml b/sys-apps/flashrom/metadata.xml
new file mode 100644
index 000000000000..fbc371b02ad6
--- /dev/null
+++ b/sys-apps/flashrom/metadata.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>idl0r@gentoo.org</email>
+ <name>Christian Ruppert</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>peter@stuge.se</email>
+ <name>Peter Stuge</name>
+ <description>Please CC on all bugs</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="atahpt">Highpoint (HPT) ATA/RAID controller support</flag>
+ <flag name="atapromise">Support for Promise PDC2026x (FastTrak/Ultra)</flag>
+ <flag name="atavia">Support for VIA VT6421A SATA controllers</flag>
+ <flag name="bitbang_spi">Bitbanging SPI infrastructure</flag>
+ <flag name="buspirate_spi">Enable Bus Pirate SPI programmer</flag>
+ <flag name="ch341a_spi">Enable WCH CH341A SPI programmer</flag>
+ <flag name="dediprog">Dediprog SF100 support</flag>
+ <flag name="drkaiser">Enable Dr. Kaiser programmer</flag>
+ <flag name="dummy">Enable dummy tracing</flag>
+ <flag name="ft2232_spi">Enable ftdi programmer, flashing through FTDI/SPI USB interface</flag>
+ <flag name="gfxnvidia">Enable NVIDIA programmer</flag>
+ <flag name="internal">Enable internal/onboard support</flag>
+ <flag name="internal_dmi">Enable internal DMI decoding rather than use <pkg>sys-apps/dmidecode</pkg></flag>
+ <flag name="it8212">Support for ITE IT8212F ATA/RAID controllers</flag>
+ <flag name="linux_spi">Enable support for Linux userspace spidev interface</flag>
+ <flag name="mstarddc_spi">Support for SPI flash ROMs accessible through DDC in MSTAR-equipped displays</flag>
+ <flag name="nic3com">Enable 3Com NIC programmer</flag>
+ <flag name="nicintel">Support for Intel NICs</flag>
+ <flag name="nicintel_eeprom">Support for EEPROMs on Intel Gigabit network cards</flag>
+ <flag name="nicintel_spi">Support for SPI on Intel NICs</flag>
+ <flag name="nicnatsemi">Support for National Semiconductor NICs</flag>
+ <flag name="nicrealtek">Support for Realtek NICs</flag>
+ <flag name="ogp_spi">Enable support for OGP (Open Graphics Project) SPI flashing</flag>
+ <flag name="pickit2_spi">SUpport for SPI flash ROMs accessible via Microchip PICkit2</flag>
+ <flag name="pony_spi">Enable support for SI-Prog like hardware by Lancos</flag>
+ <flag name="rayer_spi">RayeR SPIPGM hardware support</flag>
+ <flag name="satasii">Enable programmer for SiI SATA controllers</flag>
+ <flag name="satamv">Enable programmer for Marvell SATA controllers</flag>
+ <flag name="serprog">Enable Serial Flasher programmer</flag>
+ <flag name="tools">Install additional tools</flag>
+ <flag name="usbblaster">Enable support for Altera USB-Blaster dongles</flag>
+ <flag name="usbblaster_spi">Enable support for Altera USB-Blaster dongles</flag>
+ <flag name="wiki">Enable wiki informations, like supported devices etc.</flag>
+ </use>
+ <longdescription lang="en">
+flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.
+
+ Supports more than 380 flash chips, 260 chipsets, 450 mainboards, 50 PCI devices, 12 USB devices and various parallel/serial port-based programmers.
+ Supports parallel, LPC, FWH and SPI flash interfaces and various chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, BGA and more)
+ No physical access needed, root access is sufficient (not needed for some programmers).
+ No bootable floppy disk, bootable CD-ROM or other media needed.
+ No keyboard or monitor needed. Simply reflash remotely via SSH.
+ No instant reboot needed. Reflash your chip in a running system, verify it, be happy. The new firmware will be present next time you boot.
+ Crossflashing and hotflashing is possible as long as the flash chips are electrically and logically compatible (same protocol). Great for recovery.
+ Scriptability. Reflash a whole pool of identical machines at the same time from the command line. It is recommended to check flashrom output and error codes.
+ Speed. flashrom is often much faster than most vendor flash tools.
+ Portability. Supports DOS, Linux, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, Solaris, Mac OS X, and other Unix-like OSes. Partial Windows support is available (no internal programmer support at the moment, hence no "BIOS flashing").
+ </longdescription>
+</pkgmetadata>