about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2022-05-04 15:15:51 +0200
committerGitHub <noreply@github.com>2022-05-04 15:15:51 +0200
commit64db84dbb05b173d2cfb242e201a1e932325b409 (patch)
tree3608198a017f749dda219636ac197f3bfa4d6cc7 /pkgs/development
parentfe8daa36b6264508d6a7c04927c8dc2902227d9f (diff)
parent81b77fd3847a2eb23618b7cbaa23049ba6139fa2 (diff)
Merge pull request #168149 from johanjanssens/master
phpExtensions.openswoole: init at 4.11.1
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/php-packages/openswoole/default.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/pkgs/development/php-packages/openswoole/default.nix b/pkgs/development/php-packages/openswoole/default.nix
new file mode 100644
index 0000000000000..49379dfd54133
--- /dev/null
+++ b/pkgs/development/php-packages/openswoole/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, buildPecl, php, valgrind, pcre2 }:
+let
+  pname = "openswoole";
+  version = "4.11.1";
+in
+buildPecl {
+  inherit pname version;
+
+  sha256 = "sha256-Rhoa4ny86dwB3e86/1W30AlDGRUDYjK8RusquKF5Izg=";
+
+  buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
+  internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
+
+  meta = with lib; {
+    changelog = "https://pecl.php.net/package/openswoole/${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.\nIt 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.\nYou 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;
+  };
+}