{ 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 ''