mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-14 21:56:41 +01:00
a03f162017
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com>
46 lines
2.1 KiB
Text
46 lines
2.1 KiB
Text
Bootstrapping rust from source on Slackware
|
|
|
|
The README describes the official way to bootstrap rust from source by using
|
|
the mozilla binary stage0 compiler and binary cargo from rust-lang.org.
|
|
|
|
If you'd rather bootstap rust completely from source, there is an
|
|
experimental, alternative rust compiler written in C++, mrustc. A
|
|
slackbuild for it is also available on slackbuilds.org.
|
|
|
|
For stability against rust's 6 week release cycle, mrustc is frozen to support
|
|
building rust 1.19.0 from source. Once this is done, you can use this rust to
|
|
continue building each successive rust version until you get to the most recent
|
|
one.
|
|
|
|
Here is a rough guide to bootstrap rust completely from source:
|
|
|
|
* Build and install mrustc (from slackbuilds.org). You now have a fully
|
|
functional rust 1.19.0.
|
|
* Now build for rust 1.20.0, 1.21.0, 1.22.1, 1.23.0, 1.24.1, and finally
|
|
1.25.0.
|
|
|
|
This slackbuild is currently compatible with each of those versions.
|
|
Since we are building completely from source, you only need the source
|
|
tarball of each version and not all the other binary files listed in
|
|
rust.info. Simply replace the version in the url.
|
|
|
|
Example:
|
|
|
|
VERSION=1.20.0 FULL_BOOTSTRAP=yes LOCAL_BOOTSTRAP=yes ./rust.SlackBuild
|
|
VERSION=1.21.0 FULL_BOOTSTRAP=no LOCAL_BOOTSTRAP=yes ./rust.SlackBuild
|
|
VERSION=1.22.1 FULL_BOOTSTRAP=no LOCAL_BOOTSTRAP=yes ./rust.SlackBuild
|
|
VERSION=1.23.0 FULL_BOOTSTRAP=no LOCAL_BOOTSTRAP=yes ./rust.SlackBuild
|
|
VERSION=1.24.1 FULL_BOOTSTRAP=no LOCAL_BOOTSTRAP=yes ./rust.SlackBuild
|
|
VERSION=1.25.0 FULL_BOOTSTRAP=no LOCAL_BOOTSTRAP=yes ./rust.SlackBuild
|
|
|
|
You might prefer to do a full bootstrap for 1.20.0, which is what mrustc's own
|
|
bootstrap script suggests. The versions after that do not need a full bootstrap.
|
|
|
|
After building the first version (1.20.0), remove mrustc and install
|
|
rust-1.20.0. Then build the next version and upgrade rust with the
|
|
result and carry on until you have built the final version.
|
|
|
|
Additionally, I currently have a shell script which automates this whole
|
|
process to end up with the current rust package version:
|
|
|
|
https://github.com/aclemons/slack-rust-bootstrap
|