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
|