mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
Merge pull request #159 from godotengine/f43-update-4.6
Update various toolchains for 4.6
This commit is contained in:
@@ -13,6 +13,6 @@ RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
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'
|
||||
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;35.0.1' 'platforms;android-35' 'cmake;3.31.6'
|
||||
|
||||
CMD /bin/bash
|
||||
|
||||
@@ -6,8 +6,8 @@ RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
|
||||
RUN git clone --depth 1 --no-checkout https://github.com/tpoechtrager/cctools-port.git && \
|
||||
cd /root/cctools-port && \
|
||||
git fetch --depth 1 origin 7224fd5c9390ea15cff6ee69ff92ea677b40014b && \
|
||||
git checkout 7224fd5c9390ea15cff6ee69ff92ea677b40014b
|
||||
git fetch --depth 1 origin 1cce4a06877992f708b2e0e2ab217a0cfb923a4f && \
|
||||
git checkout 1cce4a06877992f708b2e0e2ab217a0cfb923a4f
|
||||
|
||||
COPY files/appleembedded/build.sh /root/cctools-port/usage_examples/ios_toolchain/build.sh
|
||||
COPY files/appleembedded/wrapper.c /root/cctools-port/usage_examples/ios_toolchain/wrapper.c
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM fedora:42
|
||||
FROM fedora:43
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
@@ -8,6 +8,6 @@ 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
|
||||
pip install scons==4.10.1
|
||||
|
||||
CMD /bin/bash
|
||||
|
||||
@@ -5,26 +5,25 @@ FROM godot-fedora:${img_version}
|
||||
#
|
||||
# sudo dnf install gnupg2
|
||||
|
||||
ENV XCODE_SDKV=26.0.1
|
||||
ENV APPLE_SDKV=26.0
|
||||
ENV OSX_SDK=26.0
|
||||
ENV XCODE_SDKV=26.1.1
|
||||
ENV APPLE_SDKV=26.1
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
automake autoconf bzip2-devel cmake gawk gcc gcc-c++ libdispatch libicu-devel libtool \
|
||||
libxml2-devel openssl-devel uuid-devel yasm gpg && \
|
||||
git clone --progress https://github.com/tpoechtrager/osxcross && \
|
||||
cd /root/osxcross && \
|
||||
git checkout f873f534c6cdb0776e457af8c7513da1e02abe59 && \
|
||||
git checkout 121ce150c7857a9474dfff8a8e431482806b3e1b && \
|
||||
# Patch to fix visionOS support.
|
||||
# See: https://github.com/llvm/llvm-project/issues/142502
|
||||
patch -p1 < /root/files/patches/osxcross-fix-visionos.patch && \
|
||||
ln -s /root/files/MacOSX${OSX_SDK}.sdk.tar.xz /root/osxcross/tarballs && \
|
||||
ln -s /root/files/MacOSX${APPLE_SDKV}.sdk.tar.xz /root/osxcross/tarballs && \
|
||||
export UNATTENDED=1 && \
|
||||
export SDK_VERSION=${OSX_SDK} && \
|
||||
export SDK_VERSION=${APPLE_SDKV} && \
|
||||
# Custom build Apple Clang to ensure compatibility.
|
||||
# Find the equivalent LLVM version for the SDK from:
|
||||
# https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
|
||||
CLANG_VERSION=19.1.4 ENABLE_CLANG_INSTALL=1 INSTALLPREFIX=/usr ./build_apple_clang.sh && \
|
||||
CLANG_VERSION=19.1.5 ENABLE_CLANG_INSTALL=1 INSTALLPREFIX=/usr ./build_apple_clang.sh && \
|
||||
./build.sh && \
|
||||
./build_compiler_rt.sh && \
|
||||
rm -rf /root/osxcross/build
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
ARG img_version
|
||||
FROM godot-fedora:${img_version}
|
||||
|
||||
ENV EMSCRIPTEN_VERSION=4.0.10
|
||||
ENV EMSCRIPTEN_VERSION=4.0.20
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False libatomic && \
|
||||
git clone --branch ${EMSCRIPTEN_VERSION} --progress https://github.com/emscripten-core/emsdk && \
|
||||
|
||||
@@ -3,7 +3,7 @@ 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_VERSION=20251118 && \
|
||||
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 && \
|
||||
|
||||
@@ -10,12 +10,5 @@ RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
|
||||
ENV XCODE_SDKV=
|
||||
ENV APPLE_SDKV=
|
||||
ENV OSX_SDKV=
|
||||
ENV IOS_SDKV=
|
||||
ENV TVOS_SDKV=
|
||||
ENV VISIONOS_SDKV=
|
||||
|
||||
COPY extract_xcode_sdks.sh /root/extract_xcode_sdks.sh
|
||||
RUN chmod +x /root/extract_xcode_sdks.sh
|
||||
|
||||
CMD /root/extract_xcode_sdks.sh
|
||||
CMD /root/files/extract_xcode_sdks.sh
|
||||
|
||||
40
README.md
40
README.md
@@ -38,14 +38,14 @@ be welcome (but back when we tried we ran into performance issues).
|
||||
The `build.sh` script included is used to build the containers themselves.
|
||||
|
||||
The two arguments can take any value and are meant to convey what Godot branch
|
||||
you are building for (e.g. `4.5`) and what Linux distribution the `Dockerfile.base`
|
||||
is based on (e.g. `f42` for Fedora 42).
|
||||
you are building for (e.g. `4.6`) and what Linux distribution the `Dockerfile.base`
|
||||
is based on (e.g. `f43` for Fedora 43).
|
||||
|
||||
Run the command using:
|
||||
|
||||
./build.sh 4.5 f42
|
||||
./build.sh 4.6 f43
|
||||
|
||||
The above will generate images using the tag '4.5-f42'.
|
||||
The above will generate images using the tag '4.6-f43'.
|
||||
You can then specify it in the `build.sh` of
|
||||
[godot-build-scripts](https://github.com/godotengine/godot-build-scripts).
|
||||
|
||||
@@ -67,13 +67,14 @@ you can comment out the corresponding lines from the script:
|
||||
These are the expected container image sizes, so you can plan your disk usage in advance:
|
||||
|
||||
REPOSITORY TAG SIZE
|
||||
localhost/godot-fedora 4.5-f42 949 MB
|
||||
localhost/godot-linux 4.5-f42 2.74 GB
|
||||
localhost/godot-windows 4.5-f42 2.54 GB
|
||||
localhost/godot-web 4.5-f42 2.35 GB
|
||||
localhost/godot-android 4.5-f42 4.19 GB
|
||||
localhost/godot-osx 4.5-f42 5.30 GB
|
||||
localhost/godot-appleembedded 4.5-f42 14.1 GB
|
||||
localhost/godot-fedora 4.6-f43 978 MB
|
||||
localhost/godot-linux 4.6-f43 2.77 GB
|
||||
localhost/godot-windows 4.6-f43 2.65 GB
|
||||
localhost/godot-web 4.6-f43 2.74 GB
|
||||
localhost/godot-android 4.6-f43 4.22 GB
|
||||
localhost/godot-xcode 4.6-f43 1.56 GB
|
||||
localhost/godot-osx 4.6-f43 14.6 GB
|
||||
localhost/godot-appleembedded 4.6-f43 16.0 GB
|
||||
|
||||
In addition to this, generating containers will also require some host disk space
|
||||
(up to 10 GB) for the dependencies (Xcode).
|
||||
@@ -83,14 +84,13 @@ In addition to this, generating containers will also require some host disk spac
|
||||
|
||||
These are the toolchains currently in use for Godot 4.3 and later:
|
||||
|
||||
- Base image: Fedora 42
|
||||
- SCons: 4.9.1
|
||||
- Base image: Fedora 43
|
||||
- SCons: 4.10.1
|
||||
- Linux: GCC 13.2.0 built against glibc 2.28, binutils 2.40, from our own [Linux SDK](https://github.com/godotengine/buildroot)
|
||||
- Windows:
|
||||
* x86_64/x86_32: MinGW 12.0.0, GCC 14.2.1, binutils 2.43.1
|
||||
* arm64: llvm-mingw 20250528, LLVM 20.1.6
|
||||
- Web: Emscripten 4.0.10
|
||||
- Android: Android NDK 28.1.13356709, build-tools 35.0.0, platform android-35, CMake 3.31.6, JDK 21
|
||||
- Apple: Xcode 16.4 with Apple Clang (LLVM 19.1.4), cctools 1024.3, ld64 955.13
|
||||
* macOS: MacOSX SDK 15.5
|
||||
* Apple Embedded: iPhoneOS and iPhoneSimulator SDKs 18.5, AppleTVOS and AppleTVSimulator SDKs 18.5, XROS and XRSimulator SDKs 2.5
|
||||
* x86_64/x86_32: MinGW 13.0.0, GCC 15.2.1, binutils 2.45
|
||||
* arm64: llvm-mingw 20251118, LLVM 21.1.6
|
||||
- Web: Emscripten 4.0.20
|
||||
- Android: Android NDK 28.1.13356709, build-tools 35.0.1, platform android-35, CMake 3.31.6, JDK 21
|
||||
- Apple: Xcode 26.1.1 with Apple Clang (LLVM 19.1.5), cctools 1030.6.3, ld64 956.6
|
||||
* SDKs: MacOSX, iPhoneOS, iPhoneSimulator, AppleTVOS, AppleTVSimulator, XROS, XRSimulator
|
||||
|
||||
4
build.sh
4
build.sh
@@ -58,8 +58,8 @@ podman_build windows
|
||||
podman_build web
|
||||
podman_build android
|
||||
|
||||
XCODE_SDK=26.0.1
|
||||
APPLE_SDKV=26.0
|
||||
XCODE_SDK=26.1.1
|
||||
APPLE_SDKV=26.1
|
||||
if [ ! -e "${files_root}"/MacOSX${APPLE_SDKV}.sdk.tar.xz ] || [ ! -e "${files_root}"/Xcode-Developer${XCODE_SDK}.tar.xz ]; then
|
||||
if [ ! -r "${files_root}"/Xcode_${XCODE_SDK}.xip ]; then
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user