51 lines
1.2 KiB
Nix
51 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}";
|
||
|
})
|