ARG img_version
FROM godot-fedora:${img_version}

RUN dnf -y install --setopt=install_weak_deps=False \
      clang xar xar-devel xz-devel cpio && \
    git clone --progress https://github.com/NiklasRosenstein/pbzx && \
    cd pbzx && \
    git checkout 2a4d7c3300c826d918def713a24d25c237c8ed53 && \
    clang -O3 -llzma -lxar -I /usr/local/include pbzx.c -o pbzx



CMD mkdir -p /root/xcode && \
    cd /root/xcode && \
    xar -xf /root/files/Xcode_12.4.xip && \
    /root/pbzx/pbzx -n Content | cpio -i && \
    export OSX_SDK=MacOSX11.1.sdk && \
    cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/${OSX_SDK} && \
    mkdir -p mkdir -p /tmp/${OSX_SDK}/usr/share/man && \
    cp -rf Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1 \
           Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man3 \
           Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/${OSX_SDK}/usr/share/man/ && \
    cd /tmp && \
    tar -cJf /root/files/${OSX_SDK}.tar.xz ${OSX_SDK} && \
    rm -rf ${OSX_SDK} && \
    cd /root/xcode && \
    export IOS_SDK=iPhoneOS14.4.sdk && \
    export IOS_SIMULATOR_SDK=iPhoneSimulator14.4.sdk && \
    cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/${IOS_SDK} && \
    mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
    cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
    cd /tmp && \
    tar -cJf /root/files/${IOS_SDK}.tar.xz ${IOS_SDK} && \
    rm -rf ${IOS_SDK} && \
    cd /root/xcode && \
    cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SDK} && \
    mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
    cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
    cd /tmp && \
    tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SDK} && \
    rm -rf ${IOS_SDK}

#XCODE_SDK=12.5.1
#OSX_SDK=11.3
#IOS_SDK=14.5

CMD mkdir -p /root/xcode && \
    cd /root/xcode && \
    xar -xf /root/files/Xcode_12.5.1.xip && \
    /root/pbzx/pbzx -n Content | cpio -i && \
    export OSX_SDK=MacOSX11.3.sdk && \
    cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/${OSX_SDK} && \
    mkdir -p /tmp/${OSX_SDK}/usr/include/c++ && \
    cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${OSX_SDK}/usr/include/c++/ && \
    mkdir -p mkdir -p /tmp/${OSX_SDK}/usr/share/man && \
    cp -rf Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1 \
           Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man3 \
           Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/${OSX_SDK}/usr/share/man/ && \
    cd /tmp && \
    tar -cJf /root/files/${OSX_SDK}.tar.xz ${OSX_SDK} && \
    rm -rf ${OSX_SDK} && \
    cd /root/xcode && \
    export IOS_SDK=iPhoneOS14.5.sdk && \
    export IOS_SIMULATOR_SDK=iPhoneSimulator14.5.sdk && \
    cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/${IOS_SDK} && \
    mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
    cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
    cd /tmp && \
    tar -cJf /root/files/${IOS_SDK}.tar.xz ${IOS_SDK} && \
    rm -rf ${IOS_SDK} && \
    cd /root/xcode && \
    cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SDK} && \
    mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
    cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
    cd /tmp && \
    tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SDK} && \
    rm -rf ${IOS_SDK}