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>

Reply via email to