FROM nfnty/arch-mini:latest

# Based on https://github.com/haffmans/docker-mingw-qt5/blob/master/Dockerfile

# Update base system
RUN    pacman -Sy --noconfirm --noprogressbar archlinux-keyring \
    && pacman-key --populate \
    && pacman -Su --noconfirm --noprogressbar pacman \
    && pacman-db-upgrade \
    && pacman -Su --noconfirm --noprogressbar ca-certificates \
    && trust extract-compat \
    && pacman -Syyu --noconfirm --noprogressbar \
    && (echo -e "y\ny\n" | pacman -Scc)

# Install yaourt
RUN echo "[archlinuxfr]" >> /etc/pacman.conf && \
    echo "SigLevel = Never" >> /etc/pacman.conf && \
    echo "Server = http://repo.archlinux.fr/x86_64" >> /etc/pacman.conf &&\
    pacman -Sy

# Add some useful packages to the base system
RUN pacman -S --noconfirm --noprogressbar \
        make \
        git \
        sudo \
        wget \
        yaourt \
        awk \
        sudo \
        fakeroot \
        file \
        patch \
        ninja \
    && (echo -e "y\ny\n" | pacman -Scc)

# Add mingw-repo
RUN    echo "[mingw-w64]" >> /etc/pacman.conf \
    && echo "SigLevel = Optional TrustAll" >> /etc/pacman.conf \
    && echo "Server = http://downloads.sourceforge.net/project/mingw-w64-archlinux/\$arch" >> /etc/pacman.conf \
    && pacman -Sy

# Install MingW packages
RUN pacman -S --noconfirm --noprogressbar \
        mingw-w64-binutils \
        mingw-w64-boost \
        mingw-w64-cmake \
        mingw-w64-crt \
        mingw-w64-curl \
        mingw-w64-fontconfig \
        mingw-w64-freetype2 \
        mingw-w64-gcc \
        mingw-w64-headers \
        mingw-w64-libiconv \
        mingw-w64-libpng \
        mingw-w64-openssl \
        mingw-w64-pkg-config \
        mingw-w64-sdl2 \
        mingw-w64-sdl2_ttf \
        mingw-w64-tools \
        mingw-w64-winpthreads \
        mingw-w64-zlib \
    && (echo -e "y\ny\n" | pacman -Scc)

RUN useradd --create-home --comment "Arch Build User" build && \
    groupadd sudo && \
    echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers; \
    echo 'Defaults:nobody !requiretty' >> /etc/sudoers; \
    gpasswd -a build sudo
USER build
WORKDIR /tmp
# Overrides from arch-base
ENV HOME /home/build

RUN yaourt -S --noconfirm --noprogressbar \
        mingw-w64-jansson \
        aur/mingw-w64-libzip \
        aur/mingw-w64-speexdsp \
    && (echo -e "y\ny\n" | sudo pacman -Scc)
