diff --git a/flake.nix b/flake.nix index 8d404bd..62337fb 100644 --- a/flake.nix +++ b/flake.nix @@ -37,19 +37,21 @@ pkgs ; }; + drivers = pkgs.runCommandLocal "dylint-drivers" { } '' + mkdir -p $out/nightly-2025-01-09 + ln -s ${lib.cargo-dylint-driver}/bin/dylint_driver-nix $out/nightly-2025-01-09/dylint-driver + ''; in { packages = lib // { - inherit craneLib; + inherit craneLib drivers; rust = rustTarget; - drivers = pkgs.runCommandLocal "dylint-drivers" {} '' - mkdir -p $out/nightly-nix - ln -s ${lib.cargo-dylint-driver}/bin/dylint_driver-nix $out/nightly-nix/dylint-driver - ''; }; devShells.default = pkgs.mkShell { - RUSTUP_TOOLCHAIN = "nightly-nix"; + RUSTUP_TOOLCHAIN = "nightly-2025-01-09"; + DYLINT_LIBRARY_PATH = "${lib.cargo-dylint-general}/lib/"; + DYLINT_DRIVER_PATH = drivers; nativeBuildInputs = [ rustTarget lib.cargo-dylint diff --git a/lib/cargo-dylint-driver.nix b/lib/cargo-dylint-driver.nix index 74f9f1c..e181971 100644 --- a/lib/cargo-dylint-driver.nix +++ b/lib/cargo-dylint-driver.nix @@ -13,7 +13,7 @@ let strictDeps = true; - RUSTUP_TOOLCHAIN = "nightly-nix"; + RUSTUP_TOOLCHAIN = "nightly-2025-01-09"; }; in diff --git a/lib/cargo-dylint-general.nix b/lib/cargo-dylint-general.nix index a475e39..964be22 100644 --- a/lib/cargo-dylint-general.nix +++ b/lib/cargo-dylint-general.nix @@ -39,9 +39,15 @@ let preBuild = '' cd examples/general + mkdir -p .cargo ''; - RUSTUP_TOOLCHAIN = "nightly-nix"; + + CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "dylint-link"; + + cargoExtraArgs = "-p crate_wide_allow"; + + RUSTUP_TOOLCHAIN = "nightly-2025-01-09"; }; in diff --git a/lib/cargo-dylint.nix b/lib/cargo-dylint.nix index 1e75c70..9b506ec 100644 --- a/lib/cargo-dylint.nix +++ b/lib/cargo-dylint.nix @@ -30,7 +30,7 @@ let pkg-config ]; - RUSTUP_TOOLCHAIN = "nightly-nix"; + RUSTUP_TOOLCHAIN = "nightly-2025-01-09"; doCheck = false; }; @@ -52,7 +52,7 @@ craneLib.buildPackage ( --replace-fail @STABLE_CARGO@ ${craneLib.cargo}/bin/cargo substituteInPlace internal/src/rustup.rs \ - --replace-fail @RUST_TOOLCHAIN@ "nightly-nix" \ + --replace-fail @RUST_TOOLCHAIN@ $RUSTUP_TOOLCHAIN \ --replace-fail @RUST_TOOLCHAIN_PATH@ ${craneLib.rustc} '';