| 13 Jan 2026 |
emily | but yeah I didn't mean to set @samasaur:matrix.org out on the errand with a guarantee that we'd want to do it :) just that it seemed worth exploring | 12:57:06 |
Randy Eckenrode | Caches. | 12:57:07 |
Randy Eckenrode | I think something is pulling in Rust. | 12:57:38 |
emily | uh, yeah Rust in the bootstrap might be one to avoid 😅 | 12:58:15 |
emily | I think we could still trim down closures with a cross setup, right? it'd just be a set of overrides for the build platform | 12:58:51 |
Randy Eckenrode | Swift and (maybe more so) SwiftPM appear to favor using SQLite to record build information. | 12:59:04 |
emily | mostly the less stuff in the bootstrap the less annoying it is to test updates on Darwin for them | 12:59:28 |
Randy Eckenrode | Can we define a platform that simply never runs tests? | 12:59:34 |
emily | sure why not. I mean cross conditions them on canExecute anyway | 13:00:05 |
Randy Eckenrode | Like only stage 3 would run tests. It would trim down some of the dependencies. | 13:00:18 |
emily | I imagine we could cook up a global config option if one doesn't already exist | 13:00:26 |
emily | no there's just nothing forcing us to clean up after people move away from old crap like scons | 13:01:34 |
emily | they're in the list solely for a check that they don't get built multiple times during bootstrap | 13:02:10 |
emily | so <=1 builds passes | 13:02:22 |
emily | and the scons override is just dead code | 13:02:30 |
emily | if you want to continue then I'd try bisecting feature flags between python3Minimal and our python3-bootstrap. some of the additional stuff is needed for Meson and the LLVM build system, but it's likely to can find lots of stuff to turn off that trims packaged from the final list without breaking the build | 13:04:26 |
emily | again with no guarantee that we'll want to actually do that but | 13:04:40 |
emily | I think it'll be educational if nothing else | 13:04:49 |
emily | (and I personally think trimming such does is worthwhile because it lowers the things we get pinged for to check after it turns out they rebuild the bootstrap) | 13:05:23 |
emily | (but ofc if Swift is going to pull in lots of stuff in a more non-negotiable way - maybe the effort just gets undone soon) | 13:05:51 |
Randy Eckenrode | Swift pulls in Rust because Swift Build is using oxipng for https://github.com/reckenrode/nixpkgs/blob/swift-update-mk2/pkgs/by-name/sw/swiftPackages/by-name/sw/swift-build/extra-bins/copypng | 13:44:59 |
Randy Eckenrode | We can use something else that doesn’t pull Rust. Just need the flags. | 13:45:26 |
emily | or we can just make it not use compression during bootstrap? | 13:46:53 |
emily | or just never do compression? | 13:46:59 |
emily | oxipng is kinda slow and I don't think resource PNGs are going to be a substantial contributor to Nix disk use | 13:47:24 |
Randy Eckenrode | But for the code signing actions, we may need rcodesign, so it may not be worth the effort. | 13:47:50 |
emily | I'd rather use oxipng over any alternative, but certainly I doubt we use it for bootstrap | 13:48:03 |
emily | true | 13:48:08 |
emily | though we were very close to not needing rcodesign or sigtool in bootstrap at all | 13:48:28 |
emily | is it totally mandatory to have it for Swift Build? | 13:48:37 |