FROM archlinux:latest MAINTAINER yuzu # Add mingw-repo "ownstuff" is a AUR with an up to date mingw64 # Runs pacman -Syu twice in order to work around pacman issues where the first run only updates the current distro packages # and the second run actually pulls the updates from the repos. RUN useradd -m -u 1027 -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \ echo "[ownstuff]" >> /etc/pacman.conf && \ echo "SigLevel = Optional TrustAll" >> /etc/pacman.conf && \ echo "Server = https://martchus.no-ip.biz/repo/arch/ownstuff/os/\$arch" >> /etc/pacman.conf && \ pacman -Syu --noconfirm && \ pacman -Syu --noconfirm && \ pacman -S --needed --noconfirm --noprogressbar \ base-devel \ gnupg \ wget \ git \ python-pip \ python \ python2 \ ccache \ p7zip \ cmake \ ninja \ mingw-w64-boost \ mingw-w64-gcc \ mingw-w64-lz4 \ mingw-w64-opus \ mingw-w64-qt5-base \ mingw-w64-qt5-tools \ mingw-w64-qt5-graphicaleffects \ mingw-w64-qt5-multimedia \ mingw-w64-qt5-winextras \ mingw-w64-sdl2 \ mingw-w64-tools \ mingw-w64-winpthreads \ mingw-w64-zlib \ mingw-w64-zstd \ && \ pacman -Scc --noconfirm && \ rm -rf /usr/share/man/ /tmp/ /var/tmp/ # Setup extra mingw work arounds COPY mingw-setup.sh /tmp/ RUN cd /tmp/ && bash -e mingw-setup.sh # Compatibility with the old Ubuntu MingW image RUN ln -s /usr/x86_64-w64-mingw32/lib/qt /usr/x86_64-w64-mingw32/lib/qt5 # Install conan and add the mingw cross compile as the default profile RUN pip3 install conan COPY --chown=yuzu:yuzu default /home/yuzu/.conan/profiles/ USER 1027 # Install/build the missing libs (uses the default mingw cross compile profile) RUN conan install catch2/2.11.0@ --build=missing && \ conan install fmt/6.2.0@ --build=missing && \ conan install nlohmann_json/3.7.3@ --build=missing