| 26 May 2021 |
Synthetica | "Grandpa, why do I still need to compile GCC versions 6 through 84" | 11:09:20 |
toonn | Why make the chain longer? | 11:14:18 |
toonn | It's only as trustworthy as the seed anyway so you might as well trim it down as much as possible at each step. | 11:14:44 |
andi- | the point is you only want to show that the seed is trustworthy once | 11:15:27 |
andi- | and then never again | 11:15:29 |
andi- | I am thinking more towards that cross-distro bootstrap.. if we can pull that off it would be nice to have that attestation as part of the regular bootstrap. Build stdenv using debian, fedora, nixpkgs bootstrap and they must all match the same output otherwise the nixpkgs stdenv build fails. | 11:16:39 |
toonn | Yeah, so you build the seed bootstrap. Next time you slap a new GCC on top of that. Next time you peel it away to slap an even newer GCC on top of it. Keep doing this until the bootstrap can't build a version, then and only then keep the bootstrap+previous-GCC, wash, rinse and repeat. | 11:16:55 |
andi- | Not sure I follow. | 11:18:50 |
andi- | Fun fact: I just tried to compile LLVM (from my python PR) on the M1 mac again (with 1 job, 3 cores) and it crashes the system reliably on the latest MacOS version.. Nice bug in apple software triggered through nixpkgs.. | 11:20:16 |
toonn | andi-: You suggest seed->GCC8->GCC9->GCC10, right? What I'm saying is if the seed is capable of building GCC9 but not GCC10 you don't need to keep the entire chain. You'd do seed->GCC8, start again from the seed->GCC9->GCC10. | 11:25:03 |
siraben | related: https://github.com/NixOS/nixpkgs/issues/123095 | 11:27:09 |
Gytis Ivaskevicius | We were talking about ion shell a little - got an email about this :D https://gitlab.redox-os.org/redox-os/ion/-/merge_requests/1157 | 11:32:40 |
andi- | In reply to @toonn:matrix.org andi-: You suggest seed->GCC8->GCC9->GCC10, right? What I'm saying is if the seed is capable of building GCC9 but not GCC10 you don't need to keep the entire chain. You'd do seed->GCC8, start again from the seed->GCC9->GCC10. Oh yes of course. As long as you can skip a version you should do it. | 11:34:58 |
toonn | Oh ok, that wasn't obvious to me from what you were saying. | 11:35:24 |
andi- | well it is common for compilers such as rustc to always require the previous version. | 11:38:47 |
andi- | GCC might be a different story as they actually have a language spec.. | 11:39:01 |
toonn | Require? That's unfortunate. Thank god GHC doesn't do that. | 11:46:55 |
andi- | Can you still boot GHC from bash or C ? | 11:56:29 |
toonn | That I do not know. Sounds like something that's more likely to have bitrotten than not. | 11:57:21 |
andi- | I remember attending a Haskell hackathon where you had to provide a compiler and then you would bootstrap GHC in like 3 stages | 11:58:41 |
| justinrestivo joined the room. | 12:27:43 |
andi- | Have we actually bothered with reproducibility on MacOS before? So far every single python build is different... | 21:05:02 |
| samueldr changed their display name from samueldr‎ to samueldr. | 21:05:27 |
baloo | I think only linux is in the scope | 23:19:56 |
baloo | r13y only tests for linux | 23:20:30 |
| 27 May 2021 |
NinjaTrappeur | In reply to @andi:kack.it Can you still boot GHC from bash or C ? You currently can't :( | 06:29:37 |
NinjaTrappeur | https://www.joachim-breitner.de/blog/748-Thoughts_on_bootstrapping_GHC | 06:30:14 |
siraben | x-post from Melg8: "If there somebody interested in nix bootstrap, please checkout https://github.com/NixOS/nixpkgs/issues/123095 i think we need some discussion/thoughts about it. " | 06:33:13 |
NinjaTrappeur | I remember reading a WIP based on hugs but I can't find the link anymore :( TL;DR: there's been some effort in that area, but as far as I can tell, nothing beyond a WIP. | 06:33:22 |
siraben | the only fully bootstrappable Haskell compiler I'm aware of right now is https://github.com/OriansJ/blynn-compiler which implements a subset of GHC's Haskell (enough for it to self-host and be accepted by GHC) | 06:34:38 |