mirror of https://gitlab.freedesktop.org/mesa/mesa
96 lines
2.0 KiB
Bash
96 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
set -o xtrace
|
|
|
|
# etnaviv will eventually need armhf too.
|
|
CROSS_ARCHITECTURES="arm64"
|
|
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
dpkg --add-architecture $arch
|
|
done
|
|
|
|
############### Install packages for building
|
|
apt-get install -y ca-certificates
|
|
sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
|
echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list
|
|
apt-get update
|
|
|
|
apt-get install -y --no-remove \
|
|
abootimg \
|
|
android-sdk-ext4-utils \
|
|
bc \
|
|
bison \
|
|
bzip2 \
|
|
ccache \
|
|
cmake \
|
|
cpio \
|
|
g++ \
|
|
debootstrap \
|
|
fastboot \
|
|
flex \
|
|
git \
|
|
meson \
|
|
netcat \
|
|
python3-distutils \
|
|
python3-minimal \
|
|
python3-serial \
|
|
python3.7 \
|
|
pkg-config \
|
|
procps \
|
|
unzip
|
|
|
|
# Cross-build test deps
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
apt-get install -y --no-remove \
|
|
crossbuild-essential-${arch} \
|
|
libdrm-dev:${arch} \
|
|
libegl1-mesa-dev:${arch} \
|
|
libelf-dev:${arch} \
|
|
libexpat1-dev:${arch} \
|
|
libffi-dev:${arch} \
|
|
libgbm-dev:${arch} \
|
|
libgles2-mesa-dev:${arch} \
|
|
libpng-dev:${arch} \
|
|
libstdc++6:${arch} \
|
|
libtinfo-dev:${arch} \
|
|
libegl1-mesa-dev:${arch} \
|
|
libvulkan-dev:${arch}
|
|
|
|
mkdir /var/cache/apt/archives/${arch}
|
|
done
|
|
|
|
. .gitlab-ci/container/container_pre_build.sh
|
|
|
|
############### Create rootfs
|
|
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
. .gitlab-ci/create-cross-file.sh $arch
|
|
|
|
DEBIAN_ARCH=$arch . .gitlab-ci/container/lava_arm.sh
|
|
done
|
|
|
|
############### Uninstall the build software
|
|
|
|
ccache --show-stats
|
|
|
|
apt-get purge -y \
|
|
bc \
|
|
bison \
|
|
bzip2 \
|
|
ccache \
|
|
cmake \
|
|
g++ \
|
|
flex \
|
|
git \
|
|
meson \
|
|
pkg-config \
|
|
python3-distutils \
|
|
procps
|
|
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
apt-get purge -y ".*:${arch}"
|
|
done
|
|
|
|
apt-get autoremove -y --purge
|