123 lines
3 KiB
Bash
123 lines
3 KiB
Bash
# Copyright 1999-2014 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/net-p2p/datacoin-hp/datacoin-hp-9999.ebuild,v 1.5 2014/08/28 22:52:09 blueness Exp $
|
|
|
|
EAPI=5
|
|
|
|
DB_VER="4.8"
|
|
|
|
inherit bash-completion-r1 git-2 eutils db-use systemd user
|
|
|
|
MyPV="${PV/_/-}"
|
|
MyPN="${PN/-hp/d}"
|
|
MyP="primecoin-${MyPV}"
|
|
|
|
DESCRIPTION="High-performance version of datacoin (primecoin-hp fork)"
|
|
HOMEPAGE="https://github.com/foo1inge/datacoin-hp"
|
|
EGIT_REPO_URI="https://github.com/foo1inge/${PN}.git"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS=""
|
|
IUSE="examples upnp ipv6 examples logrotate hardened"
|
|
|
|
RDEPEND="
|
|
dev-libs/boost[threads(+)]
|
|
dev-libs/openssl:0[-bindist]
|
|
upnp? (
|
|
net-libs/miniupnpc
|
|
)
|
|
sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx]
|
|
<=dev-libs/leveldb-1.12.0[-snappy]
|
|
"
|
|
DEPEND="${RDEPEND}
|
|
>=app-shells/bash-4.1
|
|
sys-apps/sed
|
|
net-p2p/bitcoind
|
|
"
|
|
|
|
S="${WORKDIR}/${MyP}-linux/src"
|
|
|
|
src_prepare() {
|
|
epatch "${FILESDIR}"/${PN}-sys_leveldb.patch
|
|
rm -r src/leveldd
|
|
|
|
if has_version '>=dev-libs/boost-1.52'; then
|
|
sed -i 's/\(-l db_cxx\)/-l boost_chrono$(BOOST_LIB_SUFFIX) \1/' src/makefile.unix
|
|
fi
|
|
}
|
|
|
|
pkg_setup() {
|
|
local UG="${PN}"
|
|
enewgroup "${UG}"
|
|
enewuser "${UG}" -1 -1 /var/lib/datacoin "${UG}"
|
|
}
|
|
|
|
src_configure() {
|
|
OPTS=()
|
|
|
|
OPTS+=("DEBUGFLAGS=")
|
|
OPTS+=("CXXFLAGS=${CXXFLAGS}")
|
|
OPTS+=("LDFLAGS=${LDFLAGS}")
|
|
|
|
if use upnp; then
|
|
OPTS+=("USE_UPNP=1")
|
|
else
|
|
OPTS+=("USE_UPNP=")
|
|
fi
|
|
|
|
use ipv6 || OPTS+=("USE_IPV6=0")
|
|
|
|
use hardened || OPTS+=("PIE=1")
|
|
|
|
OPTS+=("USE_SYSTEM_LEVELDB=1")
|
|
OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")")
|
|
OPTS+=("BDB_LIB_SUFFIX=-${DB_VER}")
|
|
|
|
cd src || die
|
|
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -f makefile.unix "${OPTS[@]}" ${MyPN}
|
|
}
|
|
|
|
#Tests are broken with and without our primecoin-sys_leveldb.patch.
|
|
#When tests work, make sure to inherit toolchain-funcs
|
|
#src_test() {
|
|
# cd src || die
|
|
# emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -f makefile.unix "${OPTS[@]}" test_primecoin
|
|
# ./test_primecoin || die 'Tests failed'
|
|
#}
|
|
|
|
src_install() {
|
|
dobin src/${MyPN}
|
|
|
|
insinto /etc/datacoin
|
|
doins "${FILESDIR}/datacoin.conf"
|
|
fowners ${PN}:${PN} /etc/datacoin/datacoin.conf
|
|
fperms 600 /etc/datacoin/datacoin.conf
|
|
|
|
newconfd "${FILESDIR}/datacoin.confd" ${PN}
|
|
newinitd "${FILESDIR}/datacoin.initd" ${PN}
|
|
systemd_dounit "${FILESDIR}/datacoin.service"
|
|
|
|
keepdir /var/lib/datacoin/.datacoin
|
|
fperms 700 /var/lib/datacoin
|
|
fowners ${PN}:${PN} /var/lib/datacoin/
|
|
fowners ${PN}:${PN} /var/lib/datacoin/.datacoin
|
|
dosym /etc/datacoin/datacoin.conf /var/lib/datacoin/.datacoin/datacoin.conf
|
|
|
|
dodoc doc/README.md doc/release-notes.md
|
|
newman contrib/debian/manpages/bitcoind.1 ${MyPN}.1
|
|
newman contrib/debian/manpages/bitcoin.conf.5 datacoin.conf.5
|
|
|
|
sed -i -e 's/bitcoin/datacoin-hp/g' contrib/bitcoind.bash-completion
|
|
newbashcomp contrib/bitcoind.bash-completion ${PN}.bash-completion
|
|
|
|
if use examples; then
|
|
docinto examples
|
|
dodoc -r contrib/{bitrpc,pyminer,spendfrom,tidy_datadir.sh,wallettools}
|
|
fi
|
|
|
|
if use logrotate; then
|
|
insinto /etc/logrotate.d
|
|
newins "${FILESDIR}/datacoind.logrotate" ${MyPN}
|
|
fi
|
|
}
|