From 05cff02e440b1a65effc09639d30c6faa2ff7f38 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Fri, 17 Jul 2015 22:18:00 +0000 Subject: Version bump. (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA) --- net-p2p/bitcoind/ChangeLog | 8 +- net-p2p/bitcoind/bitcoind-0.10.2-r1.ebuild | 79 ++++++++++ net-p2p/bitcoind/files/9999-syslibs.patch | 243 +++++++++++++++++++++++++++++ 3 files changed, 329 insertions(+), 1 deletion(-) create mode 100644 net-p2p/bitcoind/bitcoind-0.10.2-r1.ebuild create mode 100644 net-p2p/bitcoind/files/9999-syslibs.patch (limited to 'net-p2p/bitcoind') diff --git a/net-p2p/bitcoind/ChangeLog b/net-p2p/bitcoind/ChangeLog index bbd6fdba8705..5af2a3c3a854 100644 --- a/net-p2p/bitcoind/ChangeLog +++ b/net-p2p/bitcoind/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-p2p/bitcoind # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoind/ChangeLog,v 1.110 2015/07/17 20:48:48 blueness Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoind/ChangeLog,v 1.111 2015/07/17 22:18:00 blueness Exp $ + +*bitcoind-0.10.2-r1 (17 Jul 2015) + + 17 Jul 2015; Anthony G. Basile + +bitcoind-0.10.2-r1.ebuild, +files/9999-syslibs.patch: + Version bump. 17 Jul 2015; Anthony G. Basile -files/9999-sys_libsecp256k1.patch, -files/bitcoin.initd, diff --git a/net-p2p/bitcoind/bitcoind-0.10.2-r1.ebuild b/net-p2p/bitcoind/bitcoind-0.10.2-r1.ebuild new file mode 100644 index 000000000000..40d4bcf71b83 --- /dev/null +++ b/net-p2p/bitcoind/bitcoind-0.10.2-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 2010-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoind/bitcoind-0.10.2-r1.ebuild,v 1.1 2015/07/17 22:18:00 blueness Exp $ + +EAPI=5 + +BITCOINCORE_COMMITHASH="16f45600c8c372a738ffef544292864256382601" +BITCOINCORE_SRC_SUFFIX="-r1" +BITCOINCORE_LJR_PV="0.10.1" +BITCOINCORE_LJR_DATE="20150428" +BITCOINCORE_IUSE="examples ljr logrotate test upnp +wallet xt zeromq" +BITCOINCORE_POLICY_PATCHES="cpfp dcmp rbf spamfilter" +BITCOINCORE_NEED_LEVELDB=1 +BITCOINCORE_NEED_LIBSECP256K1=1 +inherit bash-completion-r1 bitcoincore user systemd + +DESCRIPTION="Original Bitcoin crypto-currency wallet for automated services" +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + logrotate? ( + app-admin/logrotate + ) +" +DEPEND="${RDEPEND}" + +pkg_setup() { + local UG='bitcoin' + enewgroup "${UG}" + enewuser "${UG}" -1 -1 /var/lib/bitcoin "${UG}" +} + +src_prepare() { + sed -i 's/have bitcoind &&//;s/^\(complete -F _bitcoind bitcoind\) bitcoin-cli$/\1/' contrib/${PN}.bash-completion + epatch "${FILESDIR}/0.10.0-openrc-compat.patch" + bitcoincore_src_prepare +} + +src_configure() { + # NOTE: --enable-zmq actually disables it + bitcoincore_conf \ + --with-daemon +} + +src_install() { + bitcoincore_src_install + + insinto /etc/bitcoin + newins "${FILESDIR}/bitcoin.conf" bitcoin.conf + fowners bitcoin:bitcoin /etc/bitcoin/bitcoin.conf + fperms 600 /etc/bitcoin/bitcoin.conf + + newconfd "contrib/init/bitcoind.openrcconf" ${PN} + newinitd "contrib/init/bitcoind.openrc" ${PN} + systemd_dounit "${FILESDIR}/bitcoind.service" + + keepdir /var/lib/bitcoin/.bitcoin + fperms 700 /var/lib/bitcoin + fowners bitcoin:bitcoin /var/lib/bitcoin/ + fowners bitcoin:bitcoin /var/lib/bitcoin/.bitcoin + dosym /etc/bitcoin/bitcoin.conf /var/lib/bitcoin/.bitcoin/bitcoin.conf + + dodoc doc/assets-attribution.md doc/tor.md + doman contrib/debian/manpages/{bitcoind.1,bitcoin.conf.5} + + newbashcomp contrib/${PN}.bash-completion ${PN} + + if use examples; then + docinto examples + dodoc -r contrib/{bitrpc,qos,spendfrom,tidy_datadir.sh} + fi + + if use logrotate; then + insinto /etc/logrotate.d + newins "${FILESDIR}/bitcoind.logrotate-r1" bitcoind + fi +} diff --git a/net-p2p/bitcoind/files/9999-syslibs.patch b/net-p2p/bitcoind/files/9999-syslibs.patch new file mode 100644 index 000000000000..2cdf2ab9837b --- /dev/null +++ b/net-p2p/bitcoind/files/9999-syslibs.patch @@ -0,0 +1,243 @@ +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) -- cgit v1.2.3-65-gdbad