scripts: Split installing Rust to its own script
Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
committed by
Jeremy Soller
parent
51e3e1a53a
commit
b22e8dee41
120
scripts/install-deps.sh
Executable file
120
scripts/install-deps.sh
Executable file
@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
set -eE
|
||||
|
||||
function msg {
|
||||
echo -e "\x1B[1m$*\x1B[0m" >&2
|
||||
}
|
||||
|
||||
trap 'msg "\x1B[31mFailed to install dependencies!"' ERR
|
||||
|
||||
source /etc/os-release
|
||||
|
||||
|
||||
msg "Installing system build dependencies"
|
||||
if [[ "${ID}" =~ "debian" ]] || [[ "${ID_LIKE}" =~ "debian" ]]; then
|
||||
sudo apt-get --quiet update
|
||||
sudo apt-get --quiet install \
|
||||
--no-install-recommends \
|
||||
--assume-yes \
|
||||
bison \
|
||||
build-essential \
|
||||
ccache \
|
||||
cmake \
|
||||
curl \
|
||||
devmem2 \
|
||||
dosfstools \
|
||||
flashrom \
|
||||
flex \
|
||||
git-lfs \
|
||||
gnat \
|
||||
libncurses-dev \
|
||||
libudev-dev \
|
||||
msr-tools \
|
||||
mtools \
|
||||
parted \
|
||||
python-is-python3 \
|
||||
python3-distutils \
|
||||
uuid-dev \
|
||||
zlib1g-dev
|
||||
elif [[ "${ID}" =~ "fedora" ]] || [[ "${ID_LIKE}" =~ "fedora" ]]; then
|
||||
sudo dnf group install c-development
|
||||
sudo dnf install \
|
||||
--assumeyes \
|
||||
ccache \
|
||||
cmake \
|
||||
curl \
|
||||
dosfstools \
|
||||
flashrom \
|
||||
gcc-gnat \
|
||||
git-lfs \
|
||||
libuuid-devel \
|
||||
msr-tools \
|
||||
mtools \
|
||||
ncurses-devel \
|
||||
parted \
|
||||
patch \
|
||||
python-unversioned-command \
|
||||
python3 \
|
||||
systemd-devel \
|
||||
zlib-devel
|
||||
elif [[ "${ID}" =~ "arch" ]] || [[ "${ID_LIKE}" =~ "arch" ]]; then
|
||||
sudo pacman -S \
|
||||
--noconfirm \
|
||||
bison \
|
||||
ccache \
|
||||
cmake \
|
||||
curl \
|
||||
dosfstools \
|
||||
flashrom \
|
||||
flex \
|
||||
gcc-ada \
|
||||
git-lfs \
|
||||
msr-tools \
|
||||
mtools \
|
||||
ncurses \
|
||||
parted \
|
||||
patch \
|
||||
python \
|
||||
python-distutils-extra \
|
||||
systemd-libs
|
||||
else
|
||||
msg "Unknown system ID: ${ID}"
|
||||
msg "Please add support for your distribution to: $0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Don't run on Jenkins
|
||||
if [ -z "${CI}" ]; then
|
||||
msg "Installing GIT LFS hooks"
|
||||
git lfs install
|
||||
|
||||
msg "Downloading GIT LFS artifacts"
|
||||
git lfs pull
|
||||
fi
|
||||
|
||||
msg "Initializing submodules"
|
||||
git submodule update --init --recursive --checkout --progress
|
||||
|
||||
msg "Installing coreboot commit hook"
|
||||
curl -sSf https://review.coreboot.org/tools/hooks/commit-msg \
|
||||
-o .git/modules/coreboot/hooks/commit-msg && \
|
||||
chmod +x .git/modules/coreboot/hooks/commit-msg
|
||||
|
||||
msg "Installing Rust toolchain and components"
|
||||
./scripts/install-rust.sh
|
||||
|
||||
msg "Installing EC dependencies"
|
||||
pushd ec
|
||||
./scripts/deps.sh
|
||||
popd
|
||||
|
||||
msg "Building coreboot toolchains"
|
||||
pushd coreboot
|
||||
make CPUS="$(nproc)" crossgcc-i386
|
||||
make CPUS="$(nproc)" crossgcc-x64
|
||||
popd
|
||||
|
||||
msg "\x1B[32mSuccessfully installed dependencies"
|
||||
echo "Ready to run ./scripts/build.sh [model]" >&2
|
Reference in New Issue
Block a user