summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/bfgminer/bfgminer-2.8.6.ebuild')
-rw-r--r--net-misc/bfgminer/bfgminer-2.8.6.ebuild128
1 files changed, 128 insertions, 0 deletions
diff --git a/net-misc/bfgminer/bfgminer-2.8.6.ebuild b/net-misc/bfgminer/bfgminer-2.8.6.ebuild
new file mode 100644
index 000000000000..95d56380fae8
--- /dev/null
+++ b/net-misc/bfgminer/bfgminer-2.8.6.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/bfgminer/bfgminer-2.8.6.ebuild,v 1.1 2012/12/06 13:41:53 blueness Exp $
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Modular Bitcoin CPU/GPU/FPGA miner in C"
+HOMEPAGE="https://bitcointalk.org/index.php?topic=78192.0"
+SRC_URI="http://luke.dashjr.org/programs/bitcoin/files/${PN}/${PV}/${P}.tbz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+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 )
+ padlock? ( cpumining || ( amd64 x86 ) )
+ scrypt? ( || ( cpumining opencl ) )
+ sse2? ( cpumining || ( amd64 x86 ) )
+ sse4? ( cpumining amd64 )
+"
+
+DEPEND="
+ net-misc/curl
+ ncurses? (
+ sys-libs/ncurses
+ )
+ >=dev-libs/jansson-2
+ udev? (
+ sys-fs/udev
+ )
+ ztex? (
+ virtual/libusb:1
+ )
+"
+RDEPEND="${DEPEND}
+ opencl? (
+ virtual/opencl
+ )
+"
+DEPEND="${DEPEND}
+ virtual/pkgconfig
+ sys-apps/sed
+ 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
+}
+
+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/bfgminer"'"~' config.h
+}
+
+src_install() {
+ dobin bfgminer
+ 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 bitforce; then
+ dobin bitforce-firmware-flash
+ fi
+ if use modminer; then
+ insinto /usr/lib/bfgminer/modminer
+ doins bitstreams/fpgaminer*.bit
+ dodoc bitstreams/COPYING_fpgaminer
+ fi
+ if use opencl; then
+ insinto /usr/lib/bfgminer
+ doins *.cl
+ fi
+ if use ztex; then
+ insinto /usr/lib/bfgminer/ztex
+ doins bitstreams/ztex*.bit
+ dodoc bitstreams/COPYING_ztex
+ fi
+ if use examples; then
+ docinto examples
+ dodoc api-example.php miner.php API.java api-example.c
+ fi
+ cd libblkmaker
+ emake DESTDIR="$D" install
+}