commit:     5453866a993b63770a3773333ce0b08b320e6248
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 14 09:04:11 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Feb 14 09:07:26 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5453866a

dev-libs/raft: add 0.11.3

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-libs/raft/Manifest                             |  1 +
 ...ft-0.11.3-disable-automagic-check-for-lz4.patch | 90 ++++++++++++++++++++++
 dev-libs/raft/raft-0.11.3.ebuild                   | 56 ++++++++++++++
 3 files changed, 147 insertions(+)

diff --git a/dev-libs/raft/Manifest b/dev-libs/raft/Manifest
index 310531d32c3c..c0a2a4c08610 100644
--- a/dev-libs/raft/Manifest
+++ b/dev-libs/raft/Manifest
@@ -1 +1,2 @@
 DIST raft-0.11.2.tar.gz 325098 BLAKE2B 
d9366547440b431edec75a22bca3a50bb6d714b5d950c061723f0585c5ad33704d23c32f2e325dc566ebeab71e15e10f07932c854657837e190901b52c9b4950
 SHA512 
8be47270cf3b888ff6adeeec2480ccd5065b45c3c546da089cbb326cf429f0bcd4396001e20fbf52587c00d5757337812c834ec5064fafa4815a978a7cf0c35f
+DIST raft-0.11.3.tar.gz 329571 BLAKE2B 
08b145bfbcc26b50f69c550599978ed365ccbbd021b9c4699784c08bd7e0f17f366b1709c22df1a467fbdb524668a753f431744419da8f18d57ea52c5b33de38
 SHA512 
7d1a7455ff8d58ed1f3d259cade1c74fcb22732a55242dcf761cc6554739c0ea1c462aa02591d28d8fa2b343b23e6261a5e15d02e2a31467969b7d9f9f3b5e92

diff --git 
a/dev-libs/raft/files/raft-0.11.3-disable-automagic-check-for-lz4.patch 
b/dev-libs/raft/files/raft-0.11.3-disable-automagic-check-for-lz4.patch
new file mode 100644
index 000000000000..f16936448091
--- /dev/null
+++ b/dev-libs/raft/files/raft-0.11.3-disable-automagic-check-for-lz4.patch
@@ -0,0 +1,90 @@
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac     2021-12-14 18:47:55.000000000 +0200
++++ b/configure.ac     2022-02-14 10:51:19.908763437 +0200
+@@ -23,47 +23,12 @@
+ # explicitly disabled.
+ AC_ARG_ENABLE(lz4, AS_HELP_STRING([--disable-lz4], [do not use lz4 
compression]))
+ 
+-# Thanks to the OpenVPN configure.ac file for this part.
+-# If this fails, we will do another test next.
+-# We also add set LZ4_LIBS otherwise linker will not know about the lz4 
library
+-PKG_CHECK_MODULES(LZ4, [liblz4 >= 1.7.1], [have_lz4="yes"], 
[LZ4_LIBS="-llz4"])
+-if test "${have_lz4}" != "yes" ; then
+-    AC_CHECK_HEADERS([lz4.h],
+-                     [have_lz4h="yes"],
+-                     [])
+-    if test "${have_lz4h}" = "yes" ; then
+-        AC_MSG_CHECKING([additionally if system LZ4 version >= 1.7.1])
+-        AC_COMPILE_IFELSE(
+-        [AC_LANG_PROGRAM([[
+-#include <lz4.h>
+-                         ]],
+-                         [[
+-/* Version encoding: MMNNPP (Major miNor Patch) - see lz4.h for details */
+-#if LZ4_VERSION_NUMBER < 10701L
+-#error LZ4 is too old
+-#endif
+-                         ]]
+-                        )],
+-         [
+-             AC_MSG_RESULT([ok])
+-             have_lz4="yes"
+-         ],
+-         [
+-             AC_MSG_RESULT([system LZ4 library is too old])
+-             have_lz4="no"
+-         ]
+-        )
+-    fi
+-fi
+-
+-AS_IF([test "x$enable_lz4" != "xno" -a "x$have_lz4" != "xyes"],
+-      [AC_MSG_ERROR([liblz4 required but not found])], [])
+-# LZ4 Can be available without being enabled, this allows a user to activate
+-# it at a later stage through an API call.
+-AM_CONDITIONAL(LZ4_AVAILABLE, test "x$have_lz4" = "xyes")
++AS_IF([test "x$enable_lz4" != "xno"], [
++      PKG_CHECK_MODULES(LZ4, [liblz4 >= 1.7.1], [LZ4_LIBS="-llz4"])
++])
+ # `LZ4_ENABLED` will cause the libuv snapshot implementation to use lz4
+ # compression by default.
+-AM_CONDITIONAL(LZ4_ENABLED, test "x$enable_lz4" != "xno" -a "x$have_lz4" = 
"xyes")
++AM_CONDITIONAL(LZ4_ENABLED, test "x$enable_lz4" != "xno")
+ 
+ # The fake I/O implementation and associated fixture is built by default, 
unless
+ # explicitly disabled.
+diff -Naur a/Makefile.am b/Makefile.am
+--- a/Makefile.am      2021-12-14 18:47:55.000000000 +0200
++++ b/Makefile.am      2022-02-14 10:55:37.467978443 +0200
+@@ -72,15 +72,11 @@
+ test_unit_core_CFLAGS = $(AM_CFLAGS) -Wno-conversion
+ test_unit_core_LDADD = libtest.la
+ 
+-if LZ4_AVAILABLE
+-test_unit_core_CFLAGS += -DLZ4_AVAILABLE
+-test_unit_core_LDFLAGS = $(LZ4_LIBS)
+-libraft_la_CFLAGS += -DLZ4_AVAILABLE
+-libraft_la_LDFLAGS += $(LZ4_LIBS)
+-endif # LZ4_AVAILABLE
+ if LZ4_ENABLED
+ test_unit_core_CFLAGS += -DLZ4_ENABLED
++test_unit_core_LDFLAGS = $(LZ4_LIBS)
+ libraft_la_CFLAGS += -DLZ4_ENABLED
++libraft_la_LDFLAGS += $(LZ4_LIBS)
+ endif # LZ4_ENABLED
+ 
+ if FIXTURE_ENABLED
+@@ -204,12 +200,9 @@
+ 
+ AM_CFLAGS += $(UV_CFLAGS)
+ 
+-if LZ4_AVAILABLE
+-test_integration_uv_CFLAGS += -DLZ4_AVAILABLE
+-test_integration_uv_LDFLAGS += $(LZ4_LIBS)
+-endif # LZ4_AVAILABLE
+ if LZ4_ENABLED
+ test_integration_uv_CFLAGS += -DLZ4_ENABLED
++test_integration_uv_LDFLAGS += $(LZ4_LIBS)
+ endif # LZ4_ENABLED
+ 
+ endif # UV_ENABLED

diff --git a/dev-libs/raft/raft-0.11.3.ebuild b/dev-libs/raft/raft-0.11.3.ebuild
new file mode 100644
index 000000000000..bd9c3e128919
--- /dev/null
+++ b/dev-libs/raft/raft-0.11.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 ~arm64 ~x86"
+IUSE="lz4 test zfs"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libuv:=
+       lz4? ( app-arch/lz4:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/raft-0.9.25-Always-skip-init-oom-test.patch
+       "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
+       "${FILESDIR}"/raft-0.11.3-disable-automagic-check-for-lz4.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --enable-uv
+
+               --disable-benchmark
+               --disable-debug
+               --disable-example
+               --disable-sanitize
+               --disable-static
+
+               $(use_enable lz4)
+               $(use_enable test fixture)
+
+               $(use_with zfs)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+       find "${ED}" -name '*.la' -delete || die
+}

Reply via email to