nixpkgs/pkgs/applications/misc/pueue/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

68 lines
1.8 KiB
Nix
Raw Normal View History

2022-08-07 03:11:41 +00:00
{ lib
, stdenv
, fetchFromGitHub
2023-02-16 14:21:20 +00:00
, Libsystem
2022-08-07 03:11:41 +00:00
, SystemConfiguration
, installShellFiles
, libiconv
, rustPlatform
}:
2020-02-02 09:20:00 +00:00
rustPlatform.buildRustPackage rec {
pname = "pueue";
2024-06-05 02:33:00 +00:00
version = "3.4.1";
2020-02-02 09:20:00 +00:00
src = fetchFromGitHub {
owner = "Nukesor";
2022-08-07 03:11:41 +00:00
repo = "pueue";
2020-02-02 09:20:00 +00:00
rev = "v${version}";
2024-06-05 02:33:00 +00:00
hash = "sha256-b4kZ//+rO70uZh1fvI4A2dbCZ7ymci9g/u5keMBWYf8=";
2020-02-02 09:20:00 +00:00
};
2024-06-05 02:33:00 +00:00
cargoHash = "sha256-sTpxcJs5I7LzVw56ka5PlFixJSiJeCae9serS0FhmuA=";
2020-02-02 09:20:00 +00:00
2023-02-16 14:21:20 +00:00
nativeBuildInputs = [
installShellFiles
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
rustPlatform.bindgenHook
];
2020-05-09 05:00:00 +00:00
2022-08-07 03:11:41 +00:00
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
2023-02-16 14:21:20 +00:00
Libsystem
2022-08-07 03:11:41 +00:00
SystemConfiguration
libiconv
];
2022-08-07 03:11:41 +00:00
checkFlags = [
"--test client_tests"
"--skip=test_single_huge_payload"
"--skip=test_create_unix_socket"
];
2020-05-09 05:00:00 +00:00
postInstall = ''
2020-11-18 04:20:00 +00:00
for shell in bash fish zsh; do
2020-05-09 05:00:00 +00:00
$out/bin/pueue completions $shell .
done
2020-11-18 04:20:00 +00:00
installShellCompletion pueue.{bash,fish} _pueue
2020-05-09 05:00:00 +00:00
'';
2020-02-02 09:20:00 +00:00
meta = with lib; {
homepage = "https://github.com/Nukesor/pueue";
2022-08-07 03:11:41 +00:00
description = "Daemon for managing long running shell commands";
longDescription = ''
Pueue is a command-line task management tool for sequential and parallel
execution of long-running tasks.
Simply put, it's a tool that processes a queue of shell commands. On top
of that, there are a lot of convenient features and abstractions.
Since Pueue is not bound to any terminal, you can control your tasks from
any terminal on the same machine. The queue will be continuously
processed, even if you no longer have any active ssh sessions.
'';
changelog = "https://github.com/Nukesor/pueue/blob/v${version}/CHANGELOG.md";
2020-02-02 09:20:00 +00:00
license = licenses.mit;
maintainers = with maintainers; [ sarcasticadmin ];
2020-02-02 09:20:00 +00:00
};
}