73 lines
1.9 KiB
Nix
73 lines
1.9 KiB
Nix
|
|
{
|
||
|
|
lib,
|
||
|
|
stdenv,
|
||
|
|
fetchurl,
|
||
|
|
makeBinaryWrapper,
|
||
|
|
jre11_minimal,
|
||
|
|
jdk11_headless,
|
||
|
|
versionCheckHook,
|
||
|
|
nix-update-script,
|
||
|
|
}:
|
||
|
|
let
|
||
|
|
jre11_minimal_headless = jre11_minimal.override {
|
||
|
|
jdk = jdk11_headless;
|
||
|
|
modules = [
|
||
|
|
"java.logging"
|
||
|
|
];
|
||
|
|
};
|
||
|
|
in
|
||
|
|
stdenv.mkDerivation (finalAttrs: {
|
||
|
|
pname = "rundeck-cli";
|
||
|
|
version = "2.0.9";
|
||
|
|
|
||
|
|
src = fetchurl {
|
||
|
|
url = "https://github.com/rundeck/rundeck-cli/releases/download/v${finalAttrs.version}/rundeck-cli-${finalAttrs.version}-all.jar";
|
||
|
|
hash = "sha256-c6QAgwyRCtoOlS7DEmjyK3BwHV122bilL6H+Hzrv2dQ=";
|
||
|
|
};
|
||
|
|
|
||
|
|
nativeBuildInputs = [ makeBinaryWrapper ];
|
||
|
|
buildInputs = [ jre11_minimal_headless ];
|
||
|
|
|
||
|
|
dontUnpack = true;
|
||
|
|
|
||
|
|
installPhase = ''
|
||
|
|
runHook preInstall
|
||
|
|
|
||
|
|
mkdir -p $out/share/rundeck-cli
|
||
|
|
cp $src $out/share/rundeck-cli/rundeck-cli.jar
|
||
|
|
|
||
|
|
mkdir -p $out/bin
|
||
|
|
makeWrapper ${lib.getExe jre11_minimal_headless} $out/bin/rd \
|
||
|
|
--add-flags "-jar $out/share/rundeck-cli/rundeck-cli.jar"
|
||
|
|
|
||
|
|
runHook postInstall
|
||
|
|
'';
|
||
|
|
|
||
|
|
nativeInstallCheckInputs = [
|
||
|
|
versionCheckHook
|
||
|
|
];
|
||
|
|
versionCheckProgram = "${placeholder "out"}/bin/rd";
|
||
|
|
versionCheckProgramArg = "--version";
|
||
|
|
doInstallCheck = true;
|
||
|
|
|
||
|
|
passthru = {
|
||
|
|
updateScript = nix-update-script { };
|
||
|
|
};
|
||
|
|
|
||
|
|
meta = {
|
||
|
|
description = "Official CLI tool for Rundeck";
|
||
|
|
longDescription = ''
|
||
|
|
The rd command provides command line access to the Rundeck HTTP API,
|
||
|
|
allowing you to access and control your Rundeck server from the
|
||
|
|
command line or shell scripts.
|
||
|
|
'';
|
||
|
|
homepage = "https://github.com/rundeck/rundeck-cli";
|
||
|
|
changelog = "https://github.com/rundeck/rundeck-cli/blob/v${finalAttrs.version}/docs/changes.md";
|
||
|
|
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
|
||
|
|
license = lib.licenses.asl20;
|
||
|
|
platforms = lib.platforms.unix;
|
||
|
|
maintainers = with lib.maintainers; [ liberodark ];
|
||
|
|
mainProgram = "rd";
|
||
|
|
};
|
||
|
|
})
|