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.7.0.ebuild72
-rw-r--r--net-p2p/c-lightning/files/0.7.0-build-do-not-Werror.patch36
-rw-r--r--net-p2p/c-lightning/files/0.7.0-build-do-not-refresh-external-modules.patch22
-rw-r--r--net-p2p/c-lightning/files/0.7.0-build-remove-deprecated-AM_ENABLE_MULTILIB.patch25
-rw-r--r--net-p2p/c-lightning/files/0.7.0-build-use-FHS-docdir.patch22
-rw-r--r--net-p2p/c-lightning/metadata.xml8
6 files changed, 185 insertions, 0 deletions
diff --git a/net-p2p/c-lightning/c-lightning-0.7.0.ebuild b/net-p2p/c-lightning/c-lightning-0.7.0.ebuild
new file mode 100644
index 00000000..5078abf2
--- /dev/null
+++ b/net-p2p/c-lightning/c-lightning-0.7.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit git-r3 autotools libtool toolchain-funcs systemd
+
+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=""
+
+DEPEND="dev-libs/libsodium:=
+ dev-libs/gmp:0
+ dev-db/sqlite:3
+ sys-libs/zlib:=
+ app-text/asciidoc"
+RDEPEND="${DEPEND}
+ net-p2p/bitcoin-cli"
+
+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 CDEBUGFLAGS="-std=gnu11 -fstack-protector ${CFLAGS}"
+
+ sed -i \
+ -e "s:^VERSION=.*:VERSION=${PVR}:" \
+ Makefile \
+ || die
+
+ local externals=( libbacktrace libbase58 libsodium libwally-core )
+
+ for x in ${externals[@]} ; do
+ pushd "external/${x}" > /dev/null || die
+ eautoreconf
+ popd > /dev/null || die
+ done
+}
+
+src_configure() {
+ ./configure \
+ --prefix="${EPREFIX}/usr" \
+ --enable-compat \
+ --disable-static \
+ --disable-developer \
+ --disable-experimental-features \
+ --disable-valgrind \
+ --disable-address-sanitizer
+}
+
+src_compile() {
+ emake CDEBUGFLAGS="${CDEBUGFLAGS}"
+}
+
+src_install() {
+ default
+
+ systemd_dounit contrib/init/lightningd.service
+}
diff --git a/net-p2p/c-lightning/files/0.7.0-build-do-not-Werror.patch b/net-p2p/c-lightning/files/0.7.0-build-do-not-Werror.patch
new file mode 100644
index 00000000..873f6fb1
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.7.0-build-do-not-Werror.patch
@@ -0,0 +1,36 @@
+From b9430ac0bf6455893a654f2a7c17936ebedaa90b 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
+
+---
+ Makefile | 2 +-
+ configure | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7e23e8a2a827..1e2cfc60cef7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -185,7 +185,7 @@ WIRE_GEN := tools/generate-wire.py
+ ALL_PROGRAMS =
+
+ CPPFLAGS = -DBINTOPKGLIBEXECDIR='"'$(shell sh tools/rel.sh $(bindir) $(pkglibexecdir))'"'
+-CWARNFLAGS := -Werror -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition
++CWARNFLAGS := -W -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition
+ CDEBUGFLAGS := -std=gnu11 -g -fstack-protector $(SANITIZER_FLAGS)
+ CFLAGS = $(CPPFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) -I $(CCANDIR) $(EXTERNAL_INCLUDE_FLAGS) -I . -I/usr/local/include $(FEATURES) $(COVFLAGS) $(DEV_CFLAGS) -DSHACHAIN_BITS=48 -DJSMN_PARENT_LINKS $(PIE_CFLAGS) $(COMPAT_CFLAGS)
+
+diff --git a/configure b/configure
+index b220cde05ed7..6549d0b67856 100755
+--- a/configure
++++ b/configure
+@@ -6,7 +6,7 @@ set -e
+ # Default values, loaded from environment or canned.
+ PREFIX=${PREFIX:-/usr/local}
+ CC=${CC:-cc}
+-CWARNFLAGS=${CWARNFLAGS:--Werror -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition}
++CWARNFLAGS=${CWARNFLAGS:--W -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition}
+ CDEBUGFLAGS=${CDEBUGFLAGS:--std=gnu11 -g -fstack-protector}
+ DEVELOPER=${DEVELOPER:-0}
+ EXPERIMENTAL_FEATURES=${EXPERIMENTAL_FEATURES:-0}
diff --git a/net-p2p/c-lightning/files/0.7.0-build-do-not-refresh-external-modules.patch b/net-p2p/c-lightning/files/0.7.0-build-do-not-refresh-external-modules.patch
new file mode 100644
index 00000000..77b307ce
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.7.0-build-do-not-refresh-external-modules.patch
@@ -0,0 +1,22 @@
+From 936ada65ede521c46cf34b7a9e2ff7cb7799431f 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, 1 insertion(+), 1 deletion(-)
+
+diff --git a/external/Makefile b/external/Makefile
+index fc0088ba7f93..94e88e3c7e03 100644
+--- a/external/Makefile
++++ b/external/Makefile
+@@ -32,7 +32,7 @@ endif
+ EXTERNAL_LDLIBS := -Lexternal $(patsubst lib%.a,-l%,$(notdir $(EXTERNAL_LIBS)))
+
+ submodcheck: FORCE
+- @tools/refresh-submodules.sh $(SUBMODULES)
++ : @tools/refresh-submodules.sh $(SUBMODULES)
+
+ # We build libsodium, since Ubuntu xenial has one too old.
+ external/libsodium.a: external/libsodium/src/libsodium/libsodium.la
diff --git a/net-p2p/c-lightning/files/0.7.0-build-remove-deprecated-AM_ENABLE_MULTILIB.patch b/net-p2p/c-lightning/files/0.7.0-build-remove-deprecated-AM_ENABLE_MULTILIB.patch
new file mode 100644
index 00000000..415a71cf
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.7.0-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.7.0-build-use-FHS-docdir.patch b/net-p2p/c-lightning/files/0.7.0-build-use-FHS-docdir.patch
new file mode 100644
index 00000000..30548328
--- /dev/null
+++ b/net-p2p/c-lightning/files/0.7.0-build-use-FHS-docdir.patch
@@ -0,0 +1,22 @@
+From b1483d2208b7a50e2f8f7744e8eccad18748e6a2 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 1e2cfc60cef7..7387a6ca7db6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -442,7 +442,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
diff --git a/net-p2p/c-lightning/metadata.xml b/net-p2p/c-lightning/metadata.xml
new file mode 100644
index 00000000..82f7232e
--- /dev/null
+++ b/net-p2p/c-lightning/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bertrand@jacquin.bzh</email>
+ <name>Bertrand Jacquin</name>
+ </maintainer>
+</pkgmetadata>