Skip to content

Commit

Permalink
config.rust: update references from rustc
Browse files Browse the repository at this point in the history
`rustc.config` is called `rust.rustcTarget` now, and
`{rustc -> rust}.platform`.

This is the new way (tm), and is preferred since
#271707 -
though the documentation still is outdated, and some expressions in
nixpkgs were using the old interface.

This updates both.
  • Loading branch information
flokli committed Jun 13, 2024
1 parent e913ae3 commit 50261c0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
14 changes: 7 additions & 7 deletions doc/languages-frameworks/rust.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,15 +254,15 @@ By default, it takes the `stdenv.hostPlatform.config` and replaces components
where they are known to differ. But there are ways to customize the argument:

- To choose a different target by name, define
`stdenv.hostPlatform.rustc.config` as that name (a string), and that
`stdenv.hostPlatform.rust.rustcTarget` as that name (a string), and that
name will be used instead.

For example:

```nix
import <nixpkgs> {
crossSystem = (import <nixpkgs/lib>).systems.examples.armhf-embedded // {
rustc.config = "thumbv7em-none-eabi";
rust.rustcTarget = "thumbv7em-none-eabi";
};
}
```
Expand All @@ -274,19 +274,19 @@ where they are known to differ. But there are ways to customize the argument:
```

- To pass a completely custom target, define
`stdenv.hostPlatform.rustc.config` with its name, and
`stdenv.hostPlatform.rustc.platform` with the value. The value will be
`stdenv.hostPlatform.rust.rustcTarget` with its name, and
`stdenv.hostPlatform.rust.platform` with the value. The value will be
serialized to JSON in a file called
`${stdenv.hostPlatform.rustc.config}.json`, and the path of that file
`${stdenv.hostPlatform.rust.rustcTarget}.json`, and the path of that file
will be used instead.

For example:

```nix
import <nixpkgs> {
crossSystem = (import <nixpkgs/lib>).systems.examples.armhf-embedded // {
rustc.config = "thumb-crazy";
rustc.platform = { foo = ""; bar = ""; };
rust.rustcTarget = "thumb-crazy";
rust.platform = { foo = ""; bar = ""; };
};
}
```
Expand Down
6 changes: 3 additions & 3 deletions lib/systems/examples.nix
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@ rec {

armv7a-android-prebuilt = {
config = "armv7a-unknown-linux-androideabi";
rustc.config = "armv7-linux-androideabi";
rust.rustcTarget = "armv7-linux-androideabi";
sdkVer = "28";
ndkVer = "24";
useAndroidPrebuilt = true;
} // platforms.armv7a-android;

aarch64-android-prebuilt = {
config = "aarch64-unknown-linux-android";
rustc.config = "aarch64-linux-android";
rust.rustcTarget = "aarch64-linux-android";
sdkVer = "28";
ndkVer = "24";
useAndroidPrebuilt = true;
Expand Down Expand Up @@ -207,7 +207,7 @@ rec {
aarch64-embedded = {
config = "aarch64-none-elf";
libc = "newlib";
rustc.config = "aarch64-unknown-none";
rust.rustcTarget = "aarch64-unknown-none";
};

aarch64be-embedded = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ let
cross = import ../../../.. {
system = hostPlatform.system;
crossSystem = lib.systems.examples."${arch}-embedded" // {
rustc.config = "${arch}-unknown-none";
rustc.platform = lib.importJSON target;
rust.rustcTarget = "${arch}-unknown-none";
rust.platform = lib.importJSON target;
};
};

Expand Down

0 comments on commit 50261c0

Please sign in to comment.