diff options
author | Remi Collet <remi@remirepo.net> | 2025-08-05 11:57:25 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2025-08-05 11:57:25 +0200 |
commit | 00f941c88b62713a67074add2558024050b79a11 (patch) | |
tree | 3979567a11e6786ab325c43b1b5bb22b0d998ed8 /valkey-bloom.spec |
initial package
Diffstat (limited to 'valkey-bloom.spec')
-rw-r--r-- | valkey-bloom.spec | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/valkey-bloom.spec b/valkey-bloom.spec new file mode 100644 index 0000000..5f76dc1 --- /dev/null +++ b/valkey-bloom.spec @@ -0,0 +1,98 @@ +# 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} +# for EL-8 to avoid TAG usage +%global archivename %{gh_proj}-%{version} + +Name: valkey-bloom +Version: 1.0.0 +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: %{name}-%{version}.tgz +Source1: makesrc.sh +# get full git snapshot with submodules +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 <remi@remirepo.net> - 1.0.0-1 +- initial package |