astral-sh / rye

a Hassle-Free Python Experience
https://rye.astral.sh
MIT License
13.82k stars 467 forks source link

windows builds failing #1072

Closed nazq closed 6 months ago

nazq commented 6 months ago

Steps to Reproduce

tried cloning from both main and 0.33.0 clean build and install, both debug and release build, same issue on cargo install

Compiling rye v0.33.0 (C:\Users\XXX\dev\rye\rye) error[E0432]: unresolved import winapi::um::ioapiset --> rye\src\cli\shim.rs:113:21 | 113 | use winapi::um::ioapiset::DeviceIoControl; | ^^^^^^^^ could not find ioapiset in um

error[E0432]: unresolved import winapi::um::winioctl --> rye\src\cli\shim.rs:115:21 | 115 | use winapi::um::winioctl::FSCTL_GET_REPARSE_POINT; | ^^^^^^^^ could not find winioctl in um

Expected Result

That build succeeds

Actual Result

builds fails as above

If I update the rye/Cargo.toml with the 2 required features then it builds and installs

[target."cfg(windows)".dependencies] winapi = { version = "0.3.9", default-features = false, features = ["winuser","winioctl","ioapiset"] } winreg = "0.52.0"

Version Info

rye 0.33.0 and main

Stacktrace

as above

nazq commented 6 months ago

For example this works

cargo install --git https://github.com/astral-sh/rye.git --features winapi/winioctl,winapi/ioapiset

charliermarsh commented 6 months ago

Would you like to open a PR to add those features? We had to do the same in Ruff. Some dep must’ve removed them (and features are purely additive across the tree).