• 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_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