1#!/bin/bash 2 3set -e 4set -o xtrace 5 6export DEBIAN_FRONTEND=noninteractive 7 8# Ephemeral packages (installed for this script and removed again at the end) 9STABLE_EPHEMERAL=" \ 10 autoconf \ 11 automake \ 12 autotools-dev \ 13 bzip2 \ 14 libtool \ 15 python3-pip \ 16 " 17 18apt-get update 19 20apt-get install -y --no-remove \ 21 $STABLE_EPHEMERAL \ 22 check \ 23 clang \ 24 libasan6 \ 25 libarchive-dev \ 26 libclang-cpp13-dev \ 27 libclang-cpp11-dev \ 28 libgbm-dev \ 29 libglvnd-dev \ 30 libllvmspirvlib-dev \ 31 liblua5.3-dev \ 32 libxcb-dri2-0-dev \ 33 libxcb-dri3-dev \ 34 libxcb-glx0-dev \ 35 libxcb-present-dev \ 36 libxcb-randr0-dev \ 37 libxcb-shm0-dev \ 38 libxcb-sync-dev \ 39 libxcb-xfixes0-dev \ 40 libxcb1-dev \ 41 libxml2-dev \ 42 llvm-13-dev \ 43 llvm-11-dev \ 44 llvm-9-dev \ 45 ocl-icd-opencl-dev \ 46 python3-freezegun \ 47 python3-pytest \ 48 procps \ 49 spirv-tools \ 50 strace \ 51 time 52 53 54. .gitlab-ci/container/container_pre_build.sh 55 56# dependencies where we want a specific version 57export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual 58 59export XORGMACROS_VERSION=util-macros-1.19.0 60 61wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2 62tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2 63cd $XORGMACROS_VERSION; ./configure; make install; cd .. 64rm -rf $XORGMACROS_VERSION 65 66. .gitlab-ci/container/build-libdrm.sh 67 68. .gitlab-ci/container/build-wayland.sh 69 70pushd /usr/local 71git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1 72rm -rf shader-db/.git 73cd shader-db 74make 75popd 76 77git clone https://github.com/microsoft/DirectX-Headers -b v1.606.3 --depth 1 78mkdir -p DirectX-Headers/build 79pushd DirectX-Headers/build 80meson .. --backend=ninja --buildtype=release -Dbuild-test=false 81ninja 82ninja install 83popd 84rm -rf DirectX-Headers 85 86pip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7 87 88############### Uninstall the build software 89 90apt-get purge -y \ 91 $STABLE_EPHEMERAL 92 93. .gitlab-ci/container/container_post_build.sh 94