build-environments/linux-mingw/Dockerfile
Lioncash 5e6759df8c Make use of up to date libraries on the buildbots
Ensures that the docker containers use more up to date versions of the
libraries that we install from conan.
2020-08-14 08:04:21 -04:00

56 lines
1.8 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-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.13.0@ --build=missing && \
conan install fmt/7.0.3@ --build=missing && \
conan install nlohmann_json/3.9.1@ --build=missing