https://github.com/devrandom/trust-rust
A trusted Rust build system
https://github.com/devrandom/trust-rust
gitian rustlang
Last synced: 6 months ago
JSON representation
A trusted Rust build system
- Host: GitHub
- URL: https://github.com/devrandom/trust-rust
- Owner: devrandom
- License: apache-2.0
- Created: 2017-11-25T19:51:01.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-05T18:17:05.000Z (about 8 years ago)
- Last Synced: 2025-04-14T10:51:09.551Z (8 months ago)
- Topics: gitian, rustlang
- Language: Shell
- Size: 14.6 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Rust compiler from trusted build roots
======
This repository aims to build the Rust compiler without using the Rust compiler binary.
http://vxer.org/lib/pdf/Reflections%20on%20Trusting%20Trust.pdf
HOWTO
======
The following was tested on Debian 9. Total build time is 2-3 hours because of lack
of parallelism in the rustc bootstrap phase.
```
sudo apt install build-essential cmake curl git diffoscope libssl-dev libcurl4-openssl-dev pkg-config libssh2-1-dev
./go-fetch
# from this point on, there should be no network access
./go-build
./go-compare
```
diffoscope result will be in `report.md` and various logs in `*.log`.
USE
======
After building, do the following:
```
mkdir trusted
cp -a trust-rust/rust/build/x86_64-unknown-linux-gnu/stage2/* trusted
PATH=`pwd`/trusted/bin:$PATH
```
`rustc -V` should produce `rustc 1.19.0-dev (0ade33941 2017-07-17)`.
TODO
======
- cargo TLS
- Evaluate artifacts other than `rustc` with diffoscope
- Check how far we are from a deterministic build