summaryrefslogtreecommitdiffstats
path: root/redis-timeseries.spec
blob: 16ad4bdc8f0883e11a38f960c942abdacc03b666 (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
108
109
110
111
112
113
114
115
# remirepo/fedora spec file for redis-timeseries
#
# 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          timeseries.conf
%global libname          redistimeseries.so
# Github forge
%global gh_vend          RedisTimeSeries
%global gh_proj          RedisTimeSeries
%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-timeseries
Version:           8.0.1
Release:           1%{?dist}
Summary:           Time series as native data type
# 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). 
# LibMR is AGPL-3.0-only
# hiredis is BSD-3-Clause
# libevent is BSD-3-Clause
# RedisModulesSDK is MIT
# readies is BSD-3-Clause
# cpu_features is Apache-2.0
# dragonbox is Apache-2.0
# fast_double_parser is Apache-2.0
# minunit is MIT
License:           AGPL-3.0-only AND MIT AND BSD-3-Clause AND Apache-2.0
URL:               %{forgeurl}
Source0:           %{name}-%{version}.tgz
# get full git snapshot with submodules
Source1:           makesrc.sh

BuildRequires:     redis-devel
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(LibMR)
Provides:          bundled(hiredis)
Provides:          bundled(libevent)
Provides:          bundled(RedisModulesSDK)
Provides:          bundled(cpu_features)
Provides:          bundled(fast_double_parser)
Provides:          bundled(readies)
Provides:          bundled(dragonbox)
Provides:          bundled(minunit)

Requires:          redis(modules_abi)%{?_isa} = %{redis_modules_abi}
Requires:         (redis >= 8.0 with redis < 8.1)
Supplements:       redis


%description
RedisTimeSeries can hold multiple time series. Each time series is accessible
via a single Redis key (similar to any other Redis data structure).


%prep
%setup -q -n %{gh_proj}-%{version}

: Configuration file
cat << EOF | tee %{cfgname}
# %{gh_proj}
loadmodule %{redis_modules_dir}/%{libname}
EOF

cp -p deps/LibMR/LICENSE.txt           LICENSE.LibMR              # AGPLv3
cp -p deps/RedisModulesSDK/LICENSE     LICENSE.RedisModulesSDK    # MIT
cp -p deps/cpu_features/LICENSE        LICENSE.cpu_features       # Apache-2.0
cp -p deps/readies/LICENSE             LICENSE.readies            # BSD-3-Clause
cp -p deps/fast_double_parser/LICENSE  LICENSE.fast_double_parser # Apache-2.0
cp -p deps/LibMR/deps/hiredis/COPYING  LICENSE.hiredis            # BSD-3-Clause
cp -p deps/LibMR/deps/libevent/LICENSE LICENSE.libevent           # BSD-3-Clause


%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
* Thu Jul 24 2025 Remi Collet <remi@remirepo.net> - 8.0.1-1
- initial package