net-p2p/c-lightning: hook dependencies for the clnrest plugin
The clnrest plugin is already installed but it depends on a bunch of Python packages. Add an option to net-p2p/c-lightning to install and depend on those packages. Further, 3 of those packages were not in the FreeBSD ports. Add them: * net-p2p/pyln-bolt7 Lightning Network BOLT7 implementation * net-p2p/pyln-client Python client library for lightningd (net-p2p/c-lightning) * net-p2p/pyln-proto Lightning Network protocol implementation To enable the plugin, add clnrest-port= clnrest-protocol= clnrest-host= to /usr/local/etc/lightningd-bitcoin.conf, see https://docs.corelightning.org/docs/rest Differential Revision: https://reviews.freebsd.org/D43863
This commit is contained in:
parent
8425efbefa
commit
50d1b70610
12 changed files with 143 additions and 1 deletions
|
@ -83,6 +83,9 @@
|
|||
SUBDIR += py-transmission-rpc
|
||||
SUBDIR += py-tremc
|
||||
SUBDIR += py-vertex
|
||||
SUBDIR += pyln-bolt7
|
||||
SUBDIR += pyln-client
|
||||
SUBDIR += pyln-proto
|
||||
SUBDIR += qbittorrent
|
||||
SUBDIR += radarr
|
||||
SUBDIR += readarr
|
||||
|
|
|
@ -2,6 +2,7 @@ PORTNAME= c-lightning
|
|||
# To build from an arbitrary git commit comment PORTVERSION and PORTREVISION (if present)
|
||||
PORTVERSION= 23.11.2
|
||||
DISTVERSIONPREFIX= v
|
||||
PORTREVISION= 1
|
||||
# and uncomment the following two lines (use for example -git-HEAD or -git-f8d8348c)
|
||||
#PORTVERSION= 0
|
||||
#PKGNAMESUFFIX= -git-f8d8348c
|
||||
|
@ -38,12 +39,58 @@ SHEBANG_FILES= plugins/clnrest/clnrest.py \
|
|||
EXTRA_PATCHES_aarch64= ${FILESDIR}/extra-patch-external_libwally-core_src_ccan_ccan_base64_base64.c
|
||||
EXTRA_PATCHES= ${EXTRA_PATCHES_${ARCH}}
|
||||
|
||||
OPTIONS_DEFINE= COMPATIBILITY DEBUG
|
||||
OPTIONS_DEFINE= CLNRESTDEPS COMPATIBILITY DEBUG
|
||||
OPTIONS_MULTI= STORAGE
|
||||
OPTIONS_MULTI_STORAGE= POSTGRESQL SQLITE
|
||||
OPTIONS_RADIO= TESTING
|
||||
OPTIONS_RADIO_TESTING= ASAN VALGRIND
|
||||
|
||||
CLNRESTDEPS_DESC= Install and depend on packages required by the clnrest plugin
|
||||
# for d in `grep -E '^[^[:space:]]' work/lightning-23.11.2/plugins/clnrest/requirements.txt |cut -f 1 -d =` ; do echo "=== $d ===" ; portsearch -n "py.*$d" -o path ; done
|
||||
CLNRESTDEPS_RUN_DEPENDS=\
|
||||
${PYTHON_PKGNAMEPREFIX}Flask-Cors>0:www/py-flask-cors@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}aniso8601>0:devel/py-aniso8601@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}asn1crypto>0:devel/py-asn1crypto@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}base58>0:security/py-base58@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}bidict>0:devel/py-bidict@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}bitstring>0:devel/py-bitstring@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}blinker>0:devel/py-blinker@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}coincurve>0:security/py-coincurve@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}colorama>0:devel/py-colorama@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}flask-restx>0:www/py-flask-restx@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}flask-socketio>0:www/py-flask-socketio@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}flask>0:www/py-flask@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gevent-websocket>0:www/py-gevent-websocket@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gevent>0:devel/py-gevent@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}greenlet>0:devel/py-greenlet@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}gunicorn>0:www/py-gunicorn@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}importlib-resources>0:devel/py-importlib-resources@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}itsdangerous>0:security/py-itsdangerous@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}json5>0:devel/py-json5@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}jsonschema-specifications>0:devel/py-jsonschema-specifications@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pyln-bolt7>0:net-p2p/pyln-bolt7@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pyln-client>0:net-p2p/pyln-client@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pyln-proto>0:net-p2p/pyln-proto@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pysocks>0:net/py-pysocks@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}python-engineio>0:devel/py-python-engineio@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}python-socketio>0:devel/py-python-socketio@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}referencing>0:devel/py-referencing@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}rpds-py>0:devel/py-rpds-py@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}werkzeug>0:www/py-werkzeug@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}zipp>0:devel/py-zipp@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}zope.event>0:devel/py-zope.event@${PY_FLAVOR} \
|
||||
${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${PY_FLAVOR}
|
||||
COMPATIBILITY_CONFIGURE_ENABLE= compat
|
||||
COMPATIBILITY_DESC= Compatibility mode, good to disable to see if your software breaks
|
||||
DEBUG_CONFIGURE_ENABLE= debugbuild
|
||||
|
@ -60,6 +107,12 @@ VALGRIND_DESC= Run tests with Valgrind
|
|||
|
||||
OPTIONS_DEFAULT=COMPATIBILITY SQLITE
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${PORT_OPTIONS:MCLNRESTDEPS}
|
||||
USE_PYTHON+= cryptography
|
||||
.endif
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --disable-rust
|
||||
|
||||
|
|
|
@ -22,6 +22,9 @@ rcvar=lightningd_enable
|
|||
|
||||
load_rc_config ${name}
|
||||
|
||||
# If clnrest plugin is enabled it fails to load with OpenSSL 3.0: RuntimeError: OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration.
|
||||
export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1
|
||||
|
||||
: ${lightningd_enable:="NO"}
|
||||
: ${lightningd_user:="%%U%%"}
|
||||
: ${lightningd_group:="%%G%%"}
|
||||
|
|
20
net-p2p/pyln-bolt7/Makefile
Normal file
20
net-p2p/pyln-bolt7/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
|||
PORTNAME= pyln-bolt7
|
||||
PORTVERSION= 1.0.246
|
||||
CATEGORIES= net-p2p python
|
||||
MASTER_SITES= PYPI
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
||||
MAINTAINER= vd@FreeBSD.org
|
||||
COMMENT= Lightning Network BOLT7 implementation
|
||||
WWW= https://github.com/ElementsProject/lightning/tree/master/contrib/pyln-spec/bolt7
|
||||
|
||||
LICENSE= MIT
|
||||
|
||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR}
|
||||
|
||||
USES= python
|
||||
USE_PYTHON= autoplist pep517
|
||||
|
||||
NO_ARCH= yes
|
||||
|
||||
.include <bsd.port.mk>
|
3
net-p2p/pyln-bolt7/distinfo
Normal file
3
net-p2p/pyln-bolt7/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1707742564
|
||||
SHA256 (pyln-bolt7-1.0.246.tar.gz) = 2b53744fa21c1b12d2c9c9df153651b122e38fa65d4a5c3f2957317ee148e089
|
||||
SIZE (pyln-bolt7-1.0.246.tar.gz) = 17905
|
1
net-p2p/pyln-bolt7/pkg-descr
Normal file
1
net-p2p/pyln-bolt7/pkg-descr
Normal file
|
@ -0,0 +1 @@
|
|||
Lightning Network BOLT7 implementation
|
22
net-p2p/pyln-client/Makefile
Normal file
22
net-p2p/pyln-client/Makefile
Normal file
|
@ -0,0 +1,22 @@
|
|||
PORTNAME= pyln-client
|
||||
PORTVERSION= 23.11
|
||||
CATEGORIES= net-p2p python
|
||||
MASTER_SITES= PYPI
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
|
||||
|
||||
MAINTAINER= vd@FreeBSD.org
|
||||
COMMENT= Python client library for lightningd (net-p2p/c-lightning)
|
||||
WWW= https://github.com/ElementsProject/lightning/tree/master/contrib/pyln-client
|
||||
|
||||
LICENSE= MIT
|
||||
|
||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR}
|
||||
|
||||
USES= python shebangfix
|
||||
USE_PYTHON= autoplist pep517
|
||||
SHEBANG_FILES= pyln/client/gossmap.py
|
||||
|
||||
NO_ARCH= yes
|
||||
|
||||
.include <bsd.port.mk>
|
3
net-p2p/pyln-client/distinfo
Normal file
3
net-p2p/pyln-client/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1707743561
|
||||
SHA256 (pyln_client-23.11.tar.gz) = 4102792bbdca545d5fbfa1fb1371222744e7157ec3d2c162edb03e8786db9823
|
||||
SIZE (pyln_client-23.11.tar.gz) = 35134
|
5
net-p2p/pyln-client/pkg-descr
Normal file
5
net-p2p/pyln-client/pkg-descr
Normal file
|
@ -0,0 +1,5 @@
|
|||
A python client library for lightningd (net-p2p/c-lightning)
|
||||
|
||||
This package implements the Unix socket based JSON-RPC protocol that lightningd
|
||||
exposes to the rest of the world. It can be used to call arbitrary functions on
|
||||
the RPC interface, and serves as a basis for plugins written in python.
|
21
net-p2p/pyln-proto/Makefile
Normal file
21
net-p2p/pyln-proto/Makefile
Normal file
|
@ -0,0 +1,21 @@
|
|||
PORTNAME= pyln-proto
|
||||
PORTVERSION= 23.11
|
||||
CATEGORIES= net-p2p python
|
||||
MASTER_SITES= PYPI
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
|
||||
|
||||
MAINTAINER= vd@FreeBSD.org
|
||||
COMMENT= Lightning Network protocol implementation
|
||||
WWW= https://github.com/ElementsProject/lightning/tree/master/contrib/pyln-proto
|
||||
|
||||
LICENSE= MIT
|
||||
|
||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=0:devel/py-poetry-core@${PY_FLAVOR}
|
||||
|
||||
USES= python
|
||||
USE_PYTHON= autoplist pep517
|
||||
|
||||
NO_ARCH= yes
|
||||
|
||||
.include <bsd.port.mk>
|
3
net-p2p/pyln-proto/distinfo
Normal file
3
net-p2p/pyln-proto/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1707744598
|
||||
SHA256 (pyln_proto-23.11.tar.gz) = e7056386be1527fd2c49a3db9228a9f5fd44cd5cdc9b1d431b21112137dd5957
|
||||
SIZE (pyln_proto-23.11.tar.gz) = 27810
|
5
net-p2p/pyln-proto/pkg-descr
Normal file
5
net-p2p/pyln-proto/pkg-descr
Normal file
|
@ -0,0 +1,5 @@
|
|||
Lightning Network protocol implementation
|
||||
|
||||
This package implements some of the Lightning Network protocol in pure python.
|
||||
It is intended for protocol testing and some minor tooling only. It is not
|
||||
deemed secure enough to handle any amount of real funds.
|
Loading…
Reference in a new issue