aboutsummaryrefslogtreecommitdiff
path: root/databases/rocksdb
diff options
context:
space:
mode:
authorSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2020-05-31 18:16:39 +0000
committerSunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>2020-05-31 18:16:39 +0000
commitdf8bfb36bc4e47ded36dcd43c52b7c56cdabd392 (patch)
tree0c2d02f0181cf459efff6d27d501e2dfd91aec12 /databases/rocksdb
parentb1595fd288b39cdacc82347870b1e82043b602b3 (diff)
downloadports-df8bfb36bc4e47ded36dcd43c52b7c56cdabd392.tar.gz
ports-df8bfb36bc4e47ded36dcd43c52b7c56cdabd392.zip
Update to 6.10.1
- Convert REINPLACE_CMD to patch files Changes: https://github.com/facebook/rocksdb/releases
Notes
Notes: svn path=/head/; revision=537176
Diffstat (limited to 'databases/rocksdb')
-rw-r--r--databases/rocksdb/Makefile21
-rw-r--r--databases/rocksdb/distinfo6
-rw-r--r--databases/rocksdb/files/patch-Makefile34
-rw-r--r--databases/rocksdb/files/patch-build_tools-build_detect_platform102
-rw-r--r--databases/rocksdb/files/patch-third-party-gtest-1.8.1-fused-src-gtest-gtest-all.cc11
-rw-r--r--databases/rocksdb/pkg-plist18
6 files changed, 169 insertions, 23 deletions
diff --git a/databases/rocksdb/Makefile b/databases/rocksdb/Makefile
index 49fc279cd1e4..766b68f61316 100644
--- a/databases/rocksdb/Makefile
+++ b/databases/rocksdb/Makefile
@@ -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,15 +78,9 @@ 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
@${REINPLACE_CMD} -e 's|#ifdef __SSE4_2__|&DISABLED__|' ${WRKSRC}/util/crc32c.cc
diff --git a/databases/rocksdb/distinfo b/databases/rocksdb/distinfo
index 64e07cc90b93..0bf2f3e18153 100644
--- a/databases/rocksdb/distinfo
+++ b/databases/rocksdb/distinfo
@@ -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
diff --git a/databases/rocksdb/files/patch-Makefile b/databases/rocksdb/files/patch-Makefile
new file mode 100644
index 000000000000..5f1c2c3585ae
--- /dev/null
+++ b/databases/rocksdb/files/patch-Makefile
@@ -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)
+
diff --git a/databases/rocksdb/files/patch-build_tools-build_detect_platform b/databases/rocksdb/files/patch-build_tools-build_detect_platform
new file mode 100644
index 000000000000..b685a2dfc33a
--- /dev/null
+++ b/databases/rocksdb/files/patch-build_tools-build_detect_platform
@@ -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
+
diff --git a/databases/rocksdb/files/patch-third-party-gtest-1.8.1-fused-src-gtest-gtest-all.cc b/databases/rocksdb/files/patch-third-party-gtest-1.8.1-fused-src-gtest-gtest-all.cc
new file mode 100644
index 000000000000..73b2d08ed88a
--- /dev/null
+++ b/databases/rocksdb/files/patch-third-party-gtest-1.8.1-fused-src-gtest-gtest-all.cc
@@ -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.
diff --git a/databases/rocksdb/pkg-plist b/databases/rocksdb/pkg-plist
index e12be2889f5c..56d57e31ef6d 100644
--- a/databases/rocksdb/pkg-plist
+++ b/databases/rocksdb/pkg-plist
@@ -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