mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
Update containers to compile the Godot 2.1 branch
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 && \
|
||||
|
||||
@@ -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} && \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
2
build.sh
2
build.sh
@@ -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."
|
||||
|
||||
25
files/emscripten-1.38-python-3.12.patch
Normal file
25
files/emscripten-1.38-python-3.12.patch
Normal 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))
|
||||
Reference in New Issue
Block a user