#
# Conditional build:
%bcond_with tests # build with tests
+%bcond_with benchmark # enable Google Benchmark
%bcond_without static_libs # don't build static libraries
%bcond_without tbb # Threading Building Blocks support
Summary: RocksDB: A Persistent Key-Value Store for Flash and RAM Storage
Summary(pl.UTF-8): RocksDB - trwała baza danych klucz-wartość dla pamięci Flash i RAM
Name: rocksdb
-Version: 6.8.1
-Release: 2
+Version: 6.29.5
+Release: 1
License: BSD
Group: Libraries
#Source0Download: https://github.com/facebook/rocksdb/releases
Source0: https://github.com/facebook/rocksdb/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 8648dbe2589748b9dff3c1fe725f210b
-Patch0: %{name}-libdir.patch
-Patch1: make-programs.patch
-Patch2: %{name}-detect-flags.patch
-Patch3: %{name}-link.patch
+# Source0-md5: be498cd7125f2a38059609469adf147f
+Patch0: %{name}-detect-flags.patch
+Patch1: %{name}-pc.patch
URL: https://rocksdb.org/
BuildRequires: bzip2-devel >= 1.0.8
BuildRequires: gflags-devel
+%{?with_benchmark:BuildRequires: google-benchmark-devel}
# libtcmalloc also supported, but jemalloc is preferred
BuildRequires: jemalloc-devel
%ifarch i386 i486
BuildRequires: libatomic-devel
%endif
BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: liburing-devel
BuildRequires: lz4-devel >= 1:1.9.2
BuildRequires: numactl-devel
BuildRequires: rpmbuild(macros) >= 1.734
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
+%if %{without benchmark}
+export ROCKSDB_DISABLE_BENCHMARK=1
+%endif
+%if %{without tbb}
+export ROCKSDB_DISABLE_TBB=1
+%endif
+
%ifarch i386 i486
PLATFORM_LDFLAGS="-latomic" \
%endif
-%{__make} shared_lib %{?with_static_libs:static_lib} programs %{?with_tests:check} \
+%{__make} shared_lib %{?with_static_libs:static_lib} tools tools_lib %{?with_tests:check} \
AM_DEFAULT_VERBOSITY=1 \
CC="%{__cc}" \
CXX="%{__cxx}" \
EXTRA_CFLAGS="$(pkg-config --cflags liblz4)" \
OPT="%{rpmcflags} %{!?debug:-DNDEBUG}" \
PORTABLE=1 \
- %{!?with_tbb:ROCKSDB_DISABLE_TBB=1} \
USE_RTTI=1 \
WARNING_FLAGS="%{rpmcppflags} -Wall"
%install
rm -rf $RPM_BUILD_ROOT
+%if %{without benchmark}
+export ROCKSDB_DISABLE_BENCHMARK=1
+%endif
+%if %{without tbb}
+export ROCKSDB_DISABLE_TBB=1
+%endif
+
%{__make} install \
%{!?with_debug:DEBUG_LEVEL=0} \
- INSTALL_PATH=$RPM_BUILD_ROOT%{_prefix} \
- INSTALL_LIBDIR=$RPM_BUILD_ROOT%{_libdir}
+ PORTABLE=1 \
+ DESTDIR=$RPM_BUILD_ROOT \
+ PREFIX=%{_prefix} \
+ LIBDIR=%{_libdir}
# reduntant symlink
%{__rm} $RPM_BUILD_ROOT%{_libdir}/librocksdb.so.6
%defattr(644,root,root,755)
%doc AUTHORS DEFAULT_OPTIONS_HISTORY.md DUMP_FORMAT.md HISTORY.md LANGUAGE-BINDINGS.md LICENSE.leveldb README.md ROCKSDB_LITE.md USERS.md
%attr(755,root,root) %{_libdir}/librocksdb.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/librocksdb.so.6.8
+%attr(755,root,root) %ghost %{_libdir}/librocksdb.so.6.29
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/librocksdb.so
%{_includedir}/rocksdb
+%{_pkgconfigdir}/rocksdb.pc
%if %{with static_libs}
%files static