core/pkgs/by-name/ru/rust/cargo-auditable-cargo-wrapper.nix
2024-06-30 09:16:52 +01:00

37 lines
821 B
Nix

{
lib,
runCommand,
makeBinaryWrapper,
rust-audit-info,
cargo,
cargo-auditable,
}:
if cargo-auditable.meta.broken then
cargo
else
runCommand "auditable-${cargo.name}"
{
nativeBuildInputs = [ makeBinaryWrapper ];
passthru.tests = runCommand "rust-audit-info-test" { nativeBuildInputs = [ rust-audit-info ]; } ''
rust-audit-info ${lib.getBin rust-audit-info}/bin/rust-audit-info > $out
'';
meta = cargo-auditable.meta // {
mainProgram = "cargo";
};
}
''
mkdir -p $out/bin
makeWrapper ${cargo}/bin/cargo $out/bin/cargo \
--set CARGO_AUDITABLE_IGNORE_UNSUPPORTED 1 \
--prefix PATH : ${
lib.makeBinPath [
cargo
cargo-auditable
]
} \
--add-flags auditable
''