summaryrefslogtreecommitdiff
path: root/net-p2p/c-lightning
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/c-lightning')
-rw-r--r--net-p2p/c-lightning/c-lightning-0.10.2.ebuild105
-rw-r--r--net-p2p/c-lightning/files/0.10.2-build-do-not-Werror.patch22
-rw-r--r--net-p2p/c-lightning/files/0.10.2-build-do-not-refresh-external-modules.patch22
-rw-r--r--net-p2p/c-lightning/files/0.10.2-build-remove-deprecated-AM_ENABLE_MULTILIB.patch25
-rw-r--r--net-p2p/c-lightning/files/0.10.2-build-use-FHS-docdir.patch22
5 files changed, 196 insertions, 0 deletions
diff --git a/net-p2p/c-lightning/c-lightning-0.10.2.ebuild b/net-p2p/c-lightning/c-lightning-0.10.2.ebuild
new file mode 100644
index 00000000..ff157e67
--- /dev/null
+++ b/net-p2p/c-lightning/c-lightning-0.10.2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{3_8,3_9} )
+inherit git-r3 bash-completion-r1 autotools libtool toolchain-funcs systemd distutils-r1 python-r1
+
+DESCRIPTION="A specification compliant Lightning Network implementation in C"
+HOMEPAGE="https://github.com/ElementsProject/lightning"
+EGIT_REPO_URI="https://github.com/ElementsProject/lightning.git"
+EGIT_COMMIT="v${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+sqlite python"
+
+DISTUTILS_OPTIONAL=True
+
+BDEPEND="${PYTHON_DEPS}
+ dev-python/mako:=[${PYTHON_USEDEP}]
+ app-text/asciidoc
+ sys-apps/coreutils
+ sys-devel/gettext
+ sys-apps/mrkd"
+DEPEND="dev-libs/libsodium:=
+ dev-libs/gmp:0
+ sqlite? ( dev-db/sqlite:3 )
+ sys-libs/zlib:=
+ python? ( >=dev-python/recommonmark-0.7[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}
+ net-p2p/bitcoin-cli
+ acct-user/bitcoin"
+
+PATCHES=(
+ "${FILESDIR}/${PV}-build-do-not-Werror.patch"
+ "${FILESDIR}/${PV}-build-do-not-refresh-external-modules.patch"
+ "${FILESDIR}/${PV}-build-remove-deprecated-AM_ENABLE_MULTILIB.patch"
+ "${FILESDIR}/${PV}-build-use-FHS-docdir.patch"
+)
+
+src_prepare() {
+ default
+
+ export PYTEST=:
+ export CC="$(tc-getCC)" CONFIGURATOR_CC="${CBUILD}-gcc"
+ export PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ export CDEBUGFLAGS="-std=gnu11 -fstack-protector ${CFLAGS}"
+
+ sed -i \
+ -e "s:^VERSION=.*:VERSION=${PVR}:" \
+ Makefile \
+ || die
+
+ local externals=( libbacktrace libsodium libwally-core )
+
+ for x in ${externals[@]} ; do
+ pushd "external/${x}" > /dev/null || die
+ eautoreconf
+ popd > /dev/null || die
+ done
+
+ if use python ; then
+ pushd "${S}/contrib/pyln-client" > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+src_configure() {
+ ./configure \
+ --prefix="${EPREFIX}/usr" \
+ --enable-compat \
+ --disable-static \
+ --disable-developer \
+ --disable-experimental-features \
+ --disable-valgrind \
+ --disable-address-sanitizer \
+ --disable-ub-sanitize \
+ --disable-fuzzing \
+ || die "configure failed"
+}
+
+src_compile() {
+ emake CDEBUGFLAGS="${CDEBUGFLAGS}" V=1
+
+ if use python ; then
+ pushd "${S}/contrib/pyln-client" > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ if use python ; then
+ pushd "${S}/contrib/pyln-client" > /dev/null || die
+ distutils-r1_src_install
+ popd > /dev/null || die
+ fi
+
+ systemd_dounit contrib/init/lightningd.service
+ newbashcomp contrib/lightning-cli.bash-completion lightning-cli
+}
diff --git a/net-p2p/c-lightning/files/0.10.2-build-do-not-Werror.patch b/net-p2p/c-lightning/files/0.10.2-build-do-not-Werror.patch
new file mode 100644
index 00000000..fcde42c8
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.10.2-build-do-not-Werror.patch
@@ -0,0 +1,22 @@
+From d26898b055c18b884f93a7a56959fdb7ab193195 Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Mon, 13 May 2019 23:59:33 +0000
+Subject: [PATCH] build: do not -Werror
+
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 6282eca29651..4754f8967890 100755
+--- a/configure
++++ b/configure
+@@ -6,7 +6,7 @@ set -e
+ CONFIGURATOR=ccan/tools/configurator/configurator
+ CONFIG_VAR_FILE=config.vars
+ CONFIG_HEADER=ccan/config.h
+-BASE_WARNFLAGS="-Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition -Werror"
++BASE_WARNFLAGS="-Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition"
+
+ : ${PKG_CONFIG=pkg-config}
+
diff --git a/net-p2p/c-lightning/files/0.10.2-build-do-not-refresh-external-modules.patch b/net-p2p/c-lightning/files/0.10.2-build-do-not-refresh-external-modules.patch
new file mode 100644
index 00000000..1e5ef7a5
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.10.2-build-do-not-refresh-external-modules.patch
@@ -0,0 +1,22 @@
+From 6564373799d3e939403ab62ff18e450a0cc089ce Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Mon, 13 May 2019 23:50:38 +0000
+Subject: [PATCH] build: do not refresh external modules
+
+---
+ external/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/external/Makefile b/external/Makefile
+index 975d4d259041..f4975c4d7f37 100644
+--- a/external/Makefile
++++ b/external/Makefile
+@@ -49,8 +49,6 @@ endif
+ EXTERNAL_LDLIBS := -L${TARGET_DIR} $(patsubst lib%.a,-l%,$(notdir $(EXTERNAL_LIBS)))
+
+ submodcheck: $(FORCE)
+- @tools/refresh-submodules.sh $(SUBMODULES)
+- @cd external/libwally-core && ../../tools/refresh-submodules.sh src/secp256k1
+
+ $(EXTERNAL_HEADERS): submodcheck
+
diff --git a/net-p2p/c-lightning/files/0.10.2-build-remove-deprecated-AM_ENABLE_MULTILIB.patch b/net-p2p/c-lightning/files/0.10.2-build-remove-deprecated-AM_ENABLE_MULTILIB.patch
new file mode 100644
index 00000000..415a71cf
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.10.2-build-remove-deprecated-AM_ENABLE_MULTILIB.patch
@@ -0,0 +1,25 @@
+From 8271ca3e71e258c99675c0f873724d07a8c22440 Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Mon, 13 May 2019 23:47:42 +0000
+Subject: [PATCH] build: remove deprecated AM_ENABLE_MULTILIB
+
+---
+ external/libbacktrace/configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/external/libbacktrace/configure.ac b/external/libbacktrace/configure.ac
+index 2aad65ad9c7f..0cebaab8fc9a 100644
+--- a/external/libbacktrace/configure.ac
++++ b/external/libbacktrace/configure.ac
+@@ -35,11 +35,6 @@ AC_CONFIG_SRCDIR(backtrace.h)
+ AC_CONFIG_HEADER(config.h)
+ AC_CONFIG_MACRO_DIR(config)
+
+-# with_target_subdir is used when configured as part of a GCC tree.
+-if test -n "${with_target_subdir}"; then
+- AM_ENABLE_MULTILIB(, ..)
+-fi
+-
+ AC_CANONICAL_SYSTEM
+ target_alias=${target_alias-$host_alias}
+
diff --git a/net-p2p/c-lightning/files/0.10.2-build-use-FHS-docdir.patch b/net-p2p/c-lightning/files/0.10.2-build-use-FHS-docdir.patch
new file mode 100644
index 00000000..82d1411d
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.10.2-build-use-FHS-docdir.patch
@@ -0,0 +1,22 @@
+From e461e3fb37ee1ccad5d4e03a07716b4dfeb73d82 Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Tue, 14 May 2019 01:33:02 +0000
+Subject: [PATCH] build: use FHS docdir
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 192d4ec1e63a..84c58d5de74c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -602,7 +602,7 @@ libexecdir = $(exec_prefix)/libexec
+ pkglibexecdir = $(libexecdir)/$(PKGNAME)
+ plugindir = $(pkglibexecdir)/plugins
+ datadir = $(PREFIX)/share
+-docdir = $(datadir)/doc/$(PKGNAME)
++docdir = $(datadir)/doc/$(PKGNAME)-$(VERSION)
+ mandir = $(datadir)/man
+ man1dir = $(mandir)/man1
+ man5dir = $(mandir)/man5