build-environments/linux-mingw/Dockerfile
lat9nq 34efbab012 linux-mingw: upgrade conan packages, conan GCC version
Also use ownstuff ffmpeg, instead of the dead link from mingw-setup.sh
mingw-setup.sh was thus removed as it only did one thing that could be
reduced to a single command in the Dockerfile.
2020-09-26 16:55:32 -04:00

56 lines
1.9 KiB
Docker

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-ffmpeg \
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
RUN pip3 install pefile
# 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/
COPY --chown=yuzu:yuzu settings.yml /home/yuzu/.conan/settings.yml
USER 1027
# Install/build the missing libs (uses the default mingw cross compile profile)
RUN conan install catch2/2.13.1@ --build=missing && \
conan install fmt/7.0.3@ --build=missing && \
conan install nlohmann_json/3.9.1@ --build=missing