From nobody Tue Nov 02 01:20:08 2021 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1FE6C18298A5; Tue, 2 Nov 2021 01:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HjsX90QlDz3GX1; Tue, 2 Nov 2021 01:20:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DB34C1BD49; Tue, 2 Nov 2021 01:20:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1A21K8cd082049; Tue, 2 Nov 2021 01:20:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1A21K8J6082047; Tue, 2 Nov 2021 01:20:08 GMT (envelope-from git) Date: Tue, 2 Nov 2021 01:20:08 GMT Message-Id: <202111020120.1A21K8J6082047@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: "Sergey A. Osokin" Subject: git: 6957a756b206 - main - textproc/redisearch20: add RediSearch, version 2.0 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: osa X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6957a756b2062548942509e8aa26e467c9ca4d21 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by osa: URL: https://cgit.FreeBSD.org/ports/commit/?id=6957a756b2062548942509e8aa26e467c9ca4d21 commit 6957a756b2062548942509e8aa26e467c9ca4d21 Author: Sergey A. Osokin AuthorDate: 2021-11-02 01:13:49 +0000 Commit: Sergey A. Osokin CommitDate: 2021-11-02 01:13:49 +0000 textproc/redisearch20: add RediSearch, version 2.0 --- textproc/Makefile | 1 + textproc/redisearch20/Makefile | 30 ++++++++++++++++++++++ textproc/redisearch20/distinfo | 3 +++ textproc/redisearch20/files/patch-src_fork__gc.c | 21 +++++++++++++++ .../redisearch20/files/patch-src_numeric__index.c | 11 ++++++++ .../redisearch20/files/patch-src_redis__index.c | 11 ++++++++ textproc/redisearch20/pkg-descr | 12 +++++++++ 7 files changed, 89 insertions(+) diff --git a/textproc/Makefile b/textproc/Makefile index abd0a577d6f6..5ade647b92cb 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -1540,6 +1540,7 @@ SUBDIR += redet SUBDIR += redisearch SUBDIR += redisearch16 + SUBDIR += redisearch20 SUBDIR += redland SUBDIR += redland-bindings SUBDIR += refdb diff --git a/textproc/redisearch20/Makefile b/textproc/redisearch20/Makefile new file mode 100644 index 000000000000..cf79a8e75b88 --- /dev/null +++ b/textproc/redisearch20/Makefile @@ -0,0 +1,30 @@ +# Created by: Sergey A. Osokin + +PORTNAME= redisearch20 +DISTVERSIONPREFIX= v +DISTVERSION= 2.0.12 +CATEGORIES= textproc + +MAINTAINER= osa@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} + +PLIST_FILES= lib/redisearch20.so + +do-install: + ${INSTALL_LIB} ${INSTALL_WRKSRC}/redisearch.so \ + ${STAGEDIR}${PREFIX}/lib/redisearch20.so + +.include diff --git a/textproc/redisearch20/distinfo b/textproc/redisearch20/distinfo new file mode 100644 index 000000000000..acc0f635a617 --- /dev/null +++ b/textproc/redisearch20/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1631192711 +SHA256 (RediSearch-RediSearch-v2.0.12_GH0.tar.gz) = 1c5c8165d0a2daca3b27b353b5ae8efa4b5816113942b3a962987ae3a21a728d +SIZE (RediSearch-RediSearch-v2.0.12_GH0.tar.gz) = 3989839 diff --git a/textproc/redisearch20/files/patch-src_fork__gc.c b/textproc/redisearch20/files/patch-src_fork__gc.c new file mode 100644 index 000000000000..9b067f73f84d --- /dev/null +++ b/textproc/redisearch20/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/redisearch20/files/patch-src_numeric__index.c b/textproc/redisearch20/files/patch-src_numeric__index.c new file mode 100644 index 000000000000..4129442c1498 --- /dev/null +++ b/textproc/redisearch20/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/redisearch20/files/patch-src_redis__index.c b/textproc/redisearch20/files/patch-src_redis__index.c new file mode 100644 index 000000000000..36e1bc262208 --- /dev/null +++ b/textproc/redisearch20/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/redisearch20/pkg-descr b/textproc/redisearch20/pkg-descr new file mode 100644 index 000000000000..ac2a0a714490 --- /dev/null +++ b/textproc/redisearch20/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/