summaryrefslogtreecommitdiffstats
path: root/valkey-search.spec
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2025-09-05 14:59:24 +0200
committerRemi Collet <remi@php.net>2025-09-05 14:59:24 +0200
commit55ef8f06b2347d22710d3639194dfdcc97cef088 (patch)
treeb05bec309d15dde652ac112906741834469e4ee1 /valkey-search.spec
initial package
Diffstat (limited to 'valkey-search.spec')
-rw-r--r--valkey-search.spec109
1 files changed, 109 insertions, 0 deletions
diff --git a/valkey-search.spec b/valkey-search.spec
new file mode 100644
index 0000000..b2b3dd8
--- /dev/null
+++ b/valkey-search.spec
@@ -0,0 +1,109 @@
+# remirepo/fedora spec file for valkey-search
+#
+# SPDX-FileCopyrightText: Copyright 2025 Remi Collet
+# SPDX-License-Identifier: CECILL-2.1
+# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+#
+# Please, preserve the changelog entries
+#
+
+%global cfgname search.conf
+%global libname search.so
+# Github forge
+%global gh_vend valkey-io
+%global gh_proj valkey-search
+%global forgeurl https://github.com/%{gh_vend}/%{gh_proj}
+#global commit afe5de4ce52bb2b80af565a6f297bf330a65d0d8
+%global tag %{version}
+
+Name: valkey-search
+Version: 1.0.1
+%forgemeta
+Release: 1%{?dist}
+Summary: Vector Similarity Search engine
+# this module is BSD-3-Clause
+# RapidJSON is MIT
+License: BSD-3-Clause AND MIT
+URL: %{forgeurl}
+Source0: %{forgesource}
+# see submodules/CMakeLists.txt
+Source1: makedeps.sh
+Source2: %{name}-deps-%{version}.tgz
+
+# fix check for cached sources
+Patch0: %{name}-offline.patch
+
+BuildRequires: valkey-devel >= 8.0
+BuildRequires: ninja-build
+BuildRequires: cmake
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: openssl-devel
+%if 0%{?fedora} >= 41
+BuildRequires: openssl-devel-engine
+%endif
+
+Requires: valkey(modules_abi)%{?_isa} = %{valkey_modules_abi}
+Requires: valkey >= 8.0
+Supplements: valkey
+
+Provides: bundled(highwayhash)
+Provides: bundled(googletest)
+Provides: bundled(grpc) = 1.70.1
+
+
+
+%description
+valkey-search (BSD-3-Clause), provided as a Valkey module,
+is a high-performance Vector Similarity Search engine optimized
+for AI-driven workloads. It delivers single-digit millisecond
+latency and high QPS, capable of handling billions of vectors
+with over 99% recall.
+
+valkey-search allows users to create indexes and perform similarity
+searches, incorporating complex filters. It supports Approximate Nearest
+Neighbor (ANN) search with HNSW and exact matching using K-Nearest Neighbors
+(KNN). Users can index data using either Valkey Hash or Valkey-JSON data types.
+
+While valkey-search currently focuses on Vector Search, its goal is to extend
+Valkey into a full-fledged search engine, supporting Full Text Search and
+additional indexing options.
+
+
+%prep
+%setup -q -n %{gh_proj}-%{version} -a2
+%patch -P0 -p1 -b .offline
+
+: Configuration file
+cat << EOF | tee %{cfgname}
+# %{gh_proj}
+loadmodule %{valkey_modules_dir}/%{libname}
+EOF
+
+cp .build-release/.deps/grpc/LICENSE LICENSE.grpc
+cp .build-release/.deps/highwayhash/LICENSE LICENSE.highwayhash
+cp .build-release/.deps/googletest/LICENSE LICENSE.googletest
+
+: submodules list
+grep -E '(github.com|"v)' submodules/CMakeLists.txt
+
+
+%build
+./build.sh --verbose
+
+
+%install
+install -Dpm755 .build-release/*%{libname} %{buildroot}%{valkey_modules_dir}/%{libname}
+install -Dpm640 %{cfgname} %{buildroot}%{valkey_modules_cfg}/%{cfgname}
+
+
+%files
+%license LICENSE*
+%doc *.md
+%attr(0640, valkey, root) %config(noreplace) %{valkey_modules_cfg}/%{cfgname}
+%{valkey_modules_dir}/%{libname}
+
+
+%changelog
+* Fri Sep 5 2025 Remi Collet <remi@remirepo.net> - 1.0.1-1
+- initial package