crosvm/tools/install-deps
Dennis Kempin ca2049f982 Use previous bindgen version
The latest version is breaking minijail bindings and needs changes
to accomodate, which we cannot do until ChromeOS is updating it's
bindgen version as well.

BUG=None
TEST=make -C tools/impl/dev_container crosvm_dev &&
./tools/dev_container cargo build

Change-Id: I86476e4260154caf2aaf1b210490d466961b827f
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3964923
Reviewed-by: Zihan Chen <zihanchen@google.com>
Commit-Queue: Zihan Chen <zihanchen@google.com>
Auto-Submit: Dennis Kempin <denniskempin@google.com>
2022-10-20 22:08:37 +00:00

82 lines
2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -ex
sudo apt-get update
sudo apt-get install --yes --no-install-recommends \
ca-certificates \
clang \
cloud-image-utils \
curl \
dpkg-dev \
expect \
gcc \
git \
jq \
libasound2-dev \
libavcodec-dev \
libavutil-dev \
libclang-dev \
libdbus-1-dev \
libdrm-dev \
libepoxy-dev \
libglib2.0-dev \
libguestfs-tools \
libslirp-dev \
libssl-dev \
libswscale-dev \
libudev-dev \
libva-dev \
libwayland-dev \
libxext-dev \
make \
nasm \
ninja-build \
openssh-client \
pkg-config \
python3 \
python3-pip \
python3-setuptools \
qemu-system-x86 \
rsync \
screen \
wget \
wine64 \
gcc-mingw-w64-x86-64-win32 \
wayland-protocols
pip3 install \
meson \
mdformat \
argh \
mypy \
black
if ! command -v rustup &>/dev/null; then
wget "https://static.rust-lang.org/rustup/archive/1.25.1/x86_64-unknown-linux-gnu/rustup-init"
echo "5cc9ffd1026e82e7fb2eec2121ad71f4b0f044e88bca39207b3f6b769aaa799c *rustup-init" | sha256sum -c -
chmod +x rustup-init
./rustup-init -y --no-modify-path --profile minimal --default-toolchain none
rm rustup-init
fi
# Install required rust components.
# This will also ensure the toolchain required by ./rust-toolchain is installed.
rustup component add cargo clippy rustfmt
# LLVM tools are used to generate and process coverage files
rustup component add llvm-tools-preview
# Allow cross-compilation via mingw64
rustup target add x86_64-pc-windows-gnu
# The bindgen tool is required to build a crosvm dependency.
cargo install bindgen --version=0.60.1
# binutils are wrappers to call the rustup bundled versions of llvm tools.
cargo install cargo-binutils
# Install dependencies used to generate mdbook documentation.
$(dirname "$0")/install-docs-deps