diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2018-04-14 12:06:35 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2018-04-14 12:06:35 +0000 |
commit | 9a12f639b026bd563fe0d1b5c6b34d5a7ff2d4ab (patch) | |
tree | b1e4d40a56acb098a57d8cd25d7285f1097ec4d4 | |
parent | d05a9e99859b96b29d740a130621f4006b3a25bd (diff) | |
download | ports-9a12f639b026bd563fe0d1b5c6b34d5a7ff2d4ab.tar.gz ports-9a12f639b026bd563fe0d1b5c6b34d5a7ff2d4ab.zip |
Notes
-rw-r--r-- | databases/Makefile | 1 | ||||
-rw-r--r-- | databases/iowow/Makefile | 27 | ||||
-rw-r--r-- | databases/iowow/distinfo | 3 | ||||
-rw-r--r-- | databases/iowow/files/patch-src_CMakeLists.txt | 36 | ||||
-rw-r--r-- | databases/iowow/files/patch-src_fs_iwfile.c | 11 | ||||
-rw-r--r-- | databases/iowow/files/patch-src_log_iwlog.c | 19 | ||||
-rw-r--r-- | databases/iowow/pkg-descr | 14 | ||||
-rw-r--r-- | databases/iowow/pkg-plist | 22 |
8 files changed, 133 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile index 8b3fbdb1981a..c42410821098 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -114,6 +114,7 @@ SUBDIR += hsqldb SUBDIR += influxdb SUBDIR += innotop + SUBDIR += iowow SUBDIR += ip4r SUBDIR += ipa_sdb SUBDIR += iplike diff --git a/databases/iowow/Makefile b/databases/iowow/Makefile new file mode 100644 index 000000000000..4bc22c7a2678 --- /dev/null +++ b/databases/iowow/Makefile @@ -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> diff --git a/databases/iowow/distinfo b/databases/iowow/distinfo new file mode 100644 index 000000000000..bf32ff0b0bb0 --- /dev/null +++ b/databases/iowow/distinfo @@ -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 diff --git a/databases/iowow/files/patch-src_CMakeLists.txt b/databases/iowow/files/patch-src_CMakeLists.txt new file mode 100644 index 000000000000..e1853311d3a9 --- /dev/null +++ b/databases/iowow/files/patch-src_CMakeLists.txt @@ -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 diff --git a/databases/iowow/files/patch-src_fs_iwfile.c b/databases/iowow/files/patch-src_fs_iwfile.c new file mode 100644 index 000000000000..d507ba2c49e7 --- /dev/null +++ b/databases/iowow/files/patch-src_fs_iwfile.c @@ -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); + } diff --git a/databases/iowow/files/patch-src_log_iwlog.c b/databases/iowow/files/patch-src_log_iwlog.c new file mode 100644 index 000000000000..2725380a10ea --- /dev/null +++ b/databases/iowow/files/patch-src_log_iwlog.c @@ -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) { diff --git a/databases/iowow/pkg-descr b/databases/iowow/pkg-descr new file mode 100644 index 000000000000..a82dceb33e75 --- /dev/null +++ b/databases/iowow/pkg-descr @@ -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/ diff --git a/databases/iowow/pkg-plist b/databases/iowow/pkg-plist new file mode 100644 index 000000000000..74aed584909e --- /dev/null +++ b/databases/iowow/pkg-plist @@ -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 |