-
-
Notifications
You must be signed in to change notification settings - Fork 348
Expand file tree
/
Copy pathDockerfile
More file actions
30 lines (26 loc) · 1.7 KB
/
Dockerfile
File metadata and controls
30 lines (26 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.208.0/containers/cpp/.devcontainer/base.Dockerfile
# [Choice] Debian / Ubuntu version: debian-13, debian-12, debian-11, ubuntu-24.04, ubuntu-22.04
ARG VARIANT=debian-13
FROM mcr.microsoft.com/devcontainers/cpp:${VARIANT}
ENV DBUS_SESSION_BUS_ADDRESS="autolaunch:" DISPLAY=":1" LANG="en_US.UTF-8" LANGUAGE="en_US.UTF-8"
# Add deb-multimedia repo for libpcre3-dev (not available in Debian 13+)
RUN echo "deb http://www.deb-multimedia.org trixie main" >> /etc/apt/sources.list \
&& apt-get update -oAcquire::AllowInsecureRepositories=true \
&& apt-get install -y --allow-unauthenticated deb-multimedia-keyring \
&& rm -rf /var/lib/apt/lists/*
# Install C++ dependencies
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends build-essential git libglu1-mesa-dev \
libgl1-mesa-dev liblua5.1-0-dev zlib1g-dev libhunspell-dev libpcre3-dev libpcre2-dev \
libzip-dev libboost-dev libyajl-dev libpulse-dev libsecret-1-dev lua-rex-pcre2 \
lua-filesystem lua-zip lua-sql-sqlite3 libxkbcommon-dev libonig-dev qmake6-bin \
qt6-base-dev libqt6opengl6-dev qt6-multimedia-dev qt6-tools-dev qtkeychain-qt6-dev \
luarocks ccache libpugixml-dev libqt6core5compat6-dev qt6-speech-dev ninja-build cmake \
libzstd-dev libsqlite3-dev libassimp-dev firefox-esr \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install Lua dependencies (lua-sql-sqlite3 and lua-rex-pcre2 are already installed via apt)
RUN luarocks install luautf8 \
&& luarocks install lua-yajl \
&& luarocks install lrexlib-pcre \
&& luarocks install busted