1 |
# Copyright 1999-2015 Gentoo Foundation |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /var/cvsroot/gentoo-x86/net-misc/bfgminer/bfgminer-4.2.0.ebuild,v 1.1 2014/06/12 14:35:32 blueness Exp $ |
4 |
|
5 |
EAPI=5 |
6 |
|
7 |
inherit eutils |
8 |
|
9 |
DESCRIPTION="Modular Bitcoin ASIC/FPGA/GPU/CPU miner in C" |
10 |
HOMEPAGE="https://bitcointalk.org/?topic=168174" |
11 |
SRC_URI="http://luke.dashjr.org/programs/bitcoin/files/${PN}/${PV}/${P}.txz -> ${P}.tar.xz" |
12 |
|
13 |
LICENSE="GPL-3" |
14 |
SLOT="0" |
15 |
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86" |
16 |
|
17 |
# TODO: knc (needs i2c-tools header) |
18 |
# TODO: minergate (needs actual miner_gate) |
19 |
# TODO: titan |
20 |
IUSE="adl antminer avalon avalonmm bfx bifury bitforce bfsb bigpic bitfury cointerra cpumining drillbit dualminer examples gridseed hardened hashbuster hashbuster2 hashfast icarus jingtian klondike +libusb littlefury lm_sensors metabank modminer nanofury ncurses opencl proxy proxy_getwork proxy_stratum rockminer screen scrypt twinfury +udev udev-broad-rules unicode x6500 zeusminer ztex" |
21 |
REQUIRED_USE=' |
22 |
|| ( antminer avalon avalonmm bfsb bfx bifury bigpic bitforce bitfury cointerra cpumining drillbit dualminer gridseed hashbuster hashbuster2 hashfast icarus klondike littlefury metabank modminer nanofury opencl proxy twinfury x6500 zeusminer ztex ) |
23 |
adl? ( opencl ) |
24 |
bfsb? ( bitfury ) |
25 |
bfx? ( bitfury libusb ) |
26 |
bigpic? ( bitfury ) |
27 |
drillbit? ( bitfury ) |
28 |
dualminer? ( icarus ) |
29 |
gridseed? ( scrypt ) |
30 |
hashbuster? ( bitfury ) |
31 |
hashbuster2? ( bitfury libusb ) |
32 |
klondike? ( libusb ) |
33 |
littlefury? ( bitfury ) |
34 |
lm_sensors? ( opencl ) |
35 |
metabank? ( bitfury ) |
36 |
nanofury? ( bitfury ) |
37 |
scrypt? ( || ( cpumining dualminer gridseed opencl proxy zeusminer ) ) |
38 |
twinfury? ( bitfury ) |
39 |
unicode? ( ncurses ) |
40 |
proxy? ( || ( proxy_getwork proxy_stratum ) ) |
41 |
proxy_getwork? ( proxy ) |
42 |
proxy_stratum? ( proxy ) |
43 |
x6500? ( libusb ) |
44 |
zeusminer? ( scrypt ) |
45 |
ztex? ( libusb ) |
46 |
' |
47 |
|
48 |
DEPEND=' |
49 |
net-misc/curl |
50 |
ncurses? ( |
51 |
sys-libs/ncurses[unicode?] |
52 |
) |
53 |
>=dev-libs/jansson-2 |
54 |
dev-libs/libbase58 |
55 |
net-libs/libblkmaker |
56 |
udev? ( |
57 |
virtual/udev |
58 |
) |
59 |
hashbuster? ( |
60 |
dev-libs/hidapi |
61 |
) |
62 |
libusb? ( |
63 |
virtual/libusb:1 |
64 |
) |
65 |
lm_sensors? ( |
66 |
sys-apps/lm_sensors |
67 |
) |
68 |
nanofury? ( |
69 |
dev-libs/hidapi |
70 |
) |
71 |
proxy_getwork? ( |
72 |
net-libs/libmicrohttpd |
73 |
) |
74 |
proxy_stratum? ( |
75 |
dev-libs/libevent |
76 |
) |
77 |
screen? ( |
78 |
app-misc/screen |
79 |
|| ( |
80 |
>=sys-apps/coreutils-8.15 |
81 |
sys-freebsd/freebsd-bin |
82 |
app-misc/realpath |
83 |
) |
84 |
) |
85 |
' |
86 |
RDEPEND="${DEPEND} |
87 |
opencl? ( |
88 |
|| ( |
89 |
virtual/opencl |
90 |
virtual/opencl-sdk |
91 |
dev-util/ati-stream-sdk |
92 |
dev-util/ati-stream-sdk-bin |
93 |
dev-util/amdstream |
94 |
dev-util/amd-app-sdk |
95 |
dev-util/amd-app-sdk-bin |
96 |
dev-util/nvidia-cuda-sdk[opencl] |
97 |
dev-util/intel-opencl-sdk |
98 |
) |
99 |
) |
100 |
" |
101 |
DEPEND="${DEPEND} |
102 |
virtual/pkgconfig |
103 |
>=dev-libs/uthash-1.9.7 |
104 |
sys-apps/sed |
105 |
cpumining? ( |
106 |
amd64? ( |
107 |
>=dev-lang/yasm-1.0.1 |
108 |
) |
109 |
x86? ( |
110 |
>=dev-lang/yasm-1.0.1 |
111 |
) |
112 |
) |
113 |
" |
114 |
|
115 |
src_configure() { |
116 |
local CFLAGS="${CFLAGS}" |
117 |
local with_curses |
118 |
use hardened && CFLAGS="${CFLAGS} -nopie" |
119 |
|
120 |
if use ncurses; then |
121 |
if use unicode; then |
122 |
with_curses='--with-curses=ncursesw' |
123 |
else |
124 |
with_curses='--with-curses=ncurses' |
125 |
fi |
126 |
else |
127 |
with_curses='--without-curses' |
128 |
fi |
129 |
|
130 |
CFLAGS="${CFLAGS}" \ |
131 |
econf \ |
132 |
--docdir="/usr/share/doc/${PF}" \ |
133 |
$(use_enable adl) \ |
134 |
$(use_enable antminer) \ |
135 |
$(use_enable avalon) \ |
136 |
$(use_enable avalonmm) \ |
137 |
$(use_enable bifury) \ |
138 |
$(use_enable bitforce) \ |
139 |
$(use_enable bfsb) \ |
140 |
$(use_enable bfx) \ |
141 |
$(use_enable bigpic) \ |
142 |
$(use_enable bitfury) \ |
143 |
$(use_enable cointerra) \ |
144 |
$(use_enable cpumining) \ |
145 |
$(use_enable drillbit) \ |
146 |
$(use_enable dualminer) \ |
147 |
$(use_enable gridseed) \ |
148 |
$(use_enable hashbuster) \ |
149 |
$(use_enable hashbuster2 hashbusterusb) \ |
150 |
$(use_enable hashfast) \ |
151 |
$(use_enable icarus) \ |
152 |
$(use_enable jingtian) \ |
153 |
$(use_enable klondike) \ |
154 |
$(use_enable littlefury) \ |
155 |
$(use_enable metabank) \ |
156 |
$(use_enable modminer) \ |
157 |
$(use_enable nanofury) \ |
158 |
$(use_enable opencl) \ |
159 |
$(use_enable rockminer) \ |
160 |
$(use_enable scrypt) \ |
161 |
$(use_enable twinfury) \ |
162 |
--with-system-libblkmaker \ |
163 |
$with_curses \ |
164 |
$(use_with udev libudev) \ |
165 |
$(use_enable udev-broad-rules broad-udevrules) \ |
166 |
$(use_with lm_sensors sensors) \ |
167 |
$(use_with proxy_getwork libmicrohttpd) \ |
168 |
$(use_with proxy_stratum libevent) \ |
169 |
$(use_enable x6500) \ |
170 |
$(use_enable zeusminer) \ |
171 |
$(use_enable ztex) |
172 |
} |
173 |
|
174 |
src_install() { |
175 |
emake install DESTDIR="$D" |
176 |
if ! use examples; then |
177 |
rm -r "${D}/usr/share/doc/${PF}/rpc-examples" |
178 |
fi |
179 |
if ! use screen; then |
180 |
rm "${D}/usr/bin/start-bfgminer.sh" |
181 |
fi |
182 |
} |