1#!/bin/bash 2 3set -ex 4 5SCRIPT_DIR="$(pwd)" 6 7CROSVM_VERSION=c7cd0e0114c8363b884ba56d8e12adee718dcc93 8git clone --single-branch -b main --no-checkout https://chromium.googlesource.com/chromiumos/platform/crosvm /platform/crosvm 9pushd /platform/crosvm 10git checkout "$CROSVM_VERSION" 11git submodule update --init 12# Apply all crosvm patches for Mesa CI 13cat "$SCRIPT_DIR"/.gitlab-ci/container/build-crosvm_*.patch | 14 patch -p1 15 16VIRGLRENDERER_VERSION=dd301caf7e05ec9c09634fb7872067542aad89b7 17rm -rf third_party/virglrenderer 18git clone --single-branch -b master --no-checkout https://gitlab.freedesktop.org/virgl/virglrenderer.git third_party/virglrenderer 19pushd third_party/virglrenderer 20git checkout "$VIRGLRENDERER_VERSION" 21meson build/ $EXTRA_MESON_ARGS 22ninja -C build install 23popd 24 25RUSTFLAGS='-L native=/usr/local/lib' cargo install \ 26 bindgen \ 27 -j ${FDO_CI_CONCURRENT:-4} \ 28 --root /usr/local \ 29 --version 0.60.1 \ 30 $EXTRA_CARGO_ARGS 31 32RUSTFLAGS='-L native=/usr/local/lib' cargo install \ 33 -j ${FDO_CI_CONCURRENT:-4} \ 34 --locked \ 35 --features 'default-no-sandbox gpu x virgl_renderer virgl_renderer_next' \ 36 --path . \ 37 --root /usr/local \ 38 $EXTRA_CARGO_ARGS 39 40popd 41 42rm -rf /platform/crosvm 43