Index: head/net-p2p/bitcoin/Makefile =================================================================== --- head/net-p2p/bitcoin/Makefile (revision 453724) +++ head/net-p2p/bitcoin/Makefile (revision 453725) @@ -1,112 +1,113 @@ # Created by: Shaun Amott # $FreeBSD$ PORTNAME= bitcoin PORTVERSION= 0.15.0.1 DISTVERSIONPREFIX= v +PORTREVISION?= 1 CATEGORIES= net-p2p finance MAINTAINER= robbak@robbak.com COMMENT?= Virtual Peer-to-Peer Currency Client (QT) LICENSE= MIT LIB_DEPENDS= libboost_date_time.so:devel/boost-libs \ libevent.so:devel/libevent BROKEN_powerpc64= fails to compile: util.cpp: undefined reference to boost::program_options::to_internal USES= autoreconf compiler:c++11-lib gmake libtool pkgconfig shebangfix ssl USE_GITHUB= yes GNU_CONFIGURE= yes SLAVE_PORT?= no .if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no" USES+= desktop-file-utils USE_QT5= core gui network widgets \ buildtools_build linguisttools_build qmake_build BUILD_DEPENDS+= protoc:devel/protobuf LIB_DEPENDS+= libprotobuf.so:devel/protobuf TESTS_USE= QT5=testlib TESTS_PLIST_FILES= bin/test_bitcoin-qt \ bin/test_bitcoin .endif OPTIONS_DEFINE?= DBUS DEBUG HARDENING QRCODES TESTS UPNP WALLET ZMQ OPTIONS_DEFAULT?= DBUS HARDENING QRCODES UPNP WALLET OPTIONS_SUB= yes HARDENING_DESC= Attempt to harden binaries (PIE for ASLR, NX Stack) QRCODES_DESC= Display QR Codes TESTS_DESC= Build test binary and unit tests WALLET_DESC= Wallet Management Support ZMQ_DESC= Block and transaction broadcasting with ZeroMQ DBUS_CONFIGURE_WITH= dbus DBUS_USE= QT5=dbus DEBUG_CONFIGURE_ENABLE= debug DEBUG_INSTALL_TARGET_OFF= install-strip HARDENING_CONFIGURE_ENABLE= hardening TESTS_CONFIGURE_ENABLE= tests bench .if defined(SLAVE_PORT) && ${SLAVE_PORT} == "yes" TESTS_PLIST_FILES= bin/test_bitcoin .endif TESTS_PLIST_FILES+= bin/bench_bitcoin UPNP_CONFIGURE_WITH= miniupnpc UPNP_LIB_DEPENDS= libminiupnpc.so:net/miniupnpc UPNP_CPPFLAGS= -I${LOCALBASE}/include UPNP_LIBS= -L${LOCALBASE}/lib QRCODES_CONFIGURE_WITH= qrencode QRCODES_LIB_DEPENDS= libqrencode.so:graphics/libqrencode WALLET_CONFIGURE_ENABLE= wallet WALLET_CXXFLAGS= -I${BDB_INCLUDE_DIR} WALLET_LIBS= -L${BDB_LIB_DIR} WALLET_USES= bdb:48 ZMQ_CONFIGURE_ENABLE= zmq ZMQ_BUILD_DEPENDS= libzmq4>0:net/libzmq4 ZMQ_RUN_DEPENDS= libzmq4>0:net/libzmq4 GH_ACCOUNT= bitcoin CONFIGURE_ARGS?= --without-libs \ --with-gui=qt5 \ --without-daemon \ --without-utils CONFIGURE_ENV= CRYPTO_CFLAGS="-I${OPENSSLINC}" CRYPTO_LIBS="-L${OPENSSLLIB} -lcrypto" \ SSL_CFLAGS="-I${OPENSSLINC}" SSL_LIBS="-L${OPENSSLLIB} -lssl" \ OBJCXX="${CXX}" OBJCXXFLAGS="${CXXFLAGS}" MAKE_ENV+= V=1 PLIST_FILES?= bin/bitcoin-qt man/man1/bitcoin-qt.1.gz \ share/applications/bitcoin-qt.desktop share/pixmaps/bitcoin128.png .if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no" post-install: ${REINPLACE_CMD} -e 's,=/usr,=${PREFIX},' \ ${WRKSRC}/contrib/debian/bitcoin-qt.desktop ${INSTALL} ${WRKSRC}/contrib/debian/bitcoin-qt.desktop \ ${STAGEDIR}${PREFIX}/share/applications ${INSTALL} ${WRKSRC}/share/pixmaps/bitcoin128.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/ .endif regression-test: build # To use this sucessfully, remove --without-daemon and --without-utils # from CONFIGURE_ARGS above. @cd ${WRKSRC} && ${GMAKE} check .include Index: head/net-p2p/bitcoin/files/bitcoind.in =================================================================== --- head/net-p2p/bitcoin/files/bitcoind.in (revision 453724) +++ head/net-p2p/bitcoin/files/bitcoind.in (revision 453725) @@ -1,172 +1,174 @@ #!/bin/sh # $FreeBSD$ # PROVIDE: bitcoind # REQUIRE: LOGIN cleanvar # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable : # bitcoind_enable (bool): Set to "NO" by default. # Set it to "YES" to enable bitcoind # bitcoind_user (str) Set to "bitcoin" by default. # bitcoind_group (str) Set to "bitcoin" by default. # bitcoind_conf (str) Set to "%%PREFIX%%/etc/bitcoind.conf" by default. -# bitcoind_data (str) Set to "/var/lib/bitcoin" by default. +# bitcoind_data_dir (str) Set to "/var/db/bitcoin" by default. # bitcoindlimits_enable (bool) Set to "NO" by default. # Set it to "YES" to enable bitcoindlimits # bitcoindlimits_args Set to "-e -U ${bitcoind_user}" by default . /etc/rc.subr name="bitcoind" rcvar=bitcoind_enable start_precmd="bitcoind_precmd" start_cmd="bitcoind_start" restart_precmd="bitcoind_checkconfig" reload_precmd="bitcoind_checkconfig" configtest_cmd="bitcoind_checkconfig" status_cmd="bitcoind_status" stop_cmd="bitcoind_stop" stop_postcmd="bitcoind_wait" command="%%PREFIX%%/bin/bitcoind" daemon_command="/usr/sbin/daemon" #pidfile="/var/run/${name}.pid" extra_commands="configtest" : ${bitcoind_enable:="NO"} : ${bitcoindlimits_enable:="NO"} load_rc_config ${name} : ${bitcoind_user:="bitcoin"} : ${bitcoind_group:="bitcoin"} : ${bitcoind_data_dir:="/var/db/bitcoin"} : ${bitcoind_config_file:="%%PREFIX%%/etc/bitcoin.conf"} : ${bitcoindlimits_args:="-e -U ${bitcoind_user}"} # set up dependant variables procname="${command}" pidfile="${bitcoind_data_dir}/bitcoind.pid" required_files="${bitcoind_config_file}" bitcoind_checkconfig() { echo "Performing sanity check on bitcoind configuration:" if [ ! -d "${bitcoind_data_dir}" ] then echo "Missing data directory: ${bitcoind_data_dir}" exit 1 fi chown -R "${bitcoind_user}:${bitcoind_group}" "${bitcoind_data_dir}" if [ ! -f "${bitcoind_config_file}" ] then echo "Missing configuration file: ${bitcoind_config_file}" exit 1 fi if [ ! -x "${command}" ] then echo "Missing executable: ${command}" exit 1 fi return 0 } bitcoind_cleanup() { rm -f "${pidfile}" } bitcoind_precmd() { bitcoind_checkconfig pid=$(check_pidfile "${pidfile}" "${procname}") if [ -z "${pid}" ] then echo "Bitcoind is not running" rm -f "${pidfile}" fi if checkyesno bitcoindlimits_enable then eval $(/usr/bin/limits ${bitcoindlimits_args}) 2>/dev/null else return 0 fi } bitcoind_status() { local pid pid=$(check_pidfile "${pidfile}" "${procname}") if [ -z "${pid}" ] then echo "Bitcoind is not running" return 1 else echo "Bitcoind running, pid: ${pid}" fi } bitcoind_start() { echo "Starting bitcoind:" cd "${bitcoind_data_dir}" || return 1 ${daemon_command} -u "${bitcoind_user}" -p "${pidfile}" \ ${command} \ -conf="${bitcoind_config_file}" \ - -datadir="${bitcoind_data_dir}" 2> /tmp/bitcoind.stderr > /tmp/bitcoind.stdout + -datadir="${bitcoind_data_dir}" \ + 2> "${bitcoind_data_dir}/bitcoind.stderr" \ + > "${bitcoind_data_dir}/bitcoind.stdout" } bitcoind_stop() { echo "Stopping bitcoind:" pid=$(check_pidfile "${pidfile}" "${procname}") if [ -z "${pid}" ] then echo "Bitcoind is not running" return 1 else kill ${pid} fi } bitcoind_wait() { local n=60 echo "Waiting for bitcoind shutdown:" while : do printf '.' pid=$(check_pidfile "${pidfile}" "${procname}") if [ -z "${pid}" ] then printf '\n' break fi sleep 1 n=$((${n} - 1)) if [ ${n} -eq 0 -a -f "${pidfile}" ] then printf "\nForce shutdown" kill -9 $(cat "${pidfile}") for n in 1 2 3 do printf '.' sleep 1 done printf '\n' break fi done rm -f "${pidfile}" echo "Shutdown complete" } run_rc_command "$1"