summary refs log blame commit diff
path: root/pkgs/development/compilers/rust/cargo-auditable-cargo-wrapper.nix
blob: 6e982aee01a333262ec45f1c501e6f3da933e3ef (plain) (tree)
1
2
3
4
5
6
7
                                                                                
 


                                   
                                      
                                            






                                                                            


                                  



                                                 

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