xjobs: init at 20200726
xjobs reads job descriptions line by line and executes them in parallel. Signed-off-by: Sirio Balmelli <sirio@b-ad.ch> Co-authored-by: legendofmiracles <30902201+legendofmiracles@users.noreply.github.com> Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
parent
4f51b501fe
commit
f088ce558f
2 changed files with 67 additions and 0 deletions
65
pkgs/tools/misc/xjobs/default.nix
Normal file
65
pkgs/tools/misc/xjobs/default.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
, flex, installShellFiles, ncurses, which
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xjobs";
|
||||
version = "20200726";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge//xjobs/files/${pname}-${version}.tgz";
|
||||
sha256 = "0ay6gn43pnm7r1jamwgpycl67bjg5n87ncl27jb01w2x6x70z0i3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
flex
|
||||
installShellFiles
|
||||
which
|
||||
];
|
||||
buildInputs = [
|
||||
ncurses
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
./${pname} -V
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{bin,etc}
|
||||
install -m755 ${pname} $out/bin/${pname}
|
||||
install -m644 ${pname}.rc $out/etc/${pname}.rc
|
||||
installManPage ${pname}.1
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A program which reads job descriptions line by line and executes them in parallel";
|
||||
homepage = "https://www.maier-komor.de/xjobs.html";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.siriobalmelli ];
|
||||
longDescription = ''
|
||||
xjobs reads job descriptions line by line and executes them in parallel.
|
||||
|
||||
It limits the number of parallel executing jobs and starts new jobs when jobs finish.
|
||||
|
||||
Therefore, it combines the arguments from every input line with the utility
|
||||
and arguments given on the command line.
|
||||
If no utility is given as an argument to xjobs,
|
||||
then the first argument on every job line will be used as utility.
|
||||
To execute utility xjobs searches the directories given in the PATH environment variable
|
||||
and uses the first file found in these directories.
|
||||
|
||||
xjobs is most useful on multi-processor/core machines when one needs to execute
|
||||
several time consuming command several that could possibly be run in parallel.
|
||||
With xjobs this can be achieved easily, and it is possible to limit the load
|
||||
of the machine to a useful value.
|
||||
|
||||
It works similar to xargs, but starts several processes simultaneously
|
||||
and gives only one line of arguments to each utility call.
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -4307,6 +4307,8 @@ in
|
|||
|
||||
xkcdpass = with python3Packages; toPythonApplication xkcdpass;
|
||||
|
||||
xjobs = callPackage ../tools/misc/xjobs { };
|
||||
|
||||
xob = callPackage ../tools/X11/xob { };
|
||||
|
||||
z-lua = callPackage ../tools/misc/z-lua { };
|
||||
|
|
Loading…
Reference in a new issue