From 8d8e781fa0f143ab807c91f0ae1b932b0ca386ce Mon Sep 17 00:00:00 2001 From: lat9nq Date: Sat, 2 Jul 2022 17:56:25 -0400 Subject: [PATCH 1/3] mingw: Use wclang AUR package The clang one was deleted in favor of the other. For some odd reason, the old one still clones, but we should be moving to mingw-w64-wclang-git anyway. --- linux-mingw/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-mingw/Dockerfile b/linux-mingw/Dockerfile index be01fcd..2cc9253 100644 --- a/linux-mingw/Dockerfile +++ b/linux-mingw/Dockerfile @@ -65,8 +65,8 @@ USER 1027 RUN \ # mingw-w64-clang -- MinGW wrapper for host clang cd && \ - git clone https://aur.archlinux.org/mingw-w64-clang-git.git && \ - cd mingw-w64-clang-git && \ + git clone https://aur.archlinux.org/mingw-w64-wclang-git.git && \ + cd mingw-w64-wclang-git && \ makepkg -si --noconfirm --noprogressbar && \ # mingw-w64-fmt cd && \ From 9c46eafe785433158b7a77d891d3c7efe6bda35c Mon Sep 17 00:00:00 2001 From: lat9nq Date: Fri, 22 Jul 2022 00:27:30 -0400 Subject: [PATCH 2/3] fresh: Use vcpkg to install missing packages --- linux-fresh/Dockerfile | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/linux-fresh/Dockerfile b/linux-fresh/Dockerfile index 8f8c0a5..efc05a7 100644 --- a/linux-fresh/Dockerfile +++ b/linux-fresh/Dockerfile @@ -40,8 +40,13 @@ RUN useradd -m -u 1027 -s /bin/bash yuzu && \ unzip \ wget \ zlib1g-dev \ - zsync && \ - pip3 install conan && \ + zsync \ +# vcpkg requirements + curl \ + zip \ + && \ +# Conan usage is deprecated + pip3 install conan && \ # Install updated versions of glslang, git, and Qt from launchpad repositories add-apt-repository -y ppa:beineri/opt-qt-${QT_VER}-${UBUNTU_VER} && \ add-apt-repository -y ppa:savoury1/graphics && \ @@ -119,5 +124,33 @@ COPY qtconcurrentthreadengine.patch /opt/qt515/qtconcurrentthreadengine.patch RUN patch /opt/qt515/include/QtConcurrent/qtconcurrentthreadengine.h /opt/qt515/qtconcurrentthreadengine.patch && \ rm /opt/qt515/qtconcurrentthreadengine.patch +# Install Catch2 manually in order to use older version than vcpkg provides +RUN cd /tmp && \ + git clone --depth 1 --branch v2.13.9 https://github.com/catchorg/Catch2.git && \ + cmake -B build -S Catch2 -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCATCH_USE_VALGRIND=OFF \ + -DCATCH_BUILD_EXAMPLES=OFF \ + -DCATCH_ENABLE_COVERAGE=OFF \ + -DCATCH_ENABLE_WERROR=OFF \ + -DCATCH_BUILD_TESTING=ON && \ + ninja -C build install && \ + rm -rf build Catch2 + +# Tell CMake to use vcpkg when looking for packages +ENV VCPKG_TOOLCHAIN_FILE=/home/yuzu/vcpkg/scripts/buildsystems/vcpkg.cmake + USER 1027 +# Conan usage is deprecated COPY --chown=yuzu:yuzu settings.yml /home/yuzu/.conan/settings.yml +# Install vcpkg and required dependencies for yuzu +RUN cd /home/yuzu &&\ + git clone --depth 1 https://github.com/Microsoft/vcpkg.git &&\ + cd vcpkg &&\ + ./bootstrap-vcpkg.sh &&\ + ./vcpkg install \ + fmt \ + lz4 \ + nlohmann-json \ + zlib \ + zstd From f18eeeaa8fbda9488a0c27b4d75ec0a2c31e4d22 Mon Sep 17 00:00:00 2001 From: lat9nq Date: Fri, 22 Jul 2022 00:27:56 -0400 Subject: [PATCH 3/3] mingw: Add mingw-w64-nlohmann-json Also adds a comment that Conan usage is deprecated. --- linux-mingw/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux-mingw/Dockerfile b/linux-mingw/Dockerfile index 2cc9253..5f01ed7 100644 --- a/linux-mingw/Dockerfile +++ b/linux-mingw/Dockerfile @@ -30,6 +30,7 @@ RUN useradd -m -u 1027 -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \ mingw-w64-gcc \ mingw-w64-libusb \ mingw-w64-lz4 \ + mingw-w64-nlohmann-json \ mingw-w64-opus \ mingw-w64-qt5-base \ mingw-w64-qt5-declarative \ @@ -55,7 +56,7 @@ RUN sed -i 's/-mwindows//g' /usr/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.c # Give yuzu user sudo access for AUR usage RUN echo "yuzu ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers -# Install conan and add the mingw cross compile as the default profile +# Conan usage is deprecated RUN pip3 install conan COPY --chown=yuzu:yuzu default /home/yuzu/.conan/profiles/ COPY --chown=yuzu:yuzu settings.yml /home/yuzu/.conan/settings.yml