| 1 |
# Copyright 2010-2013 Gentoo Foundation |
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoind/bitcoind-0.7.2_rc2.ebuild,v 1.2 2013/01/08 02:13:58 blueness Exp $ |
| 4 |
|
| 5 |
EAPI="4" |
| 6 |
|
| 7 |
DB_VER="4.8" |
| 8 |
|
| 9 |
inherit db-use eutils versionator toolchain-funcs |
| 10 |
|
| 11 |
DESCRIPTION="Original Bitcoin crypto-currency wallet for automated services" |
| 12 |
HOMEPAGE="http://bitcoin.org/" |
| 13 |
SRC_URI="http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v${PV/_/} -> bitcoin-v${PV}.tgz |
| 14 |
eligius? ( http://luke.dashjr.org/programs/bitcoin/files/bitcoind/eligius/sendfee/0.7.1-eligius_sendfee.patch.xz ) |
| 15 |
" |
| 16 |
|
| 17 |
LICENSE="MIT ISC GPL-2" |
| 18 |
SLOT="0" |
| 19 |
KEYWORDS="~amd64 ~arm ~x86" |
| 20 |
IUSE="+eligius examples ipv6 logrotate upnp" |
| 21 |
|
| 22 |
RDEPEND=" |
| 23 |
>=dev-libs/boost-1.41.0[threads(+)] |
| 24 |
dev-libs/openssl[-bindist] |
| 25 |
logrotate? ( |
| 26 |
app-admin/logrotate |
| 27 |
) |
| 28 |
upnp? ( |
| 29 |
net-libs/miniupnpc |
| 30 |
) |
| 31 |
sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx] |
| 32 |
" |
| 33 |
DEPEND="${RDEPEND} |
| 34 |
>=app-shells/bash-4.1 |
| 35 |
" |
| 36 |
|
| 37 |
S="${WORKDIR}/bitcoin-bitcoind-stable" |
| 38 |
|
| 39 |
pkg_setup() { |
| 40 |
local UG='bitcoin' |
| 41 |
enewgroup "${UG}" |
| 42 |
enewuser "${UG}" -1 -1 /var/lib/bitcoin "${UG}" |
| 43 |
} |
| 44 |
|
| 45 |
src_prepare() { |
| 46 |
use eligius && epatch "${WORKDIR}/0.7.1-eligius_sendfee.patch" |
| 47 |
} |
| 48 |
|
| 49 |
src_compile() { |
| 50 |
OPTS=() |
| 51 |
|
| 52 |
OPTS+=("DEBUGFLAGS=") |
| 53 |
OPTS+=("CXXFLAGS=${CXXFLAGS}") |
| 54 |
OPTS+=("LDFLAGS=${LDFLAGS}") |
| 55 |
|
| 56 |
OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")") |
| 57 |
OPTS+=("BDB_LIB_SUFFIX=-${DB_VER}") |
| 58 |
|
| 59 |
if use upnp; then |
| 60 |
OPTS+=(USE_UPNP=1) |
| 61 |
else |
| 62 |
OPTS+=(USE_UPNP=) |
| 63 |
fi |
| 64 |
use ipv6 || OPTS+=("USE_IPV6=-") |
| 65 |
|
| 66 |
# Workaround for bug #440034 |
| 67 |
share/genbuild.sh src/obj/build.h |
| 68 |
|
| 69 |
cd src || die |
| 70 |
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -f makefile.unix "${OPTS[@]}" ${PN} |
| 71 |
} |
| 72 |
|
| 73 |
src_test() { |
| 74 |
cd src || die |
| 75 |
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -f makefile.unix "${OPTS[@]}" test_bitcoin |
| 76 |
./test_bitcoin || die 'Tests failed' |
| 77 |
} |
| 78 |
|
| 79 |
src_install() { |
| 80 |
dobin src/${PN} |
| 81 |
|
| 82 |
insinto /etc/bitcoin |
| 83 |
newins "${FILESDIR}/bitcoin.conf" bitcoin.conf |
| 84 |
fowners bitcoin:bitcoin /etc/bitcoin/bitcoin.conf |
| 85 |
fperms 600 /etc/bitcoin/bitcoin.conf |
| 86 |
|
| 87 |
newconfd "${FILESDIR}/bitcoin.confd" ${PN} |
| 88 |
newinitd "${FILESDIR}/bitcoin.initd" ${PN} |
| 89 |
|
| 90 |
keepdir /var/lib/bitcoin/.bitcoin |
| 91 |
fperms 700 /var/lib/bitcoin |
| 92 |
fowners bitcoin:bitcoin /var/lib/bitcoin/ |
| 93 |
fowners bitcoin:bitcoin /var/lib/bitcoin/.bitcoin |
| 94 |
dosym /etc/bitcoin/bitcoin.conf /var/lib/bitcoin/.bitcoin/bitcoin.conf |
| 95 |
|
| 96 |
dodoc doc/README |
| 97 |
|
| 98 |
if use examples; then |
| 99 |
docinto examples |
| 100 |
dodoc -r contrib/{bitrpc,pyminer,wallettools} |
| 101 |
fi |
| 102 |
|
| 103 |
if use logrotate; then |
| 104 |
insinto /etc/logrotate.d |
| 105 |
newins "${FILESDIR}/bitcoind.logrotate" bitcoind |
| 106 |
fi |
| 107 |
} |