!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1181 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org194 Servers

Load older messages


SenderMessageTime
22 Dec 2025
@ihar.hrachyshka:matrix.orgIhar Hrachyshkaguess I should just test and see. I have a reproducer, just need to recompile glib to qemu and see.17:44:57
@reckenrode:matrix.orgRandy Eckenrode * 17:44:59
@ihar.hrachyshka:matrix.orgIhar Hrachyshka source == hacker news nobody 17:45:27
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/apple-oss-distributions/xnu/blob/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/sys/_types/_fd_def.h#L52_L5417:46:06
@reckenrode:matrix.orgRandy EckenrodeFish shell developer?17:47:01
@ihar.hrachyshka:matrix.orgIhar HrachyshkaI was actually also looking at the same struct def. so looks like we may need to also define the __DARWIN_FD_SETSIZE otherwise we write past the end of the struct (I think)17:47:57
@reckenrode:matrix.orgRandy EckenrodeOr malloc it based on the size of the incoming set.17:49:12
@reckenrode:matrix.orgRandy EckenrodeGlib supports using cleanup functions to make that less messy.17:49:27
@reckenrode:matrix.orgRandy Eckenrode Though if it’s a mask for all fds, you don’t really know the needed size. 17:50:00
@reckenrode:matrix.orgRandy Eckenrodehttps://man.freebsd.org/cgi/man.cgi?select17:52:21
@reckenrode:matrix.orgRandy Eckenrode Apple mentioned FreeBSD being unlimited. I agree we should probably increase the amount of memory it’s using (either by defining FD_SETSIZE or some other way). 17:53:19
@reckenrode:matrix.orgRandy Eckenrode

Looks like (unsurprisingly) FreeBSD has a similar implementation.

https://github.com/freebsd/freebsd-src/blob/f51e9d0e0988df58c94db586ab5c8b5fd091c004/sys/sys/select.h#L65

17:55:17
@reckenrode:matrix.orgRandy EckenrodeI guess FreeBSD doesn’t enforce the limit if you define it to something non-default.17:55:46
@ihar.hrachyshka:matrix.orgIhar Hrachyshkaso darwin just broke the api to pass posix17:56:22
@ihar.hrachyshka:matrix.orgIhar Hrachyshkawell, broke -> adjusted to standard17:56:33
@hexa:lossy.networkhexa Randy Eckenrode, emily any reason I should not update the darwin buildfarm to tahoe? 21:45:40
@-chi:matrix.org-chi left the room.21:48:15
@reckenrode:matrix.orgRandy EckenrodeNot that I can think of. It hasn’t broken Nix or Nixpkgs like updates have in the past.21:48:50
@qyliss:fairydust.spaceAlyssa Ross poll usability flip-flopping every macOS release is a sort of famous example of macOS POSIX-noncompliance: https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/ 21:49:59
@qyliss:fairydust.spaceAlyssa Ross * poll usability flip-flopping between macOS releases is a sort of famous example of macOS POSIX-noncompliance: https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken/ 21:50:19
@qyliss:fairydust.spaceAlyssa Rossit might well presently work, but the track record is not confidence-inspiring21:50:48
@qyliss:fairydust.spaceAlyssa Rossand since you couldn't tell at build time whether the built program would end up being run on a macOS with broken poll, hardcoding not to use it on macOS was the only sensible solution21:52:12
@qyliss:fairydust.spaceAlyssa Ross(assuming the complexity of detecting it at runtime isn't worth it)21:52:55
@qyliss:fairydust.spaceAlyssa Ross * 21:53:07
@ihar.hrachyshka:matrix.orgIhar Hrachyshkait won21:55:45
@ihar.hrachyshka:matrix.orgIhar Hrachyshka* it won't help us anyway since it doesn't support device files21:55:58
@reckenrode:matrix.orgRandy Eckenrode The later poll change appears to have been a bug. 22:03:10
@reckenrode:matrix.orgRandy EckenrodeNot sure how they passed with the bug though. 🤷🏻‍♂️22:03:44
@winter:catgirl.cloudWinterthe opposite of nobody fwiw ;)22:58:35
@ihar.hrachyshka:matrix.orgIhar Hrachyshkachecked which fds are opened by qemu. basically, for every process inside the vm, each .so (or .dll for dotnet apps) is in the list for all services. since I'm using the VMs to test changes to my biefy VMs running lots of services (like jellyfin or *arr stack), the list gets exhausted. It's probably a function of these VMs using nix store overlay and not directly copying packages into the VM image. (otherwise I'd expect qemu opening just the image file).23:54:21

Show newer messages


Back to Room ListRoom Version: 6