summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohan Janssens <johan@janssens.me>2022-04-10 16:46:21 +0200
committerJohan Janssens <johan@janssens.me>2022-05-04 14:29:00 +0200
commit81b77fd3847a2eb23618b7cbaa23049ba6139fa2 (patch)
treec10811c2e64208a6ea526c0253f1b578900c28a3
parent67287aff71ed25a38dad6e6406988f7a5690780c (diff)
downloadnixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.tar
nixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.tar.gz
nixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.tar.bz2
nixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.tar.lz
nixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.tar.xz
nixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.tar.zst
nixpkgs-81b77fd3847a2eb23618b7cbaa23049ba6139fa2.zip
php74Extensions.openswoole: init at 4.11.1
Request to add openswoole: https://pecl.php.net/package/openswoole

Open Swoole is a fork of [Swoole](https://github.com/johanjanssens/nixpkgs/tree/master/pkgs/development/php-packages/swoole). It is actively maintained by some of the original developers and has growing community.

- https://github.com/openswoole
- https://openswoole.com/
- https://twitter.com/openswoole
-rw-r--r--pkgs/development/php-packages/openswoole/default.nix22
-rw-r--r--pkgs/top-level/php-packages.nix2
2 files changed, 24 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 00000000000..49379dfd541
--- /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;
+  };
+}
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 1cc267de788..c3929338088 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -209,6 +209,8 @@ lib.makeScope pkgs.newScope (self: with self; {
       sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
     });
 
+    openswoole = callPackage ../development/php-packages/openswoole { };
+
     pdlib = callPackage ../development/php-packages/pdlib { };
 
     pcov = callPackage ../development/php-packages/pcov { };