Date: Sun, 31 May 2026 14:54:40 +0000 From: Muhammad Moinur Rahman <bofh@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: e7d831aa7b58 - main - textproc/redisearch24: New port Message-ID: <6a1c4bb0.302fc.62dd74b9@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by bofh: URL: https://cgit.FreeBSD.org/ports/commit/?id=e7d831aa7b58b75853eac6dc982e9c541cce0baf commit e7d831aa7b58b75853eac6dc982e9c541cce0baf Author: Muhammad Moinur Rahman <bofh@FreeBSD.org> AuthorDate: 2026-05-31 13:12:19 +0000 Commit: Muhammad Moinur Rahman <bofh@FreeBSD.org> CommitDate: 2026-05-31 14:54:21 +0000 textproc/redisearch24: New port 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. This is the 2.4.X branch of redisearch WWW: https://github.com/RediSearch/RediSearch/ --- textproc/Makefile | 1 + textproc/redisearch24/Makefile | 40 ++++++++++++++++++++++ textproc/redisearch24/distinfo | 7 ++++ ...ps_VectorSimilarity_src_VecSim_info__iterator.h | 18 ++++++++++ ...ps_VectorSimilarity_src_VecSim_query__results.h | 10 ++++++ textproc/redisearch24/files/patch-src_fork__gc.c | 21 ++++++++++++ .../redisearch24/files/patch-src_numeric__index.c | 11 ++++++ .../redisearch24/files/patch-src_redis__index.c | 11 ++++++ textproc/redisearch24/pkg-descr | 10 ++++++ 9 files changed, 129 insertions(+) diff --git a/textproc/Makefile b/textproc/Makefile index 6950bbab4e52..5fdcf0d30ef1 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -1804,6 +1804,7 @@ SUBDIR += redisearch SUBDIR += redisearch20 SUBDIR += redisearch22 + SUBDIR += redisearch24 SUBDIR += redland SUBDIR += redland-bindings SUBDIR += refdb diff --git a/textproc/redisearch24/Makefile b/textproc/redisearch24/Makefile new file mode 100644 index 000000000000..d6cedebd4d4d --- /dev/null +++ b/textproc/redisearch24/Makefile @@ -0,0 +1,40 @@ +PORTNAME= redisearch +DISTVERSIONPREFIX= v +DISTVERSION= 2.4.0 +CATEGORIES= textproc +PKGNAMESUFFIX= ${DISTVERSION:R:S/.//} + +MAINTAINER= bofh@FreeBSD.org +COMMENT= Full-text search over Redis (2.4.X) +WWW= https://github.com/RediSearch/RediSearch/ + +LICENSE= RSAL +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 +GH_TUPLE= RedisAI:VectorSimilarity:62d8e32:vectorsimilarity/deps/VectorSimilarity \ + google:cpu_features:2f5a7bf:cpu_features/deps/cpu_features + +CMAKE_ARGS= -DGIT_DESCRIBE_VERSION:STRING=${PKGVERSION} \ + -DOS=freebsd + +CONFLICTS_INSTALL= redisearch* + +PLIST_FILES= lib/${PORTNAME}${PKGNAMESUFFIX}.so + +CXXFLAGS=-Wno-vla-cxx-extension + +pre-configure: + @${MKDIR} ${WRKDIR}/.build/_deps + @${MV} ${WRKSRC}/deps/cpu_features ${WRKDIR}/.build/_deps/cpu_features-src + +do-install: + ${INSTALL} -m 0755 ${INSTALL_WRKSRC}/redisearch.so \ + ${STAGEDIR}${PREFIX}/lib/${PORTNAME}${PKGNAMESUFFIX}.so + +.include <bsd.port.mk> diff --git a/textproc/redisearch24/distinfo b/textproc/redisearch24/distinfo new file mode 100644 index 000000000000..d647bf694ab3 --- /dev/null +++ b/textproc/redisearch24/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1780169186 +SHA256 (RediSearch-RediSearch-v2.4.0_GH0.tar.gz) = 940c9c09f492c238ad1279979250cf49786f96b68fe1efeba19a5f4368a4e0b9 +SIZE (RediSearch-RediSearch-v2.4.0_GH0.tar.gz) = 4283574 +SHA256 (RedisAI-VectorSimilarity-62d8e32_GH0.tar.gz) = 714737dff5dfdbcdb08285e8c15bf4d988ce822f0d2e733b9e67424df3ff78de +SIZE (RedisAI-VectorSimilarity-62d8e32_GH0.tar.gz) = 94106 +SHA256 (google-cpu_features-2f5a7bf_GH0.tar.gz) = 91bde3c1fa7dfea3a71b4417eca7c7a5494be7ceff154d284a1087db85d5f597 +SIZE (google-cpu_features-2f5a7bf_GH0.tar.gz) = 83581 diff --git a/textproc/redisearch24/files/patch-deps_VectorSimilarity_src_VecSim_info__iterator.h b/textproc/redisearch24/files/patch-deps_VectorSimilarity_src_VecSim_info__iterator.h new file mode 100644 index 000000000000..e742223d462a --- /dev/null +++ b/textproc/redisearch24/files/patch-deps_VectorSimilarity_src_VecSim_info__iterator.h @@ -0,0 +1,18 @@ +--- deps/VectorSimilarity/src/VecSim/info_iterator.h.orig 2026-05-30 19:16:13 UTC ++++ deps/VectorSimilarity/src/VecSim/info_iterator.h +@@ -1,5 +1,6 @@ + #pragma once + #include <stdlib.h> ++#include <stdint.h> + #ifdef __cplusplus + extern "C" { + #endif +@@ -30,7 +31,7 @@ typedef struct { + union { + double floatingPointValue; // Floating point value. 64 bits float. + int64_t integerValue; // Integer value. Signed 64 bits integer. +- u_int64_t uintegerValue; // Unsigned value. Unsigned 64 buts integer. ++ uint64_t uintegerValue; // Unsigned value. Unsigned 64 buts integer. + const char *stringValue; // String value. + }; + } VecSim_InfoField; diff --git a/textproc/redisearch24/files/patch-deps_VectorSimilarity_src_VecSim_query__results.h b/textproc/redisearch24/files/patch-deps_VectorSimilarity_src_VecSim_query__results.h new file mode 100644 index 000000000000..e409ff6af043 --- /dev/null +++ b/textproc/redisearch24/files/patch-deps_VectorSimilarity_src_VecSim_query__results.h @@ -0,0 +1,10 @@ +--- deps/VectorSimilarity/src/VecSim/query_results.h.orig 2026-05-30 19:20:00 UTC ++++ deps/VectorSimilarity/src/VecSim/query_results.h +@@ -1,6 +1,7 @@ + #pragma once + + #include <stdlib.h> ++#include <stdint.h> + #include <stdbool.h> + + #ifdef __cplusplus diff --git a/textproc/redisearch24/files/patch-src_fork__gc.c b/textproc/redisearch24/files/patch-src_fork__gc.c new file mode 100644 index 000000000000..f08d1e9ce90b --- /dev/null +++ b/textproc/redisearch24/files/patch-src_fork__gc.c @@ -0,0 +1,21 @@ +--- src/fork_gc.c.orig 2022-02-09 21:38:06 UTC ++++ src/fork_gc.c +@@ -286,6 +286,7 @@ static void sendHeaderString(ForkGC *gc, void *arg) { + } + + 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); + } +@@ -302,7 +303,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/redisearch24/files/patch-src_numeric__index.c b/textproc/redisearch24/files/patch-src_numeric__index.c new file mode 100644 index 000000000000..786ce70d0eb4 --- /dev/null +++ b/textproc/redisearch24/files/patch-src_numeric__index.c @@ -0,0 +1,11 @@ +--- src/numeric_index.c.orig 2022-02-09 21:38:06 UTC ++++ src/numeric_index.c +@@ -613,7 +613,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/redisearch24/files/patch-src_redis__index.c b/textproc/redisearch24/files/patch-src_redis__index.c new file mode 100644 index 000000000000..36e1bc262208 --- /dev/null +++ b/textproc/redisearch24/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/redisearch24/pkg-descr b/textproc/redisearch24/pkg-descr new file mode 100644 index 000000000000..41d10f88f3e7 --- /dev/null +++ b/textproc/redisearch24/pkg-descr @@ -0,0 +1,10 @@ +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.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a1c4bb0.302fc.62dd74b9>
