57 lines
1.3 KiB
Docker
57 lines
1.3 KiB
Docker
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"]
|