0. Grab latest ports tree
1. Get the bootstraps
Built from lang/rust-bootstrap@riscv64 on 13.0-RELEASE amd64 and tested on 13.0-RELEASE riscv64 in a QEMU VM.
```
fetch https://distcache.FreeBSD.org/local-distfiles/tobik/rust/2021-10-21/rust-std-1.56.0-riscv64gc-unknown-freebsd.tar.xz
fetch https://distcache.FreeBSD.org/local-distfiles/tobik/rust/2021-10-21/rustc-1.56.0-riscv64gc-unknown-freebsd.tar.xz
fetch https://distcache.FreeBSD.org/local-distfiles/tobik/rust/2021-10-21/cargo-1.56.0-riscv64gc-unknown-freebsd.tar.xz
```
2. Install the bootstraps:
```
$ for c in rust-std cargo rustc; do
tar xf $c-1.56.0-riscv64gc-unknown-freebsd.tar.xz
(cd $c-1.56.0-riscv64gc-unknown-freebsd; sh install.sh --prefix=~/rust)
done
```
3. Try building a hello world program:
```
$ echo 'fn main() { println!("hello world") }' >hello.rs
$ ~/rust/bin/rustc hello.rs && ./hello
hello world
```
As an example I have patched `sysutils/hexyl` for riscv64 (see `sysutils/hexyl/files/patch-riscv64`). To test it:
```
$ make -C sysutils/hexyl CARGO_BUILDDEP=no CARGO=~/rust/bin/cargo RUSTC=~/rust/bin/rustc
```