dogecoind-1.7.0-r1 manifest updated
[portage-squeep] / net-p2p / dogecoind / dogecoind-1.5.2.ebuild
1 # Distributed under the terms of the GNU General Public License v2
2
3 EAPI=5
4
5 DB_VER="5.1"
6
7 inherit bash-completion-r1 db-use eutils systemd user
8
9 MyPV="${PV/_/-}"
10 MyPN="dogecoin"
11 MyP="${MyPN}-${MyPV}"
12
13 DESCRIPTION="P2P Internet currency based on Bitcoin but wow such doge"
14 HOMEPAGE="https://dogecoin.com/"
15 SRC_URI="https://github.com/${MyPN}/${MyPN}/archive/${MyPV}.tar.gz -> ${MyP}.tar.gz"
16
17 LICENSE="MIT ISC GPL-2"
18 SLOT="0"
19 KEYWORDS="~amd64 ~x86"
20 IUSE="bash-completion examples ipv6 logrotate upnp system_leveldb"
21
22 RDEPEND="
23 dev-libs/boost[threads(+)]
24 dev-libs/openssl:0[-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 system_leveldb? (
33 =dev-libs/leveldb-1.15.0[-snappy]
34 )
35 "
36 DEPEND="${RDEPEND}
37 >=app-shells/bash-4.1
38 sys-apps/sed
39 "
40
41 S="${WORKDIR}/${MyP}"
42
43 pkg_setup() {
44 local UG='dogecoin'
45 enewgroup "${UG}"
46 enewuser "${UG}" -1 -1 /var/lib/dogecoin "${UG}"
47 }
48
49 src_prepare() {
50 # epatch "${FILESDIR}"/${MyPN}-sys_leveldb.patch
51 # rm -r src/leveldb
52
53 if has_version '>=dev-libs/boost-1.52'; then
54 sed -i 's/\(-l db_cxx\)/-l boost_chrono$(BOOST_LIB_SUFFIX) \1/' src/makefile.unix
55 fi
56 }
57
58 src_configure() {
59 OPTS=()
60
61 OPTS+=("DEBUGFLAGS=")
62 OPTS+=("CXXFLAGS=${CXXFLAGS}")
63 OPTS+=("LDFLAGS=${LDFLAGS}")
64
65 if use upnp; then
66 OPTS+=("USE_UPNP=1")
67 else
68 OPTS+=("USE_UPNP=-")
69 fi
70
71 use ipv6 || OPTS+=("USE_IPV6=-")
72
73 use system_leveldb && OPTS+=("USE_SYSTEM_LEVELDB=1")
74
75 OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")")
76 OPTS+=("BDB_LIB_SUFFIX=-${DB_VER}")
77
78 cd src || die
79 emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -f makefile.unix "${OPTS[@]}" ${PN}
80 }
81
82 #Tests are broken with and without our dogecoin-sys_leveldb.patch.
83 #When tests work, make sure to inherit toolchain-funcs
84 #src_test() {
85 # cd src || die
86 # emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -f makefile.unix "${OPTS[@]}" test_dogecoin
87 # ./test_dogecoin || die 'Tests failed'
88 #}
89
90 src_install() {
91 dobin src/${PN}
92
93 insinto /etc/dogecoin
94 doins "${FILESDIR}/dogecoin.conf"
95 fowners dogecoin:dogecoin /etc/dogecoin/dogecoin.conf
96 fperms 600 /etc/dogecoin/dogecoin.conf
97
98 newconfd "${FILESDIR}/dogecoin.confd" ${PN}
99 newinitd "${FILESDIR}/dogecoin.initd" ${PN}
100 systemd_dounit "${FILESDIR}/dogecoin.service"
101
102 keepdir /var/lib/dogecoin/.dogecoin
103 fperms 700 /var/lib/dogecoin
104 fowners dogecoin:dogecoin /var/lib/dogecoin/
105 fowners dogecoin:dogecoin /var/lib/dogecoin/.dogecoin
106 dosym /etc/dogecoin/dogecoin.conf /var/lib/dogecoin/.dogecoin/dogecoin.conf
107
108 # dodoc doc/README.md doc/release-notes.md
109 # newman contrib/debian/manpages/bitcoind.1 dogecoind.1
110 # newman contrib/debian/manpages/bitcoin.conf.5 dogecoin.conf.5
111
112 if use bash-completion; then
113 :;
114 # newbashcomp contrib/bitcoind.bash-completion ${PN}.bash-completion
115 fi
116
117 if use examples; then
118 docinto examples
119 # dodoc -r contrib/{bitrpc,pyminer,spendfrom,tidy_datadir.sh,wallettools}
120 fi
121
122 if use logrotate; then
123 insinto /etc/logrotate.d
124 newins "${FILESDIR}/dogecoind.logrotate" dogecoind
125 fi
126 }