# remirepo/fedora spec file for valkey-bloom # # SPDX-FileCopyrightText: Copyright 2025-2026 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.1 %forgemeta Release: 1%{?dist} Summary: Probabilistic data structures # this module is BSD-3-Clause # rust libraries are Apache-2.0, MIT, BSD-2-CLAUSE License: BSD-3-Clause AND BSD-2-CLAUSE AND Apache-2.0 AND MIT AND ISC 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 >= %{valkey_version} 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 : Bundled projects Licenses for proj in mycargo/*; do for lic in $proj/LICENSE*; do [ -f $lic ] && cp $lic $(basename $lic).$(basename $proj) done done : Licenses list cargo tree \ --workspace --offline --edges no-build,no-dev,no-proc-macro \ --no-dedupe --target all --prefix none --format "{l}: {p}" \ | sed -e "s: ($(pwd)[^)]*)::g" -e "s: / :/:g" -e "s:/: OR :g" | sort -u : Required rust version grep -h rust-version mycargo/*/Cargo.toml Cargo.toml | sort -u | tail -n 8 %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 Feb 24 2026 Remi Collet - 1.0.1-1 - update to 1.0.1 * Tue Aug 5 2025 Remi Collet - 1.0.0-1 - initial package