| 3 Apr 2026 |
Randy Eckenrode | Lix uses $TMPDIR for dev shells. What is upstream Nix doing these days? (Though why would Hydra have dev shells?) | 23:00:32 |
hexa | sorry, I currently have lix on this box | 23:00:52 |
Randy Eckenrode | Clang module cache. | 23:01:02 |
hexa | for reasons | 23:01:05 |
emily | feel free to rm -rf /var/folders/*/*/C | 23:01:09 |
emily | should be safe | 23:01:17 |
hexa | it's funny that all of them have a clang | 23:01:39 |
emily | and I'm guessing whatever used up the space there was one-off stuff rather than anything Nix builds are doing … oh … except … no sandbox | 23:01:41 |
emily | so maybe Clang builds are actually writing in there, haha | 23:01:45 |
emily | perhaps we should point Clang at a different module cache dir in cc-wrapper or something | 23:02:03 |
hexa | yeah, no sandbox for darwin builds on hydra | 23:02:04 |
emily | or maybe we can somehow override DARWIN_USER_CACHE_DIR | 23:02:15 |
emily | for builder users | 23:02:18 |
emily | fwiw the cheap solution is probably just to do this in cron. probably with an extra /* at the end | 23:08:26 |
emily | also | 23:10:19 |
samasaur | could just remove /var/folders/* entirely, no? or at least remove the T at the same time | 23:11:25 |
emily | /var/db/diagnostics should be at least largely discardable I think (maybe sudo log erase --all will do it? I would be scared to just delete the files though). /var/db/SystemPolicyConfiguration I expect might be something funny about remembering Gatekeeper stuff for a trillion binaries from builds a day or something but that's just a guess. also completely separate but when comparing cores for base vs. pro CPUs remember that those 10 cores are split between P and E cores although Apple Silicon E cores are still plenty fast. | 23:12:45 |
emily | just e.g. if you divide it up 5 / 5 for big-parallel or something it might not be great | 23:13:44 |
Randy Eckenrode | I think I have a fix for the dotnet crash on macOS 26.4. I’m building darwin.ICU with a custom version suffix for the icu namespace. Since the C++ API isn’t ABI stable anyway, this shouldn’t break anything. | 23:13:59 |
emily | should we maybe just expose the SDK ICU stubs? I think I've seen stuff call into it even before Tahoe. in general building stuff that the system frameworks can plausibly use seems like it's a lot of latent potential pain similar to the libc++ fun we have | 23:15:12 |
emily | esp when we only use it for stuff that needs the weird Apple fork | 23:15:29 |
Randy Eckenrode | System ICU expects to read from /usr/share, which is a pain with the sandbox. | 23:15:33 |
Randy Eckenrode | Also, Linux will need darwin.ICU for Swift. | 23:15:44 |
emily | though doesn't this imply that our own libxml2 will also clash? 🫠 | 23:15:49 |
emily | (allow file-read* (subpath "/usr/share/locale")) | 23:16:09 |
emily | IIRC it's been allowed for a long time | 23:16:33 |
Randy Eckenrode | ICU needs /usr/share/icu. | 23:16:49 |
hexa | ok, log erase --all might just go in a launchd timer | 23:17:12 |
hexa | yeah, it's funny how greedy apple is with cores | 23:17:27 |
hexa | how else are we supposed to slice them up then? | 23:17:43 |