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;
|
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;
|
doNotRemoveReferencesToRustToolchain = true;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -3,21 +3,12 @@
|
||||||
craneLib,
|
craneLib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
toolchainName:
|
toolchainName: toolchain:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "cargo-dylint-driver-${toolchainName}";
|
pname = "cargo-dylint-driver-${toolchainName}";
|
||||||
version = "4.0.0";
|
version = "4.0.0";
|
||||||
src = ../dylint_driver;
|
src = ../dylint_driver;
|
||||||
toolchain =
|
|
||||||
(pkgs.rust-bin.fromRustupToolchainFile (
|
|
||||||
pkgs.writeText "${toolchainName}-toolchain.toml" toolchainName
|
|
||||||
)).override
|
|
||||||
{
|
|
||||||
extensions = [
|
|
||||||
"rustc-dev"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,12 +12,22 @@
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
driver_names = lib.groupBy (v: v.toolchain) lints;
|
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 (
|
driverMap = builtins.mapAttrs (
|
||||||
name: _:
|
name: _:
|
||||||
lib.throwIf ((builtins.match "^[[:digit:]].*$" name) != null)
|
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}'"
|
"Rust toolchains generally do not start with numbers. Make sure you include the channel, as in `nightly-YYYY-MM-DD`. Given '${name}'"
|
||||||
mkCargoDylintDriver
|
mkCargoDylintDriver
|
||||||
"${name}"
|
"${name}"
|
||||||
|
toolchains.${name}
|
||||||
) driver_names;
|
) driver_names;
|
||||||
drivers = pkgs.runCommandLocal "dylint-drivers" { } ''
|
drivers = pkgs.runCommandLocal "dylint-drivers" { } ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
|
|
@ -29,24 +39,11 @@ let
|
||||||
'';
|
'';
|
||||||
cargo-wrapper = pkgs.writeShellScriptBin "cargo" ''
|
cargo-wrapper = pkgs.writeShellScriptBin "cargo" ''
|
||||||
case "$RUSTUP_TOOLCHAIN" in
|
case "$RUSTUP_TOOLCHAIN" in
|
||||||
${lib.strings.concatMapAttrsStringSep "\n" (
|
${lib.strings.concatMapAttrsStringSep "\n" (name: _: ''
|
||||||
name: driver:
|
${name})
|
||||||
let
|
exec ${toolchains.${name}}/bin/cargo "$@"
|
||||||
toolchain =
|
;;
|
||||||
(pkgs.rust-bin.fromRustupToolchainFile (pkgs.writeText "${name}-toolchain.toml" name)).override
|
'') driverMap}
|
||||||
{
|
|
||||||
extensions = [
|
|
||||||
"rustc-dev"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
''
|
|
||||||
${name})
|
|
||||||
exec ${toolchain}/bin/cargo "$@"
|
|
||||||
;;
|
|
||||||
''
|
|
||||||
) driverMap}
|
|
||||||
*)
|
*)
|
||||||
exec ${craneLib.cargo}/bin/cargo "$@"
|
exec ${craneLib.cargo}/bin/cargo "$@"
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue