blob: ce68e42248381c7761fddd6de731c30e7a044676 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# remirepo/fedora spec file for redis-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 redisbloom.so
# Github forge
%global gh_vend RedisBloom
%global gh_proj RedisBloom
%global forgeurl https://github.com/%{gh_vend}/%{gh_proj}
#global commit afe5de4ce52bb2b80af565a6f297bf330a65d0d8
%global tag v%{version}
# for EL-8 to avoid TAG usage
%global archivename %{gh_proj}-%{version}
Name: redis-bloom
Version: 8.2.0
Release: 1%{?dist}
Summary: Probabilistic data structures
# Starting with Redis 8, RedisTimeSeries is licensed under your choice of:
# (i) Redis Source Available License 2.0 (RSALv2);
# (ii) the Server Side Public License v1 (SSPLv1); or
# (iii) the GNU Affero General Public License version 3 (AGPLv3).
# RedisModulesSDK is MIT
# bloom is BSD
# murmur2 is Public Domain
# readies is BSD-3-Clause
# rmutil is AGPLv3
# t-digest-c is MIT
License: AGPL-3.0-only AND MIT AND BSD-3-Clause
URL: %{forgeurl}
Source0: %{name}-%{version}.tgz
# get full git snapshot with submodules
Source1: makesrc.sh
BuildRequires: redis-devel >= 8.2
BuildRequires: make
BuildRequires: cmake
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: python3
BuildRequires: python3-pip
BuildRequires: openssl-devel
BuildRequires: jq
Provides: bundled(RedisModulesSDK)
Provides: bundled(readies)
Provides: bundled(t-digest-c)
Requires: redis(modules_abi)%{?_isa} = %{redis_modules_abi}
Requires: redis >= 8.2
Supplements: redis
%description
RedisBloom adds a set of probabilistic data structures to Redis, including
Bloom filter, Cuckoo filter, Count-min sketch, Top-K, and t-digest.
Using this capability, you can query streaming data without needing to
store all the elements of the stream.
%prep
%setup -q -n %{gh_proj}-%{version}
: Configuration file
cat << EOF | tee %{cfgname}
# %{gh_proj}
loadmodule %{redis_modules_dir}/%{libname}
EOF
cp -p deps/RedisModulesSDK/LICENSE LICENSE.RedisModulesSDK # MIT
cp -p deps/readies/LICENSE LICENSE.readies # BSD-3-Clause
cp -p deps/t-digest-c/LICENSE.md LICENSE.t-digest-c # MIT
%build
%global make_flags DEBUG="" VERBOSE=1 LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC"
make %{?_smp_mflags} %{make_flags} build
%install
install -Dpm755 bin/linux-*-release/%{libname} %{buildroot}%{redis_modules_dir}/%{libname}
install -Dpm640 %{cfgname} %{buildroot}%{redis_modules_cfg}/%{cfgname}
%files
%license LICENSE.*
%license licenses/AGPLv3.txt
%doc *.md
%attr(0640, redis, root) %config(noreplace) %{redis_modules_cfg}/%{cfgname}
%{redis_modules_dir}/%{libname}
%changelog
* Mon Aug 4 2025 Remi Collet <remi@remirepo.net> - 8.2.0-1
- update to 8.2.0
* Fri Jul 25 2025 Remi Collet <remi@remirepo.net> - 8.0.1-1
- initial package
|