about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/misc/parallel
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/parallel')
-rw-r--r--nixpkgs/pkgs/tools/misc/parallel/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/parallel/default.nix b/nixpkgs/pkgs/tools/misc/parallel/default.nix
new file mode 100644
index 000000000000..06ae22c86ff6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/parallel/default.nix
@@ -0,0 +1,45 @@
+{ fetchurl, stdenv, perl, makeWrapper, procps }:
+
+stdenv.mkDerivation rec {
+  name = "parallel-20190722";
+
+  src = fetchurl {
+    url = "mirror://gnu/parallel/${name}.tar.bz2";
+    sha256 = "19xwdkmia2dw2hry9sbaq0ln79qy9dsqx11hq2s9dcyvhhqqdl0f";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl procps ];
+
+  postInstall = ''
+    wrapProgram $out/bin/parallel \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ procps perl ]}"
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Shell tool for executing jobs in parallel";
+    longDescription =
+      '' GNU Parallel is a shell tool for executing jobs in parallel.  A job
+         is typically a single command or a small script that has to be run
+         for each of the lines in the input.  The typical input is a list of
+         files, a list of hosts, a list of users, or a list of tables.
+
+         If you use xargs today you will find GNU Parallel very easy to use.
+         If you write loops in shell, you will find GNU Parallel may be able
+         to replace most of the loops and make them run faster by running
+         jobs in parallel.  If you use ppss or pexec you will find GNU
+         Parallel will often make the command easier to read.
+
+         GNU Parallel makes sure output from the commands is the same output
+         as you would get had you run the commands sequentially.  This makes
+         it possible to use output from GNU Parallel as input for other
+         programs.
+      '';
+    homepage = https://www.gnu.org/software/parallel/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pSub vrthra ];
+  };
+}