Skip to content

Commit

Permalink
rustPlatform.rust: deprecate
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
alyssais committed May 12, 2023
1 parent 5e06b3c commit 46cb0eb
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions pkgs/development/compilers/rust/make-rust-platform.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ buildPackages, callPackage, cargo-auditable, stdenv, runCommand }@prev:
{ lib, buildPackages, callPackage, cargo-auditable, stdenv, runCommand }@prev:

{ rustc
, cargo
Expand All @@ -9,7 +9,8 @@

rec {
rust = {
inherit rustc cargo;
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 {
Expand Down

0 comments on commit 46cb0eb

Please sign in to comment.