Update containers to compile the Godot 2.1 branch

This commit is contained in:
Rémi Verschelde
2025-11-26 17:52:19 +01:00
parent d41c1ccf02
commit 625ba7b2d5
8 changed files with 46 additions and 27 deletions

View File

@@ -1,18 +1,21 @@
ARG img_version
FROM godot-fedora:${img_version}
ENV ANDROID_SDK_ROOT=/root/sdk
ENV ANDROID_NDK_VERSION=28.1.13356709
ENV ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk/${ANDROID_NDK_VERSION}
ENV ANDROID_HOME=/root/sdk
ENV ANDROID_NDK_VERSION=21.4.7075529
ENV ANDROID_NDK_ROOT=${ANDROID_HOME}/ndk/${ANDROID_NDK_VERSION}
RUN dnf -y install --setopt=install_weak_deps=False \
java-21-openjdk-devel ncurses-compat-libs && \
mkdir -p sdk && cd sdk && \
export CMDLINETOOLS=commandlinetools-linux-13114758_latest.zip && \
adoptium-temurin-java-repository && \
fedora-third-party enable && \
dnf -y install --setopt=install_weak_deps=False \
temurin-8-jdk ncurses-compat-libs && \
mkdir -p /root/sdk && cd /root/sdk && \
export CMDLINETOOLS=sdk-tools-linux-4333796.zip && \
curl -LO https://dl.google.com/android/repository/${CMDLINETOOLS} && \
unzip ${CMDLINETOOLS} && \
rm ${CMDLINETOOLS} && \
yes | cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses && \
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;35.0.0' 'platforms;android-35' 'cmake;3.31.6'
yes | tools/bin/sdkmanager --licenses && \
tools/bin/sdkmanager "ndk;${ANDROID_NDK_VERSION}" 'build-tools;29.0.3' 'platforms;android-29'
CMD /bin/bash

View File

@@ -1,13 +1,9 @@
FROM fedora:42
FROM fedora:43
WORKDIR /root
ENV DOTNET_NOLOGO=1
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
RUN dnf -y install --setopt=install_weak_deps=False \
bash binutils bzip2 curl file findutils gettext git make nano patch pkgconfig python3-pip unzip which xz \
dotnet-sdk-8.0 && \
pip install scons==4.9.1
bash binutils bzip2 curl file findutils gettext git make nano patch pkgconfig python3-pip unzip which xz && \
pip install scons==4.10.1
CMD /bin/bash

View File

@@ -7,7 +7,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
automake autoconf gcc gcc-c++ gcc-objc gcc-objc++ cmake libicu-devel libtool libxml2-devel openssl-devel perl python yasm && \
git clone --progress https://github.com/tpoechtrager/cctools-port && \
cd /root/cctools-port && \
git checkout 7224fd5c9390ea15cff6ee69ff92ea677b40014b && \
git checkout 1cce4a06877992f708b2e0e2ab217a0cfb923a4f && \
# arm64 device
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
mkdir -p /root/ioscross/arm64 && \

View File

@@ -8,7 +8,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
libxml2-devel openssl-devel uuid-devel yasm && \
git clone --progress https://github.com/tpoechtrager/osxcross && \
cd /root/osxcross && \
git checkout 310196974007fc916f9be1877731b716a4854f72 && \
git checkout 3451b2dbe46144bbc012067a346448689242a799 && \
ln -s /root/files/MacOSX${OSX_SDK}.sdk.tar.xz /root/osxcross/tarballs && \
export UNATTENDED=1 && \
export SDK_VERSION=${OSX_SDK} && \

View File

@@ -1,11 +1,12 @@
ARG img_version
FROM godot-fedora:${img_version}
ENV EMSCRIPTEN_VERSION=4.0.10
ENV EMSCRIPTEN_VERSION=1.38.48
RUN dnf -y install --setopt=install_weak_deps=False libatomic && \
git clone --branch ${EMSCRIPTEN_VERSION} --progress https://github.com/emscripten-core/emsdk && \
emsdk/emsdk install ${EMSCRIPTEN_VERSION} && \
emsdk/emsdk activate ${EMSCRIPTEN_VERSION}
emsdk/emsdk activate ${EMSCRIPTEN_VERSION} && \
patch -p1 < /root/files/emscripten-1.38-python-3.12.patch
CMD /bin/bash

View File

@@ -2,12 +2,6 @@ ARG img_version
FROM godot-fedora:${img_version}
RUN dnf -y install --setopt=install_weak_deps=False \
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static && \
export LLVM_MINGW_VERSION=20250528 && \
export LLVM_MINGW_NAME=llvm-mingw-${LLVM_MINGW_VERSION}-ucrt-ubuntu-22.04-x86_64 && \
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_VERSION}/${LLVM_MINGW_NAME}.tar.xz && \
tar xf ${LLVM_MINGW_NAME}.tar.xz && \
rm -f ${LLVM_MINGW_NAME}.tar.xz && \
mv -f ${LLVM_MINGW_NAME} /root/llvm-mingw
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static
CMD /bin/bash

View File

@@ -7,7 +7,7 @@ source $basedir/setup.sh
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: $0 <godot branch> <base distro>"
echo
echo "Example: $0 4.x f39"
echo "Example: $0 2.1 f43"
echo
echo "godot branch:"
echo " Informational, tracks the Godot branch these containers are intended for."

View File

@@ -0,0 +1,25 @@
diff -aur emscripten/tools/shared.py emscripten_patched/tools/shared.py
--- emscripten/tools/shared.py 2019-10-11 07:27:44.000000000 +0000
+++ emscripten_patched/tools/shared.py 2025-11-26 16:48:03.290611797 +0000
@@ -5,7 +5,7 @@
from __future__ import print_function
-from distutils.spawn import find_executable
+from shutil import which
from subprocess import PIPE, STDOUT
import atexit
import base64
@@ -200,10 +200,10 @@
config_file = '\n'.join(config_file)
# autodetect some default paths
config_file = config_file.replace('\'{{{ EMSCRIPTEN_ROOT }}}\'', repr(__rootpath__))
- llvm_root = os.path.dirname(find_executable('llvm-dis') or '/usr/bin/llvm-dis')
+ llvm_root = os.path.dirname(which('llvm-dis') or '/usr/bin/llvm-dis')
config_file = config_file.replace('\'{{{ LLVM_ROOT }}}\'', repr(llvm_root))
- node = find_executable('nodejs') or find_executable('node') or 'node'
+ node = which('nodejs') or which('node') or 'node'
config_file = config_file.replace('\'{{{ NODE }}}\'', repr(node))
abspath = os.path.abspath(os.path.expanduser(path))