summary refs log tree commit diff
path: root/pkgs/development/tools/async/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/async/default.nix')
-rw-r--r--pkgs/development/tools/async/default.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/development/tools/async/default.nix b/pkgs/development/tools/async/default.nix
new file mode 100644
index 0000000000000..1b06d8e1adcca
--- /dev/null
+++ b/pkgs/development/tools/async/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "async";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "ctbur";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "19ypflbayi5l0mb8yw7w0a4bq9a3w8nl9jsxapp9m3xggzmsvrxx";
+  };
+
+  cargoSha256 = "1qf52xsd15rj8y9w65zyab7akvzry76k1d4gxvxlz7ph3sl7jl3y";
+
+  meta = with stdenv.lib; {
+    description = "A tool to parallelize shell commands";
+    longDescription = ''
+      `async` is a tool to run shell commands in parallel and is designed to be
+      able to quickly parallelize shell scripts with minimal changes. It was
+      inspired by GNU Parallel, with the main difference being that async
+      retains state between commands by running a server in the background.
+      '';
+    homepage = "https://github.com/ctbur/async";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ minijackson ];
+    platforms = platforms.all;
+  };
+}