nixpkgs/pkgs/by-name/en/engage/package.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

48 lines
1.1 KiB
Nix

{ lib
, installShellFiles
, rustPlatform
, fetchgit
}:
let
pname = "engage";
version = "0.2.0";
in
rustPlatform.buildRustPackage {
inherit pname version;
# fetchFromGitLab doesn't work on GitLab's end for unknown reasons
src = fetchgit {
url = "https://or.computer.surgery/charles/${pname}";
rev = "v${version}";
hash = "sha256-niXh63xTpXSp9Wqwfi8hUBKJSClOUSvB+TPCTaqHfZk=";
};
cargoHash = "sha256-CKe0nb5JHi5+1UlVOl01Q3qSXQLlpEBdat/IzRKfaz0=";
nativeBuildInputs = [
installShellFiles
];
postInstall = "installShellCompletion --cmd ${pname} "
+ builtins.concatStringsSep
" "
(builtins.map
(shell: "--${shell} <($out/bin/${pname} completions ${shell})")
[
"bash"
"fish"
"zsh"
]
);
meta = {
description = "A task runner with DAG-based parallelism";
mainProgram = "engage";
homepage = "https://or.computer.surgery/charles/engage";
changelog = "https://or.computer.surgery/charles/engage/-/blob/v${version}/CHANGELOG.md";
license = with lib.licenses; [ asl20 mit ];
maintainers = with lib.maintainers; [ CobaltCause ];
};
}