FROM ubuntu:24.04 # Avoid interactive prompts during package installation ENV DEBIAN_FRONTEND=noninteractive # Set working directory WORKDIR /build # Install system dependencies and development packages RUN apt-get update && apt-get install --no-install-recommends --no-install-suggests -y \ wget \ build-essential \ libsdl2-dev \ libfreetype-dev \ \ # FFmpeg development packages libavcodec-dev \ libavformat-dev \ libavutil-dev \ libavfilter-dev \ libavdevice-dev \ libswscale-dev \ libswresample-dev \ libpostproc-dev \ ffmpeg \ \ # Utilities pkg-config \ python3 \ python3-pip \ \ # Running render tests weston \ libgl1-mesa-dri \ mesa-vulkan-drivers \ libvulkan1 \ imagemagick RUN wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | tee /etc/apt/trusted.gpg.d/lunarg.asc \ && wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list http://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list \ && apt update \ && apt install --no-install-recommends --no-install-suggests -y vulkan-sdk # Remove extra cache after all the installations RUN rm -rf /var/lib/apt/lists/* RUN chown -R ubuntu:ubuntu /build COPY build-and-test.sh /build/ # Switch to non-root user USER ubuntu # Default command WORKDIR /build CMD ["/build/build-and-test.sh"]