| 20 Jul 2022 |
John Ericson | with the cross stuff we should be able to no logner have this stageN nonsense | 17:18:31 |
John Ericson | the fixed points ought to be able to just figure it out for us | 17:18:47 |
John Ericson | if we are careful | 17:18:51 |
John Ericson | what is left is mkDerivation | 17:19:13 |
infinisil | I guess I'm still a bit confused about things then. In my eyes, stdenv is there to bootstrap nixpkgs. Is that a bit wrong? Where does stdenv end and nixpkgs start? | 17:20:04 |
Gytis Ivaskevicius | stdenv is more of a 'package set used by mkDerivation' | 17:21:31 |
Gytis Ivaskevicius | with each stage we build a new stdenv which is less and less bootstrap tarball dependent | 17:21:58 |
infinisil | Ah, so it's for bootstrapping a mkDerivation | 17:22:10 |
infinisil | Then I guess reducing the scope of the default builder goes hand in hand with stdenv | 17:22:44 |
Gytis Ivaskevicius | and in case of cross - it just has different package set and probably thats it? (i dont think we change anything else?) | 17:22:54 |
infinisil | * Then I guess reducing the scope of the default builder goes hand in hand with improving stdenv | 17:22:57 |
John Ericson | infinisil: so stdenv to me is just pkgs/stdenv/generic | 17:23:32 |
John Ericson | the other pkgs/stdenv/* is basically just legacy bootstrapping nonsense that could be gotten rid of fairly easy after the compilers are repackaged | 17:24:07 |
John Ericson | it is mass rebuild, but not a mass-refactor downstream packages like e.g. switching from bash or switching to structured attrs is | 17:24:35 |
infinisil | Ahh, so that's essentially stdenv.mkDerivation, we've been discussing that a bit | 17:25:03 |
Robert Hensing (roberth) | In reply to @infinisil:matrix.org Ahh, so that's essentially stdenv.mkDerivation, we've been discussing that a bit not to be confused with the other issue, which doesn't care about what's in stdenv, but focuses on the nix side of things | 17:25:53 |
Gytis Ivaskevicius | John Ericson: the whole gcc PR has been hanging for a while, is there anything that we could help with? Also how would that get rid of 'whole nonsense'? to me it seems at best we could remove 1 stage | 17:26:38 |
John Ericson | Gytis Ivaskevicius: basically we make buildPackages use bootstrap tools, but not pkgs | 17:27:07 |
John Ericson | and then the cross stuff should just figure out how to make sure we never depend on bootstrap tools | 17:27:31 |
John Ericson | Gytis Ivaskevicius: there is some -fpic nonsense that still needs to be figured out | 17:27:43 |
John Ericson | I don't know why linking claims there is an inconsistency | 17:27:53 |
John Ericson | I wish it was easy to rope in some upstream person and have them explain | 17:28:10 |
Gytis Ivaskevicius | oh, so this would make it easier for us to build minimal pkgs and basically to complie gcc -> recomplie -> done | 17:28:35 |
John Ericson | yeha | 17:30:19 |
John Ericson | * yeah | 17:30:21 |
John Ericson | bootstrap tools would probably ship no libs just raw gcc | 17:30:30 |
John Ericson | then rebuild libgcc and up | 17:30:37 |
John Ericson | then build new gcc | 17:30:45 |
John Ericson | done | 17:30:46 |
John Ericson | also, screw boostrap tools | 17:30:52 |