+++ /dev/null
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DB_VER="4.8"
-
-inherit db-use autotools eutils toolchain-funcs user systemd
-
-DESCRIPTION="BitcoinXT crypto-currency wallet for automated services"
-HOMEPAGE="https://github/bitcoinxt/bitcoinxt"
-My_PV="${PV/\.0d/}D"
-SRC_URI="https://github.com/bitcoinxt/bitcoinxt/archive/v${My_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+doc libressl +logrotate +ssl +upnp +wallet"
-
-OPENSSL_DEPEND="
- !libressl? ( dev-libs/openssl:0[-bindist] )
- libressl? ( dev-libs/libressl )"
-WALLET_DEPEND="media-gfx/qrencode sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx]"
-
-RDEPEND="
- app-shells/bash:0
- dev-libs/boost[threads(+)]
- dev-libs/glib:2
- dev-libs/crypto++
- ssl? ( ${OPENSSL_DEPEND} )
- logrotate? ( app-admin/logrotate )
- wallet? ( ${WALLET_DEPEND} )
- upnp? ( net-libs/miniupnpc:0= )
- virtual/bitcoin-leveldb
-"
-
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/bitcoinxt-${My_PV}"
-
-pkg_setup() {
- local UG='bitcoinxt'
- enewgroup "${UG}"
- enewuser "${UG}" -1 -1 /var/lib/bitcoinxt "${UG}"
-}
-
-src_prepare() {
- epatch "${FILESDIR}/9999-syslibs.patch"
- eautoreconf
-}
-
-src_configure() {
- local my_econf=
-
- if use upnp; then
- my_econf="${my_econf} --with-miniupnpc --enable-upnp-default"
- else
- my_econf="${my_econf} --without-miniupnpc --disable-upnp-default"
- fi
- if use wallet; then
- my_econf="${my_econf} --enable-wallet"
- else
- my_econf="${my_econf} --disable-wallet"
- fi
- my_econf="${my_econf} --with-system-leveldb"
- econf \
- --disable-ccache \
- --disable-static \
- --without-libs \
- --without-utils \
- --with-daemon \
- --without-gui \
- ${my_econf} \
- "$@"
-}
-
-src_compile() {
- local OPTS=()
-
- OPTS+=("CXXFLAGS=${CXXFLAGS} -I$(db_includedir "${DB_VER}")")
- OPTS+=("LDFLAGS=${LDFLAGS} -ldb_cxx-${DB_VER}")
-
- use ssl && OPTS+=(USE_SSL=1)
- use upnp && OPTS+=(USE_UPNP=1)
-
- cd src || die
- emake CXX="$(tc-getCXX)" "${OPTS[@]}" bitcoind
- mv bitcoind ${PN}
-}
-
-src_install() {
- local my_topdir="/var/lib/bitcoinxt"
- local my_data="${my_topdir}/.bitcoin"
-
- dobin src/${PN}
-
- insinto "${my_data}"
- if [ -f "${ROOT}${my_data}/bitcoin.conf" ]; then
- elog "${EROOT}${my_data}/bitcoin.conf already installed - not overwriting it"
- else
- doins "${FILESDIR}/bitcoin.conf"
- elog "default ${EROOT}${my_data}/bitcoin.conf installed - you will need to edit it"
- fowners bitcoinxt:bitcoinxt "${my_data}/bitcoin.conf"
- fperms 400 "${my_data}/bitcoin.conf"
- fi
-
- newconfd "${FILESDIR}/bitcoinxt.confd" ${PN}
- newinitd "${FILESDIR}/bitcoinxt.initd" ${PN}
- systemd_dounit "${FILESDIR}/bitcoinxtd.service"
-
- keepdir "${my_data}"
- fperms 700 "${my_topdir}"
- fowners bitcoinxt:bitcoinxt "${my_topdir}"
- fowners bitcoinxt:bitcoinxt "${my_data}"
-
- if use doc; then
- dodoc README.md
- dodoc doc/release-notes.md
- fi
-
- if use logrotate; then
- insinto /etc/logrotate.d
- newins "${FILESDIR}/bitcoinxtd.logrotate" bitcoinxtd
- fi
-}
+++ /dev/null
-diff --git a/build-aux/m4/bitcoin_subdir_to_include.m4 b/build-aux/m4/bitcoin_subdir_to_include.m4
-index 66f106c..5f0a3b1 100644
---- a/build-aux/m4/bitcoin_subdir_to_include.m4
-+++ b/build-aux/m4/bitcoin_subdir_to_include.m4
-@@ -5,7 +5,7 @@ AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
- AC_MSG_RESULT([default])
- else
- echo "#include <$2$3.h>" >conftest.cpp
-- newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`]
-+ newinclpath=$(${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | sed [-E -e ':a' -e '/\\$/!b b' -e N -e 's/\\\n/ /' -e 't a' -e ':b' -e 's/^[^:]*:[[:space:]]*(([^[:space:]\]|\\.)*[[:space:]])*(([^[:space:]\]|\\.)*)]$3\.h[([[:space:]].*)?$/\3/' -e 't' -e d])
- AC_MSG_RESULT([${newinclpath}])
- if test "x${newinclpath}" != "x"; then
- eval "$1=\"\$$1\"' -I${newinclpath}'"
-diff --git a/configure.ac b/configure.ac
-index 37fe47e..14e5c34 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -170,6 +170,18 @@ AC_ARG_WITH([utils],
- [build_bitcoin_utils=$withval],
- [build_bitcoin_utils=yes])
-
-+AC_ARG_ENABLE([util-cli],
-+ [AS_HELP_STRING([--enable-util-cli],
-+ [build bitcoin-cli])],
-+ [build_bitcoin_cli=$enableval],
-+ [build_bitcoin_cli=$build_bitcoin_utils])
-+
-+AC_ARG_ENABLE([util-tx],
-+ [AS_HELP_STRING([--enable-util-tx],
-+ [build bitcoin-tx])],
-+ [build_bitcoin_tx=$enableval],
-+ [build_bitcoin_tx=$build_bitcoin_utils])
-+
- AC_ARG_WITH([libs],
- [AS_HELP_STRING([--with-libs],
- [build libraries (default=yes)])],
-@@ -488,14 +500,65 @@ if test x$use_reduce_exports = xyes; then
- [AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduce-exports.])])
- fi
-
-+dnl Check for leveldb, only if explicitly requested
- LEVELDB_CPPFLAGS=
- LIBLEVELDB=
- LIBMEMENV=
--AM_CONDITIONAL([EMBEDDED_LEVELDB],[true])
-+AC_ARG_WITH([system-leveldb],
-+ [AS_HELP_STRING([--with-system-leveldb],
-+ [Build with system LevelDB (default is no; DANGEROUS; NOT SUPPORTED)])],
-+ [system_leveldb=$withval],
-+ [system_leveldb=no]
-+)
-+if test x$system_leveldb != xno; then
-+ LEVELDB_CPPFLAGS=
-+ AC_CHECK_LIB([leveldb],[main],[
-+ LIBLEVELDB=-lleveldb
-+ ],[
-+ AC_MSG_ERROR([leveldb library not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ TEMP_LIBS="$LIBS"
-+ LIBS="$LIBS $LIBLEVELDB"
-+ AC_CHECK_LIB([memenv],[main],[
-+ LIBMEMENV=-lmemenv
-+ ],[
-+ AC_MSG_ERROR([LevelDB's memenv library not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ LIBS="$TEMP_LIBS"
-+ AC_CHECK_HEADER([leveldb/filter_policy.h],[],[
-+ AC_MSG_ERROR([LevelDB headers not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ AC_CHECK_HEADER([leveldb/helpers/memenv.h],[
-+ AC_MSG_CHECKING([for memenv.h path])
-+ BITCOIN_SUBDIR_TO_INCLUDE([LEVELDB_CPPFLAGS],[leveldb/helpers/],[memenv])
-+ ],[
-+ AC_CHECK_HEADER([memenv.h],[],[
-+ AC_MSG_ERROR([LevelDB headers not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ ])
-+fi
-+AM_CONDITIONAL([EMBEDDED_LEVELDB],[test x$system_leveldb = xno])
- AC_SUBST(LEVELDB_CPPFLAGS)
- AC_SUBST(LIBLEVELDB)
- AC_SUBST(LIBMEMENV)
-
-+dnl Check for libsecp256k1, only if explicitly requested
-+AC_ARG_WITH([system-libsecp256k1],
-+ [AS_HELP_STRING([--with-system-libsecp256k1],
-+ [Build with system libsecp256k1 (default is no; DANGEROUS; NOT SUPPORTED)])],
-+ [system_libsecp256k1=$withval],
-+ [system_libsecp256k1=no]
-+)
-+if test x$system_libsecp256k1 != xno; then
-+ PKG_CHECK_MODULES([libsecp256k1],[libsecp256k1],,[true])
-+else
-+ libsecp256k1_CFLAGS='-I$(srcdir)/secp256k1/include'
-+ libsecp256k1_LIBS='secp256k1/libsecp256k1.la'
-+fi
-+AM_CONDITIONAL([EMBEDDED_LIBSECP256K1],[test x$system_libsecp256k1 = xno])
-+AC_SUBST(libsecp256k1_CFLAGS)
-+AC_SUBST(libsecp256k1_LIBS)
-+
- if test x$enable_wallet != xno; then
- dnl Check for libdb_cxx only if wallet enabled
- BITCOIN_FIND_BDB48
-@@ -515,7 +578,7 @@ BITCOIN_QT_INIT
- dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus
- BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt4])
-
--if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests = xnononono; then
-+if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests = xnonononono; then
- use_boost=no
- else
- use_boost=yes
-@@ -701,9 +764,13 @@ AC_MSG_CHECKING([whether to build bitcoind])
- AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes])
- AC_MSG_RESULT($build_bitcoind)
-
--AC_MSG_CHECKING([whether to build utils (bitcoin-cli bitcoin-tx)])
--AM_CONDITIONAL([BUILD_BITCOIN_UTILS], [test x$build_bitcoin_utils = xyes])
--AC_MSG_RESULT($build_bitcoin_utils)
-+AC_MSG_CHECKING([whether to build bitcoin-cli])
-+AM_CONDITIONAL([BUILD_BITCOIN_CLI], [test x$build_bitcoin_cli = xyes])
-+AC_MSG_RESULT($build_bitcoin_cli)
-+
-+AC_MSG_CHECKING([whether to build bitcoin-tx])
-+AM_CONDITIONAL([BUILD_BITCOIN_TX], [test x$build_bitcoin_tx = xyes])
-+AC_MSG_RESULT($build_bitcoin_tx)
-
- AC_MSG_CHECKING([whether to build libraries])
- AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes])
-@@ -826,7 +893,7 @@ else
- AC_MSG_RESULT([no])
- fi
-
--if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_tests = xnonononono; then
-+if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_tests = xnononononono; then
- AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui or --enable-tests])
- fi
-
-@@ -895,8 +962,10 @@ PKGCONFIG_LIBDIR_TEMP="$PKG_CONFIG_LIBDIR"
- unset PKG_CONFIG_LIBDIR
- PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP"
-
-+if test x$system_libsecp256k1 = xno; then
- ac_configure_args="${ac_configure_args} --disable-shared --with-pic --with-bignum=no"
- AC_CONFIG_SUBDIRS([src/secp256k1])
-+fi
-
- AC_OUTPUT
-
-diff --git a/qa/pull-tester/rpc-tests.sh b/qa/pull-tester/rpc-tests.sh
-index 9b31865..5bb187c 100755
---- a/qa/pull-tester/rpc-tests.sh
-+++ b/qa/pull-tester/rpc-tests.sh
-@@ -57,7 +57,7 @@ testScriptsExt=(
- extArg="-extended"
- passOn=${@#$extArg}
-
--if [ "x${ENABLE_BITCOIND}${ENABLE_UTILS}${ENABLE_WALLET}" = "x111" ]; then
-+if [ "x${ENABLE_BITCOIND}${ENABLE_CLI}${ENABLE_WALLET}" = "x111" ]; then
- for (( i = 0; i < ${#testScripts[@]}; i++ ))
- do
- if [ -z "$1" ] || [ "${1:0:1}" == "-" ] || [ "$1" == "${testScripts[$i]}" ] || [ "$1.py" == "${testScripts[$i]}" ]
-diff --git a/qa/pull-tester/tests-config.sh.in b/qa/pull-tester/tests-config.sh.in
-index 10f4d33..e0e407d 100755
---- a/qa/pull-tester/tests-config.sh.in
-+++ b/qa/pull-tester/tests-config.sh.in
-@@ -8,7 +8,7 @@ EXEEXT="@EXEEXT@"
-
- # These will turn into comments if they were disabled when configuring.
- @ENABLE_WALLET_TRUE@ENABLE_WALLET=1
--@BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1
-+@BUILD_BITCOIN_CLI_TRUE@ENABLE_CLI=1
- @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1
-
- REAL_BITCOIND="$BUILDDIR/src/bitcoind${EXEEXT}"
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 1c2f770..4d60ddf 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,4 +1,6 @@
-+if EMBEDDED_LIBSECP256K1
- DIST_SUBDIRS = secp256k1
-+endif
- AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS)
-
-
-@@ -20,7 +22,7 @@ endif
- BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config
- BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS)
-
--BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include
-+BITCOIN_INCLUDES += $(libsecp256k1_CFLAGS)
-
- LIBBITCOIN_SERVER=libbitcoin_server.a
- LIBBITCOIN_WALLET=libbitcoin_wallet.a
-@@ -30,10 +32,16 @@ LIBBITCOIN_UTIL=libbitcoin_util.a
- LIBBITCOIN_CRYPTO=crypto/libbitcoin_crypto.a
- LIBBITCOIN_UNIVALUE=univalue/libbitcoin_univalue.a
- LIBBITCOINQT=qt/libbitcoinqt.a
-+if EMBEDDED_LIBSECP256K1
- LIBSECP256K1=secp256k1/libsecp256k1.la
-+else
-+LIBSECP256K1=$(libsecp256k1_LIBS)
-+endif
-
-+if EMBEDDED_LIBSECP256K1
- $(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*)
- $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
-+endif
-
- # Make is not made aware of per-object dependencies to avoid limiting building parallelization
- # But to build the less dependent modules first, we manually select their order here:
-@@ -63,8 +71,11 @@ if BUILD_BITCOIND
- bin_PROGRAMS += bitcoind
- endif
-
--if BUILD_BITCOIN_UTILS
-- bin_PROGRAMS += bitcoin-cli bitcoin-tx
-+if BUILD_BITCOIN_CLI
-+ bin_PROGRAMS += bitcoin-cli
-+endif
-+if BUILD_BITCOIN_TX
-+ bin_PROGRAMS += bitcoin-tx
- endif
-
- .PHONY: FORCE
-diff --git a/src/Makefile.test.include b/src/Makefile.test.include
-index 0997148..14b4deb 100644
---- a/src/Makefile.test.include
-+++ b/src/Makefile.test.include
-@@ -111,10 +111,12 @@ bitcoin_test_check: $(TEST_BINARY) FORCE
- bitcoin_test_clean : FORCE
- rm -f $(CLEAN_BITCOIN_TEST) $(test_test_bitcoin_OBJECTS) $(TEST_BINARY)
-
-+if EMBEDDED_LIBSECP256K1
- check-local:
- @echo "Running test/bitcoin-util-test.py..."
- $(AM_V_at)srcdir=$(srcdir) PYTHONPATH=$(builddir)/test $(srcdir)/test/bitcoin-util-test.py
- $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check
-+endif
-
- %.json.h: %.json
- @$(MKDIR_P) $(@D)