From 5ac9496ef9fbab029bc9b1365f0e5b773ff6b110 Mon Sep 17 00:00:00 2001 From: b0ink <40929320+b0ink@users.noreply.github.com> Date: Wed, 26 Nov 2025 22:31:55 +1100 Subject: [PATCH 1/3] feat: add splashkit docker image --- splashkit.Dockerfile | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 splashkit.Dockerfile diff --git a/splashkit.Dockerfile b/splashkit.Dockerfile new file mode 100644 index 00000000..f96c0763 --- /dev/null +++ b/splashkit.Dockerfile @@ -0,0 +1,65 @@ +FROM debian:bookworm-slim + +ENV DEBIAN_FRONTEND=noninteractive + +# https://github.com/jenkinsci/docker/issues/543#issuecomment-318356276 +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN rm -rf /var/lib/apt/lists/* +RUN apt-get clean +RUN apt-get update -o Acquire::CompressionTypes::Order::=gz + +RUN apt-get update && \ + apt-get install -y --no-install-recommends --fix-missing \ + curl \ + git \ + python3 \ + python3-pip \ + cmake \ + pkg-config \ + libpng16-16 \ + libcurl4 \ + libsdl2-2.0-0 \ + libsdl2-mixer-2.0-0 \ + libsdl2-gfx-1.0-0 \ + libsdl2-image-2.0-0 \ + libsdl2-net-2.0-0 \ + libsdl2-ttf-2.0-0 \ + build-essential \ + fonts-dejavu-core \ + clang \ + ca-certificates \ + sudo \ + && rm -rf /var/lib/apt/lists/* + +# Instal .NET +RUN curl -L https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb && \ + dpkg -i packages-microsoft-prod.deb && \ + rm packages-microsoft-prod.deb + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + dotnet-sdk-10.0 && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +# Install SplashKit +RUN curl -s https://raw.githubusercontent.com/splashkit/skm/master/install-scripts/skm-install.sh | bash +ENV PATH="/root/.splashkit:${PATH}" +RUN skm linux install + +# Pre-cache the SplashKit nuget package +RUN mkdir -p /nuget-local +RUN dotnet new console -n tmp && \ + cd tmp && \ + dotnet add package SplashKit --package-directory /nuget-local && \ + cd .. && \ + rm -rf tmp +RUN dotnet nuget add source /nuget-local -n splashkit-local + +# Suppress audio/display warnings for headless SplashKit +RUN echo "pcm.!default { type hw card 0 }" > /etc/asound.conf +ENV SDL_AUDIODRIVER=dummy +ENV XDG_RUNTIME_DIR=/tmp/runtime-root +RUN mkdir -p $XDG_RUNTIME_DIR From 956ef7a783c35cec104b90df67b9ea05555219bf Mon Sep 17 00:00:00 2001 From: b0ink <40929320+b0ink@users.noreply.github.com> Date: Thu, 27 Nov 2025 10:38:06 +1100 Subject: [PATCH 2/3] fix: typo --- splashkit.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/splashkit.Dockerfile b/splashkit.Dockerfile index f96c0763..26186f81 100644 --- a/splashkit.Dockerfile +++ b/splashkit.Dockerfile @@ -34,7 +34,7 @@ RUN apt-get update && \ sudo \ && rm -rf /var/lib/apt/lists/* -# Instal .NET +# Install .NET RUN curl -L https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb && \ dpkg -i packages-microsoft-prod.deb && \ rm packages-microsoft-prod.deb From cb60f7a6f920eaec94dc4b4f52c59b3ddc8133c2 Mon Sep 17 00:00:00 2001 From: b0ink <40929320+b0ink@users.noreply.github.com> Date: Thu, 27 Nov 2025 11:56:36 +1100 Subject: [PATCH 3/3] chore: force local nuget package sources `dotnet nuget disable source nuget.org` may be required in your overseer script --- splashkit.Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/splashkit.Dockerfile b/splashkit.Dockerfile index 26186f81..072364a7 100644 --- a/splashkit.Dockerfile +++ b/splashkit.Dockerfile @@ -58,6 +58,8 @@ RUN dotnet new console -n tmp && \ rm -rf tmp RUN dotnet nuget add source /nuget-local -n splashkit-local +ENV DOTNET_RESTORE_SOURCES="/nuget-local" + # Suppress audio/display warnings for headless SplashKit RUN echo "pcm.!default { type hw card 0 }" > /etc/asound.conf ENV SDL_AUDIODRIVER=dummy