2020-10-07 08:44:09 +02:00
|
|
|
ARG img_version
|
2019-12-02 13:30:41 +01:00
|
|
|
FROM godot-fedora:${img_version}
|
2019-01-07 21:51:22 +01:00
|
|
|
|
2019-11-15 11:56:31 +01:00
|
|
|
RUN dnf -y install --setopt=install_weak_deps=False \
|
2021-07-30 12:21:38 +02:00
|
|
|
clang xar xar-devel xz-devel cpio && \
|
2022-11-03 12:34:10 +01:00
|
|
|
git clone --progress https://github.com/nrosenstein-stuff/pbzx && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd pbzx && \
|
Update to Fedora 39, update all toolchains
- 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.
2023-09-04 10:10:35 +02:00
|
|
|
git checkout bf536e167f2e514866f91d7baa0df1dff5a13711 && \
|
2019-01-07 21:51:22 +01:00
|
|
|
clang -O3 -llzma -lxar -I /usr/local/include pbzx.c -o pbzx
|
|
|
|
|
2022-05-13 15:08:50 +02:00
|
|
|
ENV XCODE_SDKV=
|
|
|
|
ENV OSX_SDKV=
|
|
|
|
ENV IOS_SDKV=
|
|
|
|
|
2019-01-07 21:51:22 +01:00
|
|
|
CMD mkdir -p /root/xcode && \
|
|
|
|
cd /root/xcode && \
|
2022-05-13 15:08:50 +02:00
|
|
|
xar -xf /root/files/Xcode_${XCODE_SDKV}.xip && \
|
2019-01-07 21:51:22 +01:00
|
|
|
/root/pbzx/pbzx -n Content | cpio -i && \
|
2022-05-13 15:08:50 +02:00
|
|
|
export OSX_SDK=MacOSX${OSX_SDKV}.sdk && \
|
2020-10-07 08:44:09 +02:00
|
|
|
cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/${OSX_SDK} && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /tmp && \
|
2020-10-07 08:44:09 +02:00
|
|
|
tar -cJf /root/files/${OSX_SDK}.tar.xz ${OSX_SDK} && \
|
|
|
|
rm -rf ${OSX_SDK} && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /root/xcode && \
|
2022-05-13 15:08:50 +02:00
|
|
|
export IOS_SDK=iPhoneOS${IOS_SDKV}.sdk && \
|
|
|
|
export IOS_SIMULATOR_SDK=iPhoneSimulator${IOS_SDKV}.sdk && \
|
2020-10-07 08:44:09 +02:00
|
|
|
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/${IOS_SDK} && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /tmp && \
|
2020-10-07 08:44:09 +02:00
|
|
|
tar -cJf /root/files/${IOS_SDK}.tar.xz ${IOS_SDK} && \
|
|
|
|
rm -rf ${IOS_SDK} && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /root/xcode && \
|
Update to Fedora 39, update all toolchains
- 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.
2023-09-04 10:10:35 +02:00
|
|
|
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SIMULATOR_SDK} && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /tmp && \
|
Update to Fedora 39, update all toolchains
- 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.
2023-09-04 10:10:35 +02:00
|
|
|
tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SIMULATOR_SDK} && \
|
|
|
|
rm -rf ${IOS_SIMULATOR_SDK}
|