-
Notifications
You must be signed in to change notification settings - Fork 0
/
first_last_agg.spec
80 lines (69 loc) · 2.37 KB
/
first_last_agg.spec
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
%global pname first_last_agg
%global sname first_last_agg
%global pginstdir /usr/pgsql-%{pgmajorversion}
%ifarch ppc64 ppc64le s390 s390x armv7hl
%if 0%{?rhel} && 0%{?rhel} == 7
%{!?llvm:%global llvm 0}
%else
%{!?llvm:%global llvm 1}
%endif
%else
%{!?llvm:%global llvm 1}
%endif
Name: %{sname}_%{pgmajorversion}
Version: 0.1.4
Release: 1PIGSTY%{?dist}
Summary: PostgreSQL extension providing first and last aggregate functions.
License: BSD 2-Clause
URL: https://github.com/wulczer/first_last_agg
Source0: first_last_agg-%{version}.tar.gz
BuildRequires: postgresql%{pgmajorversion}-devel pgdg-srpm-macros >= 1.0.27
Requires: postgresql%{pgmajorversion}-server
%description
A simple extension providing two aggregate functions, last and first aggregate functions, operating on any element type and returning the last or the first value of the group.
Since by default the ordering inside groups created by a GROUP BY expression is not defined, it is advisable to use an ORDER BY clause inside the aggregate expression (see the aggregate function syntax). This feature has been added in PostgreSQL 9.0.
This extension is intended to replace the corresponding first and last aggregates from the PostgreSQL wiki.
%if %llvm
%package llvmjit
Summary: Just-in-time compilation support for %{sname}
Requires: %{name}%{?_isa} = %{version}-%{release}
%if 0%{?rhel} && 0%{?rhel} == 7
%ifarch aarch64
Requires: llvm-toolset-7.0-llvm >= 7.0.1
%else
Requires: llvm5.0 >= 5.0
%endif
%endif
%if 0%{?suse_version} >= 1315 && 0%{?suse_version} <= 1499
BuildRequires: llvm6-devel clang6-devel
Requires: llvm6
%endif
%if 0%{?suse_version} >= 1500
BuildRequires: llvm15-devel clang15-devel
Requires: llvm15
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8
Requires: llvm => 13.0
%endif
%description llvmjit
This packages provides JIT support for %{sname}
%endif
%prep
%setup -q -n %{sname}-%{version}
%build
PATH=%{pginstdir}/bin:$PATH %{__make} %{?_smp_mflags}
%install
%{__rm} -rf %{buildroot}
PATH=%{pginstdir}/bin:$PATH %{__make} %{?_smp_mflags} install DESTDIR=%{buildroot}
%files
%{pginstdir}/lib/%{pname}.so
%{pginstdir}/share/extension/%{pname}.control
%{pginstdir}/share/extension/%{pname}*sql
%if %llvm
%files llvmjit
%{pginstdir}/lib/bitcode/*
%endif
%exclude %{pginstdir}/doc/extension/first_last_agg.md
%changelog
* Mon Jul 29 2024 Vonng <[email protected]> - 0.1.4
- Initial RPM release, used by Pigsty <https://pigsty.io>