FROM debian:11 # Fetch updated package list RUN apt-get update && apt-get install -y # Install basic build dependencies RUN apt-get install -y \ cmake \ g++ \ git \ lsb-release \ pkg-config \ ccache \ ninja-build # Install host CS build dependencies RUN apt-get install -y \ libfreetype6-dev \ libasound2-dev \ libaudio-dev \ libc6-dev \ libfontconfig1-dev \ libgl1-mesa-dev \ libglib2.0-dev \ libgstreamer-plugins-base1.0-dev \ libgstreamer1.0-dev \ libice-dev \ libpulse-dev \ libsm-dev \ libx11-dev \ libx11-xcb-dev \ libxcb-icccm4-dev \ libxcb-image0-dev \ libxcb-keysyms1-dev \ libxcb-randr0-dev \ libxcb-render-util0-dev \ libxcb-render0-dev \ libxcb-shape0-dev \ libxcb-shm0-dev \ libxcb-sync-dev \ libxcb-xfixes0-dev \ libxcb-xinerama0-dev \ libxcb-xkb-dev \ libxcb1-dev \ libxcursor-dev \ libxext-dev \ libxfixes-dev \ libxi-dev \ libxinerama-dev \ libxkbcommon-dev \ libxkbcommon-x11-dev \ libxml2-dev \ libxrandr-dev \ libxrender-dev \ libxt6 \ libxcb-glx0-dev \ libcups2-dev # Install emulation tools RUN apt-get install -y \ qemu \ binfmt-support \ qemu-user-static # Add "armhf" architecture to Debian multiarch configuration RUN dpkg --add-architecture armhf RUN apt-get update # Install cross compiler RUN apt-get install -y \ gcc-10-arm-linux-gnueabihf \ g++-10-arm-linux-gnueabihf # Install target CS build dependencies RUN apt-get install -y \ libatomic1:armhf \ libice-dev:armhf \ libsm-dev:armhf \ libx11-dev:armhf \ libx11-xcb-dev:armhf \ libxcursor-dev:armhf \ libxext-dev:armhf \ libxfixes-dev:armhf \ libxi-dev:armhf \ libxinerama-dev:armhf \ libxkbcommon-dev:armhf \ libxkbcommon-x11-dev:armhf \ libxml2-dev:armhf \ libxrandr-dev:armhf \ libxrender-dev:armhf \ libxcb-icccm4-dev:armhf \ libxcb-image0-dev:armhf \ libxcb-keysyms1-dev:armhf \ libxcb-randr0-dev:armhf \ libxcb-render-util0-dev:armhf \ libxcb-render0-dev:armhf \ libxcb-shape0-dev:armhf \ libxcb-shm0-dev:armhf \ libxcb-sync-dev:armhf \ libxcb-xfixes0-dev:armhf \ libxcb-xinerama0-dev:armhf \ libxcb-xkb-dev:armhf \ libgl1-mesa-dev:armhf \ libfontconfig1-dev:armhf \ libxcb-glx0-dev:armhf \ libgstreamer-plugins-base1.0-dev:armhf \ libgstreamer1.0-dev:armhf \ libaudio-dev:armhf \ libpulse-dev:armhf # Executable to verify ARM binary emulation is operating RUN apt-get install -y hello:armhf