commit: aad4b3e0fe8379f6fa34c7b48b4584590025760c
Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 13 15:17:07 2021 +0000
Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Aug 13 15:17:14 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aad4b3e0
dev-libs/leveldb: add 1.23
Suggested-by: Arthur Zamarin <arthurzam+gentoo <AT> gmail.com>
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
dev-libs/leveldb/Manifest | 1 +
.../files/leveldb-1.23-system-testdeps.patch | 25 ++++++++++++++
dev-libs/leveldb/leveldb-1.23.ebuild | 39 ++++++++++++++++++++++
dev-libs/leveldb/metadata.xml | 3 ++
4 files changed, 68 insertions(+)
diff --git a/dev-libs/leveldb/Manifest b/dev-libs/leveldb/Manifest
index bc1f7b31856..26c4a7fc073 100644
--- a/dev-libs/leveldb/Manifest
+++ b/dev-libs/leveldb/Manifest
@@ -1 +1,2 @@
DIST leveldb-1.20.tar.gz 223141 BLAKE2B
57ab5cb191679b8fbfaa28fa0a61ee1dcd757bb9c70215dd325daebfd93b30aa9bbe3c993a1758aa9804a7cd6f2c31df7cf98bdf98320cd1aebc14f5eb77d9a5
SHA512
c59258f2f58ce2d5680e9ab3da4ab0923d91cd4648dcf63cdaa26cdde92bf45e094544539ad11d8e09a4a4813435286143ed0e86c21c6c31a0596903ed4744d2
+DIST leveldb-1.23.tar.gz 242925 BLAKE2B
ef9ac853cdc2f376b9b4299c1017db8c262cb318ad771f40fe81c9fb71ea06ee56ac533b3e8af4e6fdd28577a2f87cfd103ecb49098187d099ccd6019b8ca1d2
SHA512
ac15eac29387b9f702a901b6567d47a9f8c17cf5c7d8700a77ec771da25158c83b04959c33f3d4de7a3f033ef08f545d14ba823a8d527e21889c4b78065b0f84
diff --git a/dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch
b/dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch
new file mode 100644
index 00000000000..232d74aa2cc
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch
@@ -0,0 +1,25 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -296,20 +296,12 @@
+ set(build_gmock ON)
+
+ # This project is tested using GoogleTest.
+- add_subdirectory("third_party/googletest")
++ find_package(GTest REQUIRED)
+
+ # This project uses Google benchmark for benchmarking.
+ set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE)
+ set(BENCHMARK_ENABLE_EXCEPTIONS OFF CACHE BOOL "" FORCE)
+- add_subdirectory("third_party/benchmark")
+-
+- # GoogleTest triggers a missing field initializers warning.
+- if(LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+- set_property(TARGET gtest
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- set_property(TARGET gmock
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- endif(LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS)
++ find_package(benchmark REQUIRED)
+
+ function(leveldb_test test_file)
+ get_filename_component(test_target_name "${test_file}" NAME_WE)
diff --git a/dev-libs/leveldb/leveldb-1.23.ebuild
b/dev-libs/leveldb/leveldb-1.23.ebuild
new file mode 100644
index 00000000000..41aa3b4d7de
--- /dev/null
+++ b/dev-libs/leveldb/leveldb-1.23.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A fast key-value storage library written at Google"
+HOMEPAGE="https://github.com/google/leveldb"
+SRC_URI="https://github.com/google/${PN}/archive/refs/tags/${PV}.tar.gz ->
${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+crc32c +snappy +tcmalloc test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="crc32c? ( dev-libs/crc32c )
+ snappy? ( app-arch/snappy )
+ tcmalloc? ( dev-util/google-perftools )"
+RDEPEND="${DEPEND}"
+BDEPEND="test? (
+ dev-cpp/benchmark
+ dev-cpp/gtest
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.23-system-testdeps.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DLEVELDB_BUILD_BENCHMARKS=OFF
+ -DLEVELDB_BUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/leveldb/metadata.xml b/dev-libs/leveldb/metadata.xml
index 3e973eed20b..f502f37ef4c 100644
--- a/dev-libs/leveldb/metadata.xml
+++ b/dev-libs/leveldb/metadata.xml
@@ -6,4 +6,7 @@
<remote-id type="github">google/leveldb</remote-id>
<bugs-to>https://github.com/google/leveldb/issues</bugs-to>
</upstream>
+ <use>
+ <flag name="crc32c">Link against <pkg>dev-libs/crc32c</pkg> for
accelerated CRC32C calculation</flag>
+ </use>
</pkgmetadata>