From a8da3508f218bbd8492450592776f0364996c9d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Chagnoleau?= Date: Tue, 3 Feb 2026 11:09:09 +0100 Subject: [PATCH] feat(asset_matcher): enable `mingw-w64` detection [mingw-w64](https://www.mingw-w64.org/) should be considered as windows compatible packages. For example, [arm-none-eabi](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads) toolchain for windows is: `arm-gnu-toolchain-15.2.rel1-mingw-w64-i686-arm-none-eabi.zip` --- src/backend/asset_matcher.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/backend/asset_matcher.rs b/src/backend/asset_matcher.rs index 1a6061a0ba..fab411e431 100644 --- a/src/backend/asset_matcher.rs +++ b/src/backend/asset_matcher.rs @@ -121,7 +121,7 @@ static OS_PATTERNS: LazyLock> = LazyLock::new(|| { ), ( AssetOs::Windows, - Regex::new(r"(?i)(?:\b|_)win(?:32|64|dows)?(?:\b|_)").unwrap(), + Regex::new(r"(?i)(?:\b|_)(?:mingw-w64|win(?:32|64|dows)?)(?:\b|_)").unwrap(), ), ] }); @@ -961,7 +961,7 @@ abc123def456abc123def456abc123def456abc123def456abc123def456abcd tool-1.0.0-dar "tool-1.0.0-linux-x86_64.tar.gz".to_string(), "tool-1.0.0-darwin-x86_64.xz".to_string(), "tool-1.0.0-darwin-aarch64.xz".to_string(), - "tool-1.0.0-windows-x86_64.zip".to_string(), + "tool-1.0.0-mingw-w64-x86_64.zip".to_string(), ]; let picked = AssetPicker::with_libc("linux".to_string(), "x86_64".to_string(), None) @@ -973,6 +973,11 @@ abc123def456abc123def456abc123def456abc123def456abc123def456abcd tool-1.0.0-dar .pick_best_asset(&assets) .unwrap(); assert_eq!(picked, "tool-1.0.0-darwin-aarch64.xz"); + + let picked = AssetPicker::with_libc("windows".to_string(), "x86_64".to_string(), None) + .pick_best_asset(&assets) + .unwrap(); + assert_eq!(picked, "tool-1.0.0-mingw-w64-x86_64.zip"); } #[test]