FROM registry.fedoraproject.org/fedora:31

ENV TERM="dumb"

ARG DEFAULT_BRANCH="master"

# System setup
RUN echo "fastestmirror=true" >>  /etc/dnf/dnf.conf && \
    dnf upgrade -y && \
    dnf install -y sudo git lbzip2 rsync wine

# Configure git for various usage
RUN git config --global user.email "cerbero@gstreamer.freedesktop.org" && \
    git config --global user.name  "Cerbero Build System"

RUN git clone -b ndk-21 https://gitlab.freedesktop.org/ystreet/cerbero.git && \
    mkdir $HOME/.cerbero && \
    echo "allow_parallel_build=True" > $HOME/.cerbero/cerbero.cbc && \
    echo "use_ccache=True" >> $HOME/.cerbero/cerbero.cbc && \
    cd cerbero && \
      echo "local_sources=\"/cerbero/cerbero-sources\"" >> localconf.cbc && \
      echo "home_dir=\"/cerbero/cerbero-build\"" >> localconf.cbc && \
      ./cerbero-uninstalled -t -c localconf.cbc bootstrap -y --system-only && \
      ./cerbero-uninstalled -t -c localconf.cbc fetch-bootstrap && \
      ./cerbero-uninstalled -t -c localconf.cbc fetch-package gstreamer-1.0 && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win32.cbc fetch-bootstrap && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win32.cbc fetch-package gstreamer-1.0 && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win32.cbc bootstrap -y --system-only && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win64.cbc fetch-bootstrap && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win64.cbc fetch-package gstreamer-1.0 && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-win64.cbc bootstrap -y --system-only && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-android-universal.cbc fetch-bootstrap && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-android-universal.cbc fetch-package gstreamer-1.0 && \
      ./cerbero-uninstalled -t -c localconf.cbc -c config/cross-android-universal.cbc bootstrap -y --system-only && \
      cd .. && \
    rm /cerbero/cerbero-sources/android-ndk-*.zip && \
    rm /cerbero/cerbero-sources/mingw-*.tar.xz && \
    rm -rf /cerbero/cerbero-build/{dist,logs,sources} && \
    rm -f /cerbero/cerbero-build/{linux,windows,android}*.cache && \
    dnf clean all