From owner-svn-ports-all@freebsd.org Sat Apr 14 12:06:36 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0815F9A57B; Sat, 14 Apr 2018 12:06:36 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 61C516A044; Sat, 14 Apr 2018 12:06:36 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5CBC828064; Sat, 14 Apr 2018 12:06:36 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w3EC6ars023549; Sat, 14 Apr 2018 12:06:36 GMT (envelope-from danfe@FreeBSD.org) Received: (from danfe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w3EC6Zmo023541; Sat, 14 Apr 2018 12:06:35 GMT (envelope-from danfe@FreeBSD.org) Message-Id: <201804141206.w3EC6Zmo023541@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: danfe set sender to danfe@FreeBSD.org using -f From: Alexey Dokuchaev Date: Sat, 14 Apr 2018 12:06:35 +0000 (UTC) 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 X-SVN-Group: ports-head X-SVN-Commit-Author: danfe X-SVN-Commit-Paths: in head/databases: . iowow iowow/files X-SVN-Commit-Revision: 467312 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Apr 2018 12:06:37 -0000 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 +# $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 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