Update to 6.10.1
- Convert REINPLACE_CMD to patch files Changes: https://github.com/facebook/rocksdb/releases
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= rocksdb
|
||||
PORTVERSION= 6.8.1
|
||||
PORTVERSION= 6.10.1
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= databases
|
||||
|
||||
@@ -26,7 +26,8 @@ LIB_DEPENDS= libgflags.so:devel/gflags \
|
||||
OPTIONS_DEFINE= DEBUG LZ4 ZSTD
|
||||
OPTIONS_DEFAULT=LZ4
|
||||
|
||||
USES= compiler:c++11-lib gmake localbase:ldflags shebangfix
|
||||
USES= compiler:c++11-lib gmake localbase:ldflags perl5
|
||||
USE_PERL5= build
|
||||
|
||||
ALL_TARGET= shared_lib static_lib all
|
||||
CFLAGS+= -DOS_FREEBSD
|
||||
@@ -39,14 +40,12 @@ USE_CXXSTD= c++11
|
||||
USE_LDCONFIG= yes
|
||||
TEST_TARGET= check
|
||||
|
||||
PLIST_SUB= PORTVERSION=${PORTVERSION} SHLIB_MAJOR=${PORTVERSION:R:R} SHLIB_MINOR=${PORTVERSION:R:E}
|
||||
PLIST_SUB= PORTVERSION=${PORTVERSION} SHLIB_VER=${PORTVERSION:R}
|
||||
PORTDATA= make_config.mk
|
||||
|
||||
GH_ACCOUNT= facebook
|
||||
USE_GITHUB= yes
|
||||
|
||||
SHEBANG_FILES= */*.sh
|
||||
|
||||
BENCHMARKS= cache_bench db_bench memtablerep_bench persistent_cache_bench range_del_aggregator_bench table_reader_bench
|
||||
TOOLS= blob_dump db_repl_stress db_sanity_test db_stress ldb rocksdb_dump rocksdb_undump sst_dump trace_analyzer write_stress
|
||||
|
||||
@@ -59,19 +58,19 @@ ZSTD_MAKE_ENV_OFF= ROCKSDB_DISABLE_ZSTD=yes
|
||||
|
||||
.if !defined(LITE)
|
||||
CONFLICTS_INSTALL= rocksdb-lite
|
||||
PLIST_SUB+= LITE=""
|
||||
PLIST_SUB+= LITE="@comment "
|
||||
.else
|
||||
PKGNAMESUFFIX= -lite
|
||||
CONFLICTS_INSTALL= rocksdb
|
||||
CFLAGS+= -DROCKSDB_LITE=1
|
||||
MAKE_ENV+= LIBNAME=librocksdb${PKGNAMESUFFIX} DISABLE_JEMALLOC=1
|
||||
PLIST_SUB+= LITE=${PKGNAMESUFFIX}
|
||||
PLIST_SUB+= LITE=""
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${CHOSEN_COMPILER_TYPE} == clang
|
||||
CXXFLAGS+= -Wno-inconsistent-missing-override
|
||||
CXXFLAGS+= -Wno-inconsistent-missing-override -Wno-unused-variable
|
||||
# Clang 8 detects shadow enums and stops the build. This workaround adds -Wno-error=shadow to bypass it.
|
||||
.if ${COMPILER_VERSION} >= 80
|
||||
CXXFLAGS+= -Wno-error=shadow
|
||||
@@ -79,14 +78,8 @@ CXXFLAGS+= -Wno-error=shadow
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e '/^dummy :=/d; /^all: / s| $$(TESTS)||' ${WRKSRC}/Makefile
|
||||
@${REINPLACE_CMD} -e 's| -fno-builtin-memcmp||; s| -ltcmalloc||' ${WRKSRC}/build_tools/build_detect_platform
|
||||
.if ${ARCH} != amd64 && ${ARCH} != i386
|
||||
@${REINPLACE_CMD} -e 's| -march=native||' ${WRKSRC}/build_tools/build_detect_platform
|
||||
.endif
|
||||
@${REINPLACE_CMD} -e 's|#include "gtest/gtest.h"|#include "gtest.h"|' ${WRKSRC}/third-party/gtest-1.8.1/fused-src/gtest/gtest-all.cc
|
||||
.if defined(WITHOUT_PROFILE)
|
||||
@${REINPLACE_CMD} -e '/pg = / s| -pg||' ${WRKSRC}/Makefile
|
||||
.endif
|
||||
# Disable SSE4.2 on i386 architecture to fix i386 builds on FreeBSD package building cluster
|
||||
.if ${ARCH} == i386
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1588013480
|
||||
SHA256 (facebook-rocksdb-v6.8.1_GH0.tar.gz) = ca192a06ed3bcb9f09060add7e9d0daee1ae7a8705a3d5ecbe41867c5e2796a2
|
||||
SIZE (facebook-rocksdb-v6.8.1_GH0.tar.gz) = 6037007
|
||||
TIMESTAMP = 1590926977
|
||||
SHA256 (facebook-rocksdb-v6.10.1_GH0.tar.gz) = d573d2f15cdda883714f7e0bc87b814a8d4a53a82edde558f08f940e905541ee
|
||||
SIZE (facebook-rocksdb-v6.10.1_GH0.tar.gz) = 6159487
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
--- Makefile.orig 2020-05-27 23:38:10 UTC
|
||||
+++ Makefile
|
||||
@@ -207,14 +207,14 @@ AM_LINK = $(AM_V_CCLD)$(CXX) $^ $(EXEC_LDFLAGS) -o $@
|
||||
# Detect what platform we're building on.
|
||||
# Export some common variables that might have been passed as Make variables
|
||||
# instead of environment variables.
|
||||
-dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \
|
||||
- export COMPILE_WITH_ASAN="$(COMPILE_WITH_ASAN)"; \
|
||||
- export COMPILE_WITH_TSAN="$(COMPILE_WITH_TSAN)"; \
|
||||
- export COMPILE_WITH_UBSAN="$(COMPILE_WITH_UBSAN)"; \
|
||||
- export PORTABLE="$(PORTABLE)"; \
|
||||
- export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \
|
||||
- export USE_CLANG="$(USE_CLANG)"; \
|
||||
- "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk"))
|
||||
+#dummy := $(shell (export ROCKSDB_ROOT="$(CURDIR)"; \
|
||||
+# export COMPILE_WITH_ASAN="$(COMPILE_WITH_ASAN)"; \
|
||||
+# export COMPILE_WITH_TSAN="$(COMPILE_WITH_TSAN)"; \
|
||||
+# export COMPILE_WITH_UBSAN="$(COMPILE_WITH_UBSAN)"; \
|
||||
+# export PORTABLE="$(PORTABLE)"; \
|
||||
+# export ROCKSDB_NO_FBCODE="$(ROCKSDB_NO_FBCODE)"; \
|
||||
+# export USE_CLANG="$(USE_CLANG)"; \
|
||||
+# "$(CURDIR)/build_tools/build_detect_platform" "$(CURDIR)/make_config.mk"))
|
||||
# this file is generated by the previous line to set build flags and sources
|
||||
include make_config.mk
|
||||
export JAVAC_ARGS
|
||||
@@ -779,7 +779,7 @@ endif # PLATFORM_SHARED_EXT
|
||||
blackbox_crash_test_with_txn whitebox_crash_test_with_txn
|
||||
|
||||
|
||||
-all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(TESTS)
|
||||
+all: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs # $(TESTS)
|
||||
|
||||
all_but_some_tests: $(LIBRARY) $(BENCHMARKS) tools tools_lib test_libs $(SUBSET)
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
Remove -fno-builtin-memcmp and -ltcmalloc
|
||||
|
||||
--- build_tools/build_detect_platform.orig 2020-05-27 23:38:10 UTC
|
||||
+++ build_tools/build_detect_platform
|
||||
@@ -126,7 +126,7 @@ PLATFORM_SHARED_VERSIONED=true
|
||||
# generic port files (working on all platform by #ifdef) go directly in /port
|
||||
GENERIC_PORT_FILES=`cd "$ROCKSDB_ROOT"; find port -name '*.cc' | tr "\n" " "`
|
||||
|
||||
-# On GCC, we pick libc's memcmp over GCC's memcmp via -fno-builtin-memcmp
|
||||
+# On GCC, we pick libc's memcmp over GCC's memcmp via
|
||||
case "$TARGET_OS" in
|
||||
Darwin)
|
||||
PLATFORM=OS_MACOSX
|
||||
@@ -147,7 +147,7 @@ case "$TARGET_OS" in
|
||||
PLATFORM=OS_LINUX
|
||||
COMMON_FLAGS="$COMMON_FLAGS -DOS_LINUX"
|
||||
if [ -z "$USE_CLANG" ]; then
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS"
|
||||
else
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -latomic"
|
||||
fi
|
||||
@@ -174,34 +174,34 @@ EOF
|
||||
;;
|
||||
SunOS)
|
||||
PLATFORM=OS_SOLARIS
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_SOLARIS -m64"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -D_REENTRANT -DOS_SOLARIS -m64"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread -lrt -static-libstdc++ -static-libgcc -m64"
|
||||
# PORT_FILES=port/sunos/sunos_specific.cc
|
||||
;;
|
||||
AIX)
|
||||
PLATFORM=OS_AIX
|
||||
CC=gcc
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -maix64 -pthread -fno-builtin-memcmp -D_REENTRANT -DOS_AIX -D__STDC_FORMAT_MACROS"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -maix64 -pthread -D_REENTRANT -DOS_AIX -D__STDC_FORMAT_MACROS"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -pthread -lpthread -lrt -maix64 -static-libstdc++ -static-libgcc"
|
||||
# PORT_FILES=port/aix/aix_specific.cc
|
||||
;;
|
||||
FreeBSD)
|
||||
PLATFORM=OS_FREEBSD
|
||||
CXX=clang++
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_FREEBSD"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -D_REENTRANT -DOS_FREEBSD"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread"
|
||||
# PORT_FILES=port/freebsd/freebsd_specific.cc
|
||||
;;
|
||||
NetBSD)
|
||||
PLATFORM=OS_NETBSD
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_NETBSD"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -D_REENTRANT -DOS_NETBSD"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread -lgcc_s"
|
||||
# PORT_FILES=port/netbsd/netbsd_specific.cc
|
||||
;;
|
||||
OpenBSD)
|
||||
PLATFORM=OS_OPENBSD
|
||||
CXX=clang++
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_OPENBSD"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -D_REENTRANT -DOS_OPENBSD"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -pthread"
|
||||
# PORT_FILES=port/openbsd/openbsd_specific.cc
|
||||
FIND=gfind
|
||||
@@ -209,7 +209,7 @@ EOF
|
||||
;;
|
||||
DragonFly)
|
||||
PLATFORM=OS_DRAGONFLYBSD
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_DRAGONFLYBSD"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -D_REENTRANT -DOS_DRAGONFLYBSD"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread"
|
||||
# PORT_FILES=port/dragonfly/dragonfly_specific.cc
|
||||
;;
|
||||
@@ -219,7 +219,7 @@ EOF
|
||||
PLATFORM_CXXFLAGS="-std=gnu++11"
|
||||
COMMON_FLAGS="$COMMON_FLAGS -DCYGWIN"
|
||||
if [ -z "$USE_CLANG" ]; then
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS"
|
||||
else
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -latomic"
|
||||
fi
|
||||
@@ -228,7 +228,7 @@ EOF
|
||||
;;
|
||||
OS_ANDROID_CROSSCOMPILE)
|
||||
PLATFORM=OS_ANDROID
|
||||
- COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_ANDROID -DROCKSDB_PLATFORM_POSIX"
|
||||
+ COMMON_FLAGS="$COMMON_FLAGS -D_REENTRANT -DOS_ANDROID -DROCKSDB_PLATFORM_POSIX"
|
||||
PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS " # All pthread features are in the Android C library
|
||||
# PORT_FILES=port/android/android.cc
|
||||
CROSS_COMPILE=true
|
||||
@@ -410,9 +410,9 @@ EOF
|
||||
if ! test $JEMALLOC && ! test $ROCKSDB_DISABLE_TCMALLOC; then
|
||||
# jemalloc is not available. Let's try tcmalloc
|
||||
if echo 'int main() {}' | $CXX $CFLAGS -x c++ - -o /dev/null \
|
||||
- -ltcmalloc 2>/dev/null; then
|
||||
- PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -ltcmalloc"
|
||||
- JAVA_LDFLAGS="$JAVA_LDFLAGS -ltcmalloc"
|
||||
+ 2>/dev/null; then
|
||||
+ PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS"
|
||||
+ JAVA_LDFLAGS="$JAVA_LDFLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- third-party/gtest-1.8.1/fused-src/gtest/gtest-all.cc.orig 2020-05-27 23:38:10 UTC
|
||||
+++ third-party/gtest-1.8.1/fused-src/gtest/gtest-all.cc
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
// This line ensures that gtest.h can be compiled on its own, even
|
||||
// when it's fused.
|
||||
-#include "gtest/gtest.h"
|
||||
+#include "gtest.h"
|
||||
|
||||
// The following lines pull in the real gtest *.cc files.
|
||||
// Copyright 2005, Google Inc.
|
||||
@@ -98,9 +98,15 @@ include/rocksdb/wal_filter.h
|
||||
include/rocksdb/write_batch.h
|
||||
include/rocksdb/write_batch_base.h
|
||||
include/rocksdb/write_buffer_manager.h
|
||||
lib/librocksdb%%LITE%%.a
|
||||
lib/librocksdb%%LITE%%.so
|
||||
lib/librocksdb%%LITE%%.so.%%SHLIB_MAJOR%%
|
||||
lib/librocksdb%%LITE%%.so.%%SHLIB_MAJOR%%.%%SHLIB_MINOR%%
|
||||
lib/librocksdb%%LITE%%.so.%%PORTVERSION%%
|
||||
lib/librocksdb%%LITE%%_tools.a
|
||||
%%LITE%%lib/librocksdb-lite.a
|
||||
%%LITE%%lib/librocksdb-lite.so
|
||||
%%LITE%%lib/librocksdb-lite.so.6
|
||||
%%LITE%%lib/librocksdb-lite.so.%%SHLIB_VER%%
|
||||
%%LITE%%lib/librocksdb-lite.so.%%PORTVERSION%%
|
||||
%%LITE%%lib/librocksdb-lite_tools.a
|
||||
lib/librocksdb.a
|
||||
lib/librocksdb.so
|
||||
lib/librocksdb.so.6
|
||||
lib/librocksdb.so.%%SHLIB_VER%%
|
||||
lib/librocksdb.so.%%PORTVERSION%%
|
||||
lib/librocksdb_tools.a
|
||||
|
||||
Reference in New Issue
Block a user