123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- # Copyright 1999-2014 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- 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
- }
|