58 lines
1.1 KiB
Bash
Executable File
58 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eE
|
|
|
|
function msg {
|
|
echo -e "\x1B[1m$*\x1B[0m" >&2
|
|
}
|
|
|
|
trap 'msg "\x1B[31mFailed to install dependencies!"' ERR
|
|
|
|
if which apt-get > /dev/null
|
|
then
|
|
msg "Installing system build dependencies"
|
|
sudo apt-get install \
|
|
build-essential \
|
|
bison \
|
|
ccache \
|
|
flex \
|
|
git-lfs \
|
|
gnat \
|
|
mtools \
|
|
nasm \
|
|
uuid-dev \
|
|
zlib1g-dev
|
|
else
|
|
msg "Please add support for your distribution to:"
|
|
msg "scripts/deps.sh"
|
|
exit 1
|
|
fi
|
|
|
|
msg "Installing GIT LFS hooks"
|
|
git lfs install
|
|
|
|
msg "Downloading GIT LFS artifacts"
|
|
git lfs pull
|
|
|
|
msg "Installing Rust"
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
|
| sh -s -- -y --default-toolchain nightly
|
|
|
|
msg "Loading Rust environment"
|
|
source ~/.cargo/env
|
|
|
|
msg "Installing pinned Rust toolchain"
|
|
rustup toolchain install "$(cat rust-toolchain)"
|
|
|
|
msg "Installing source for pinned Rust toolchain"
|
|
rustup component add --toolchain "$(cat rust-toolchain)" rust-src
|
|
|
|
if ! which cargo-xbuild > /dev/null
|
|
then
|
|
msg "Installing cargo-xbuild"
|
|
cargo +nightly install cargo-xbuild
|
|
fi
|
|
|
|
msg "\x1B[32mSuccessfully installed dependencies"
|
|
echo "Ready to run ./scripts/build.sh [model]" >&2
|