gitlab-ci: Use separate docker images for cross builds
[mesa.git] / .gitlab-ci / container / x86_build-base.sh
1 #!/bin/bash
2
3 set -e
4 set -o xtrace
5
6 export DEBIAN_FRONTEND=noninteractive
7
8 apt-get install -y \
9 ca-certificates \
10 gnupg \
11 unzip \
12 wget
13
14 # Upstream LLVM package repository
15 apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key
16 echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
17
18 sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
19 echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
20
21 apt-get update
22
23 apt-get install -y --no-remove \
24 $STABLE_EPHEMERAL \
25 bison \
26 ccache \
27 clang-9 \
28 dpkg-cross \
29 flex \
30 g++ \
31 g++-mingw-w64-x86-64 \
32 gcc \
33 gettext \
34 libclang-9-dev \
35 libclc-dev \
36 libelf-dev \
37 libepoxy-dev \
38 libexpat1-dev \
39 libgtk-3-dev \
40 libomxil-bellagio-dev \
41 libpciaccess-dev \
42 libunwind-dev \
43 libva-dev \
44 libvdpau-dev \
45 libvulkan-dev \
46 libx11-dev \
47 libx11-xcb-dev \
48 libxdamage-dev \
49 libxext-dev \
50 libxml2-utils \
51 libxrandr-dev \
52 libxrender-dev \
53 libxshmfence-dev \
54 libxvmc-dev \
55 libxxf86vm-dev \
56 libz-mingw-w64-dev \
57 llvm-9-dev \
58 pkg-config \
59 python-mako \
60 python3-mako \
61 python3-pil \
62 python3-requests \
63 qemu-user \
64 scons \
65 wine64-development \
66 x11proto-dri2-dev \
67 x11proto-gl-dev \
68 x11proto-randr-dev \
69 xz-utils \
70 zlib1g-dev
71
72 apt-get install -y --no-remove -t buster-backports \
73 libclang-8-dev \
74 libllvm8 \
75 meson
76
77
78 # for the vulkan overlay layer
79 wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip
80 unzip glslang-master-linux-Release.zip bin/glslangValidator
81 install -m755 bin/glslangValidator /usr/local/bin/
82 rm bin/glslangValidator glslang-master-linux-Release.zip
83
84
85 ############### Uninstall ephemeral packages
86
87 apt-get purge -y \
88 gnupg \
89 unzip \
90 wget
91
92 . .gitlab-ci/container/container_post_build.sh