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