# remirepo/fedora spec file for valkey-bloom # # 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 bloom.conf %global libname bloom.so # Github forge %global gh_vend valkey-io %global gh_proj valkey-bloom %global forgeurl https://github.com/%{gh_vend}/%{gh_proj} #global commit afe5de4ce52bb2b80af565a6f297bf330a65d0d8 %global tag %{version} Name: valkey-bloom Version: 1.0.0 %forgemeta Release: 1%{?dist} Summary: Probabilistic data structures # this module is BSD-3-Clause # rust lilbraries are Apache-2.0, MIT, BSD-2-CLAUSE License: BSD-3-Clause AND BSD-2-CLAUSE AND Apache-2.0 AND MIT URL: %{forgeurl} Source0: %{forgesource} # get rust dependencies Source2: %{name}-deps-%{version}.tgz Source3: makedeps.sh BuildRequires: valkey-devel >= 8.0 BuildRequires: cargo-rpm-macros >= 24 BuildRequires: cargo >= 1.82 BuildRequires: rust >= 1.82 BuildRequires: clang-devel Requires: valkey(modules_abi)%{?_isa} = %{valkey_modules_abi} Requires: valkey >= 8.0 Supplements: valkey %description Valkey-Bloom (BSD-3-Clause) is a Rust based Valkey-Module which brings a Bloom Filter (Module) data type into Valkey and supports versions >= 8.0. With this, users can create bloom filters (space efficient probabilistic data structures) to add elements, check whether elements exists, auto scale their filters, customize bloom filter properties, perform RDB Save and load operations, etc. %prep %setup -q -n %{gh_proj}-%{version} -a2 : Configuration file cat << EOF | tee %{cfgname} # %{gh_proj} loadmodule %{valkey_modules_dir}/%{libname} EOF : Create cargo configuration to use vendor directory %cargo_prep -v $PWD/mycargo cat .cargo/config.toml : Required rust version grep -h rust-version mycargo/*/Cargo.toml Cargo.toml | sort -u | tail -n 8 : Bundled projects Licenses for proj in mycargo/*; do for lic in $proj/LICENSE*; do [ -f $lic ] && cp $lic $(basename $lic).$(basename $proj) done done %build %cargo_build %install install -Dpm755 target/rpm/*%{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 * Tue Aug 5 2025 Remi Collet - 1.0.0-1 - initial package