964bfcf73e
ccache requires a newer version of glibc than could be provided with the
Azure workaround. Revert 87c73e5b5d
so
that ccache will work.
This may not work with Azure. If that is the case, we will need to
revert ccache to an earlier build.
58 lines
2.5 KiB
Docker
58 lines
2.5 KiB
Docker
FROM archlinux:latest
|
|
LABEL maintainer="yuzu"
|
|
|
|
ENV EXT_BIN_URL="https://github.com/yuzu-emu/ext-linux-bin/raw/main/mingw"
|
|
|
|
# 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 \
|
|
glslang \
|
|
python-pip \
|
|
python \
|
|
ccache \
|
|
p7zip \
|
|
cmake \
|
|
ninja \
|
|
mingw-w64-boost \
|
|
mingw-w64-gcc \
|
|
mingw-w64-lz4 \
|
|
mingw-w64-opus \
|
|
mingw-w64-sdl2 \
|
|
mingw-w64-tools \
|
|
mingw-w64-winpthreads \
|
|
mingw-w64-zlib \
|
|
&& \
|
|
cd /tmp && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-fmt-8.0.0-5-any.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-qt5-base-5.15.2-1-x86_64.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-qt5-declarative-5.15.2-1-x86_64.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-qt5-graphicaleffects-5.15.2-1-any.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-qt5-multimedia-5.15.2-1-any.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-qt5-tools-5.15.2-1-x86_64.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-qt5-winextras-5.15.2-1-any.pkg.tar.zst && \
|
|
wget -q ${EXT_BIN_URL}/mingw-w64-zstd-1.5.0-1-any.pkg.tar.zst && \
|
|
pacman -U --noconfirm --noprogressbar mingw-w64-{fmt-8.0.0-5-any,qt5-base-5.15.2-1-x86_64,qt5-declarative-5.15.2-1-x86_64,qt5-graphicaleffects-5.15.2-1-any,qt5-multimedia-5.15.2-1-any,qt5-tools-5.15.2-1-x86_64,qt5-winextras-5.15.2-1-any,zstd-1.5.0-1-any}.pkg.tar.zst && \
|
|
pacman -Scc --noconfirm && \
|
|
rm -rf /usr/share/man/ /tmp/* /var/tmp/ /usr/{i686-w64-mingw32,lib32} /usr/lib/gcc/i686-w64-mingw32
|
|
|
|
# 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
|