Update various toolchains for 4.3

- .NET 8.0
- SCons 4.6.0
- Xcode 15.2 (macOS 14.2, iOS 17.2)
- Android API 34
- Emscripten 3.1.53
- Add wayland-devel dependency for Linux
This commit is contained in:
Rémi Verschelde 2024-01-30 19:56:32 +01:00
parent 79d970a6a4
commit af40006600
6 changed files with 27 additions and 23 deletions

View File

@ -1,15 +1,13 @@
ARG img_version ARG img_version
FROM godot-osx:${img_version} FROM godot-osx:${img_version}
ENV IOS_SDK=17.0 ENV IOS_SDK=17.2
RUN dnf -y install --setopt=install_weak_deps=False \ 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 && \ 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 && \ git clone --progress https://github.com/tpoechtrager/cctools-port && \
cd /root/cctools-port && \ cd /root/cctools-port && \
git checkout 437ced391dbf14dce86f977ca050a750d5682f39 && \ git checkout a98286d858210b209395624477533c0bde05556a && \
curl -LO https://github.com/tpoechtrager/cctools-port/pull/136.patch && \
git apply 136.patch && \
# arm64 device # arm64 device
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \ usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
mkdir -p /root/ioscross/arm64 && \ mkdir -p /root/ioscross/arm64 && \

View File

@ -7,7 +7,8 @@ ENV GODOT_SDK_LINUX_ARM64=/root/aarch64-godot-linux-gnu_sdk-buildroot
ENV GODOT_SDK_LINUX_ARM32=/root/arm-godot-linux-gnueabihf_sdk-buildroot ENV GODOT_SDK_LINUX_ARM32=/root/arm-godot-linux-gnueabihf_sdk-buildroot
ENV BASE_PATH=${PATH} ENV BASE_PATH=${PATH}
RUN curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2024-01-17/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \ RUN dnf install -y wayland-devel && \
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2024-01-17/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \ tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \ rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
cd x86_64-godot-linux-gnu_sdk-buildroot && \ cd x86_64-godot-linux-gnu_sdk-buildroot && \

View File

@ -1,14 +1,19 @@
ARG img_version ARG img_version
FROM godot-fedora:${img_version} FROM godot-fedora:${img_version}
ENV OSX_SDK=14.2
RUN dnf -y install --setopt=install_weak_deps=False \ RUN dnf -y install --setopt=install_weak_deps=False \
automake autoconf bzip2-devel cmake gcc gcc-c++ libdispatch libicu-devel libtool \ automake autoconf bzip2-devel cmake gcc gcc-c++ libdispatch libicu-devel libtool \
libxml2-devel openssl-devel uuid-devel yasm && \ libxml2-devel openssl-devel uuid-devel yasm && \
git clone --progress https://github.com/tpoechtrager/osxcross && \ git clone --progress https://github.com/tpoechtrager/osxcross && \
cd /root/osxcross && \ cd /root/osxcross && \
git checkout 5e1b71fcceb23952f3229995edca1b6231525b5b && \ git checkout ff8d100f3f026b4ffbe4ce96d8aac4ce06f1278b && \
ln -s /root/files/MacOSX14.0.sdk.tar.xz /root/osxcross/tarballs && \ curl -LO https://github.com/tpoechtrager/osxcross/pull/415.patch && \
git apply 415.patch && \
ln -s /root/files/MacOSX${OSX_SDK}.sdk.tar.xz /root/osxcross/tarballs && \
export UNATTENDED=1 && \ export UNATTENDED=1 && \
export SDK_VERSION=${OSX_SDK} && \
# Custom build Apple Clang to ensure compatibility. # Custom build Apple Clang to ensure compatibility.
# Find the equivalent LLVM version for the SDK from: # Find the equivalent LLVM version for the SDK from:
# https://en.wikipedia.org/wiki/Xcode#Toolchain_versions # https://en.wikipedia.org/wiki/Xcode#Toolchain_versions

View File

@ -1,7 +1,7 @@
ARG img_version ARG img_version
FROM godot-fedora:${img_version} FROM godot-fedora:${img_version}
ENV EMSCRIPTEN_VERSION=3.1.39 ENV EMSCRIPTEN_VERSION=3.1.53
RUN git clone --branch ${EMSCRIPTEN_VERSION} --progress https://github.com/emscripten-core/emsdk && \ RUN git clone --branch ${EMSCRIPTEN_VERSION} --progress https://github.com/emscripten-core/emsdk && \
emsdk/emsdk install ${EMSCRIPTEN_VERSION} && \ emsdk/emsdk install ${EMSCRIPTEN_VERSION} && \

View File

@ -65,13 +65,13 @@ 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: These are the expected container image sizes, so you can plan your disk usage in advance:
REPOSITORY TAG SIZE REPOSITORY TAG SIZE
localhost/godot-fedora 4.x-f39 1.08 GB localhost/godot-fedora 4.x-f39 1.20 GB
localhost/godot-linux 4.x-f39 2.86 GB localhost/godot-linux 4.x-f39 3.00 GB
localhost/godot-windows 4.x-f39 1.89 GB localhost/godot-windows 4.x-f39 2.02 GB
localhost/godot-web 4.x-f39 2.24 GB localhost/godot-web 4.x-f39 2.42 GB
localhost/godot-android 4.x-f39 3.67 GB localhost/godot-android 4.x-f39 4.48 GB
localhost/godot-osx 4.x-f39 4.70 GB localhost/godot-osx 4.x-f39 4.94 GB
localhost/godot-ios 4.x-f39 5.30 GB localhost/godot-ios 4.x-f39 5.68 GB
In addition to this, generating containers will also require some host disk space In addition to this, generating containers will also require some host disk space
(up to 10 GB) for the dependencies (Xcode). (up to 10 GB) for the dependencies (Xcode).
@ -82,10 +82,10 @@ In addition to this, generating containers will also require some host disk spac
These are the toolchains currently in use for Godot 4.2 and later: These are the toolchains currently in use for Godot 4.2 and later:
- Base image: Fedora 39 - Base image: Fedora 39
- SCons: 4.5.2 - SCons: 4.6.0
- Linux: GCC 13.2.0 built against glibc 2.28, binutils 2.40, from our own [Linux SDK](https://github.com/godotengine/buildroot) - Linux: GCC 13.2.0 built against glibc 2.28, binutils 2.40, from our own [Linux SDK](https://github.com/godotengine/buildroot)
- Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40 - Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40
- Web: Emscripten 3.1.39 - Web: Emscripten 3.1.53
- Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17 - Android: Android NDK 23.2.8568313, build-tools 34.0.0, platform android-34, CMake 3.22.1, JDK 17
- macOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), MacOSX SDK 14.0 - macOS: Xcode 15.2 with Apple Clang (LLVM 16.0.0), MacOSX SDK 14.2
- iOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), iPhoneOS SDK 17.0 - iOS: Xcode 15.2 with Apple Clang (LLVM 16.0.0), iPhoneOS SDK 17.2

View File

@ -58,9 +58,9 @@ podman_build windows
podman_build web podman_build web
podman_build android podman_build android
XCODE_SDK=15 XCODE_SDK=15.2
OSX_SDK=14.0 OSX_SDK=14.2
IOS_SDK=17.0 IOS_SDK=17.2
if [ ! -e "${files_root}"/MacOSX${OSX_SDK}.sdk.tar.xz ] || [ ! -e "${files_root}"/iPhoneOS${IOS_SDK}.sdk.tar.xz ] || [ ! -e "${files_root}"/iPhoneSimulator${IOS_SDK}.sdk.tar.xz ]; then if [ ! -e "${files_root}"/MacOSX${OSX_SDK}.sdk.tar.xz ] || [ ! -e "${files_root}"/iPhoneOS${IOS_SDK}.sdk.tar.xz ] || [ ! -e "${files_root}"/iPhoneSimulator${IOS_SDK}.sdk.tar.xz ]; then
if [ ! -e "${files_root}"/Xcode_${XCODE_SDK}.xip ]; then if [ ! -e "${files_root}"/Xcode_${XCODE_SDK}.xip ]; then
echo "files/Xcode_${XCODE_SDK}.xip is required. It can be downloaded from https://developer.apple.com/download/more/ with a valid apple ID." echo "files/Xcode_${XCODE_SDK}.xip is required. It can be downloaded from https://developer.apple.com/download/more/ with a valid apple ID."