# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 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 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" IUSE="+snappy +tcmalloc test" RESTRICT="!test? ( test )" DEPEND=" dev-libs/crc32c snappy? ( app-arch/snappy:= ) tcmalloc? ( dev-util/google-perftools:=[-minimal] ) " RDEPEND="${DEPEND}" BDEPEND="test? ( dev-cpp/gtest )" PATCHES=( "${FILESDIR}"/${PN}-1.23-system-testdeps.patch "${FILESDIR}"/${PN}-1.23-remove-benchmark-dep.patch ) src_prepare() { sed -e '/fno-rtti/d' -i CMakeLists.txt || die cmake_src_prepare } src_configure() { local mycmakeargs=( -DCMAKE_CXX_STANDARD=14 # C++14 or later required for >=gtest-1.13.0 -DHAVE_CRC32C=ON -DLEVELDB_BUILD_BENCHMARKS=OFF -DHAVE_SNAPPY=$(usex snappy) -DHAVE_TCMALLOC=$(usex tcmalloc) -DLEVELDB_BUILD_TESTS=$(usex test) -DHAVE_CLANG_THREAD_SAFETY=OFF # adds -Werror to current build and all revdeps ) cmake_src_configure } src_test() { TEST_TMPDIR="${T}" TEMP="${T}" cmake_src_test }