| 18 Dec 2025 |
bake.monorail | yeah that's a great thing about nix but also not ideal. | 13:47:50 |
emily | (previously https://github.com/NixOS/nixpkgs/pull/357657, https://github.com/NixOS/nixpkgs/pull/341714) | 13:48:00 |
bake.monorail | thanks, I will take a look, that's what I was looking for | 13:49:00 |
emily | in some ways it is ideal: you get a less patched compiler that is closer to the old version you actually want, with versions of its dependencies closer to what it actually expected at the time | 13:52:37 |
emily | retro X tends to go a lot better with retro Y | 13:52:44 |
emily | (which is why another side effect of packaging old versions is that you end up with the exponential cost of carrying old versions of entire dependency trees all the way) | 13:53:06 |
bake.monorail | yeah but importing nixpkgs multiple times is Sad™ | 13:53:37 |
emily | well, then just import one? :) | 13:54:05 |
emily | (mixing a compiler from one version with packages from another isn't a great idea anyway) | 13:54:17 |
bake.monorail | stuck in 2021 forever | 13:54:18 |
emily | well, yes… if the premise is using a compiler from 2021, that's the life you've chosen :) | 13:54:38 |
bake.monorail | eh, it's more complicated than that, but OK | 13:54:57 |
bake.monorail | more on practical things, I assume you're somehow involved in maintaing compilers, what would you think about making compilers more externally overridable (I'm thinking about making versions an argument of pkgs/development/compilers/gcc/all.nix. I guess it wouldn't be too bad, what do think? | 13:56:57 |
bake.monorail | * more on practical things, I assume you're somehow involved in maintaing compilers, what would you think about making compilers more externally overridable (I'm thinking about making versions an argument of pkgs/development/compilers/gcc/all.nix. I guess it wouldn't be too bad, what do you think? | 13:57:01 |
bake.monorail | * more on practical things, I assume you're somehow involved in maintaing compilers, what would you think about making compilers more externally overridable. I'm thinking about making versions an argument of pkgs/development/compilers/gcc/all.nix. I guess it wouldn't be too bad, what do you think? | 13:57:16 |
emily | wouldn't really do much good | 14:01:13 |
emily | the GCC derivations have pretty extensive version conditionals | 14:01:20 |
emily | the LLVM ones are closer to being something you can reasonably override versions out-of-tree but still not really there | 14:01:35 |
emily | I suggest just maintaining a fork of gcc/ | 14:01:45 |
emily | it will be less painful than a nest of hacky overrideAttrs | 14:02:00 |
emily | (I also suggest putting this effort into making a newer GCC work instead) | 14:02:15 |
bake.monorail | OK, thanks for the feedback | 14:02:29 |
rosssmyth | Something I was considering yesterday:
Currently we have gcc-arm-embedded, which is a pre-built GCC distribution. It has a manifest with all the configure flags. How hard is it to add a new version of GCC? I took a little look and there's a lot of machinery all over the place in the GCC directory. Maybe easier to use the NG package set?
| 15:22:17 |
K900 | Add a new version of GCC that does what? | 15:23:37 |
K900 | Builds a proper nixpkgs stdenv/ | 15:23:50 |
K900 | * Builds a proper nixpkgs stdenv? | 15:23:51 |
K900 | Because gcc-arm-embedded is extremely not that | 15:23:57 |
emily | gcc-arm-embedded is basically just there because we don't have working stdenvs for its targets, I think. | 15:32:21 |
rosssmyth | yes | 15:34:15 |
rosssmyth | Nixpkg's cross-compilation infra doesn't really work with some targets | 15:34:38 |