new package: librocksdb

This commit is contained in:
Tee KOBAYASHI 2022-01-28 23:34:04 +09:00 committed by xtkoba
parent c21d5ddd46
commit 51412a8eb2
5 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,28 @@
TERMUX_PKG_HOMEPAGE=https://rocksdb.org/
TERMUX_PKG_DESCRIPTION="A persistent key-value store for flash and RAM storage"
TERMUX_PKG_LICENSE="GPL-2.0, Apache-2.0, BSD 3-Clause"
TERMUX_PKG_LICENSE_FILE="COPYING, LICENSE.Apache, LICENSE.leveldb"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=6.27.3
TERMUX_PKG_SRCURL=https://github.com/facebook/rocksdb/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=ee29901749b9132692b26f0a6c1d693f47d1a9ed8e3771e60556afe80282bf58
TERMUX_PKG_DEPENDS="gflags, libc++"
TERMUX_PKG_BUILD_DEPENDS="gflags-static"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DFAIL_ON_WARNINGS=OFF
-DPORTABLE=ON
"
termux_step_pre_configure() {
_NEED_DUMMY_LIBPTHREAD_A=
_LIBPTHREAD_A=$TERMUX_PREFIX/lib/libpthread.a
if [ ! -e $_LIBPTHREAD_A ]; then
_NEED_DUMMY_LIBPTHREAD_A=true
echo '!<arch>' > $_LIBPTHREAD_A
fi
}
termux_step_post_make_install() {
if [ $_NEED_DUMMY_LIBPTHREAD_A ]; then
rm -f $_LIBPTHREAD_A
fi
}

View File

@ -0,0 +1,13 @@
--- a/env/fs_posix.cc
+++ b/env/fs_posix.cc
@@ -905,8 +905,8 @@
if (env && env[0] != '\0') {
*result = env;
} else {
- char buf[100];
- snprintf(buf, sizeof(buf), "/tmp/rocksdbtest-%d", int(geteuid()));
+ char buf[] = "@TERMUX_PREFIX@/tmp/rocksdbtest-XXXXXXXXXXX";
+ snprintf(buf, sizeof(buf), "@TERMUX_PREFIX@/tmp/rocksdbtest-%d", int(geteuid()));
*result = buf;
}
// Directory may already exist

View File

@ -0,0 +1,13 @@
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
@@ -131,6 +131,10 @@
uint64_t result;
__asm __volatile__("mrs %[rt], cntvct_el0" : [ rt ] "=r"(result));
return result;
+#elif defined(__arm__)
+ uint32_t lo, hi;
+ __asm__ __volatile__("mrrc p15, 1, %0, %1, c14" : "=r"(lo), "=r"(hi));
+ return (uint64_t)hi << 32 | lo;
#elif defined(__powerpc__)
return __ppc_get_timebase();
#elif defined(__s390x__)

View File

@ -0,0 +1,11 @@
--- a/tools/db_bench_tool.cc
+++ b/tools/db_bench_tool.cc
@@ -6442,7 +6442,7 @@
// Pick a Iterator to use
size_t db_idx_to_use =
(db_.db == nullptr)
- ? (size_t{thread->rand.Next()} % multi_dbs_.size())
+ ? (size_t{static_cast<size_t>(thread->rand.Next())} % multi_dbs_.size())
: 0;
std::unique_ptr<Iterator> single_iter;
Iterator* iter_to_use;

View File

@ -0,0 +1,11 @@
--- a/tools/rdb/unit_test.js
+++ b/tools/rdb/unit_test.js
@@ -4,7 +4,7 @@
exec = require('child_process').exec
util = require('util')
-DB_NAME = '/tmp/rocksdbtest-' + process.getuid()
+DB_NAME = '@TERMUX_PREFIX@/tmp/rocksdbtest-' + process.getuid()
a = RDB()
assert.equal(a.open(DB_NAME, ['b']), false)