ARG img_version
FROM pandemonium-osx:${img_version}

ENV IOS_SDK=15.4

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.git && \
    cd /root/cctools-port && \
    git checkout 04663295d0425abfac90a42440a7ec02d7155fea && \
    # 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 && \
    # arm64 simulator
    # Disabled for now as it doesn't work with cctools-port and current LLVM:
    # Cf. https://github.com/tpoechtrager/cctools-port/issues/102
    #sed -i 's/miphoneos-version-min/mios-simulator-version-min/g' usage_examples/ios_toolchain/wrapper.c && \
    #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