summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2020-10-23 08:57:39 +0300
committerJoonas Niilola <juippis@gentoo.org>2020-10-23 10:36:53 +0300
commit652e2b134c419aae993915caf26cd7d8e27d5250 (patch)
tree26bb1183b7b88fe14b44a14f8977d611f7fb0204
parentdev-java/openjdk: bump to 11.0.9+11 (diff)
downloadgentoo-652e2b134c419aae993915caf26cd7d8e27d5250.tar.gz
gentoo-652e2b134c419aae993915caf26cd7d8e27d5250.tar.bz2
gentoo-652e2b134c419aae993915caf26cd7d8e27d5250.zip
dev-libs/raft: new package
- C implementation of the Raft consensus protocol, - dep of lxd. Signed-off-by: Joonas Niilola <juippis@gentoo.org>
-rw-r--r--dev-libs/raft/Manifest1
-rw-r--r--dev-libs/raft/metadata.xml19
-rw-r--r--dev-libs/raft/raft-0.9.25.ebuild44
3 files changed, 64 insertions, 0 deletions
diff --git a/dev-libs/raft/Manifest b/dev-libs/raft/Manifest
new file mode 100644
index 000000000000..244ae96fe1fb
--- /dev/null
+++ b/dev-libs/raft/Manifest
@@ -0,0 +1 @@
+DIST raft-0.9.25.tar.gz 313444 BLAKE2B a2a15287cef28b03b012ea372d83e7d0b70bc561f5996eb36fb5ef898261188ee8dfef1aa1619333ada2c8f20a37aa1af3f68a1d97c11919d521544c89629e55 SHA512 8709a909c527b7062072165356dcc012cf7af6cf85e3a3be515220ea4a863637dd06e7c4376af4284006bce65034002d1639ca52ac1ce108be2efa0725a82b70
diff --git a/dev-libs/raft/metadata.xml b/dev-libs/raft/metadata.xml
new file mode 100644
index 000000000000..c96395f90242
--- /dev/null
+++ b/dev-libs/raft/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <longdescription>
+ The library has modular design: its core part implements only the core
+ Raft algorithm logic, in a fully platform independent way. On top of that,
+ a pluggable interface defines the I/O implementation for networking
+ (send/receive RPC messages) and disk persistence (store log entries and
+ snapshots).
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/raft/raft-0.9.25.ebuild b/dev-libs/raft/raft-0.9.25.ebuild
new file mode 100644
index 000000000000..7bf600d3ba32
--- /dev/null
+++ b/dev-libs/raft/raft-0.9.25.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="C implementation of the Raft consensus protocol"
+HOMEPAGE="https://github.com/canonical/raft"
+SRC_URI="https://github.com/canonical/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libuv"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+
+ # ACCESS DENIED issue, #723208
+ sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-uv
+
+ --disable-benchmark
+ --disable-debug
+ --disable-example
+ --disable-sanitize
+
+ $(use_enable test fixture)
+ )
+
+ econf "${myeconfargs[@]}"
+}