Date: Sat, 14 Apr 2018 12:06:35 +0000 (UTC) From: Alexey Dokuchaev <danfe@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r467312 - in head/databases: . iowow iowow/files Message-ID: <201804141206.w3EC6Zmo023541@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= iowow +PORTVERSION= 1.0.5 +DISTVERSIONPREFIX= v +CATEGORIES= databases + +MAINTAINER= danfe@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804141206.w3EC6Zmo023541>