!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
28 Dec 2025
@flokli:matrix.orgflokliyeah, agreed00:13:35
@emilazy:matrix.orgemilyby default I'd assume it's a bug in our janky reimplementation of half of Cargo :)00:13:56
@flokli:matrix.orgfloklihuuurgh: https://github.com/aws/aws-lc-rs/blob/e0aa4187a8e00e2ec69dc4efb8a10a824863f586/aws-lc-sys/builder/main.rs#L492-L50700:15:07
@flokli:matrix.orgfloklihttps://github.com/NixOS/nixpkgs/pull/47467500:23:12
@reckenrode:matrix.orgRandy EckenrodeNext in my Swift work is a detour to make XCTest and Swift Testing work on Darwin, then I want to work on the stdlib. I’m probably done for tonight though.00:50:09
@anton:nobrainer.zoneanton joined the room.08:53:51
@ihar.hrachyshka:matrix.orgIhar Hrachyshkawhere does one define common CFLAGS / CPPFLAGS for darwin?23:17:43
@ihar.hrachyshka:matrix.orgIhar Hrachyshka* where does one define common CFLAGS / CPPFLAGS for darwin? (for all nixpkgs)23:18:00
@reckenrode:matrix.orgRandy EckenrodeUsually in the wrapper. What flags?23:21:52
@ihar.hrachyshka:matrix.orgIhar Hrachyshkathe ones for SET_FDSIZE increase23:52:09
@ihar.hrachyshka:matrix.orgIhar Hrachyshkais it the wrapper postFixup?23:54:47
29 Dec 2025
@ihar.hrachyshka:matrix.orgIhar Hrachyshkais it something like this? https://github.com/NixOS/nixpkgs/pull/47491400:01:45
@reckenrode:matrix.orgRandy EckenrodeThat looks reasonable.00:28:13
@emilazy:matrix.orgemilycan you explain "except the need to pass POSIX certification"?00:38:13
@reckenrode:matrix.orgRandy Eckenrode POSIX requires that select return EINVAL when nfds is larger than SET_FDSIZE. 00:39:37
@ihar.hrachyshka:matrix.orgIhar Hrachyshkathere's some more info in https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4953 but basically "POSIX requires EINVAL if nfds >= FD_SETSIZE"00:39:45
@reckenrode:matrix.orgRandy EckenrodeWhich is 1024 AFAIK for historical reasons.00:40:02
@reckenrode:matrix.orgRandy EckenrodeDarwin has a way to allow bigger sizes, but you have to opt into it.00:40:53
@emilazy:matrix.orgemily I'm not a fan of setting global compiler flags that diverge from the platform defaults and that can result in programs having hidden security vulnerabilities when compiled with standard flags. _DARWIN_UNLIMITED_SELECT especially is a kind of crazy hack 00:41:10
@emilazy:matrix.orgemilyprograms that need/can handle such a definition should set the flags themselves in their own build systems00:41:28
@reckenrode:matrix.orgRandy EckenrodeThe only issue I can see with forcing a larger size for all packages is what happens when packages request their own size (e.g., a smaller one).00:42:00
@emilazy:matrix.orgemily

This will not resolve the issue of fds limited to 1024 per se but only
disable the fault trap in libSystem. To increase the number of fds
supported by select, one also has to increase FD_SETSIZE macro value
during compilation, making sure it's defined before select header is
included.

I believe the idea is actually that you pass a heap-allocated fd buffer instead

00:42:21
@emilazy:matrix.orgemilyand then it checks whether it's on the stack or not00:42:34
@ihar.hrachyshka:matrix.orgIhar Hrachyshka...which is what I'm doing in that glib patch (and in the counterpart local to glib package here: https://github.com/NixOS/nixpkgs/pull/474904) but we had a discussion with Randy the other day that maybe there's no practical reason to limit it (BSDs don't)00:42:43
@reckenrode:matrix.orgRandy EckenrodeThe implementation in xnu just disables the check. It doesn’t check location AFAIK.00:43:11
@emilazy:matrix.orgemily POSIX doesn't say FD_SETSIZE has to be 1024, so Apple could raise the default if they wanted to (so perhaps there is a reason they haven't) 00:43:41
@ihar.hrachyshka:matrix.orgIhar Hrachyshka

I believe the idea is actually that you pass a heap-allocated fd buffer instead

interesting. and it rhymes with something we read elsewhere. where do you get this from?

00:43:54
@emilazy:matrix.orgemily one obvious way it can go badly is if people cast their own 1024-size stack buffers to fd_set and then you have a heap overflow vulnerability 00:44:10
@reckenrode:matrix.orgRandy EckenrodeWouldn’t that be a breaking change?00:44:12
@emilazy:matrix.orgemilywell, no more or less a breaking change than if we do it00:44:39

Show newer messages


Back to Room ListRoom Version: 6