It is almost never correct to use these attributes, because they don't work correctly with splicing. Compare: % nix repl -f . --argstr crossSystem aarch64-linux Welcome to Nix 2.10.3. Type :? for help. Loading installable ''... Added 18988 variables. nix-repl> callPackage ({ stdenv, rustc }: (stdenv.mkDerivation { name = ""; nativeBuildInputs = [ rustc ]; }).nativeBuildInputs) {} «derivation /nix/store/bjrkg8kcq3hvg5kb03ivb856zy91qpbk-aarch64-unknown-linux-gnu-rustc-1.69.0.drv» ] nix-repl> callPackage ({ stdenv, rustPlatform }: (stdenv.mkDerivation { name = ""; nativeBuildInputs = [ rustPlatform.rust.rustc ]; }).nativeBuildInputs) {} «derivation /nix/store/ra5r07j52y7akclr827r3dzxzvqnvfbl-rustc-1.69.0.drv» ] I'm not sure this is fixable. I don't think it's worth keeping them around considering we have top level attributes. It makes overriding slightly more annoying, but only slightly.
41 lines
1.2 KiB
Nix
41 lines
1.2 KiB
Nix
{ lib, buildPackages, callPackage, cargo-auditable, stdenv, runCommand }@prev:
|
|
|
|
{ rustc
|
|
, cargo
|
|
, cargo-auditable ? prev.cargo-auditable
|
|
, stdenv ? prev.stdenv
|
|
, ...
|
|
}:
|
|
|
|
rec {
|
|
rust = {
|
|
rustc = lib.warn "rustPlatform.rust.rustc is deprecated. Use rustc instead." rustc;
|
|
cargo = lib.warn "rustPlatform.rust.cargo is deprecated. Use cargo instead." cargo;
|
|
};
|
|
|
|
fetchCargoTarball = buildPackages.callPackage ../../../build-support/rust/fetch-cargo-tarball {
|
|
git = buildPackages.gitMinimal;
|
|
inherit cargo;
|
|
};
|
|
|
|
buildRustPackage = callPackage ../../../build-support/rust/build-rust-package {
|
|
inherit stdenv cargoBuildHook cargoCheckHook cargoInstallHook cargoNextestHook cargoSetupHook
|
|
fetchCargoTarball importCargoLock rustc cargo cargo-auditable;
|
|
};
|
|
|
|
importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix { inherit cargo; };
|
|
|
|
rustcSrc = callPackage ./rust-src.nix {
|
|
inherit runCommand rustc;
|
|
};
|
|
|
|
rustLibSrc = callPackage ./rust-lib-src.nix {
|
|
inherit runCommand rustc;
|
|
};
|
|
|
|
# Hooks
|
|
inherit (callPackage ../../../build-support/rust/hooks {
|
|
inherit stdenv cargo rustc;
|
|
}) cargoBuildHook cargoCheckHook cargoInstallHook cargoNextestHook cargoSetupHook maturinBuildHook bindgenHook;
|
|
}
|