1#!/usr/bin/env bash 2# shellcheck disable=SC2086 # we want word splitting 3 4# When changing this file, you need to bump the following 5# .gitlab-ci/image-tags.yml tags: 6# DEBIAN_BASE_TAG 7# DEBIAN_TEST_GL_TAG 8# DEBIAN_TEST_VK_TAG 9# KERNEL_ROOTFS_TAG 10 11set -uex 12 13uncollapsed_section_start crosvm "Building crosvm" 14 15git config --global user.email "mesa@example.com" 16git config --global user.name "Mesa CI" 17 18CROSVM_VERSION=2118fbb57ca26b495a9aa407845c7729d697a24b 19git clone --single-branch -b main --no-checkout https://chromium.googlesource.com/crosvm/crosvm /platform/crosvm 20pushd /platform/crosvm 21git checkout "$CROSVM_VERSION" 22git submodule update --init 23 24VIRGLRENDERER_VERSION=57a2b82e0958f08d02ade8400786e1ca0935c9b1 25rm -rf third_party/virglrenderer 26git clone --single-branch -b main --no-checkout https://gitlab.freedesktop.org/virgl/virglrenderer.git third_party/virglrenderer 27pushd third_party/virglrenderer 28git checkout "$VIRGLRENDERER_VERSION" 29meson setup build/ -D libdir=lib -D render-server-worker=process -D venus=true ${EXTRA_MESON_ARGS:-} 30meson install -C build 31popd 32 33cargo update -p pkg-config@0.3.26 --precise 0.3.27 34 35RUSTFLAGS='-L native=/usr/local/lib' cargo install \ 36 bindgen-cli \ 37 --locked \ 38 -j ${FDO_CI_CONCURRENT:-4} \ 39 --root /usr/local \ 40 --version 0.65.1 \ 41 ${EXTRA_CARGO_ARGS:-} 42 43CROSVM_USE_SYSTEM_MINIGBM=1 CROSVM_USE_SYSTEM_VIRGLRENDERER=1 RUSTFLAGS='-L native=/usr/local/lib' cargo install \ 44 -j ${FDO_CI_CONCURRENT:-4} \ 45 --locked \ 46 --features 'default-no-sandbox gpu x virgl_renderer' \ 47 --path . \ 48 --root /usr/local \ 49 ${EXTRA_CARGO_ARGS:-} 50 51popd 52 53rm -rf /platform/crosvm 54 55section_end crosvm 56