svn commit: r467312 - in head/databases: . iowow iowow/files
Alexey Dokuchaev
danfe at FreeBSD.org
Sat Apr 14 12:06:37 UTC 2018
Author: danfe
Date: Sat Apr 14 12:06:35 2018
New Revision: 467312
URL: https://svnweb.freebsd.org/changeset/ports/467312
Log:
Add a port of IOWOW, persistent and fast key-value database engine based
on skip list data structure.
WWW: http://iowow.io/
Added:
head/databases/iowow/
head/databases/iowow/Makefile (contents, props changed)
head/databases/iowow/distinfo (contents, props changed)
head/databases/iowow/files/
head/databases/iowow/files/patch-src_CMakeLists.txt (contents, props changed)
head/databases/iowow/files/patch-src_fs_iwfile.c (contents, props changed)
head/databases/iowow/files/patch-src_log_iwlog.c (contents, props changed)
head/databases/iowow/pkg-descr (contents, props changed)
head/databases/iowow/pkg-plist (contents, props changed)
Modified:
head/databases/Makefile
Modified: head/databases/Makefile
==============================================================================
--- head/databases/Makefile Sat Apr 14 12:04:55 2018 (r467311)
+++ head/databases/Makefile Sat Apr 14 12:06:35 2018 (r467312)
@@ -114,6 +114,7 @@
SUBDIR += hsqldb
SUBDIR += influxdb
SUBDIR += innotop
+ SUBDIR += iowow
SUBDIR += ip4r
SUBDIR += ipa_sdb
SUBDIR += iplike
Added: head/databases/iowow/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/Makefile Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,27 @@
+# Created by: Alexey Dokuchaev <danfe at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= iowow
+PORTVERSION= 1.0.5
+DISTVERSIONPREFIX= v
+CATEGORIES= databases
+
+MAINTAINER= danfe at FreeBSD.org
+COMMENT= Persistent key-value database engine
+
+LICENSE= MIT
+
+ONLY_FOR_ARCHS= amd64 i386
+ONLY_FOR_ARCHS_REASON= invokes x86 assembler
+
+USES= cmake:outsource compiler:c11
+USE_GITHUB= yes
+GH_ACCOUNT= Softmotions
+USE_LDCONFIG= yes
+
+PORTDOCS= Changelog README
+
+post-patch:
+ @${REINPLACE_CMD} -e '/sizeof(size_t)/d' ${WRKSRC}/src/kv/iwkv.c
+
+.include <bsd.port.mk>
Added: head/databases/iowow/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/distinfo Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1523540906
+SHA256 (Softmotions-iowow-v1.0.5_GH0.tar.gz) = e30556b3c16952f68c0ecbee3f49a1c72412ca78d2a634babe71ba4cd8f703f0
+SIZE (Softmotions-iowow-v1.0.5_GH0.tar.gz) = 170856
Added: head/databases/iowow/files/patch-src_CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/files/patch-src_CMakeLists.txt Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,36 @@
+--- src/CMakeLists.txt.orig 2018-04-12 13:48:26 UTC
++++ src/CMakeLists.txt
+@@ -121,14 +121,12 @@ if (NOT WIN32) ## todo review
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+ endif()
+
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-
+ if (ASAN)
+ set(CMAKE_C_ASAN "-fsanitize=address -fno-omit-frame-pointer")
+ endif()
+
+ set(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb -Werror -DDEBUG -D_DEBUG -UNDEBUG -Wno-unused-variable ${CMAKE_C_ASAN}")
+-set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG ${CMAKE_C_ASAN}")
++set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG ${CMAKE_C_ASAN}")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} -g")
+
+
+@@ -151,7 +149,7 @@ file(GLOB PROJECT_GENERATED_HDRS ${PROJECT_GENERATED_D
+ list(APPEND ALL_HDRS ${PROJECT_GENERATED_HDRS})
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tmpl/libiowow.pc.in ${PROJECT_GENERATED_DIR}/libiowow.pc @ONLY)
+-install(FILES ${PROJECT_GENERATED_DIR}/libiowow.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++install(FILES ${PROJECT_GENERATED_DIR}/libiowow.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}data/pkgconfig)
+
+ foreach(MODULE IN LISTS MODULES)
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${MODULE}/CMakeLists.txt)
+@@ -216,8 +214,6 @@ endif()
+
+
+ install(FILES
+- ${CMAKE_SOURCE_DIR}/LICENSE
+- ${CMAKE_SOURCE_DIR}/INSTALL
+ ${CMAKE_SOURCE_DIR}/Changelog
+ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+ install(FILES
Added: head/databases/iowow/files/patch-src_fs_iwfile.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/files/patch-src_fs_iwfile.c Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,11 @@
+--- src/fs/iwfile.c.orig 2018-04-12 13:48:26 UTC
++++ src/fs/iwfile.c
+@@ -92,7 +92,7 @@ static iwrc _iwfs_sync(struct IWFS_FILE *f, iwfs_sync_
+ if (fcntl(wf->fh, F_FULLFSYNC) == -1) {
+ return iwrc_set_errno(IW_ERROR_IO_ERRNO, errno);
+ }
+-#else
++#elif defined(__FreeBSD_version) && __FreeBSD_version > 1100501
+ if (fdatasync(wf->fh) == -1) {
+ return iwrc_set_errno(IW_ERROR_IO_ERRNO, errno);
+ }
Added: head/databases/iowow/files/patch-src_log_iwlog.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/files/patch-src_log_iwlog.c Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,19 @@
+--- src/log/iwlog.c.orig 2018-04-12 13:48:26 UTC
++++ src/log/iwlog.c
+@@ -383,16 +383,9 @@ static iwrc _default_logfn(locale_t locale,
+ ecode_msg = _ecode_explained(locale, ecode);
+ }
+
+-#if defined(__APPLE__) || defined(__FreeBSD__)
+- char bfile[MAXPATHLEN];
+ if (file && line > 0) {
+- file = basename_r(file, bfile);
+- }
+-#else
+- if (file && line > 0) {
+ file = basename(file);
+ }
+-#endif
+
+ if (ecode || errno_code || werror_code) {
+ if (file && line > 0) {
Added: head/databases/iowow/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/pkg-descr Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,14 @@
+IOWOW is persistent key-value database engine based on skip list data
+structure. Its features and imitations are:
+
+ - Support of multiple key-value databases within a single file
+ - Native support of integer keys
+ - Support of record values represented as sorted array of integers
+ - Ultra-fast traversal of database records
+ - Good performance comparing its main competitors (LMDB, LevelDB,
+ Kyoto Cabinet)
+ - Tiny C11 library (150 KB), easily embeddable into any software
+ - Maximum storage file size: 255 GB, maximum size of a single
+ key+value record 255 MB
+
+WWW: http://iowow.io/
Added: head/databases/iowow/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/iowow/pkg-plist Sat Apr 14 12:06:35 2018 (r467312)
@@ -0,0 +1,22 @@
+include/iowow/basedefs.h
+include/iowow/iowow.h
+include/iowow/iwarr.h
+include/iowow/iwbits.h
+include/iowow/iwconv.h
+include/iowow/iwexfile.h
+include/iowow/iwfile.h
+include/iowow/iwfsmfile.h
+include/iowow/iwkv.h
+include/iowow/iwlog.h
+include/iowow/iwp.h
+include/iowow/iwpool.h
+include/iowow/iwutils.h
+include/iowow/iwxstr.h
+lib/libiowow-1.a
+lib/libiowow.so
+lib/libiowow.so.1
+lib/libiowow.so.1.0.5
+libdata/pkgconfig/libiowow.pc
+man/man3/iowow.3.gz
+%%DATADIR%%/iowow-exports-%%CMAKE_BUILD_TYPE%%.cmake
+%%DATADIR%%/iowow-exports.cmake
More information about the svn-ports-all
mailing list