1{
2 lib,
3 stdenv,
4 buildPecl,
5 php,
6 valgrind,
7 pcre2,
8 fetchFromGitHub,
9}:
10
11let
12 version = "6.0.2";
13in
14buildPecl {
15 inherit version;
16 pname = "swoole";
17
18 src = fetchFromGitHub {
19 owner = "swoole";
20 repo = "swoole-src";
21 rev = "v${version}";
22 hash = "sha256-mCJj0vLpJinxK/EfPq+CeVWnoxouqClOKYbrgj7GNDc=";
23 };
24
25 buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ valgrind ];
26
27 # tests require internet access
28 doCheck = false;
29
30 meta = {
31 changelog = "https://github.com/swoole/swoole-src/releases/tag/v${version}";
32 description = "Coroutine-based concurrency library for PHP";
33 homepage = "https://www.swoole.com";
34 license = lib.licenses.asl20;
35 teams = [ lib.teams.php ];
36 };
37}