123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- # Copyright 1999-2016 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="svn://flashrom.org/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
- }
|