blob: 9a1a2099a687ab5df2e7988dba6b8accc1c756f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/flashrom/flashrom-0.9.3.ebuild,v 1.1 2010/12/03 17:25:28 idl0r Exp $
EAPI="3"
inherit toolchain-funcs
DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
HOMEPAGE="http://flashrom.org"
SRC_URI="http://qa.coreboot.org/releases/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="atahpt bitbang_spi buspirate_spi dediprog drkaiser
dummy ft2232_spi gfxnvidia +internal nic3com nicintel_spi nicnatsemi nicrealtek rayer_spi
satasii serprog +wiki"
COMMON_DEPEND="atahpt? ( sys-apps/pciutils )
dediprog? ( virtual/libusb:0 )
drkaiser? ( sys-apps/pciutils )
ft2232_spi? ( dev-embedded/libftdi )
gfxnvidia? ( sys-apps/pciutils )
internal? ( sys-apps/pciutils )
nic3com? ( 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 )"
RDEPEND="${COMMON_DEPEND}
internal? ( sys-apps/dmidecode )"
DEPEND="${COMMON_DEPEND}
sys-apps/diffutils"
_flashrom_enable() {
local flag=${1}
local macro=${2}
if use $flag; then
args="${args} ${macro}=yes"
else
args="${args} ${macro}=no"
fi
}
src_compile() {
local progs=0
local args=""
# Programmer
_flashrom_enable atahpt CONFIG_ATAHPT
_flashrom_enable bitbang_spi CONFIG_BITBANG_SPI
_flashrom_enable buspirate_spi CONFIG_BUSPIRATE_SPI
_flashrom_enable dediprog CONFIG_DEDIPROG
_flashrom_enable drkaiser CONFIG_DRKAISER
_flashrom_enable ft2232_spi CONFIG_FT2232_SPI
_flashrom_enable gfxnvidia CONFIG_GFXNVIDIA
_flashrom_enable nic3com CONFIG_NIC3COM
_flashrom_enable nicintel_spi CONFIG_NICINTEL_SPI
_flashrom_enable nicnatsemi CONFIG_NICNATSEMI
_flashrom_enable nicrealtek CONFIG_NICREALTEK
_flashrom_enable rayer_spi CONFIG_RAYER_SPI
_flashrom_enable satasii CONFIG_SATASII
_flashrom_enable serprog CONFIG_SERPROG
_flashrom_enable internal CONFIG_INTERNAL
_flashrom_enable dummy CONFIG_DUMMY
_flashrom_enable wiki CONFIG_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
prog=$(echo $prog | sed 's:^[+-]::')
[ "${prog}" = "internal" ] || [ "${prog}" = "dummy" ] || [ "${prog}" = "wiki" ] && continue
use $prog && progs=$((progs + 1))
done
if [ $progs -ne 1 ]; then
if ! use internal && ! use dummy; then
ewarn "You have to specify at least one programmer,"
ewarn "and if you specify more than one programmer you have to enable"
ewarn "either dummy or internal as well"
ewarn "'internal' will be the default now"
sleep 3
args="${args} CONFIG_INTERNAL=yes"
fi
fi
emake CC="$(tc-getCC)" ${args} || die
}
src_install() {
dosbin flashrom || die
doman flashrom.8
dodoc ChangeLog README
}
|