#!/bin/bash # Note that this script is not actually "building" rust, but build- is the # convention for the shared helpers for putting stuff in our containers. set -ex # cargo (and rustup) wants to store stuff in $HOME/.cargo, and binaries in # $HOME/.cargo/bin. Make bin a link to a public bin directory so the commands # are just available to all build jobs. mkdir -p $HOME/.cargo ln -s /usr/local/bin $HOME/.cargo/bin # For rust in Mesa, we use rustup to install. This lets us pick an arbitrary # version of the compiler, rather than whatever the container's Debian comes # with. # # Pick the rust compiler (1.48) available in Debian stable, and pick a specific # snapshot from rustup so the compiler doesn't drift on us. wget https://sh.rustup.rs -O - | \ sh -s -- -y --default-toolchain 1.49.0-2020-12-31 # Set up a config script for cross compiling -- cargo needs your system cc for # linking in cross builds, but doesn't know what you want to use for system cc. cat > /root/.cargo/config <