• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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