fa5436e0a7
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{
|
|
bundlerApp,
|
|
defaultGemConfig,
|
|
bundlerUpdateScript,
|
|
lib,
|
|
makeWrapper,
|
|
puppet-bolt,
|
|
testers,
|
|
}:
|
|
|
|
(bundlerApp {
|
|
pname = "bolt";
|
|
|
|
gemdir = ./.;
|
|
exes = [ "bolt" ];
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
gemConfig = defaultGemConfig // {
|
|
bolt = attrs: {
|
|
# scripts in libexec will be executed by remote host,
|
|
# so shebangs should remain unchanged
|
|
dontPatchShebangs = true;
|
|
};
|
|
};
|
|
|
|
postBuild = ''
|
|
# Set BOLT_GEM=1 to remove warning
|
|
wrapProgram $out/bin/bolt --set BOLT_GEM 1
|
|
'';
|
|
|
|
passthru = {
|
|
tests.version = testers.testVersion {
|
|
package = puppet-bolt;
|
|
version = (import ./gemset.nix).bolt.version;
|
|
};
|
|
updateScript = bundlerUpdateScript "puppet-bolt";
|
|
};
|
|
|
|
meta = {
|
|
description = "Execute commands remotely over SSH and WinRM";
|
|
homepage = "https://github.com/puppetlabs/bolt";
|
|
changelog = "https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md";
|
|
license = lib.licenses.asl20;
|
|
mainProgram = "bolt";
|
|
maintainers = with lib.maintainers; [ uvnikita anthonyroussel ];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
}).overrideAttrs (old: {
|
|
name = "puppet-bolt-${(import ./gemset.nix).bolt.version}";
|
|
})
|