diff options
5 files changed, 166 insertions, 0 deletions
diff --git a/net-p2p/c-lightning/c-lightning-0.7.2.1.ebuild b/net-p2p/c-lightning/c-lightning-0.7.2.1.ebuild new file mode 100644 index 00000000..595cc4ce --- /dev/null +++ b/net-p2p/c-lightning/c-lightning-0.7.2.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python{3_6,3_7} ) +inherit git-r3 autotools libtool toolchain-funcs systemd 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="" + +BDEPEND="${PYTHON_DEPS} + dev-python/mako:=[${PYTHON_USEDEP}] + app-text/asciidoc" +DEPEND="dev-libs/libsodium:= + dev-libs/gmp:0 + dev-db/sqlite:3 + sys-libs/zlib:=" +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 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.2.1-build-do-not-Werror.patch b/net-p2p/c-lightning/files/0.7.2.1-build-do-not-Werror.patch new file mode 100644 index 00000000..9f49e838 --- /dev/null +++ b/net-p2p/c-lightning/files/0.7.2.1-build-do-not-Werror.patch @@ -0,0 +1,22 @@ +From bbe6579cdc18f88930569785aee207765b437dc0 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <bertrand@jacquin.bzh> +Date: Mon, 13 May 2019 23:59:33 +0000 +Subject: [PATCH 1/3] build: do not -Werror + +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 7920f6f5f86c..aa3e735ad8ae 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" + + usage_with_default() + { diff --git a/net-p2p/c-lightning/files/0.7.2.1-build-do-not-refresh-external-modules.patch b/net-p2p/c-lightning/files/0.7.2.1-build-do-not-refresh-external-modules.patch new file mode 100644 index 00000000..44c25206 --- /dev/null +++ b/net-p2p/c-lightning/files/0.7.2.1-build-do-not-refresh-external-modules.patch @@ -0,0 +1,22 @@ +From cc4bdb3f69b86a1db4537b63b61226259f4d9774 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <bertrand@jacquin.bzh> +Date: Mon, 13 May 2019 23:50:38 +0000 +Subject: [PATCH 2/3] 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.2.1-build-remove-deprecated-AM_ENABLE_MULTILIB.patch b/net-p2p/c-lightning/files/0.7.2.1-build-remove-deprecated-AM_ENABLE_MULTILIB.patch new file mode 100644 index 00000000..415a71cf --- /dev/null +++ b/net-p2p/c-lightning/files/0.7.2.1-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.2.1-build-use-FHS-docdir.patch b/net-p2p/c-lightning/files/0.7.2.1-build-use-FHS-docdir.patch new file mode 100644 index 00000000..e051f140 --- /dev/null +++ b/net-p2p/c-lightning/files/0.7.2.1-build-use-FHS-docdir.patch @@ -0,0 +1,22 @@ +From fe488c542da58d68995c18a5ffc6b4375fcf35bb Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <bertrand@jacquin.bzh> +Date: Tue, 14 May 2019 01:33:02 +0000 +Subject: [PATCH 3/3] build: use FHS docdir + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index dc2d5ab4c4cc..f07ed5ff6bab 100644 +--- a/Makefile ++++ b/Makefile +@@ -461,7 +461,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 |