From 6550610ad02d8075df703cb05b6cb4d258ae8ad8 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Tue, 23 Jun 2026 09:43:46 +0200 Subject: [PATCH] Migrate from MINGW64 to UCRT64 as arm-none-eabi-gcc is not available anymore in MINGW64 cf https://github.com/msys2/MINGW-packages/commit/bb4125054bf0a400c77a64adb07b64658554083b --- .github/workflows/windows.yml | 58 ++++++++++++++++++++++---- .vscode/tasks.json | 4 +- .vscode/templates/launch_ps.json | 8 ++-- client/CMakeLists.txt | 4 +- client/experimental_lib/CMakeLists.txt | 4 +- 5 files changed, 61 insertions(+), 17 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c51f1c4e0..71077927a 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -23,9 +23,9 @@ jobs: run: shell: pwsh env: - PATH: C:/ProxSpace/msys2/mingw64/bin;C:/ProxSpace/msys2/usr/local/bin;C:/ProxSpace/msys2/usr/bin;C:/ProxSpace/msys2/bin - MSYSTEM: MINGW64 - PYTHONHOME: /mingw64 + PATH: C:/ProxSpace/msys2/ucrt64/bin;C:/ProxSpace/msys2/usr/local/bin;C:/ProxSpace/msys2/usr/bin;C:/ProxSpace/msys2/bin + MSYSTEM: UCRT64 + PYTHONHOME: /ucrt64 steps: - name: ProxSpace download @@ -40,6 +40,53 @@ jobs: - name: ProxSpace rename folder run: Get-ChildItem -Path "C:\ProxSpace-*" | Rename-Item -NewName (Split-Path C:\ProxSpace -Leaf) + - name: ProxSpace overwrite packages.txt for UCRT64 + run: | + @' + ############################## + # General # + ############################## + git + make + pkg-config + mingw-w64-ucrt-x86_64-cmake + procps + base-devel + ############################## + # Proxmark3 # + ############################## + mingw-w64-ucrt-x86_64-gcc + mingw-w64-ucrt-x86_64-arm-none-eabi-gcc + mingw-w64-ucrt-x86_64-arm-none-eabi-gdb + mingw-w64-ucrt-x86_64-arm-none-eabi-binutils + mingw-w64-ucrt-x86_64-arm-none-eabi-newlib + mingw-w64-ucrt-x86_64-readline + mingw-w64-ucrt-x86_64-libsndfile + mingw-w64-ucrt-x86_64-lua + mingw-w64-ucrt-x86_64-bzip2 + mingw-w64-ucrt-x86_64-python + mingw-w64-ucrt-x86_64-python-pip + mingw-w64-ucrt-x86_64-python-setuptools + mingw-w64-ucrt-x86_64-python-cryptography + mingw-w64-ucrt-x86_64-jansson + mingw-w64-ucrt-x86_64-qt6-base + mingw-w64-ucrt-x86_64-gdb + mingw-w64-ucrt-x86_64-openocd + mingw-w64-ucrt-x86_64-opencl-icd + mingw-w64-ucrt-x86_64-lz4 + mingw-w64-ucrt-x86_64-libgd + mingw-w64-ucrt-x86_64-openssl + ############################## + # ChameleonMini # + ############################## + #mingw-w64-ucrt-x86_64-dfu-programmer + #mingw-w64-ucrt-x86_64-avrdude + #mingw-w64-ucrt-x86_64-avr-binutils + #mingw-w64-ucrt-x86_64-avr-gcc + #mingw-w64-ucrt-x86_64-avr-gdb + #mingw-w64-ucrt-x86_64-avr-libc + '@ | Set-Content -Path "C:\ProxSpace\setup\packages.txt" -Encoding UTF8 + - name: ProxSpace version run: | $psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "C:\ProxSpace\setup\09-proxspace_setup.post").Line.Split("""")[1] @@ -53,10 +100,7 @@ jobs: for ($i = 1; $i -le $maxAttempts; $i++) { Write-Host "Attempt $i..." ./runme64.bat -c "exit" - if ($LASTEXITCODE -eq 0) { - ./runme64.bat -c "pacman -Syu --noconfirm mingw-w64-x86_64-qt6-base" - exit 0 - } + if ($LASTEXITCODE -eq 0) { exit 0 } if ($i -lt $maxAttempts) { Start-Sleep -Seconds $delay } } exit 1 diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 0bbc07ac9..d3775d1a6 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,8 +6,8 @@ "options": { "cwd": "${workspaceFolder}", "env": { - "PATH": "${workspaceFolder}/../../msys2/mingw64/bin;${workspaceFolder}/../../msys2/usr/local/bin;${workspaceFolder}/../../msys2/usr/bin;${workspaceFolder}/../../msys2/bin", - "MSYSTEM": "MINGW64" + "PATH": "${workspaceFolder}/../../msys2/ucrt64/bin;${workspaceFolder}/../../msys2/usr/local/bin;${workspaceFolder}/../../msys2/usr/bin;${workspaceFolder}/../../msys2/bin", + "MSYSTEM": "UCRT64" } } }, diff --git a/.vscode/templates/launch_ps.json b/.vscode/templates/launch_ps.json index 045b3d6c5..cc7d9d734 100644 --- a/.vscode/templates/launch_ps.json +++ b/.vscode/templates/launch_ps.json @@ -6,8 +6,8 @@ "options": { "cwd": "${workspaceFolder}", "env": { - "PATH": "${workspaceFolder}/../../msys2/mingw64/bin;${workspaceFolder}/../../msys2/usr/local/bin;${workspaceFolder}/../../msys2/usr/bin;${workspaceFolder}/../../msys2/bin", - "MSYSTEM": "MINGW64" + "PATH": "${workspaceFolder}/../../msys2/ucrt64/bin;${workspaceFolder}/../../msys2/usr/local/bin;${workspaceFolder}/../../msys2/usr/bin;${workspaceFolder}/../../msys2/bin", + "MSYSTEM": "UCRT64" } }, "configurations": [ @@ -29,7 +29,7 @@ } ], "preLaunchTask": "client: Debug: clean & make", - "miDebuggerPath": "${workspaceFolder}/../../msys2/mingw64/bin/gdb.exe" + "miDebuggerPath": "${workspaceFolder}/../../msys2/ucrt64/bin/gdb.exe" },{ "name": "Firmware: (J-Link) Build & Launch", "type": "cortex-debug", @@ -43,7 +43,7 @@ "interface": "jtag", "serialNumber": "", //If you have more than one J-Link probe, add the serial number here. "runToMain": false, - "armToolchainPath": "${workspaceFolder}/../../msys2/mingw64/bin" + "armToolchainPath": "${workspaceFolder}/../../msys2/ucrt64/bin" } ] } \ No newline at end of file diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 0d5bb38ce..6c2f1076c 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -23,8 +23,8 @@ # On ProxSpace 3.4: # cmake -G"MSYS Makefiles" .. # On Proxspace 3.3 or less, you need to install cmake: -# pacman -S mingw-w64-x86_64-cmake -# /mingw64/bin/cmake -G"MSYS Makefiles" .. +# pacman -S mingw-w64-ucrt-x86_64-cmake +# /ucrt64/bin/cmake -G"MSYS Makefiles" .. # # Android cross-compilation: (ANDROID_ABI=arm64-v8a for a 64b version) # cmake \ diff --git a/client/experimental_lib/CMakeLists.txt b/client/experimental_lib/CMakeLists.txt index a5966ac57..89572aa7b 100644 --- a/client/experimental_lib/CMakeLists.txt +++ b/client/experimental_lib/CMakeLists.txt @@ -23,8 +23,8 @@ # On ProxSpace 3.4: # cmake -G"MSYS Makefiles" .. # On Proxspace 3.3 or less, you need to install cmake: -# pacman -S mingw-w64-x86_64-cmake -# /mingw64/bin/cmake -G"MSYS Makefiles" .. +# pacman -S mingw-w64-ucrt-x86_64-cmake +# /ucrt64/bin/cmake -G"MSYS Makefiles" .. # # Android cross-compilation: (ANDROID_ABI=arm64-v8a for a 64b version) # cmake \