depot/pkgs/development/php-packages/openswoole/default.nix
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

40 lines
1.4 KiB
Nix

{
lib,
stdenv,
buildPecl,
valgrind,
pcre2,
fetchFromGitHub,
php,
}:
let
version = "22.1.2";
in
buildPecl {
inherit version;
pname = "openswoole";
src = fetchFromGitHub {
owner = "openswoole";
repo = "swoole-src";
rev = "v${version}";
hash = "sha256-Z26E1PdKypB/MImCHFgA3rJW5LvVaLZsQUxRv0RcFuo=";
};
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ valgrind ];
meta = with lib; {
changelog = "https://github.com/openswoole/swoole-src/releases/tag/v${version}";
description = "Coroutine-based concurrency library and high performance programmatic server for PHP";
homepage = "https://www.openswoole.com/";
license = licenses.asl20;
longDescription = ''
Open Swoole allows you to build high-performance, async multi-tasking webservices and applications using an easy to use Coroutine API.\nOpen Swoole is a complete async solution that has built-in support for async programming via coroutines.
It offers a range of multi-threaded I/O modules (HTTP Server, WebSockets, TaskWorkers, Process Pools) out of the box and support for popular PHP clients like PDO for MySQL, and CURL.
You can use the sync or async, Coroutine API to write whole applications or create thousands of light weight Coroutines within one Linux process.
'';
maintainers = teams.php.members;
broken = lib.versionAtLeast php.version "8.4";
};
}