summaryrefslogtreecommitdiff
path: root/swoole.spec
blob: 9819e9a84c1b1bb299adedf7f95b64c843ed57c5 (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
%global ini_name 40-swoole.ini

Name:		swoole
Version:	5.1.3
Release:	1
Summary:        Event-driven asynchronous and concurrent networking engine with high performance for PHP
License:        Apache 2.0
URL:            https://www.swoole.com/
Source0:        https://github.com/swoole/swoole-src/releases/download/v%{version}/%{name}-%{version}.tgz
Patch0:         swoole-5.1.3-fix-brotli-libname.patch
BuildRequires:	php(language) >= 8.0
BuildRequires:	php-cli >= 8.0
BuildRequires:  php-devel
BuildRequires:	openssl-devel >= 1.0.2
BuildRequires:	curl-devel
BuildRequires:	c-ares-devel
BuildRequires:	libnghttp2-devel
BuildRequires:	pkgconfig(libbrotlienc)
BuildRequires:	pkgconfig(libbrotlidec)
BuildRequires:	libpq-devel
Requires:	php(api) = %{php_core_api}
Requires:	php-curl

%description
Event-driven asynchronous and concurrent networking engine with high performance for PHP.
	- event-driven
	- coroutine
	- asynchronous non-blocking
	- multi-thread reactor
	- multi-process worker
	- multi-protocol
	- millisecond timer
	- built-in tcp/http/websocket/http2 server
	- coroutine tcp/http/websocket client
	- coroutine mysql client
	- coroutine redis client
	- coroutine read/write file system
	- coroutine dns lookup
	- support IPv4/IPv6/UnixSocket/TCP/UDP
	- support SSL/TLS encrypted transmission

%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}
Requires: php-devel >= 8.0

%description devel
Development files for %{name}.

%prep
%autosetup -p1 -n %{name}-%{version}

# Drop in the bit of configuration
cat << 'EOF' | tee %{ini_name}
; Enable swoole extension module
extension = swoole.so
EOF

%build
%{_bindir}/phpize
%configure \
	--enable-openssl \
	--with-openssl-dir=%{_prefix} \
	--enable-brotli \
	--enable-cares \
	--enable-swoole-curl \
	--with-nghttp2-dir=%{_prefix} \
	--enable-swoole-pgsql
%make_build

%install
%make_install INSTALL_ROOT=%{buildroot}

install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}

%files
%license LICENSE
%{php_inidir}/%{ini_name}
%{_libdir}/php/modules/swoole.so

%files devel
%{_includedir}/php/ext/swoole

%changelog
* Wed Jul 31 2024 Funda Wang <fundawang@yeah.net> - 5.1.3-1
- update to version 5.1.3

* Mon Aug 21 2023 Funda Wang <fundawang@yeah.net> - 5.0.3-1
- Import package