commit:     3d5d0e06dbabb3007ddf333526f6da1b6cc01a64
Author:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 13 11:30:40 2023 +0000
Commit:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
CommitDate: Tue Nov 14 15:13:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d5d0e06

dev-libs/rocksdb: add 6.14.6-r3 with more features

- Update EAPI 7 -> 8
- Specify values for build options that may change defaults to
  ensure that at least zlib, bz2, lz4, zstd, are actually enabled
- Add support for NUMA and TBB

Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>

 dev-libs/rocksdb/metadata.xml             |  4 ++
 dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild | 79 +++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+)

diff --git a/dev-libs/rocksdb/metadata.xml b/dev-libs/rocksdb/metadata.xml
index 17deb850e431..e8708dfa4d7c 100644
--- a/dev-libs/rocksdb/metadata.xml
+++ b/dev-libs/rocksdb/metadata.xml
@@ -12,4 +12,8 @@
        <upstream>
                <remote-id type="github">facebook/rocksdb</remote-id>
        </upstream>
+       <use>
+               <flag name="numa">Enable NUMA support</flag>
+               <flag name="tbb">Enable support for 
<pkg>dev-cpp/tbb</pkg></flag>
+       </use>
 </pkgmetadata>

diff --git a/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild 
b/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild
new file mode 100644
index 000000000000..c146861ca057
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/";
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc numa 
static-libs tbb test"
+
+# tests fail in this version
+RESTRICT="test"
+
+DEPEND="
+       app-arch/bzip2:=
+       app-arch/lz4:=
+       app-arch/snappy:=
+       app-arch/zstd:=
+       dev-cpp/gflags:=
+       sys-libs/zlib:=
+       sys-process/numactl
+       jemalloc? ( dev-libs/jemalloc:= )
+       tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.17.3-libatomic.patch
+       "${FILESDIR}"/${PN}-6.14.6-gcc13.patch
+)
+
+src_prepare() {
+       sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+       cmake_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DFAIL_ON_WARNINGS=OFF
+               -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+               -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+               -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+               -DPORTABLE=ON
+               -DWITH_BZ2=ON
+               -DWITH_CORE_TOOLS=ON
+               -DWITH_DYNAMIC_EXTENSION=ON
+               -DWITH_GFLAGS=ON
+               -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+               -DWITH_JNI=OFF
+               -DWITH_LIBRADOS=OFF
+               -DWITH_LZ4=ON
+               -DWITH_MD_LIBRARY=ON
+               -DWITH_NUMA=$(usex numa)
+               -DWITH_SNAPPY=ON
+               -DWITH_TBB=$(usex tbb)
+               -DWITH_ALL_TESTS=$(usex test)
+               -DWITH_TESTS=$(usex test)
+               -DWITH_TOOLS=ON
+               -DWITH_ZLIB=ON
+               -DWITH_ZSTD=ON
+       )
+       # -DWITH_TESTS option works only with debug build, needs to be set here
+       # to not be overriden by cmake.eclass
+       CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       if ! use static-libs; then
+               rm "${ED}"/usr/$(get_libdir)/*.a || die
+       fi
+}

Reply via email to