aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaavo-Einari Kaipila <pkaipila@gmail.com>2025-10-08 12:34:34 +0000
committerHiroki Tagato <tagattie@FreeBSD.org>2025-10-08 22:12:08 +0000
commite2324e762f629275e454f01ec3822da22b0fb3ef (patch)
treea632e754a56a4011111e817b45d851d0a4f41f08
parentd4b1dd743cb498cb16fbd4fdb311b2613ffd12a4 (diff)
databases/tkrzw: new port: Set of implementations of DBM, successor of Kyoto Cabinet
Tkrzw is a C++ library implementing DBM with various algorithms. It features high degrees of performance, concurrency, scalability and durability. Tkrzw is a successor of Kyoto Cabinet. WWW: https://dbmx.net/tkrzw/ PR: 289951 Reported by: Paavo-Einari Kaipila <pkaipila@gmail.com> (new maintainer)
-rw-r--r--databases/Makefile1
-rw-r--r--databases/tkrzw/Makefile39
-rw-r--r--databases/tkrzw/distinfo3
-rw-r--r--databases/tkrzw/pkg-descr5
-rw-r--r--databases/tkrzw/pkg-plist48
5 files changed, 96 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 44c684d221db..bf80773123d0 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1121,6 +1121,7 @@
SUBDIR += timescaledb-backup
SUBDIR += timescaledb-tune
SUBDIR += tinycdb
+ SUBDIR += tkrzw
SUBDIR += tokyocabinet
SUBDIR += tokyotyrant
SUBDIR += trilogy
diff --git a/databases/tkrzw/Makefile b/databases/tkrzw/Makefile
new file mode 100644
index 000000000000..b6556841d061
--- /dev/null
+++ b/databases/tkrzw/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= tkrzw
+DISTVERSION= 1.0.32
+CATEGORIES= databases
+MASTER_SITES= https://dbmx.net/${PORTNAME}/pkg/
+
+MAINTAINER= pkaipila@gmail.com
+COMMENT= Set of implementations of DBM, successor of Kyoto Cabinet
+WWW= https://dbmx.net/tkrzw/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= gmake localbase
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --enable-lzma --enable-zlib
+
+SHLIB_VER= 1.75.0
+SHLIB_VER_MAJOR= 1
+PLIST_SUB+= SHLIB_VER=${SHLIB_VER} \
+ SHLIB_VER_MAJOR=${SHLIB_VER_MAJOR}
+
+OPTIONS_DEFINE= CPU_OPTS LZ4 ZSTD
+OPTIONS_DEFAULT= LZ4 ZSTD
+
+CPU_OPTS_DESC= Use CPU-specific optimizations
+CPU_OPTS_CONFIGURE_ON= --enable-opt-native
+
+LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4
+LZ4_CONFIGURE_ON= --enable-lz4
+
+ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
+ZSTD_CONFIGURE_ON= --enable-zstd
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/tkrzw*
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtkrzw*
+
+.include <bsd.port.mk>
diff --git a/databases/tkrzw/distinfo b/databases/tkrzw/distinfo
new file mode 100644
index 000000000000..29ceee97f1cc
--- /dev/null
+++ b/databases/tkrzw/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759307425
+SHA256 (tkrzw-1.0.32.tar.gz) = d3404dfac6898632b69780c0f0994c5f6ba962191a61c9b0f4b53ba8bb27731c
+SIZE (tkrzw-1.0.32.tar.gz) = 720675
diff --git a/databases/tkrzw/pkg-descr b/databases/tkrzw/pkg-descr
new file mode 100644
index 000000000000..d00c289cc057
--- /dev/null
+++ b/databases/tkrzw/pkg-descr
@@ -0,0 +1,5 @@
+Tkrzw is a C++ library implementing DBM with various algorithms. It
+features high degrees of performance, concurrency, scalability and
+durability.
+
+Tkrzw is a successor of Kyoto Cabinet.
diff --git a/databases/tkrzw/pkg-plist b/databases/tkrzw/pkg-plist
new file mode 100644
index 000000000000..17a57d3f3b75
--- /dev/null
+++ b/databases/tkrzw/pkg-plist
@@ -0,0 +1,48 @@
+bin/tkrzw_build_util
+bin/tkrzw_dbm_perf
+bin/tkrzw_dbm_tran
+bin/tkrzw_dbm_util
+bin/tkrzw_file_perf
+bin/tkrzw_langc_check
+bin/tkrzw_str_perf
+bin/tkrzw_ulog_util
+lib/libtkrzw.a
+lib/libtkrzw.so
+lib/libtkrzw.so.%%SHLIB_VER_MAJOR%%
+lib/libtkrzw.so.%%SHLIB_VER%%
+libdata/pkgconfig/tkrzw.pc
+include/tkrzw_cmd_util.h
+include/tkrzw_compress.h
+include/tkrzw_containers.h
+include/tkrzw_dbm.h
+include/tkrzw_dbm_async.h
+include/tkrzw_dbm_baby.h
+include/tkrzw_dbm_cache.h
+include/tkrzw_dbm_common_impl.h
+include/tkrzw_dbm_hash.h
+include/tkrzw_dbm_hash_impl.h
+include/tkrzw_dbm_poly.h
+include/tkrzw_dbm_shard.h
+include/tkrzw_dbm_skip.h
+include/tkrzw_dbm_skip_impl.h
+include/tkrzw_dbm_std.h
+include/tkrzw_dbm_tiny.h
+include/tkrzw_dbm_tree.h
+include/tkrzw_dbm_tree_impl.h
+include/tkrzw_dbm_ulog.h
+include/tkrzw_file.h
+include/tkrzw_file_mmap.h
+include/tkrzw_file_poly.h
+include/tkrzw_file_pos.h
+include/tkrzw_file_std.h
+include/tkrzw_file_util.h
+include/tkrzw_hash_util.h
+include/tkrzw_index.h
+include/tkrzw_key_comparators.h
+include/tkrzw_langc.h
+include/tkrzw_lib_common.h
+include/tkrzw_logger.h
+include/tkrzw_message_queue.h
+include/tkrzw_str_util.h
+include/tkrzw_thread_util.h
+include/tkrzw_time_util.h