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_BUILD_TAG 7 8set -e 9 10. .gitlab-ci/setup-test-env.sh 11 12set -o xtrace 13 14export DEBIAN_FRONTEND=noninteractive 15export LLVM_VERSION="${LLVM_VERSION:=15}" 16 17apt-get install -y ca-certificates 18sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/* 19echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list 20 21# Ephemeral packages (installed for this script and removed again at 22# the end) 23EPHEMERAL=( 24) 25 26DEPS=( 27 apt-utils 28 bison 29 ccache 30 curl 31 "clang-${LLVM_VERSION}" 32 "clang-format-${LLVM_VERSION}" 33 dpkg-cross 34 dpkg-dev 35 findutils 36 flex 37 flatbuffers-compiler 38 g++ 39 cmake 40 gcc 41 git 42 glslang-tools 43 kmod 44 "libclang-${LLVM_VERSION}-dev" 45 "libclang-cpp${LLVM_VERSION}-dev" 46 "libclang-common-${LLVM_VERSION}-dev" 47 libelf-dev 48 libepoxy-dev 49 libexpat1-dev 50 libflatbuffers-dev 51 libgtk-3-dev 52 "libllvm${LLVM_VERSION}" 53 libpciaccess-dev 54 libunwind-dev 55 libva-dev 56 libvdpau-dev 57 libvulkan-dev 58 libx11-dev 59 libx11-xcb-dev 60 libxext-dev 61 libxml2-utils 62 libxrandr-dev 63 libxrender-dev 64 libxshmfence-dev 65 libxtensor-dev 66 libxxf86vm-dev 67 libwayland-egl-backend-dev 68 "llvm-${LLVM_VERSION}-dev" 69 make 70 ninja-build 71 openssh-server 72 pkgconf 73 python3-mako 74 python3-pil 75 python3-pip 76 python3-ply 77 python3-pycparser 78 python3-requests 79 python3-setuptools 80 python3-yaml 81 qemu-user 82 valgrind 83 x11proto-dri2-dev 84 x11proto-gl-dev 85 x11proto-randr-dev 86 xz-utils 87 zlib1g-dev 88 zstd 89) 90 91apt-get update 92 93apt-get install -y --no-remove "${DEPS[@]}" "${EPHEMERAL[@]}" \ 94 $EXTRA_LOCAL_PACKAGES 95 96. .gitlab-ci/container/build-llvm-spirv.sh 97 98. .gitlab-ci/container/build-libclc.sh 99 100# Needed for ci-fairy, this revision is able to upload files to S3 101pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2 102 103. .gitlab-ci/container/install-meson.sh 104 105. .gitlab-ci/container/build-rust.sh 106 107############### Uninstall ephemeral packages 108 109apt-get purge -y "${EPHEMERAL[@]}" 110 111. .gitlab-ci/container/container_post_build.sh 112