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