4jcraft/.devcontainer/Dockerfile
ViniciusCruzMoura 882680f4f9 fix(Dockerfile): update Meson version and README
Update the Meson version in the Dockerfile because commit
d54e365 changed the minimum required version

Add a command to the README to remove orphan Docker images

Update the run command in the README to include a config that
automatically removes the container when it exits

Signed-off-by: ViniciusCruzMoura <contato.cruz.moura@gmail.com>
2026-03-22 20:14:06 -04:00

37 lines
1.3 KiB
Docker

FROM mcr.microsoft.com/devcontainers/cpp:1-ubuntu-24.04
ENV DEBIAN_FRONTEND=noninteractive
# Dependencies
RUN apt-get update \
&& apt-get install -y software-properties-common \
&& add-apt-repository -y ppa:ubuntu-toolchain-r/test \
&& apt-get update \
&& apt-get install -y \
build-essential \
gcc-14 g++-14 \
python3 \
ninja-build \
libsdl2-dev \
libgl-dev \
libglu1-mesa-dev \
libpthread-stubs0-dev \
# Set GCC 14 as the default compiler
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 \
# Clean up lol
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
# Use the latest version of Meson -> $(curl -s "https://api.github.com/repos/mesonbuild/meson/releases/latest" | grep -Po '"tag_name": "\K[0-9.]+')
RUN MESON_VERSION=1.10.2 \
&& wget -qO meson.tar.gz https://github.com/mesonbuild/meson/releases/latest/download/meson-${MESON_VERSION}.tar.gz \
&& mkdir /opt/meson \
&& tar xf meson.tar.gz --strip-components=1 -C /opt/meson \
&& mv /opt/meson/meson.py /opt/meson/meson \
&& ln -s /opt/meson/meson /usr/bin/meson \
&& rm -rf meson.tar.gz
ENV DEBIAN_FRONTEND=dialog