Index: head/net-p2p/c-lightning/Makefile =================================================================== --- head/net-p2p/c-lightning/Makefile (revision 528587) +++ head/net-p2p/c-lightning/Makefile (revision 528588) @@ -1,73 +1,77 @@ # Created by: Vasil Dimov # $FreeBSD$ PORTNAME= c-lightning # To build from an arbitrary git commit comment PORTVERSION and PORTREVISION (if present) PORTVERSION= 0.8.1 +PORTREVISION= 1 DISTVERSIONPREFIX= v # and uncomment the following two lines (use for example -git-HEAD or -git-f8d8348c) #PORTVERSION= 0 #PKGNAMESUFFIX= -git-f8d8348c CATEGORIES= net-p2p finance + +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 67fdc507.patch:-p1 # https://github.com/ElementsProject/lightning/pull/3594 MAINTAINER= vd@FreeBSD.org COMMENT= Lightning Network implementation in C LICENSE= MIT BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mako>=1.0.14:textproc/py-mako@${PY_FLAVOR} LIB_DEPENDS= libgmp.so:math/gmp \ libsodium.so:security/libsodium \ libsqlite3.so:databases/sqlite3 RUN_DEPENDS= bitcoin-cli:net-p2p/bitcoin-utils USES= autoreconf:build compiler:c11 gettext gmake libtool \ python:3.5+,build BINARY_ALIAS= python=${PYTHON_CMD} python3=${PYTHON_CMD} ALL_TARGET= default OPTIONS_DEFINE= COMPATIBILITY DEVELOPER EXPERIMENTAL OPTIONS_RADIO= TESTING OPTIONS_RADIO_TESTING= ASAN VALGRIND COMPATIBILITY_CONFIGURE_ENABLE= compat COMPATIBILITY_DESC= Compatibility mode, good to disable to see if your software breaks DEVELOPER_CONFIGURE_ENABLE= developer DEVELOPER_DESC= Developer mode, good for testing EXPERIMENTAL_CONFIGURE_ENABLE= experimental-features EXPERIMENTAL_DESC= Enable experimental features ASAN_CONFIGURE_ENABLE= address-sanitizer ASAN_DESC= Compile with address-sanitizer VALGRIND_CONFIGURE_ENABLE= valgrind VALGRIND_DESC= Run tests with Valgrind OPTIONS_DEFAULT=COMPATIBILITY HAS_CONFIGURE= yes USE_GITHUB= yes .if defined(PKGNAMESUFFIX) GIT_COMMIT= ${PKGNAMESUFFIX:C/-git-//} .else GIT_COMMIT= ${DISTVERSIONPREFIX}${PORTVERSION} .endif GH_TUPLE= ElementsProject:lightning:${GIT_COMMIT} \ ElementsProject:libwally-core:release_0.7.5:ext1/external/libwally-core \ ianlancetaylor:libbacktrace:5a99ff7fed66b8e:ext2/external/libbacktrace \ zserge:jsmn:v1.0.0:ext3/external/jsmn USERS= c-lightning GROUPS= c-lightning USE_RC_SUBR= lightningd SUB_FILES= lightningd-bitcoin.conf.sample pkg-message SUB_LIST= U="${USERS}" G="${GROUPS}" LIGHTNINGD_BASE_DIR="${DESTDIR}/var/db/c-lightning" PLIST_SUB= U="${USERS}" G="${GROUPS}" post-install: ${INSTALL_DATA} \ ${WRKDIR}/lightningd-bitcoin.conf.sample \ ${STAGEDIR}${PREFIX}/etc/lightningd-bitcoin.conf.sample .include Index: head/net-p2p/c-lightning/distinfo =================================================================== --- head/net-p2p/c-lightning/distinfo (revision 528587) +++ head/net-p2p/c-lightning/distinfo (revision 528588) @@ -1,9 +1,11 @@ -TIMESTAMP = 1582009617 +TIMESTAMP = 1584465209 SHA256 (ElementsProject-lightning-v0.8.1_GH0.tar.gz) = fee0ddaa23c4d143f5ce1d2c2c5a219891d69e0eca0ac636b2a42bf19cb42ede SIZE (ElementsProject-lightning-v0.8.1_GH0.tar.gz) = 2683725 SHA256 (ElementsProject-libwally-core-release_0.7.5_GH0.tar.gz) = e37b30be66dff973ad979d176f0d8e87331304769214522a0782bbbb79c18ec6 SIZE (ElementsProject-libwally-core-release_0.7.5_GH0.tar.gz) = 963370 SHA256 (ianlancetaylor-libbacktrace-5a99ff7fed66b8e_GH0.tar.gz) = 2aad59f02cb008b5e912821c205ad6a140afcae69844e7ba9f7e590239ec41e2 SIZE (ianlancetaylor-libbacktrace-5a99ff7fed66b8e_GH0.tar.gz) = 509368 SHA256 (zserge-jsmn-v1.0.0_GH0.tar.gz) = 5b1f46312cf205e6a0923a0656893bde9e022c76d06d980958fa8dbf79f0ea06 SIZE (zserge-jsmn-v1.0.0_GH0.tar.gz) = 11035 +SHA256 (67fdc507.patch) = f46d701ee9b3de11af3ed031834e553eb49baaeffee25f677270dbf99321821e +SIZE (67fdc507.patch) = 2265 Index: head/net-p2p/c-lightning/files/lightningd.in =================================================================== --- head/net-p2p/c-lightning/files/lightningd.in (revision 528587) +++ head/net-p2p/c-lightning/files/lightningd.in (revision 528588) @@ -1,53 +1,93 @@ #!/bin/sh # $FreeBSD$ # PROVIDE: lightningd -# REQUIRE: LOGIN cleanvar +# REQUIRE: LOGIN bitcoind cleanvar # KEYWORD: shutdown # Add the following to %%LOCALBASE%%/etc/rc.conf.d/lightningd to influence # the behavior of this script (default values are listed): # # lightningd_enable="NO" # change to "YES" to enable # lightningd_user="%%U%%" # lightningd_group="%%G%%" # lightningd_base_dir="%%LIGHTNINGD_BASE_DIR%%" # lightningd_network="bitcoin" # lightningd_conf="%%PREFIX%%/etc/lightningd-${lightningd_network}.conf" # lightningd_extra_args="" # See lightningd --help . /etc/rc.subr name="lightningd" rcvar=lightningd_enable load_rc_config ${name} : ${lightningd_enable:="NO"} : ${lightningd_user:="%%U%%"} : ${lightningd_group:="%%G%%"} : ${lightningd_base_dir:="%%LIGHTNINGD_BASE_DIR%%"} : ${lightningd_network:="bitcoin"} : ${lightningd_conf:="%%PREFIX%%/etc/${name}-${lightningd_network}.conf"} +start_precmd="lightningd_start_precmd" pidfile="${lightningd_base_dir}/lightningd-${lightningd_network}.pid" command="%%PREFIX%%/bin/lightningd" command_args="" command_args="${command_args} --lightning-dir=${lightningd_base_dir}" command_args="${command_args} --network=${lightningd_network}" command_args="${command_args} --daemon" # service(8) would execute us with LOCALBASE stripped out from PATH, # thus specify the full path to bitcoin-cli. command_args="${command_args} --bitcoin-cli=%%LOCALBASE%%/bin/bitcoin-cli" # bitcoin-cli(1) tries to create its "datadir" (by default ${HOME}/.bitcoin) # if it does not exist. Provide something that already exists to avoid the # creation of unnecessary empty directories. command_args="${command_args} --bitcoin-datadir=${lightningd_base_dir}" if [ -e "${lightningd_conf}" ] ; then command_args="${command_args} --conf=${lightningd_conf}" fi command_args="${command_args} ${lightningd_extra_args}" + +check_bitcoind_ready() +{ + bitcoin-cli \ + -rpcconnect=${bitcoin_addr}${bitcoin_port:+":"}${bitcoin_port} \ + -rpcuser=${bitcoin_user} \ + -stdinrpcpass \ + echo itworks < /dev/null 2>&1; then + break + fi + fi + echo "Waiting for bitcoind to start serving RPC, lightningd cannot start without it $i" + sleep 1 + i=$((i - 1)) + done +} run_rc_command "$1"