blob: 684e4abbc95651637f3087c4718973d2ba01d6c1 (
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/cgminer/cgminer-2.6.3.ebuild,v 1.2 2012/08/22 02:19:27 blueness Exp $
EAPI="4"
inherit versionator
MY_PV="$(replace_version_separator 3 -)"
S="${WORKDIR}/${PN}-${MY_PV}"
DESCRIPTION="Bitcoin CPU/GPU/FPGA miner in C"
HOMEPAGE="https://bitcointalk.org/index.php?topic=28402.0"
SRC_URI="http://ck.kolivas.org/apps/${PN}/${PN}-2.6/${PN}-${MY_PV}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="+adl altivec bitforce +cpumining examples hardened icarus modminer ncurses +opencl padlock scrypt sse2 sse2_4way sse4 +udev ztex"
REQUIRED_USE="
|| ( bitforce cpumining icarus modminer opencl ztex )
adl? ( opencl )
altivec? ( cpumining ppc ppc64 )
opencl? ( ncurses )
padlock? ( cpumining || ( amd64 x86 ) )
scrypt? ( opencl )
sse2? ( cpumining || ( amd64 x86 ) )
sse4? ( cpumining amd64 )
"
DEPEND="
net-misc/curl
ncurses? (
sys-libs/ncurses
)
dev-libs/jansson
opencl? (
virtual/opencl
)
udev? (
sys-fs/udev
)
ztex? (
virtual/libusb:1
)
"
RDEPEND="${DEPEND}"
DEPEND="${DEPEND}
virtual/pkgconfig
sys-apps/sed
adl? (
x11-libs/amd-adl-sdk
)
sse2? (
>=dev-lang/yasm-1.0.1
)
sse4? (
>=dev-lang/yasm-1.0.1
)
"
src_prepare() {
sed -i 's/\(^\#define WANT_.*\(SSE\|PADLOCK\|ALTIVEC\)\)/\/\/ \1/' miner.h
ln -s /usr/include/ADL/* ADL_SDK/
}
src_configure() {
local CFLAGS="${CFLAGS}"
if ! use altivec; then
sed -i 's/-faltivec//g' configure
else
CFLAGS="${CFLAGS} -DWANT_ALTIVEC=1"
fi
use padlock && CFLAGS="${CFLAGS} -DWANT_VIA_PADLOCK=1"
if use sse2; then
if use amd64; then
CFLAGS="${CFLAGS} -DWANT_X8664_SSE2=1"
else
CFLAGS="${CFLAGS} -DWANT_X8632_SSE2=1"
fi
fi
use sse2_4way && CFLAGS="${CFLAGS} -DWANT_SSE2_4WAY=1"
use sse4 && CFLAGS="${CFLAGS} -DWANT_X8664_SSE4=1"
use hardened && CFLAGS="${CFLAGS} -nopie"
CFLAGS="${CFLAGS}" \
econf \
$(use_enable adl) \
$(use_enable bitforce) \
$(use_enable cpumining) \
$(use_enable icarus) \
$(use_enable modminer) \
$(use_with ncurses curses) \
$(use_enable opencl) \
$(use_enable scrypt) \
$(use_with udev libudev) \
$(use_enable ztex)
# sanitize directories
sed -i 's~^\(\#define CGMINER_PREFIX \).*$~\1"'"${EPREFIX}/usr/lib/cgminer"'"~' config.h
}
src_install() {
dobin cgminer
dodoc AUTHORS NEWS README API-README
if use scrypt; then
dodoc SCRYPT-README
fi
if use icarus || use bitforce; then
dodoc FPGA-README
fi
if use modminer; then
insinto /usr/lib/cgminer/modminer
doins bitstreams/*.ncd
dodoc bitstreams/COPYING_fpgaminer
fi
if use opencl; then
insinto /usr/lib/cgminer
doins *.cl
fi
if use ztex; then
insinto /usr/lib/cgminer/ztex
doins bitstreams/*.bit
dodoc bitstreams/COPYING_ztex
fi
if use examples; then
docinto examples
dodoc api-example.php miner.php API.java api-example.c
fi
}
|