Clean up a bit and remove patches
Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
parent
8c55f225dc
commit
c8a98a05ee
3 changed files with 16 additions and 42 deletions
|
|
@ -40,20 +40,6 @@ craneLib.buildPackage (
|
|||
// {
|
||||
inherit cargoArtifacts;
|
||||
|
||||
patches = [ ./cargo-dylint-patch-rustup.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace dylint/build.rs \
|
||||
--replace-fail @DRIVER_DIR@ ${src}/driver
|
||||
|
||||
substituteInPlace internal/src/cargo.rs \
|
||||
--replace-fail @STABLE_CARGO@ ${craneLib.cargo}/bin/cargo
|
||||
|
||||
substituteInPlace internal/src/rustup.rs \
|
||||
--replace-fail @RUST_TOOLCHAIN@ $RUSTUP_TOOLCHAIN \
|
||||
--replace-fail @RUST_TOOLCHAIN_PATH@ ${craneLib.rustc}
|
||||
'';
|
||||
|
||||
doNotRemoveReferencesToRustToolchain = true;
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3,21 +3,12 @@
|
|||
craneLib,
|
||||
}:
|
||||
|
||||
toolchainName:
|
||||
toolchainName: toolchain:
|
||||
|
||||
let
|
||||
pname = "cargo-dylint-driver-${toolchainName}";
|
||||
version = "4.0.0";
|
||||
src = ../dylint_driver;
|
||||
toolchain =
|
||||
(pkgs.rust-bin.fromRustupToolchainFile (
|
||||
pkgs.writeText "${toolchainName}-toolchain.toml" toolchainName
|
||||
)).override
|
||||
{
|
||||
extensions = [
|
||||
"rustc-dev"
|
||||
];
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,22 @@
|
|||
let
|
||||
inherit (pkgs) lib;
|
||||
driver_names = lib.groupBy (v: v.toolchain) lints;
|
||||
toolchains = builtins.mapAttrs (
|
||||
name: _:
|
||||
|
||||
(pkgs.rust-bin.fromRustupToolchainFile (pkgs.writeText "${name}-toolchain.toml" name)).override {
|
||||
extensions = [
|
||||
"rustc-dev"
|
||||
];
|
||||
}
|
||||
) driver_names;
|
||||
driverMap = builtins.mapAttrs (
|
||||
name: _:
|
||||
lib.throwIf ((builtins.match "^[[:digit:]].*$" name) != null)
|
||||
"Rust toolchains generally do not start with numbers. Make sure you include the channel, as in `nightly-YYYY-MM-DD`. Given '${name}'"
|
||||
mkCargoDylintDriver
|
||||
"${name}"
|
||||
toolchains.${name}
|
||||
) driver_names;
|
||||
drivers = pkgs.runCommandLocal "dylint-drivers" { } ''
|
||||
mkdir -p $out
|
||||
|
|
@ -29,24 +39,11 @@ let
|
|||
'';
|
||||
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}
|
||||
${lib.strings.concatMapAttrsStringSep "\n" (name: _: ''
|
||||
${name})
|
||||
exec ${toolchains.${name}}/bin/cargo "$@"
|
||||
;;
|
||||
'') driverMap}
|
||||
*)
|
||||
exec ${craneLib.cargo}/bin/cargo "$@"
|
||||
;;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue