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