diff options
author | Andrew Clemons <andrew.clemons@gmail.com> | 2018-04-12 22:17:30 +1200 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2018-04-14 07:06:32 +0700 |
commit | a03f1620179f1f0eea7897eb1e8d49c60bff2529 (patch) | |
tree | e6e2eb96616ab87d3084128015aeefd91af6aaec | |
parent | b0e98ddf604db244ba62f3a721e235c197a4103e (diff) | |
download | slackbuilds-a03f1620179f1f0eea7897eb1e8d49c60bff2529.tar.gz |
development/rust: Update README with bootstrapping notes.
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com>
-rw-r--r-- | development/rust/README | 2 | ||||
-rw-r--r-- | development/rust/README.SLACKWARE | 46 |
2 files changed, 48 insertions, 0 deletions
diff --git a/development/rust/README b/development/rust/README index fdebb5dac5..d26005703e 100644 --- a/development/rust/README +++ b/development/rust/README @@ -21,3 +21,5 @@ You can also force either behaviour through the LOCAL_BOOTSTRAP=yes|no parameter. LOCAL_BOOTSTRAP=no ./rust.SlackBuild + +For alternative options for bootstrapping, see README.SLACKWARE diff --git a/development/rust/README.SLACKWARE b/development/rust/README.SLACKWARE new file mode 100644 index 0000000000..2e925a7d46 --- /dev/null +++ b/development/rust/README.SLACKWARE @@ -0,0 +1,46 @@ +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 |