mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
- Base image: Fedora 39 - SCons: 4.5.2 - Linux: GCC 10.2.0 built against glibc 2.19, binutils 2.35.1 - Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40 - Web: Emscripten 3.1.39 - Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17 CMake 3.22.1, JDK 17 - macOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), MacOSX SDK 14.0 - iOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), iPhoneOS SDK 17.0 Switches macOS/iOS builds to use Apple Clang, to maximize compatibility with upstream Xcode. Also add gettext which is needed by Godot build scripts to compile PO files to MO.
42 lines
2.0 KiB
Docker
42 lines
2.0 KiB
Docker
ARG img_version
|
|
FROM godot-osx:${img_version}
|
|
|
|
ENV IOS_SDK=17.0
|
|
|
|
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 437ced391dbf14dce86f977ca050a750d5682f39 && \
|
|
curl -LO https://github.com/tpoechtrager/cctools-port/pull/136.patch && \
|
|
git apply 136.patch && \
|
|
# arm64 device
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
|
|
mkdir -p /root/ioscross/arm64 && \
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64 && \
|
|
mkdir /root/ioscross/arm64/usr && \
|
|
ln -s /root/ioscross/arm64/bin /root/ioscross/arm64/usr/bin && \
|
|
# Prepare for simulator builds
|
|
sed -i '/WRAPPER_SDKDIR/s/iPhoneOS/iPhoneSimulator/' usage_examples/ios_toolchain/build.sh && \
|
|
# arm64 simulator
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz arm64 && \
|
|
mkdir -p /root/ioscross/arm64_sim && \
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64_sim && \
|
|
mkdir /root/ioscross/arm64_sim/usr && \
|
|
ln -s /root/ioscross/arm64_sim/bin /root/ioscross/arm64_sim/usr/bin && \
|
|
# x86_64 simulator
|
|
sed -i 's/^TRIPLE=.*/TRIPLE="x86_64-apple-darwin11"/' usage_examples/ios_toolchain/build.sh && \
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz x86_64 && \
|
|
mkdir -p /root/ioscross/x86_64_sim && \
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/x86_64_sim && \
|
|
mkdir /root/ioscross/x86_64_sim/usr && \
|
|
ln -s /root/ioscross/x86_64_sim/bin /root/ioscross/x86_64_sim/usr/bin && \
|
|
cd /root && \
|
|
rm -rf /root/cctools-port
|
|
|
|
ENV OSXCROSS_IOS=not_nothing
|
|
ENV IOSCROSS_ROOT=/root/ioscross
|
|
ENV PATH="/root/ioscross/arm64/bin:/root/ioscross/arm64_sim/bin:/root/ioscross/x86_64_sim/bin:${PATH}"
|
|
|
|
CMD /bin/bash
|