Add: rocksdb
This commit is contained in:
parent
35ddb0f3c7
commit
70b92dbda9
|
@ -0,0 +1 @@
|
|||
RocksDB is an embeddable persistent key-value store for fast storage.
|
|
@ -0,0 +1,39 @@
|
|||
# $NetBSD$
|
||||
|
||||
GITHUB_PROJECT= rocksdb
|
||||
DISTNAME= ${GITHUB_PROJECT}-5.9.2
|
||||
MASTER_SITES= ${MASTER_SITE_GITHUB:=facebook/}
|
||||
DIST_SUBDIR= ${GITHUB_PROJECT}
|
||||
GITHUB_TAG= v${PKGVERSION_NOREV}
|
||||
CATEGORIES= database
|
||||
|
||||
MAINTAINER= pkgsrc-users@NetBSD.org
|
||||
HOMEPAGE= http://www.rocksdb.org/
|
||||
COMMENT= RocksDB is an embeddable persistent key-value store for fast storage.
|
||||
LICENSE= apache-2.0
|
||||
|
||||
USE_LANGUAGES= c c++
|
||||
USE_TOOLS+= gmake perl
|
||||
BUILD_TARGET= shared_lib static_lib tools tools_lib install-shared install-static install-headers
|
||||
#INSTALL_TARGET= install-shared install-static install-headers
|
||||
PKG_DESTDIR_SUPPORT= destdir
|
||||
|
||||
MAKE_ENV+= PORTABLE=1 DEBUG_LEVEL=0
|
||||
MAKE_ENV+= INSTALL_PATH=${DESTDIR}${PREFIX}
|
||||
|
||||
PB_FROM= ${WRKDIR}/rocksdb-${PKGVERSION_NOREV}/
|
||||
post-build:
|
||||
mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||
cp ${PB_FROM}/sst_dump ${DESTDIR}${PREFIX}/bin/sst_dump
|
||||
cp ${PB_FROM}/db_sanity_test ${DESTDIR}${PREFIX}/bin/db_sanity_test
|
||||
cp ${PB_FROM}/db_stress ${DESTDIR}${PREFIX}/bin/db_stress
|
||||
cp ${PB_FROM}/write_stress ${DESTDIR}${PREFIX}/bin/write_stress
|
||||
cp ${PB_FROM}/ldb ${DESTDIR}${PREFIX}/bin/ldb
|
||||
cp ${PB_FROM}/db_repl_stress ${DESTDIR}${PREFIX}/bin/db_repl_stress
|
||||
cp ${PB_FROM}/rocksdb_dump ${DESTDIR}${PREFIX}/bin/rocksdb_dump
|
||||
cp ${PB_FROM}/rocksdb_undump ${DESTDIR}${PREFIX}/bin/rocksdb_undump
|
||||
cp ${PB_FROM}/blob_dump ${DESTDIR}${PREFIX}/bin/blob_dump
|
||||
cp ${PB_FROM}/librocksdb_tools.a ${DESTDIR}${PREFIX}/lib/librocksdb_tools.a
|
||||
|
||||
.include "options.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
|
@ -0,0 +1,96 @@
|
|||
@comment $NetBSD$
|
||||
bin/blob_dump
|
||||
bin/db_repl_stress
|
||||
bin/db_sanity_test
|
||||
bin/db_stress
|
||||
bin/ldb
|
||||
bin/rocksdb_dump
|
||||
bin/rocksdb_undump
|
||||
bin/sst_dump
|
||||
bin/write_stress
|
||||
include/rocksdb/advanced_options.h
|
||||
include/rocksdb/c.h
|
||||
include/rocksdb/cache.h
|
||||
include/rocksdb/cleanable.h
|
||||
include/rocksdb/compaction_filter.h
|
||||
include/rocksdb/compaction_job_stats.h
|
||||
include/rocksdb/comparator.h
|
||||
include/rocksdb/convenience.h
|
||||
include/rocksdb/db.h
|
||||
include/rocksdb/db_bench_tool.h
|
||||
include/rocksdb/db_dump_tool.h
|
||||
include/rocksdb/env.h
|
||||
include/rocksdb/env_encryption.h
|
||||
include/rocksdb/experimental.h
|
||||
include/rocksdb/filter_policy.h
|
||||
include/rocksdb/flush_block_policy.h
|
||||
include/rocksdb/iostats_context.h
|
||||
include/rocksdb/iterator.h
|
||||
include/rocksdb/ldb_tool.h
|
||||
include/rocksdb/listener.h
|
||||
include/rocksdb/memtablerep.h
|
||||
include/rocksdb/merge_operator.h
|
||||
include/rocksdb/metadata.h
|
||||
include/rocksdb/options.h
|
||||
include/rocksdb/perf_context.h
|
||||
include/rocksdb/perf_level.h
|
||||
include/rocksdb/persistent_cache.h
|
||||
include/rocksdb/rate_limiter.h
|
||||
include/rocksdb/slice.h
|
||||
include/rocksdb/slice_transform.h
|
||||
include/rocksdb/snapshot.h
|
||||
include/rocksdb/sst_dump_tool.h
|
||||
include/rocksdb/sst_file_manager.h
|
||||
include/rocksdb/sst_file_writer.h
|
||||
include/rocksdb/statistics.h
|
||||
include/rocksdb/status.h
|
||||
include/rocksdb/table.h
|
||||
include/rocksdb/table_properties.h
|
||||
include/rocksdb/thread_status.h
|
||||
include/rocksdb/threadpool.h
|
||||
include/rocksdb/transaction_log.h
|
||||
include/rocksdb/types.h
|
||||
include/rocksdb/universal_compaction.h
|
||||
include/rocksdb/utilities/backupable_db.h
|
||||
include/rocksdb/utilities/checkpoint.h
|
||||
include/rocksdb/utilities/convenience.h
|
||||
include/rocksdb/utilities/date_tiered_db.h
|
||||
include/rocksdb/utilities/db_ttl.h
|
||||
include/rocksdb/utilities/debug.h
|
||||
include/rocksdb/utilities/document_db.h
|
||||
include/rocksdb/utilities/env_librados.h
|
||||
include/rocksdb/utilities/env_mirror.h
|
||||
include/rocksdb/utilities/geo_db.h
|
||||
include/rocksdb/utilities/info_log_finder.h
|
||||
include/rocksdb/utilities/json_document.h
|
||||
include/rocksdb/utilities/ldb_cmd.h
|
||||
include/rocksdb/utilities/ldb_cmd_execute_result.h
|
||||
include/rocksdb/utilities/leveldb_options.h
|
||||
include/rocksdb/utilities/lua/rocks_lua_compaction_filter.h
|
||||
include/rocksdb/utilities/lua/rocks_lua_custom_library.h
|
||||
include/rocksdb/utilities/lua/rocks_lua_util.h
|
||||
include/rocksdb/utilities/memory_util.h
|
||||
include/rocksdb/utilities/object_registry.h
|
||||
include/rocksdb/utilities/optimistic_transaction_db.h
|
||||
include/rocksdb/utilities/option_change_migration.h
|
||||
include/rocksdb/utilities/options_util.h
|
||||
include/rocksdb/utilities/sim_cache.h
|
||||
include/rocksdb/utilities/spatial_db.h
|
||||
include/rocksdb/utilities/stackable_db.h
|
||||
include/rocksdb/utilities/table_properties_collectors.h
|
||||
include/rocksdb/utilities/transaction.h
|
||||
include/rocksdb/utilities/transaction_db.h
|
||||
include/rocksdb/utilities/transaction_db_mutex.h
|
||||
include/rocksdb/utilities/utility_db.h
|
||||
include/rocksdb/utilities/write_batch_with_index.h
|
||||
include/rocksdb/version.h
|
||||
include/rocksdb/wal_filter.h
|
||||
include/rocksdb/write_batch.h
|
||||
include/rocksdb/write_batch_base.h
|
||||
include/rocksdb/write_buffer_manager.h
|
||||
lib/librocksdb.a
|
||||
lib/librocksdb.so
|
||||
lib/librocksdb.so.5
|
||||
lib/librocksdb.so.5.9
|
||||
lib/librocksdb.so.${PKGVERSION}
|
||||
lib/librocksdb_tools.a
|
|
@ -0,0 +1,10 @@
|
|||
$NetBSD$
|
||||
|
||||
SHA1 (rocksdb/rocksdb-5.9.2.tar.gz) = 4712488b661bf6836e1d4a2d2004fdb992ef3f44
|
||||
RMD160 (rocksdb/rocksdb-5.9.2.tar.gz) = ad9e2c70f68641cab967cfd68a05c682d4d9a4b4
|
||||
SHA512 (rocksdb/rocksdb-5.9.2.tar.gz) = 8382360fa4cdfb71b5090d58cef3aa0476818f4f8a373e5a20b9eee5baec222946d198af67683933d15152ad749a6b641ef86447a6bba40fdbd1b509fdcf510c
|
||||
Size (rocksdb/rocksdb-5.9.2.tar.gz) = 3935555 bytes
|
||||
SHA1 (patch-Makefile) = 526337399c574a1711928e44801e25f2bc3395eb
|
||||
SHA1 (patch-env_env__test.cc) = 7f7f15ed2f65538f1c0f5d328adbb39c72bf22f0
|
||||
SHA1 (patch-port_stack__trace.cc) = 3e10d977628488c50fdbde304a5a97da13fd459c
|
||||
SHA1 (patch-util_arena.h) = 2623f8c1dd0bbe04871803fdd683bea4d87e0184
|
|
@ -0,0 +1,73 @@
|
|||
PKG_OPTIONS_VAR= PKG_OPTIONS.rocksdb
|
||||
PKG_SUPPORTED_OPTIONS= jemalloc gflags snappy jni zlib bz2 lz4 zstd rados tests sse42
|
||||
PKG_OPTIONS_OPTIONAL_GROUPS= sanitize
|
||||
PKG_OPTIONS_GROUP.sanitize= asan tsan ubsan
|
||||
PKG_SUGGESTED_OPTIONS= jemalloc gflags tests
|
||||
|
||||
.include "../../mk/bsd.prefs.mk"
|
||||
.include "../../mk/bsd.options.mk"
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mjemalloc)
|
||||
MAKE_ENV+= JEMALLOC=1 WITH_JEMALLOC_FLAG=1
|
||||
.include "../../devel/jemalloc/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mgflags)
|
||||
MAKE_ENV+= GFLAGS=1
|
||||
.include "../../devel/gflags/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Msnappy)
|
||||
MAKE_ENV+= SNAPPY=1
|
||||
.include "../../devel/snappy/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mjni)
|
||||
MAKE_ENV+= JNI=1
|
||||
PKG_JVM_DEFAULT=openjdk8
|
||||
.include "../../mk/java-vm.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mzlib)
|
||||
MAKE_ENV+= ZLIB=1
|
||||
.include "../../devel/zlib/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mbz2)
|
||||
MAKE_ENV+= BZ2=1
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mlz4)
|
||||
MAKE_ENV+= LZ4=1
|
||||
.include "../../archivers/lz4/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mzstd)
|
||||
MAKE_ENV+= ZSTD=1
|
||||
.include "../../archivers/zstd/buildlink3.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mrados)
|
||||
MAKE_ENV+= LIBRADOS=1
|
||||
.endif
|
||||
|
||||
.if empty(PKG_OPTIONS:Mtests)
|
||||
MAKE_ENV+= TESTS=0
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Msse42)
|
||||
MAKE_ENV+= FORCE_SSE42=1
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Masan)
|
||||
MAKE_ENV+= ASAN=1
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mtsan)
|
||||
MAKE_ENV+= TSAN=1
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mubsan)
|
||||
MAKE_ENV+= UBSAN=1
|
||||
.endif
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
$NetBSD$
|
||||
|
||||
--- Makefile.orig 2018-01-03 02:55:49.000000000 +0000
|
||||
+++ Makefile
|
||||
@@ -1495,14 +1495,14 @@ install-headers:
|
||||
install -d $(INSTALL_PATH)/$$header_dir; \
|
||||
done
|
||||
for header in `find "include/rocksdb" -type f -name *.h`; do \
|
||||
- install -C -m 644 $$header $(INSTALL_PATH)/$$header; \
|
||||
+ install -m 644 $$header $(INSTALL_PATH)/$$header; \
|
||||
done
|
||||
|
||||
install-static: install-headers $(LIBRARY)
|
||||
- install -C -m 755 $(LIBRARY) $(INSTALL_PATH)/lib
|
||||
+ install -m 755 $(LIBRARY) $(INSTALL_PATH)/lib
|
||||
|
||||
install-shared: install-headers $(SHARED4)
|
||||
- install -C -m 755 $(SHARED4) $(INSTALL_PATH)/lib && \
|
||||
+ install -m 755 $(SHARED4) $(INSTALL_PATH)/lib && \
|
||||
ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED3) && \
|
||||
ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED2) && \
|
||||
ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED1)
|
|
@ -0,0 +1,22 @@
|
|||
$NetBSD$
|
||||
|
||||
--- env/env_test.cc.orig 2018-01-03 02:56:50.000000000 +0000
|
||||
+++ env/env_test.cc
|
||||
@@ -1137,7 +1137,7 @@ TEST_P(EnvPosixTestWithParam, Preallocat
|
||||
unique_ptr<WritableFile> srcfile;
|
||||
EnvOptions soptions;
|
||||
soptions.use_direct_reads = soptions.use_direct_writes = direct_io_;
|
||||
-#if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_SOLARIS) && !defined(OS_AIX) && !defined(OS_OPENBSD)
|
||||
+#if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_SOLARIS) && !defined(OS_AIX) && !defined(OS_OPENBSD) && !defined(OS_NETBSD)
|
||||
if (soptions.use_direct_writes) {
|
||||
rocksdb::SyncPoint::GetInstance()->SetCallBack(
|
||||
"NewWritableFile:O_DIRECT", [&](void* arg) {
|
||||
@@ -1199,7 +1199,7 @@ TEST_P(EnvPosixTestWithParam, Consistent
|
||||
oss << test::TmpDir(env_) << "/testfile_" << i;
|
||||
const std::string path = oss.str();
|
||||
unique_ptr<WritableFile> file;
|
||||
-#if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_SOLARIS) && !defined(OS_AIX) && !defined(OS_OPENBSD)
|
||||
+#if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_SOLARIS) && !defined(OS_AIX) && !defined(OS_OPENBSD) && !defined(OS_NETBSD)
|
||||
if (soptions.use_direct_writes) {
|
||||
rocksdb::SyncPoint::GetInstance()->SetCallBack(
|
||||
"NewWritableFile:O_DIRECT", [&](void* arg) {
|
|
@ -0,0 +1,22 @@
|
|||
$NetBSD$
|
||||
|
||||
--- port/stack_trace.cc.orig 2018-01-03 02:58:03.000000000 +0000
|
||||
+++ port/stack_trace.cc
|
||||
@@ -72,7 +72,7 @@ void PrintStackTraceLine(const char* sym
|
||||
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
-#elif defined(OS_MACOSX)
|
||||
+#elif defined(OS_MACOSX) || defined(OS_NETBSD)
|
||||
|
||||
void PrintStackTraceLine(const char* symbol, void* frame) {
|
||||
static int pid = getpid();
|
||||
@@ -106,7 +106,7 @@ void PrintStack(int first_frames_to_skip
|
||||
auto num_frames = backtrace(frames, kMaxFrames);
|
||||
auto symbols = backtrace_symbols(frames, num_frames);
|
||||
|
||||
- for (int i = first_frames_to_skip; i < num_frames; ++i) {
|
||||
+ for (unsigned int i = first_frames_to_skip; i < num_frames; ++i) {
|
||||
fprintf(stderr, "#%-2d ", i - first_frames_to_skip);
|
||||
PrintStackTraceLine((symbols != nullptr) ? symbols[i] : nullptr, frames[i]);
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
$NetBSD$
|
||||
|
||||
--- util/arena.h.orig 2018-01-03 03:02:00.000000000 +0000
|
||||
+++ util/arena.h
|
||||
@@ -23,6 +23,30 @@
|
||||
#include "util/allocator.h"
|
||||
#include "util/mutexlock.h"
|
||||
|
||||
+/* Some platforms lack max_align_t. The check for _GCC_MAX_ALIGN_T is
|
||||
+ * a hack in case the configure-time test was done with g++ even though
|
||||
+ * we are currently compiling with gcc. */
|
||||
+#if ! (0 || defined _GCC_MAX_ALIGN_T)
|
||||
+/* On the x86, the maximum storage alignment of double, long, etc. is 4,
|
||||
+ * but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
|
||||
+ * and the C11 standard allows this. Work around this problem by
|
||||
+ * using __alignof__ (which returns 8 for double) rather than _Alignof
|
||||
+ * (which returns 4), and align each union member accordingly. */
|
||||
+# ifdef __GNUC__
|
||||
+# define _GL_STDDEF_ALIGNAS(type) \
|
||||
+ __attribute__ ((__aligned__ (__alignof__ (type))))
|
||||
+# else
|
||||
+# define _GL_STDDEF_ALIGNAS(type) /* */
|
||||
+# endif
|
||||
+typedef union
|
||||
+{
|
||||
+ char *__p _GL_STDDEF_ALIGNAS (char *);
|
||||
+ double __d _GL_STDDEF_ALIGNAS (double);
|
||||
+ long double __ld _GL_STDDEF_ALIGNAS (long double);
|
||||
+ long int __i _GL_STDDEF_ALIGNAS (long int);
|
||||
+} max_align_t;
|
||||
+#endif
|
||||
+
|
||||
namespace rocksdb {
|
||||
|
||||
class Arena : public Allocator {
|
Loading…
Reference in New Issue