| 29 Dec 2025 |
emily | (I guess can g_malloc rather than g_malloc0, since FD_ZERO and all) | 01:13:41 |
emily | thankfully guint is small enough that you don't have to worry about size overflow 🫣 | 01:14:42 |
Ihar Hrachyshka | Seems like a better way - no need to choose a value for FD_SETSIZE. will adopt and add a test case as Randy suggested. | 01:16:57 |
emily | yeah, would definitely not trust this without testing :D | 01:19:44 |
emily | it does have the somewhat sad effect that every call will do heap allocation when you have lots of fds, but probably code relying on select isn't exactly hyperoptimized to begin with…? | 01:20:28 |
Ihar Hrachyshka | if you have more fds than what the platform supports, your alternative is getting the fault, so... | 01:23:08 |
Ihar Hrachyshka | we are not making it worse | 01:23:26 |
Ihar Hrachyshka | * if you have more fds than what the platform supports, your alternative atm is getting the fault, so... | 01:24:00 |
emily | yeah | 01:25:06 |
emily | can always do both this and raising FD_SETSIZE | 01:25:17 |
Randy Eckenrode | I got SwiftPM working correctly in a dev shell to build my Advent of Code solutions from 2022 (which were written in Swift). The resulting binary correctly targets macOS 13 per the platforms configuration in Package.swift. | 01:27:55 |
Randy Eckenrode | I guess next is splitting out the stdlib. I’m not sure what else is left other than maybe seeing if I can do some kind of cursed prebuilts thing. | 01:28:15 |
Ihar Hrachyshka | if I were to go with alloc (which I will), I'd do raising only if I notice perf degradation. (atm it smells like premature optimization) | 01:28:17 |
Randy Eckenrode | (And building on Linux.) | 01:28:18 |
emily | yeah I expect the syscall overhead is much higher than allocation anyway. | 01:30:40 |
emily | given the nature of the call | 01:30:51 |
emily | I hope they require a new enough C standard for the sizeof-struct-with-runtime-array-size thing to work. (sizeof (int32_t) * nelems could have padding issues in theory I think.) | 01:31:59 |
Ihar Hrachyshka | ok I don't know much about it. what would be "new enough C standard"? | 01:33:08 |
Ihar Hrachyshka | it's gnu99 as per meson.build | 01:34:03 |
Ihar Hrachyshka | * it's gnu99 as per meson.build | 01:34:08 |
emily | I believe it's okay in C99+ so should be fine | 01:34:39 |
Ihar Hrachyshka | besides this select exhaustion issue, I have two more patches related to nixpkgs VMs running on darwin. These are waiting for reviews for quite a while.
https://github.com/NixOS/nixpkgs/pull/440579 - keeping VM gcroots alive while VM is running (on Lix for now)
fix dns resolution for some vpn scenarios; enabling local dns resolver for linux builder: https://github.com/NixOS/nixpkgs/pull/434893
| 02:06:41 |
flokli | emilycan you bonk https://github.com/NixOS/nixpkgs/pull/474675 for now? | 23:15:10 |
| 30 Dec 2025 |
Nadia | so I'm not sure if this is actually a nix-related issue at all, but has anyone had problems with processes in the terminal just kinda hanging up after a while? Specifically it happens with the fish shell from nixpkgs, it simply gets stuck forever during launching it, not even lldb can pause or kill the process | 06:18:40 |
Nadia | on macOS 26.2 | 06:19:01 |
Nadia | it's kinda the same symptoms as on linux when you get I/O errors that cause processes to become stuck and completely unkillable | 06:28:02 |
kdn | How can I get foot.terminfo into darwin? | 16:14:48 |
kdn | I'm getting a weird error:
/nix/store/yzhl36k6yxfafrvddhqjbwzvmwlyx4iq-stdenv-linux/setup: line 1828: wrapProgram: command not found when building a custom linux-builder on darwin The file doesn't even have 1828 lines (there are 1818)
Any ideas?
| 18:58:07 |
kdn | The nom output is:
nixos-system-nixos-26.05pre-git-aarch64-linux> building '/nix/store/5bigxazp5irndr1kk3j8nlis6bd3z2mr-nixos-system-nixos-26.05pre-git.drv'
nixos-system-nixos-26.05pre-git-aarch64-linux> /nix/store/yzhl36k6yxfafrvddhqjbwzvmwlyx4iq-stdenv-linux/setup: line 1828: wrapProgram: command not found
| 19:00:15 |
kdn | * The nom output is:
nixos-system-nixos-26.05pre-git-aarch64-linux> building '/nix/store/5bigxazp5irndr1kk3j8nlis6bd3z2mr-nixos-system-nixos-26.05pre-git.drv' on 'ssh-ng://builder@linux-builder'
copying 0 paths
nixos-system-nixos-26.05pre-git-aarch64-linux> building '/nix/store/5bigxazp5irndr1kk3j8nlis6bd3z2mr-nixos-system-nixos-26.05pre-git.drv'
nixos-system-nixos-26.05pre-git-aarch64-linux> /nix/store/yzhl36k6yxfafrvddhqjbwzvmwlyx4iq-stdenv-linux/setup: line 1828: wrapProgram: command not found
| 19:00:34 |