#!/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 # Rusticl requires at least Rust 1.59.0 # # Also, oick a specific snapshot from rustup so the compiler doesn't drift on # us. RUST_VERSION=1.59.0-2022-02-24 # 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. wget https://sh.rustup.rs -O - | sh -s -- \ --default-toolchain $RUST_VERSION \ --profile minimal \ -y rustup component add rustfmt # 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 <