net-p2p/dogecoind-1.7.0
[portage-squeep] / net-p2p / dogecoind / dogecoind-1.7.0.ebuild
diff --git a/net-p2p/dogecoind/dogecoind-1.7.0.ebuild b/net-p2p/dogecoind/dogecoind-1.7.0.ebuild
new file mode 100644 (file)
index 0000000..7f395fa
--- /dev/null
@@ -0,0 +1,126 @@
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DB_VER="5.1"
+
+inherit bash-completion-r1 db-use eutils systemd user
+
+MyPV="v${PV/_/-}"
+MyPN="dogecoin"
+MyP="${MyPN}-${MyPV}"
+
+DESCRIPTION="P2P Internet currency based on Bitcoin but wow such doge"
+HOMEPAGE="https://dogecoin.com/"
+SRC_URI="https://github.com/${MyPN}/${MyPN}/archive/${MyPV}.tar.gz -> ${MyP}.tar.gz"
+
+LICENSE="MIT ISC GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion examples ipv6 logrotate upnp system_leveldb"
+
+RDEPEND="
+       dev-libs/boost[threads(+)]
+       dev-libs/openssl:0[-bindist]
+       logrotate? (
+               app-admin/logrotate
+       )
+       upnp? (
+               net-libs/miniupnpc
+       )
+       sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx]
+       system_leveldb? (
+               =dev-libs/leveldb-1.15.0[-snappy]
+       )
+"
+DEPEND="${RDEPEND}
+       >=app-shells/bash-4.1
+       sys-apps/sed
+"
+
+S="${WORKDIR}/${MyP}"
+
+pkg_setup() {
+       local UG='dogecoin'
+       enewgroup "${UG}"
+       enewuser "${UG}" -1 -1 /var/lib/dogecoin "${UG}"
+}
+
+src_prepare() {
+#      epatch "${FILESDIR}"/${MyPN}-sys_leveldb.patch
+#      rm -r src/leveldb
+
+       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
+}
+
+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=-")
+
+       use system_leveldb && 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[@]}" ${PN}
+}
+
+#Tests are broken with and without our dogecoin-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_dogecoin
+#      ./test_dogecoin || die 'Tests failed'
+#}
+
+src_install() {
+       dobin src/${PN}
+
+       insinto /etc/dogecoin
+       doins "${FILESDIR}/dogecoin.conf"
+       fowners dogecoin:dogecoin /etc/dogecoin/dogecoin.conf
+       fperms 600 /etc/dogecoin/dogecoin.conf
+
+       newconfd "${FILESDIR}/dogecoin.confd" ${PN}
+       newinitd "${FILESDIR}/dogecoin.initd" ${PN}
+       systemd_dounit "${FILESDIR}/dogecoin.service"
+
+       keepdir /var/lib/dogecoin/.dogecoin
+       fperms 700 /var/lib/dogecoin
+       fowners dogecoin:dogecoin /var/lib/dogecoin/
+       fowners dogecoin:dogecoin /var/lib/dogecoin/.dogecoin
+       dosym /etc/dogecoin/dogecoin.conf /var/lib/dogecoin/.dogecoin/dogecoin.conf
+
+#      dodoc doc/README.md doc/release-notes.md
+#      newman contrib/debian/manpages/bitcoind.1 dogecoind.1
+#      newman contrib/debian/manpages/bitcoin.conf.5 dogecoin.conf.5
+
+       if use bash-completion; then
+               :;
+#              newbashcomp contrib/bitcoind.bash-completion ${PN}.bash-completion
+       fi
+
+       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}/dogecoind.logrotate" dogecoind
+       fi
+}