From 89f5401e5ddbaabc76b0874e9b083891e6c4df10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Tue, 4 Mar 2025 10:36:46 +0100 Subject: [PATCH] Build main binary with the latest stable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcel Müller --- flake.nix | 6 +----- lib/cargo-dylint-general.nix | 15 ++++++++------- lib/mk-dylint.nix | 12 +++++++----- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/flake.nix b/flake.nix index 7bc926b..2b4a11b 100644 --- a/flake.nix +++ b/flake.nix @@ -23,11 +23,7 @@ ]; }; - rustTarget = pkgs.rust-bin.nightly."2025-01-09".default.override { - extensions = [ - "rustc-dev" - ]; - }; + rustTarget = pkgs.rust-bin.stable.latest.default.override { }; craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustTarget; lib = import ./lib { diff --git a/lib/cargo-dylint-general.nix b/lib/cargo-dylint-general.nix index 964be22..e17ac7d 100644 --- a/lib/cargo-dylint-general.nix +++ b/lib/cargo-dylint-general.nix @@ -20,6 +20,10 @@ let sha256 = "sha256-Z8uuewp7Buoadayc0oTafmfvwNT36KukWKiHxL/mQfI="; }; + crane = craneLib.overrideToolchain ( + pkgs.rust-bin.nightly."2025-01-09".default.override { extensions = [ "rustc-dev" ]; } + ); + commonArgs = { inherit pname version; @@ -35,23 +39,20 @@ let cargo-dylint ]; - cargoVendorDir = craneLib.vendorCargoDeps { cargoLock = ./cargo-dylint-general-Cargo.lock; }; + cargoVendorDir = crane.vendorCargoDeps { cargoLock = ./cargo-dylint-general-Cargo.lock; }; preBuild = '' cd examples/general mkdir -p .cargo ''; - - CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "dylint-link"; - - cargoExtraArgs = "-p crate_wide_allow"; + cargoExtraArgs = "-p general"; RUSTUP_TOOLCHAIN = "nightly-2025-01-09"; }; in -craneLib.buildPackage ( +crane.buildPackage ( commonArgs // { cargoArtifacts = null; @@ -59,7 +60,7 @@ craneLib.buildPackage ( doCheck = false; postFixup = '' - ${util-linux}/bin/rename .so @$RUSTUP_TOOLCHAIN.so $out/lib/*.so + mv $out/lib/libgeneral{.so,@$RUSTUP_TOOLCHAIN.so} ''; doNotRemoveReferencesToRustToolchain = true; diff --git a/lib/mk-dylint.nix b/lib/mk-dylint.nix index c1831e5..06cbdb4 100644 --- a/lib/mk-dylint.nix +++ b/lib/mk-dylint.nix @@ -21,12 +21,14 @@ let } ) ) driver_names; - drivers = pkgs.runCommandLocal "dylint-drivers" { } ( - lib.strings.concatMapAttrsStringSep "\n" (name: driver: '' + drivers = pkgs.runCommandLocal "dylint-drivers" { } '' + mkdir -p $out + + ${lib.strings.concatMapAttrsStringSep "\n" (name: driver: '' mkdir -p $out/nightly-${name} ln -s ${driver}/bin/dylint_driver-nix $out/nightly-${name}/dylint-driver - '') driverMap - ); + '') driverMap} + ''; in pkgs.runCommandLocal "cargo-dylint-wrapped" { @@ -35,6 +37,6 @@ pkgs.runCommandLocal "cargo-dylint-wrapped" } '' makeWrapper ${cargo-dylint}/bin/cargo-dylint $out/bin/cargo-dylint \ - --set DYLINT_LIBRARY_PATH ${lib.strings.makeLibraryPath (builtins.map (v: v.package) lints)} \ + --set-default DYLINT_LIBRARY_PATH "${lib.strings.makeLibraryPath (builtins.map (v: v.package) lints)}" \ --set DYLINT_DRIVER_PATH ${drivers}; ''