# 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 >= 12 BuildRequires: gcc-c++ BuildRequires: openssl-devel %if 0%{?fedora} >= 41 BuildRequires: openssl-devel-engine %endif BuildRequires: systemd-devel 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 - 1.0.1-1 - initial package