| 20 Jul 2022 |
John Ericson | I do like how legacy stdenv moves us towards maybe not having a single stdenv at all | 17:09:57 |
John Ericson | ultimately it's good to package things at a higher level | 17:10:15 |
John Ericson | (though polyglot projects are always a thorn in such efforts) | 17:10:30 |
problems | making stdenvs composable might be a good thing then? | 17:11:56 |
John Ericson | perhaps, like sander's thing, but I might prefer to think stdenvs as more the results of composition than the things which are composed | 17:15:58 |
infinisil | John Ericson: Ah so like, here's how to get bootstrap glibc, here's how to bootstrap curl, do both at once? | 17:17:31 |
John Ericson | also stdenv != bootstrapping | 17:18:07 |
infinisil | Please elaborate! | 17:18:21 |
John Ericson | I meant to rearrange the files to reflect this | 17:18:21 |
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 |