Build main binary with the latest stable

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2025-03-04 10:36:46 +01:00
parent 22378a7c39
commit 89f5401e5d
3 changed files with 16 additions and 17 deletions

View file

@ -23,11 +23,7 @@
]; ];
}; };
rustTarget = pkgs.rust-bin.nightly."2025-01-09".default.override { rustTarget = pkgs.rust-bin.stable.latest.default.override { };
extensions = [
"rustc-dev"
];
};
craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustTarget; craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustTarget;
lib = import ./lib { lib = import ./lib {

View file

@ -20,6 +20,10 @@ let
sha256 = "sha256-Z8uuewp7Buoadayc0oTafmfvwNT36KukWKiHxL/mQfI="; sha256 = "sha256-Z8uuewp7Buoadayc0oTafmfvwNT36KukWKiHxL/mQfI=";
}; };
crane = craneLib.overrideToolchain (
pkgs.rust-bin.nightly."2025-01-09".default.override { extensions = [ "rustc-dev" ]; }
);
commonArgs = { commonArgs = {
inherit pname version; inherit pname version;
@ -35,23 +39,20 @@ let
cargo-dylint cargo-dylint
]; ];
cargoVendorDir = craneLib.vendorCargoDeps { cargoLock = ./cargo-dylint-general-Cargo.lock; }; cargoVendorDir = crane.vendorCargoDeps { cargoLock = ./cargo-dylint-general-Cargo.lock; };
preBuild = '' preBuild = ''
cd examples/general cd examples/general
mkdir -p .cargo mkdir -p .cargo
''; '';
cargoExtraArgs = "-p general";
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "dylint-link";
cargoExtraArgs = "-p crate_wide_allow";
RUSTUP_TOOLCHAIN = "nightly-2025-01-09"; RUSTUP_TOOLCHAIN = "nightly-2025-01-09";
}; };
in in
craneLib.buildPackage ( crane.buildPackage (
commonArgs commonArgs
// { // {
cargoArtifacts = null; cargoArtifacts = null;
@ -59,7 +60,7 @@ craneLib.buildPackage (
doCheck = false; doCheck = false;
postFixup = '' postFixup = ''
${util-linux}/bin/rename .so @$RUSTUP_TOOLCHAIN.so $out/lib/*.so mv $out/lib/libgeneral{.so,@$RUSTUP_TOOLCHAIN.so}
''; '';
doNotRemoveReferencesToRustToolchain = true; doNotRemoveReferencesToRustToolchain = true;

View file

@ -21,12 +21,14 @@ let
} }
) )
) driver_names; ) driver_names;
drivers = pkgs.runCommandLocal "dylint-drivers" { } ( drivers = pkgs.runCommandLocal "dylint-drivers" { } ''
lib.strings.concatMapAttrsStringSep "\n" (name: driver: '' mkdir -p $out
${lib.strings.concatMapAttrsStringSep "\n" (name: driver: ''
mkdir -p $out/nightly-${name} mkdir -p $out/nightly-${name}
ln -s ${driver}/bin/dylint_driver-nix $out/nightly-${name}/dylint-driver ln -s ${driver}/bin/dylint_driver-nix $out/nightly-${name}/dylint-driver
'') driverMap '') driverMap}
); '';
in in
pkgs.runCommandLocal "cargo-dylint-wrapped" pkgs.runCommandLocal "cargo-dylint-wrapped"
{ {
@ -35,6 +37,6 @@ pkgs.runCommandLocal "cargo-dylint-wrapped"
} }
'' ''
makeWrapper ${cargo-dylint}/bin/cargo-dylint $out/bin/cargo-dylint \ 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}; --set DYLINT_DRIVER_PATH ${drivers};
'' ''