| 26 May 2021 |
Jonas Chevalier | even just as a means of re-thinking how the bootstrap would work | 10:11:13 |
andi- | How far did it go? I see it is still missing anything like make to actually build something without the bootstrap tarball | 10:11:19 |
| immae (he/him) changed their display name from immae to immae (he/him). | 10:13:07 |
andi- | When I did my bootstrap experiments I was going crazy with the amount of CC/LD/CXX/... wrapper that we have in nixpkgs. It is all over the place for probably good reasons but hard to grasp. | 10:13:51 |
Gytis Ivaskevicius | In reply to @andi:kack.it How far did it go? I see it is still missing anything like make to actually build something without the bootstrap tarball super early stages and nobody is working on it. There is not much done. It basically uses same boostrap as Nixpkgs and got all the way to compiling gcc | 10:13:58 |
Gytis Ivaskevicius | antoher gcc compilation is needed with glibc to start doing anything useful | 10:14:24 |
andi- | My woes started when I tried to do a 2nd stage build out of the previously bootstraped python, glibc, gcc, ... things would randomly fail due to rpaths | 10:14:39 |
raboof | https://reproducible-builds.org/contribute/nixos/ - feel free to improve further via https://salsa.debian.org/reproducible-builds/reproducible-website :) | 10:15:00 |
andi- | I could either get glibc to build with the GCC or glibc but never both :D | 10:15:05 |
andi- | * I could either get glibc to build with the GCC or GCC but never both :D | 10:15:23 |
andi- | At least it allowed me to test building using dash and oil shell which showed that you can't build oilshell with oilshell just yet :D | 10:16:06 |
Gytis Ivaskevicius | Also, check out ion shell, its pretty cool | 10:17:04 |
andi- | I abandoned my experiments after basically spending 4 weeks full time on that stuff (on various areas). | 10:18:10 |
andi- | I also explored alternatives to callPackage and such. Eventually rewriting patch-shebangs in C++ to avoid that massive slowness the bash version in nixpkgs has. | 10:18:35 |
Gytis Ivaskevicius | ah yes, another little annoyence in nixpkgs that feels like tech debt: Everything uses bash 4.x even tho bash 5 is out | 10:20:05 |
andi- | IIRC it was tried at the time but it broke things in wild ways. | 10:20:40 |
andi- | Too many advanced bashishms in use.. | 10:20:50 |
andi- | Ideally we would get rid of those but I doubt people want to write more verbose (and hacky?) shell scripts instead. | 10:21:11 |
andi- | In my opinion we should be writing more small C/python/lisp/... programs to take care of whatever bash monsters are currently doing. Problem is that it would not compose as well as a bunch of bash that shares "global" variables... | 10:22:00 |
Gytis Ivaskevicius | would be cool to replace bash with something more modern | 10:22:11 |
Gytis Ivaskevicius | python is not really an option tho | 10:22:19 |
Gytis Ivaskevicius | big dependency | 10:22:23 |
andi- | glibc already depends on python... | 10:22:56 |
Gytis Ivaskevicius | different shell would be nice. nu shell and ion shell seem to be like solid options | 10:23:18 |
Gytis Ivaskevicius | In reply to @andi:kack.it glibc already depends on python... ahh, thats fun. But it is not a runtime dependency | 10:23:47 |
andi- | Yeah they have some build scripts that invoke it. I believe they are doing some code generation from syscall tables or such | 10:24:09 |
Gytis Ivaskevicius | Also python would probably slow things down | 10:24:20 |
andi- | tbh I think one of the reasons nixpkgs is successful is due to bash. | 10:24:24 |
Jonas Chevalier | The macOS libc used to have a runtime dependency on perl | 10:24:41 |
Gytis Ivaskevicius | In reply to @andi:kack.it tbh I think one of the reasons nixpkgs is successful is due to bash. what do you mean? | 10:24:41 |