rust: add a rust-host package

Rust is in a weird spot right now: it requires cross-compilers to build,
but we also want to use it to build things for the host. This has led to
quite a bit of pain, so the hope is that we can split Rust into
_either_:
- dev-lang/rust-host & dev-lang/rust, where the former only installs
  artifacts necessary for host binary builds, and the latter installs
  all of the remaining artifacts that dev-lang/rust provides today
- dev-lang/rust for host binaries, and cross-*/rust-libs for each target
  we support

It's unclear what benefits the latter brings over the former, and the
former is simpler to write, maintain, and work with (multiple cross-*
packages will have to deal with mutual exclusion over our shared build/
directory; a single package for all cross-compilers has no such issue),
so do that for now.

Since it's convenient, also include the crrev.com/c/3573236 fix.

BUG=b:227370760, b:227507212
TEST=CQ; emerge rust-host rust; cros_sdk --bootstrap

Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/3561803
Tested-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

In order for us to update our ChromeOS base, we need to generate a
rust-host prebuilt for our current rust version. If the rust ebuilds are
updated, and a rust-host prebuilt is missing for the previous rust
version, SDK in-place update scripts will have their assumptions broken.

BUG=b/257271340
TEST=presubmit
RELEASE_NOTE=None

Change-Id: I2e44e23e3cdae0b4867522c6968587a0642c2450
Reviewed-on: https://cos-review.googlesource.com/c/third_party/overlays/chromiumos-overlay/+/39568
Reviewed-by: Vaibhav Rustagi <vaibhavrustagi@google.com>
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
11 files changed