mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-10 12:09:31 +00:00
Debian bullseye is becoming old and we require a couple of newer dependencies. gLinux is also tracking bookworm, so we are staying close to our usual development environment. Since the official rust images do not have a bookworm version, we switch to the official debian image and add a rustup install to ./tools/install-deps. The new glibc version uses clone3 in multiple devices, adding this new syscall to our policy to pass integration tests. Drive-by change: Upgrading rust-toolchain from 1.62.0 to 1.62.1 BUG=b:243081643 TEST=CQ Change-Id: I8af721ed4a83df61163d67001b777166abe8abfa Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3892621 Commit-Queue: Dennis Kempin <denniskempin@google.com> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
80 lines
1.9 KiB
Bash
Executable file
80 lines
1.9 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 \
|
|
libguestfs-tools \
|
|
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
|
|
|
|
# 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
|