meson: Bump required version to 0.52.0
[mesa.git] / .gitlab-ci / container / arm_test.sh
1 #!/bin/bash
2
3 set -e
4 set -o xtrace
5
6 # etnaviv will eventually need armhf too.
7 CROSS_ARCHITECTURES="arm64"
8
9 for arch in $CROSS_ARCHITECTURES; do
10 dpkg --add-architecture $arch
11 done
12
13 ############### Install packages for building
14 apt-get install -y ca-certificates
15 sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
16 echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
17 apt-get update
18
19 apt-get install -y --no-remove \
20 abootimg \
21 android-sdk-ext4-utils \
22 bc \
23 bison \
24 bzip2 \
25 ccache \
26 cmake \
27 cpio \
28 g++ \
29 debootstrap \
30 fastboot \
31 flex \
32 git \
33 netcat \
34 python3-distutils \
35 python3-minimal \
36 python3-serial \
37 python3.7 \
38 pkg-config \
39 procps \
40 u-boot-tools \
41 unzip
42
43 apt install -t buster-backports -y --no-remove \
44 meson
45
46 # Cross-build test deps
47 for arch in $CROSS_ARCHITECTURES; do
48 apt-get install -y --no-remove \
49 crossbuild-essential-${arch} \
50 libdrm-dev:${arch} \
51 libegl1-mesa-dev:${arch} \
52 libelf-dev:${arch} \
53 libexpat1-dev:${arch} \
54 libffi-dev:${arch} \
55 libgbm-dev:${arch} \
56 libgles2-mesa-dev:${arch} \
57 libpng-dev:${arch} \
58 libstdc++6:${arch} \
59 libtinfo-dev:${arch} \
60 libegl1-mesa-dev:${arch} \
61 libvulkan-dev:${arch}
62
63 mkdir /var/cache/apt/archives/${arch}
64 done
65
66 . .gitlab-ci/container/container_pre_build.sh
67
68 ############### Create rootfs
69
70 for arch in $CROSS_ARCHITECTURES; do
71 . .gitlab-ci/create-cross-file.sh $arch
72
73 DEBIAN_ARCH=$arch . .gitlab-ci/container/lava_arm.sh
74 done
75
76 ############### Uninstall the build software
77
78 ccache --show-stats
79
80 apt-get purge -y \
81 bc \
82 bison \
83 bzip2 \
84 ccache \
85 cmake \
86 g++ \
87 flex \
88 git \
89 meson \
90 pkg-config \
91 python3-distutils \
92 procps \
93 u-boot-tools
94
95 for arch in $CROSS_ARCHITECTURES; do
96 apt-get purge -y ".*:${arch}"
97 done
98
99 apt-get autoremove -y --purge