aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2018-04-14 12:06:35 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2018-04-14 12:06:35 +0000
commit9a12f639b026bd563fe0d1b5c6b34d5a7ff2d4ab (patch)
treeb1e4d40a56acb098a57d8cd25d7285f1097ec4d4
parentd05a9e99859b96b29d740a130621f4006b3a25bd (diff)
downloadports-9a12f639b026bd563fe0d1b5c6b34d5a7ff2d4ab.tar.gz
ports-9a12f639b026bd563fe0d1b5c6b34d5a7ff2d4ab.zip
Notes
-rw-r--r--databases/Makefile1
-rw-r--r--databases/iowow/Makefile27
-rw-r--r--databases/iowow/distinfo3
-rw-r--r--databases/iowow/files/patch-src_CMakeLists.txt36
-rw-r--r--databases/iowow/files/patch-src_fs_iwfile.c11
-rw-r--r--databases/iowow/files/patch-src_log_iwlog.c19
-rw-r--r--databases/iowow/pkg-descr14
-rw-r--r--databases/iowow/pkg-plist22
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