| 3 Dec 2025 |
aleksi | dish [Fox/It/She]Nice, the bootstrap chain for x86_64 and riscv64 is basically working on my branch of Aux foundation: https://git.auxolotl.org/aleksi/foundation/src/branch/riscv64-bootstrap
Compared to that PR (LGTM but I'm not a nixpkgs expert), the difference is mostly bugfixes to mes & tinycc-bootstrappable, upgraded tinycc-mob and getting gcc 4.6 from ekaitz-zarraga for a RV64 backend | 19:14:31 |
aleksi | There are some assorted little patches besides that | 19:14:38 |
dish [Fox/It/She] | those are some nice patches, will look at that soon | 19:18:49 |
dish [Fox/It/She] | definitely appreciate the work that aux foundation has done on bootstrapping properly | 19:19:03 |
aleksi | Thanks, no problem | 19:23:25 |
aleksi | I see live-bootstrap people have also bootstrapped autotools to prevent relying on autogenerated configure scripts. I don't know if nixpkgs wants or needs that though | 19:24:13 |
Grimmauld (any/all) | i wish we had proper hooks to remove all autogenerated files ahead of builds. Like, test binaries (xz backdoor), but also autotools artifacts. We currently don't really do that... | 19:26:58 |
helle (just a stray cat girl) | I mean I complain already about downloading binaries when we can build from source for things | 19:27:44 |
helle (just a stray cat girl) | "but there is no build system in the source" and it turns out Debian has already made a perfectly adequate build system for it | 19:28:20 |
Qyriad | heck autoreconfHook isn't in default stdenv but running ./configure is | 19:30:01 |
Grimmauld (any/all) | yes | 19:30:19 |
Grimmauld (any/all) | its a mess | 19:30:22 |
Grimmauld (any/all) | I would like find . -type f -executable -exec rm {} \; as an early build step... | 19:32:18 |
Grimmauld (any/all) | (more care would be needed, because some projects have the permission bits on files they later install. But still, nothing of the source should start out executable.) | 19:33:27 |
helle (just a stray cat girl) | one of my reasons for annoyance is, we know that what is in nixpkgs is consistent across builders, but the optimisation of knowing what is in it in the first place would be nicer still | 19:34:25 |
Grimmauld (any/all) | we do have some dumb impurities in nix though | 19:35:23 |
Grimmauld (any/all) | like, it makes a difference whether builder is running hardened kernel or not for things like asan and valgrind | 19:35:44 |
Grimmauld (any/all) | * like, it makes a difference whether builder is running hardened kernel or not for things like asan and valgrind being invoked in tests | 19:35:51 |
Tristan Ross | Or page sizes of your host can affect what binaries can run | 19:45:46 |
Tristan Ross | I think if nix had a built in microVM, it would help with a lot of the impurities | 19:46:22 |
helle (just a stray cat girl) | (can someone figure out a Haskell bootstrap or am I going to have to do it myself) | 20:01:36 |
Puna | you mean from stdenv to modern GHC without fetching prebuilt GHCs? | 20:03:01 |
helle (just a stray cat girl) | mhmhm | 20:03:08 |
helle (just a stray cat girl) | btw, we have investigated the underlying issue and we know EXACTLY the potential starting points, but ooof, it is one chore | 20:03:32 |
helle (just a stray cat girl) | * btw, we have investigated the underlying issue and we know EXACTLY the potential starting points, but ooof, it is one hell of a chore | 20:04:24 |
Puna | https://github.com/NixOS/nixpkgs/pull/460845
Unlike the previous version, all new versions are built entirely from source by using Hugs to interpret the microhs source code. cpphs was also booted from source in a similar way.
The goal is to allow Nixpkgs users to more easily experiment with using microhs, and perhaps one day boot GHC from source.
dunno if they have the required spoons to push this to the end, but maybe it can get the ball rolling
| 20:12:46 |
helle (just a stray cat girl) | sadly currently out of spoons to further explore, but will make a note | 20:15:15 |
dish [Fox/It/She] | In reply to @aleksi:pikaviestin.fi I see live-bootstrap people have also bootstrapped autotools to prevent relying on autogenerated configure scripts. I don't know if nixpkgs wants or needs that though that is a lot of work I would not want to do atm | 20:31:39 |
dish [Fox/It/She] | considering you have to bootstrap diff versions of automake/autotools in a hyperspecific way and you have to do like 2 dozen vers to make actual progress | 20:32:25 |
dish [Fox/It/She] | for now I don't mind pre-generated header files but that may be something we do later | 20:32:47 |