+apt-get install -y --no-remove libxml2-utils
+
+
+# Generate cross build files for Meson
+for arch in $CROSS_ARCHITECTURES; do
+ cross_file="/cross_file-$arch.txt"
+ /usr/share/meson/debcrossgen --arch "$arch" -o "$cross_file"
+ # Explicitly set ccache path for cross compilers
+ sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file"
+ # Work around a bug in debcrossgen that should be fixed in the next release
+ if [ "$arch" = "i386" ]; then
+ sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file"
+ fi
+done
+
+
+############### Build dEQP
+git config --global user.email "mesa@example.com"
+git config --global user.name "Mesa CI"
+# XXX: Use --depth 1 once we can drop the cherry-picks.
+git clone \
+ https://github.com/KhronosGroup/VK-GL-CTS.git \
+ -b opengl-es-cts-3.2.5.1 \
+ /VK-GL-CTS
+cd /VK-GL-CTS
+# Fix surfaceless build
+git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670
+git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648
+
+# surfaceless links against libkms and such despite not using it.
+sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake
+sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake
+sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake
+
+python3 external/fetch_sources.py
+
+mkdir -p /deqp
+cd /deqp
+cmake -G Ninja \
+ -DDEQP_TARGET=surfaceless \
+ -DCMAKE_BUILD_TYPE=Release \
+ /VK-GL-CTS
+ninja
+
+# Copy out the mustpass lists we want from a bunch of other junk.
+mkdir /deqp/mustpass
+for gles in gles2 gles3 gles31; do
+ cp \
+ /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.5.x/$gles-master.txt \
+ /deqp/mustpass/$gles-master.txt
+done
+
+# Remove the rest of the build products that we don't need.
+rm -rf /deqp/external
+rm -rf /deqp/modules/internal
+rm -rf /deqp/executor
+rm -rf /deqp/execserver
+rm -rf /deqp/modules/egl
+rm -rf /deqp/framework
+du -sh *
+rm -rf /VK-GL-CTS
+
+############### Uninstall the build software
+
+apt-get purge -y \
+ wget \
+ unzip \
+ cmake \
+ git \
+ libgles2-mesa-dev \
+ libgbm-dev
+
+apt-get autoremove -y --purge