Jens-G opened a new pull request, #3954:
URL: https://github.com/apache/thrift/pull/3954

   [THRIFT-6373](https://issues.apache.org/jira/browse/THRIFT-6373)
   
   MSYS2 is phasing out its MINGW64 environment ([news of 
2026-03-15](https://www.msys2.org/news/#2026-03-15-deprecating-the-mingw64-environment)):
 no new packages are added to it, and existing leaf packages may be removed if 
issues arise. The AppVeyor MINGW job builds the compiler and the C++ library 
there. This moves it to UCRT64, which carries the same versions of everything 
the job installs: GCC 16.2.0, Boost 1.92.0, CMake 4.4.3, libevent 2.1.13, 
OpenSSL 3.6.4 and zlib 1.3.2.
   
   ### The change
   
   `MINGW-appveyor-full.bat` now sets the package name prefix and the root 
directory of the MSYS2 environment in one place (`MINGWPKG`, `MINGWDIR`). It 
uses them for the PATH entry in `~/.bash_profile`, for the package list, and 
for the compiler, make and OpenSSL paths it passes to CMake. For x64 that is 
UCRT64 (`mingw-w64-ucrt-x86_64`, `/ucrt64`). An x86 build, which the matrix 
does not have, stays in MINGW32, the only 32-bit environment MSYS2 has left. 
The package list no longer names `mingw-w64-x86_64-toolchain` on top of the 
environment's own toolchain.
   
   The two `pacman -Syu` calls are unchanged. So this run also shows whether 
gdb 18.1-3 from MSYS2 fixes the MINGW failure that master has had since build 
54792483 (details in the ticket). Item 2 of the ticket stops these calls from 
upgrading the MINGW64 and MINGW32 packages that are preinstalled on the image. 
It will be added here once that is known.
   
   `MSYS-appveyor-full.bat` installs MINGW64 packages as well, but no job runs 
it, so it is left unchanged. `build/cmake/README-MSYS2.md` is item 3 of the 
ticket and a separate change.
   
   ### Tests
   
   The script was run under Wine 10 cmd with a stub `bash.exe` that logs its 
command line, before and after the change, for `PLATFORM` x64 and x86.
   - **x64:** the MSYS2 commands differ only in the environment: `/ucrt64/bin` 
on the PATH, the `mingw-w64-ucrt-x86_64-` packages, and the `/ucrt64` paths for 
CMake. The `pacman -Syu` calls are identical.
   - **x86:** the only differences are the removed `mingw-w64-x86_64-toolchain` 
and one more `sed`, which clears a `/ucrt64/bin` line from `~/.bash_profile`.
   
   The build itself can only be tested on AppVeyor. The MINGW job should build 
the compiler and the C++ library with OpenSSL, libevent and ZLIB, and pass all 
57 tests, like the last green run on master (54792478, 35 minutes).
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to