1aa39c4c0SAlex Bennée# Docker legacy cross-compiler target (tests and minimal qemu) 2aa39c4c0SAlex Bennée# 3aa39c4c0SAlex Bennée# Compilers for some of our older targets which we cant currently 4aa39c4c0SAlex Bennée# upgrade. Currently: 5aa39c4c0SAlex Bennée# 6aa39c4c0SAlex Bennée# libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412 74e76d98aSAlex Bennée# sh4-linux-user: binaries don't run with bookworm compiler 8aa39c4c0SAlex Bennée# 9aa39c4c0SAlex Bennée# As we are targeting check-tcg here we only need minimal qemu 10aa39c4c0SAlex Bennée# dependencies and the relevant cross compilers. 11aa39c4c0SAlex Bennée 12aa39c4c0SAlex BennéeFROM docker.io/library/debian:11-slim 13aa39c4c0SAlex Bennée 14aa39c4c0SAlex Bennée# Duplicate deb line as deb-src 15aa39c4c0SAlex BennéeRUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list 16aa39c4c0SAlex Bennée 17aa39c4c0SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \ 18aa39c4c0SAlex Bennée apt-get update && \ 19aa39c4c0SAlex Bennée apt-get install -y eatmydata && \ 20aa39c4c0SAlex Bennée eatmydata apt-get dist-upgrade -y && \ 21aa39c4c0SAlex Bennée apt build-dep -yy qemu 22aa39c4c0SAlex Bennée 23aa39c4c0SAlex Bennée# Add extra build tools and as many cross compilers as we can for testing 24aa39c4c0SAlex BennéeRUN DEBIAN_FRONTEND=noninteractive eatmydata \ 25aa39c4c0SAlex Bennée apt install -y --no-install-recommends \ 26aa39c4c0SAlex Bennée bison \ 27aa39c4c0SAlex Bennée ccache \ 28aa39c4c0SAlex Bennée clang \ 29aa39c4c0SAlex Bennée flex \ 30aa39c4c0SAlex Bennée git \ 31aa39c4c0SAlex Bennée ninja-build \ 32aa39c4c0SAlex Bennée gcc-alpha-linux-gnu \ 33aa39c4c0SAlex Bennée libc6.1-dev-alpha-cross \ 344e76d98aSAlex Bennée gcc-sh4-linux-gnu \ 354e76d98aSAlex Bennée libc6-dev-sh4-cross \ 36aa39c4c0SAlex Bennée python3-pip \ 37aa39c4c0SAlex Bennée python3-setuptools \ 38aa39c4c0SAlex Bennée python3-venv \ 39*c1d822caSDaniel P. Berrangé python3-wheel && \ 40*c1d822caSDaniel P. Berrangé dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt 41aa39c4c0SAlex Bennée 42aa39c4c0SAlex BennéeRUN /usr/bin/pip3 install tomli 43aa39c4c0SAlex Bennée 44aa39c4c0SAlex BennéeENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools 454e76d98aSAlex BennéeENV DEF_TARGET_LIST alpha-linux-user,sh4-linux-user 46bad7a275SDaniel P. BerrangéENV MAKE /usr/bin/make 47aa39c4c0SAlex Bennée# As a final step configure the user (if env is defined) 48aa39c4c0SAlex BennéeARG USER 49aa39c4c0SAlex BennéeARG UID 50aa39c4c0SAlex BennéeRUN if [ "${USER}" ]; then \ 51aa39c4c0SAlex Bennée id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 52