aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey A. Osokin <osa@FreeBSD.org>2022-05-10 02:32:11 +0000
committerSergey A. Osokin <osa@FreeBSD.org>2022-05-10 02:32:11 +0000
commit563cab2f328c435da939267cc40c233147bce197 (patch)
tree7b52ab566d763d505ba07e427e5cec5937a9ffb5
parent7f64097a78297d42da52f128bce9f97581407a22 (diff)
textproc/redisearch22: repo-copy from textproc/redisearch
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/redisearch22/Makefile31
-rw-r--r--textproc/redisearch22/distinfo3
-rw-r--r--textproc/redisearch22/files/patch-src_fork__gc.c21
-rw-r--r--textproc/redisearch22/files/patch-src_numeric__index.c11
-rw-r--r--textproc/redisearch22/files/patch-src_redis__index.c11
-rw-r--r--textproc/redisearch22/pkg-descr12
7 files changed, 90 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 35af9aa9a71e..9dc91dd3ccb4 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1574,6 +1574,7 @@
SUBDIR += redet
SUBDIR += redisearch
SUBDIR += redisearch20
+ SUBDIR += redisearch22
SUBDIR += redland
SUBDIR += redland-bindings
SUBDIR += refdb
diff --git a/textproc/redisearch22/Makefile b/textproc/redisearch22/Makefile
new file mode 100644
index 000000000000..6360cacb9903
--- /dev/null
+++ b/textproc/redisearch22/Makefile
@@ -0,0 +1,31 @@
+# Created by: Sergey A. Osokin <osa@FreeBSD.org>
+
+PORTNAME= redisearch22
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.2.10
+CATEGORIES= textproc
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Full-text search over Redis
+
+LICENSE= UNKNOWN
+LICENSE_NAME= Redis Source Available License Agreement
+LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
+
+USES= cmake compiler
+
+USE_GITHUB= yes
+GH_ACCOUNT= RediSearch
+GH_PROJECT= RediSearch
+
+CMAKE_ARGS= -DGIT_DESCRIBE_VERSION:STRING=${PKGVERSION} \
+ -DOS=freebsd
+
+PLIST_FILES= lib/redisearch22.so
+
+do-install:
+ ${INSTALL_LIB} ${INSTALL_WRKSRC}/redisearch.so \
+ ${STAGEDIR}${PREFIX}/lib/redisearch22.so
+
+.include <bsd.port.mk>
diff --git a/textproc/redisearch22/distinfo b/textproc/redisearch22/distinfo
new file mode 100644
index 000000000000..3296e55b2d53
--- /dev/null
+++ b/textproc/redisearch22/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1652146825
+SHA256 (RediSearch-RediSearch-v2.2.10_GH0.tar.gz) = 4caa907e85e6cec528199ddabb4e718fa06744d594716f6a2d3a3966e8e4f83c
+SIZE (RediSearch-RediSearch-v2.2.10_GH0.tar.gz) = 4252203
diff --git a/textproc/redisearch22/files/patch-src_fork__gc.c b/textproc/redisearch22/files/patch-src_fork__gc.c
new file mode 100644
index 000000000000..9b067f73f84d
--- /dev/null
+++ b/textproc/redisearch22/files/patch-src_fork__gc.c
@@ -0,0 +1,21 @@
+--- src/fork_gc.c.orig 2020-04-12 11:18:47 UTC
++++ src/fork_gc.c
+@@ -282,6 +282,7 @@ done:
+ }
+
+ static void sendHeaderString(ForkGC *gc, void *arg) {
++ struct iovec { void *iov_base; size_t iov_len; };
+ struct iovec *iov = arg;
+ FGC_sendBuffer(gc, iov->iov_base, iov->iov_len);
+ }
+@@ -298,7 +299,9 @@ static void FGC_childCollectTerms(ForkGC *gc, RedisSea
+ RedisModuleKey *idxKey = NULL;
+ InvertedIndex *idx = Redis_OpenInvertedIndexEx(sctx, term, strlen(term), 1, &idxKey);
+ if (idx) {
+- struct iovec iov = {.iov_base = (void *)term, termLen};
++ struct iovec { void *iov_base; size_t iov_len; } iov;
++ iov.iov_base = term;
++ iov.iov_len = termLen;
+ FGC_childRepairInvidx(gc, sctx, idx, sendHeaderString, &iov, NULL);
+ }
+ if (idxKey) {
diff --git a/textproc/redisearch22/files/patch-src_numeric__index.c b/textproc/redisearch22/files/patch-src_numeric__index.c
new file mode 100644
index 000000000000..4129442c1498
--- /dev/null
+++ b/textproc/redisearch22/files/patch-src_numeric__index.c
@@ -0,0 +1,11 @@
+--- src/numeric_index.c.orig 2020-02-29 20:43:50 UTC
++++ src/numeric_index.c
+@@ -474,7 +474,7 @@ int NumericIndexType_Register(RedisModuleCtx *ctx) {
+ .rdb_save = NumericIndexType_RdbSave,
+ .aof_rewrite = GenericAofRewrite_DisabledHandler,
+ .free = NumericIndexType_Free,
+- .mem_usage = NumericIndexType_MemUsage};
++ .mem_usage = (const void *)NumericIndexType_MemUsage};
+
+ NumericIndexType = RedisModule_CreateDataType(ctx, "numericdx", NUMERIC_INDEX_ENCVER, &tm);
+ if (NumericIndexType == NULL) {
diff --git a/textproc/redisearch22/files/patch-src_redis__index.c b/textproc/redisearch22/files/patch-src_redis__index.c
new file mode 100644
index 000000000000..36e1bc262208
--- /dev/null
+++ b/textproc/redisearch22/files/patch-src_redis__index.c
@@ -0,0 +1,11 @@
+--- src/redis_index.c.orig 2020-02-29 20:35:56 UTC
++++ src/redis_index.c
+@@ -108,7 +108,7 @@ int InvertedIndex_RegisterType(RedisModuleCtx *ctx) {
+ .rdb_load = InvertedIndex_RdbLoad,
+ .rdb_save = InvertedIndex_RdbSave,
+ .aof_rewrite = GenericAofRewrite_DisabledHandler,
+- .mem_usage = InvertedIndex_MemUsage,
++ .mem_usage = (const void *)InvertedIndex_MemUsage,
+ .free = InvertedIndex_Free};
+
+ InvertedIndexType = RedisModule_CreateDataType(ctx, "ft_invidx", INVERTED_INDEX_ENCVER, &tm);
diff --git a/textproc/redisearch22/pkg-descr b/textproc/redisearch22/pkg-descr
new file mode 100644
index 000000000000..ac2a0a714490
--- /dev/null
+++ b/textproc/redisearch22/pkg-descr
@@ -0,0 +1,12 @@
+RediSearch is a source available Full-Text and Secondary Index
+engine over Redis, developed by Redis Labs.
+
+Redisearch implements a search engine on top of Redis, but
+unlike other Redis search libraries, it does not use internal
+data structures like sorted sets.
+
+This also enables more advanced features, like exact phrase
+matching and numeric filtering for text queries, that are not
+possible or efficient with traditional Redis search approaches.
+
+WWW: https://oss.redislabs.com/redisearch/