Compare commits
2 commits
7ca821aada
...
aa5eda3c9a
| Author | SHA1 | Date | |
|---|---|---|---|
| aa5eda3c9a | |||
| e9732eb1ec |
1 changed files with 28 additions and 1 deletions
|
|
@ -26,12 +26,38 @@ let
|
||||||
ln -s ${driver}/bin/dylint_driver-nix $out/${name}/dylint-driver
|
ln -s ${driver}/bin/dylint_driver-nix $out/${name}/dylint-driver
|
||||||
'') driverMap}
|
'') driverMap}
|
||||||
'';
|
'';
|
||||||
|
cargo-wrapper = pkgs.writeShellScriptBin "cargo" ''
|
||||||
|
case "$RUSTUP_TOOLCHAIN" in
|
||||||
|
${lib.strings.concatMapAttrsStringSep "\n" (
|
||||||
|
name: driver:
|
||||||
|
let
|
||||||
|
toolchain =
|
||||||
|
(pkgs.rust-bin.fromRustupToolchainFile (pkgs.writeText "${name}-toolchain.toml" name)).override
|
||||||
|
{
|
||||||
|
extensions = [
|
||||||
|
"rustc-dev"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
''
|
||||||
|
${name})
|
||||||
|
exec ${toolchain}/bin/cargo "$@"
|
||||||
|
;;
|
||||||
|
''
|
||||||
|
) driverMap}
|
||||||
|
*)
|
||||||
|
exec cargo "$@"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
pkgs.runCommandLocal "cargo-dylint-wrapped"
|
pkgs.runCommandLocal "cargo-dylint-wrapped"
|
||||||
{
|
{
|
||||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
meta.mainProgram = "cargo-dylint";
|
meta.mainProgram = "cargo-dylint";
|
||||||
passthru = {
|
passthru = {
|
||||||
|
inherit lints;
|
||||||
DYLINT_LIBRARY_PATH = lib.strings.makeLibraryPath (builtins.map (v: v.package) lints);
|
DYLINT_LIBRARY_PATH = lib.strings.makeLibraryPath (builtins.map (v: v.package) lints);
|
||||||
DYLINT_DRIVER_PATH = drivers;
|
DYLINT_DRIVER_PATH = drivers;
|
||||||
};
|
};
|
||||||
|
|
@ -41,7 +67,8 @@ pkgs.runCommandLocal "cargo-dylint-wrapped"
|
||||||
--set-default DYLINT_LIBRARY_PATH "${
|
--set-default DYLINT_LIBRARY_PATH "${
|
||||||
lib.strings.makeLibraryPath (builtins.map (v: v.package) lints)
|
lib.strings.makeLibraryPath (builtins.map (v: v.package) lints)
|
||||||
}" \
|
}" \
|
||||||
--set DYLINT_DRIVER_PATH ${drivers};
|
--set DYLINT_DRIVER_PATH ${drivers} \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ cargo-wrapper ]}
|
||||||
|
|
||||||
ln -s ${cargo-dylint}/bin/dylint-link $out/bin/dylint-link
|
ln -s ${cargo-dylint}/bin/dylint-link $out/bin/dylint-link
|
||||||
''
|
''
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue