1#!/usr/bin/env bash 2# The relative paths in this file only become valid at runtime. 3# shellcheck disable=SC1091 4# shellcheck disable=SC2086 # we want word splitting 5 6set -e 7 8. .gitlab-ci/setup-test-env.sh 9 10set -o xtrace 11 12uncollapsed_section_start debian_setup "Base Debian system setup" 13 14export DEBIAN_FRONTEND=noninteractive 15 16apt-get install -y libelogind0 # this interfere with systemd deps, install separately 17 18# Ephemeral packages (installed for this script and removed again at the end) 19EPHEMERAL=( 20 ccache 21 cmake 22 dpkg-dev 23 g++ 24 glslang-tools 25 libexpat1-dev 26 gnupg2 27 libdrm-dev 28 libgbm-dev 29 libgles2-mesa-dev 30 liblz4-dev 31 libpciaccess-dev 32 libudev-dev 33 libvulkan-dev 34 libwaffle-dev 35 libx11-xcb-dev 36 libxcb-dri2-0-dev 37 libxcb-ewmh-dev 38 libxcb-keysyms1-dev 39 libxkbcommon-dev 40 libxrandr-dev 41 libxrender-dev 42 libzstd-dev 43 meson 44 p7zip 45 patch 46 pkgconf 47 python3-dev 48 python3-distutils 49 python3-pip 50 python3-setuptools 51 python3-wheel 52 software-properties-common 53 wine64-tools 54 xz-utils 55) 56 57DEPS=( 58 curl 59 libepoxy0 60 libxcb-shm0 61 pciutils 62 python3-lxml 63 python3-simplejson 64 sysvinit-core 65 weston 66 xwayland 67 wine 68 wine64 69 xinit 70 xserver-xorg-video-amdgpu 71 xserver-xorg-video-ati 72) 73 74apt-get update 75 76apt-get install -y --no-remove --no-install-recommends \ 77 "${DEPS[@]}" "${EPHEMERAL[@]}" 78 79############### Building ... 80 81. .gitlab-ci/container/container_pre_build.sh 82 83section_end debian_setup 84 85############### Build piglit replayer 86 87# We don't run any _piglit_ Vulkan tests in the containers. 88PIGLIT_OPTS="-DPIGLIT_USE_WAFFLE=ON 89 -DPIGLIT_USE_GBM=OFF 90 -DPIGLIT_USE_WAYLAND=OFF 91 -DPIGLIT_USE_X11=OFF 92 -DPIGLIT_BUILD_GLX_TESTS=OFF 93 -DPIGLIT_BUILD_EGL_TESTS=OFF 94 -DPIGLIT_BUILD_WGL_TESTS=OFF 95 -DPIGLIT_BUILD_GL_TESTS=OFF 96 -DPIGLIT_BUILD_GLES1_TESTS=OFF 97 -DPIGLIT_BUILD_GLES2_TESTS=OFF 98 -DPIGLIT_BUILD_GLES3_TESTS=OFF 99 -DPIGLIT_BUILD_CL_TESTS=OFF 100 -DPIGLIT_BUILD_VK_TESTS=OFF 101 -DPIGLIT_BUILD_DMA_BUF_TESTS=OFF" \ 102 PIGLIT_BUILD_TARGETS="piglit_replayer" \ 103 . .gitlab-ci/container/build-piglit.sh 104 105############### Build dEQP VK 106 107DEQP_API=tools \ 108DEQP_TARGET=default \ 109. .gitlab-ci/container/build-deqp.sh 110 111DEQP_API=VK-main \ 112DEQP_TARGET=default \ 113. .gitlab-ci/container/build-deqp.sh 114 115DEQP_API=VK \ 116DEQP_TARGET=default \ 117. .gitlab-ci/container/build-deqp.sh 118 119rm -rf /VK-GL-CTS 120 121############### Build apitrace 122 123. .gitlab-ci/container/build-apitrace.sh 124 125############### Build Fossilize 126 127. .gitlab-ci/container/build-fossilize.sh 128 129############### Build gfxreconstruct 130 131. .gitlab-ci/container/build-gfxreconstruct.sh 132 133############### Build VKD3D-Proton 134 135. .gitlab-ci/container/setup-wine.sh "/vkd3d-proton-wine64" 136 137. .gitlab-ci/container/build-vkd3d-proton.sh 138 139############### Uninstall the build software 140 141uncollapsed_section_switch debian_cleanup "Cleaning up base Debian system" 142 143apt-get purge -y "${EPHEMERAL[@]}" 144 145. .gitlab-ci/container/container_post_build.sh 146 147section_end debian_cleanup 148