Clean up a bit and remove patches

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2025-03-04 15:34:30 +01:00
parent 8c55f225dc
commit c8a98a05ee
3 changed files with 16 additions and 42 deletions

View file

@ -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;
}
)

View file

@ -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

View file

@ -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 "$@"
;;