diff --git a/dockerfiles/mingw-arch/Dockerfile b/dockerfiles/mingw-arch/Dockerfile new file mode 100644 index 0000000000..27b86623d7 --- /dev/null +++ b/dockerfiles/mingw-arch/Dockerfile @@ -0,0 +1,76 @@ +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 \ + && (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-crt \ + mingw-w64-gcc \ + mingw-w64-headers \ + mingw-w64-winpthreads \ + mingw-w64-cmake \ + mingw-w64-fontconfig \ + mingw-w64-freetype2 \ + mingw-w64-libiconv \ + mingw-w64-libpng \ + mingw-w64-openssl \ + mingw-w64-pkg-config \ + mingw-w64-sdl2 \ + mingw-w64-tools \ + mingw-w64-zlib \ + mingw-w64-sdl2_ttf \ + mingw-w64-curl \ + && (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)