gbb-linux-mono (v0.4.0)
Published 2026-09-11 00:29:00 +00:00 by picklemustard
Installation
docker pull git.picklemustard.dev/studioteal/gbb-linux-mono:v0.4.0sha256:fb3bcd409b3f7775638b0030a14575bd09c1802d33850b665c9ab47f227d611cImage layers
| # debian.sh --arch 'amd64' out/ 'bookworm' '@1787529600' |
| ENV DEBIAN_FRONTEND=noninteractive CCACHE_DIR=/ccache |
| /bin/sh -c apt-get update && apt-get install -y --no-install-recommends build-essential ca-certificates ccache git openssh-client pkg-config python3 python3-pip scons xz-utils && rm -rf /var/lib/apt/lists/* |
| ENV PATH=/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| /bin/sh -c printf 'cache_dir = /ccache\nmax_size = 20G\nbase_dir = /src\nhash_dir = false\n' > /etc/ccache.conf |
| ARG UID=1000 |
| ARG GID=1000 |
| |2 GID=1000 UID=1000 /bin/sh -c groupadd -g "$GID" builder && useradd -m -u "$UID" -g "$GID" builder && mkdir -p /src "$CCACHE_DIR" && chown -R builder:builder /src "$CCACHE_DIR" |
| COPY file:310afa595c441d3605c10635719e60aa5e31ac2f8318f4556e20ee31796a9487 in /usr/local/bin/gbb-build |
| |2 GID=1000 UID=1000 /bin/sh -c chmod 0755 /usr/local/bin/gbb-build |
| USER builder |
| WORKDIR /src |
| USER root |
| /bin/sh -c apt-get update && apt-get install -y --no-install-recommends libasound2-dev libdbus-1-dev libfontconfig-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev libpulse-dev libspeechd-dev libudev-dev libwayland-bin libwayland-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev wayland-protocols && rm -rf /var/lib/apt/lists/* |
| USER root |
| /bin/sh -c apt-get update && apt-get install -y --no-install-recommends binutils-aarch64-linux-gnu crossbuild-essential-arm64 && rm -rf /var/lib/apt/lists/* |
| /bin/sh -c mkdir -p /opt/gbb/toolchain/arm64/bin && for tool in gcc g++ cpp ar ranlib nm strip objcopy objdump as ld; do ln -s "/usr/bin/aarch64-linux-gnu-$tool" "/opt/gbb/toolchain/arm64/bin/$tool"; done && ln -s /usr/bin/aarch64-linux-gnu-gcc /opt/gbb/toolchain/arm64/bin/cc && ln -s /usr/bin/aarch64-linux-gnu-g++ /opt/gbb/toolchain/arm64/bin/c++ |
| /bin/sh -c update-ccache-symlinks |
| USER builder |
| ENTRYPOINT ["gbb-build"] |
| CMD ["platform=linuxbsd" "target=editor" "arch=x86_64"] |
| USER root |
| /bin/sh -c apt-get update && apt-get install -y --no-install-recommends zip libicu72 libssl3 tzdata && rm -rf /var/lib/apt/lists/* |
| COPY dir:1185c77f9b2a67dea82f89ba59d615f5563f8842c233932f40a66e7b031b79bc in /usr/share/dotnet |
| /bin/sh -c ln -sf /usr/share/dotnet/dotnet /usr/local/bin/dotnet |
| ENV DOTNET_ROOT=/usr/share/dotnet DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1 DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 DOTNET_CLI_HOME=/home/builder NUGET_PACKAGES=/nuget |
| /bin/sh -c mkdir -p /nuget /nuget-local /opt/gbb /root/.nuget/NuGet /home/builder/.nuget/NuGet |
| COPY file:a27f407bf31364559648212e2b2b2717e368ff73d1f40648b4468b5a5fc31b5a in /usr/local/bin/select-nuget-source.sh |
| COPY dir:ff67a6fb044d2f5abfa86371e33c616f5e5edbab7756921def90aceeb3854853 in /nuget |
| COPY file:dce93f25ae27c52628fc2f12c6ac1c3075801b27388262e7ea0853805a597dd9 in /opt/gbb/mono-primed-refs |
| COPY file:1de00804e54ec422283ccc89ddd0a538e91eca1d4d855a9e50b29c6b6278c870 in /usr/local/bin/prime-nuget.sh |
| ARG PRIME_MODE=restore |
| ARG PRIME_GODOT_REFS=4.3-stable 4.4-stable |
| ARG PRIME_GODOT_REPO=https://github.com/godotengine/godot.git |
| ARG PRIME_STEP_TIMEOUT=600 |
| ARG PRIME_DISABLE_IPV6=0 |
| |5 PRIME_DISABLE_IPV6=0 PRIME_GODOT_REFS=4.3-stable 4.4-stable PRIME_GODOT_REPO=https://github.com/godotengine/godot.git PRIME_MODE=restore PRIME_STEP_TIMEOUT=600 /bin/sh -c /usr/local/bin/prime-nuget.sh "$PRIME_MODE" |
| |5 PRIME_DISABLE_IPV6=0 PRIME_GODOT_REFS=4.3-stable 4.4-stable PRIME_GODOT_REPO=https://github.com/godotengine/godot.git PRIME_MODE=restore PRIME_STEP_TIMEOUT=600 /bin/sh -c printf '%s\n' '<?xml version="1.0" encoding="utf-8"?>' '<configuration>' ' <packageSources>' ' <clear />' ' <add key="gbb-local" value="/nuget-local" />' ' </packageSources>' '</configuration>' > /home/builder/.nuget/NuGet/NuGet.Config && cp /home/builder/.nuget/NuGet/NuGet.Config /root/.nuget/NuGet/NuGet.Config && chown -R builder:builder /home/builder /nuget /nuget-local |
| USER builder |
| WORKDIR /src |
| ENTRYPOINT ["gbb-build"] |
| CMD ["platform=linuxbsd" "target=editor" "arch=x86_64" "module_mono_enabled=yes"] |