From bc89c9e2d99bc4d393daf92411f71379a3b4ad9d Mon Sep 17 00:00:00 2001 From: Alynx Zhou Date: Sat, 2 Dec 2023 18:38:53 +0800 Subject: [PATCH] CI: Manually build exiv2 0.27 for Windows package Exiv2 0.28 dropped the old `std::wstring` path and breaks non-ASCII path handling in Windows. While recent Windows supports using UTF-8 as locale, it might cause other issue. Before actual fix in getting merged, we stick to exiv2 0.27 branch for Windows build. --- .github/workflows/win-nightly.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/win-nightly.yml b/.github/workflows/win-nightly.yml index 66e0a67d732d..f19fbc47c728 100644 --- a/.github/workflows/win-nightly.yml +++ b/.github/workflows/win-nightly.yml @@ -53,7 +53,6 @@ jobs: nsis:p dbus-glib:p drmingw:p - exiv2:p gcc-libs:p gettext:p gmic:p @@ -98,7 +97,35 @@ jobs: fetch-depth: 500 submodules: true path: src - - name: Update lensfun data + - name: Checkout exiv2 source + uses: actions/checkout@v3 + with: + repository: 'Exiv2/exiv2' + # Exiv2 0.28.0 removes the old `std::wstring` path for Windows, and + # breaks non-ASCII path handling. We stick to 0.27 until fixes in + # get merged. + ref: '0.27-maintenance' + path: 'exiv2-src' + fetch-depth: 1 + # Install manually compiled dependencies into system, so ansel will link + # against it and CPack will grab it. + - name: Manually build exiv2 dependency + run: | + cd exiv2-src + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DEXIV2_ENABLE_VIDEO=OFF \ + -DEXIV2_ENABLE_NLS=ON \ + -DEXIV2_ENABLE_XMP=ON \ + -DEXIV2_ENABLE_CURL=ON \ + -DEXIV2_ENABLE_WEBREADY=ON \ + -DEXIV2_ENABLE_WIN_UNICODE=ON \ + -DEXIV2_ENABLE_BMFF=ON + ninja -C build + sudo ninja -C build install + cd .. + - name: Update lensfun data! run: | lensfun-update-data - name: Build and Install