mirror of
https://github.com/Mudlet/Mudlet
synced 2026-08-13 18:26:27 -04:00
#### Brief overview of PR changes/additions With edbee-lib being revised to use a system oniguruma library instead of compiling it from bundled source code (a change suggested by myself) update our build processes to install the required dependency in order for the CMake build process to make use of this change. #### Motivation for adding to Mudlet To make edbee-lib, and thus Mudlet, use a system provided library if it is available rather than building it from source. This should decrease the time to compile the application a little and to improve the situation for packagers of the Mudlet application. #### Other info (issues closed, discussion etc) The change required a `FindONIGURUMA.cmake` file and I created one from our `FindPUGIXML.cmake` file to suggest upstream to the `edbee-lib` project, so that it could use the file when its license is MIT whereas the Mudlet one is GPU 2.0 or later and not compatible in that direction I have negotiated with our creators of the latter file to release it with a public domain (a.k.a. Creative Commons Zero) waiver and I have added suitable header text to both files. --------- Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
30 lines
1.7 KiB
Docker
30 lines
1.7 KiB
Docker
# 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
|