Skip to content

ioctl: add support for cygwin#2715

Merged
SteveLauC merged 1 commit intonix-rust:masterfrom
500-internal-server-error:more-cygwin
Mar 16, 2026
Merged

ioctl: add support for cygwin#2715
SteveLauC merged 1 commit intonix-rust:masterfrom
500-internal-server-error:more-cygwin

Conversation

@500-internal-server-error
Copy link
Contributor

@500-internal-server-error 500-internal-server-error commented Dec 16, 2025

What does this PR do

Enable ioctl support for Cygwin, based on the Cygwin C headers

Checklist:

  • I have read CONTRIBUTING.md
  • I have written necessary tests and rustdoc comments
  • A change log has been added if this PR modifies nix's API

@500-internal-server-error
Copy link
Contributor Author

500-internal-server-error commented Dec 17, 2025

I was going to unpin and update libc because it is needed for downstream projects, but it seems to need a pending fix in libc. Will wait for it before trying again.

@500-internal-server-error
Copy link
Contributor Author

Cleaning up commits.

@500-internal-server-error
Copy link
Contributor Author

Seems like most platforms compile fine, it's libc itself that's failing to build for those platforms?

@500-internal-server-error 500-internal-server-error marked this pull request as ready for review January 6, 2026 05:23
@oech3
Copy link

oech3 commented Jan 6, 2026

#2715 (comment)

@tgross35 Similar missing issue like rust-lang/libc#4913 ?

@tgross35
Copy link

tgross35 commented Jan 6, 2026

NetBSD: the target was pretty broken, we used that as an opportunity to do some minor breakage in https://github.com/rust-lang/libc/releases/tag/0.2.178. The special casing here will need to be removed

nix/src/sys/event.rs

Lines 94 to 97 in ba63e90

#[cfg(any(freebsdlike, apple_targets, target_os = "openbsd"))]
type type_of_udata = *mut libc::c_void;
#[cfg(target_os = "netbsd")]
type type_of_udata = intptr_t;
and #2709 for IFF_NOTRAILERS.

uclibc: Looks like this was unintentional from rust-lang/libc@2fe1d91.

@500-internal-server-error
Copy link
Contributor Author

Maybe the libc fixes should be split off into a different PR? Or combined into #2709?

Anyways, cleaned up commits for now.

@oech3
Copy link

oech3 commented Jan 6, 2026

Does not this repo have bot for crate bump?

@tgross35
Copy link

tgross35 commented Jan 6, 2026

For uclibc, rust-lang/libc@3dad489 and rust-lang/libc@e0ed72d. I'll cut a new release tomorrowish.

@500-internal-server-error
Copy link
Contributor Author

I'll cut a new release tomorrowish.

No 0.2 backport?

@tgross35
Copy link

tgross35 commented Jan 8, 2026

What do you mean?

@oech3
Copy link

oech3 commented Jan 8, 2026

I think backport means 0.2.180 (no major bump). Sorry for triggering too many release (stty, musl ,etc...

@tgross35
Copy link

tgross35 commented Jan 8, 2026

I don't usually do the backports until just before I release. I have it cooking locally but just haven't had a chance to wrap it up yet.

Sorry for triggering too many release (stty, musl ,etc...

Certainly nobody's fault 🙂 the past two releases have been ~10kloc which is way higher than the average of around 1-3k, so there were some things that snuck in.

I'll ping on this thread when the release is out.

@tgross35
Copy link

tgross35 commented Jan 8, 2026

It's out https://github.com/rust-lang/libc/releases/tag/0.2.180

@oech3
Copy link

oech3 commented Feb 2, 2026

conflicting

@500-internal-server-error
Copy link
Contributor Author

conflicting

Rebased.

@oech3
Copy link

oech3 commented Feb 8, 2026

@SteveLauC Would you review this?

@oech3
Copy link

oech3 commented Feb 19, 2026

still difficult to merge?

@500-internal-server-error
Copy link
Contributor Author

@SteveLauC Could you review and merge?

@oech3
Copy link

oech3 commented Mar 9, 2026

@SteveLauC ping?

@oech3
Copy link

oech3 commented Mar 14, 2026

Can we bypass this change at downstream(uutils) by manualy declaring them?

@500-internal-server-error
Copy link
Contributor Author

Can we bypass this change at downstream(uutils) by manualy declaring them?

Probably, MSYS2 already uses this PR as a .patch.

@oech3
Copy link

oech3 commented Mar 14, 2026

I'm considering to add CI to uutils's repo, but a patch section in Cargo.toml for crates is bit complex.

@500-internal-server-error
Copy link
Contributor Author

Maybe just reuse MSYS2 CI? PKGBUILDs are just shell scripts after all.

Copy link
Member

@SteveLauC SteveLauC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@SteveLauC SteveLauC added this pull request to the merge queue Mar 16, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 16, 2026
@SteveLauC SteveLauC added this pull request to the merge queue Mar 16, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 16, 2026
@SteveLauC SteveLauC added this pull request to the merge queue Mar 16, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 16, 2026
@SteveLauC SteveLauC added this pull request to the merge queue Mar 16, 2026
Merged via the queue into nix-rust:master with commit 962d80c Mar 16, 2026
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants