!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

568 Members
124 Servers

Load older messages


SenderMessageTime
18 Dec 2025
@emilazy:matrix.orgemilyit is maintenance burden however you slice it, and I can attest that it was a very frustrating way to spend our limited maintenance resources for very little benefit13:44:37
@bake.monorail:matrix.orgbake.monorailfair fair13:45:51
@emilazy:matrix.orgemilyI considered https://github.com/NixOS/nixpkgs/pull/440273, https://github.com/NixOS/nixpkgs/pull/435019, and all the PRs linked from them to be worth the effort to do compared to what carrying many EOL compilers has been like, despite them taking like 2 months in total13:46:00
@emilazy:matrix.orgemily(you can see the thousands of lines deleted from the compiler derivations in those and the vastly reduced conditional complexity of the derivations, but can't see the burden over time of when stuff breaks)13:46:35
@artturin:matrix.orgArtturin
In reply to @bake.monorail:matrix.org
I'm rather sad that end-of-life'd compilers are dropped from nixpkgs. old compilers are sometimes very useful. is it such a large burden to keep them alive?
Luckily it's easy to use a old nixpkgs revision
13:46:34
@bake.monorail:matrix.orgbake.monorailyeah that's a great thing about nix but also not ideal.13:47:50
@emilazy:matrix.orgemily(previously https://github.com/NixOS/nixpkgs/pull/357657, https://github.com/NixOS/nixpkgs/pull/341714)13:48:00
@bake.monorail:matrix.orgbake.monorailthanks, I will take a look, that's what I was looking for13:49:00
@emilazy:matrix.orgemilyin 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 time13:52:37
@emilazy:matrix.orgemilyretro X tends to go a lot better with retro Y13:52:44
@emilazy:matrix.orgemily(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:matrix.orgbake.monorailyeah but importing nixpkgs multiple times is Sad™13:53:37
@emilazy:matrix.orgemilywell, then just import one? :)13:54:05
@emilazy:matrix.orgemily(mixing a compiler from one version with packages from another isn't a great idea anyway)13:54:17
@bake.monorail:matrix.orgbake.monorailstuck in 2021 forever13:54:18
@emilazy:matrix.orgemilywell, yes… if the premise is using a compiler from 2021, that's the life you've chosen :)13:54:38
@bake.monorail:matrix.orgbake.monoraileh, it's more complicated than that, but OK13:54:57
@bake.monorail:matrix.orgbake.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:matrix.orgbake.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:matrix.orgbake.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
@emilazy:matrix.orgemilywouldn't really do much good14:01:13
@emilazy:matrix.orgemilythe GCC derivations have pretty extensive version conditionals14:01:20
@emilazy:matrix.orgemilythe LLVM ones are closer to being something you can reasonably override versions out-of-tree but still not really there14:01:35
@emilazy:matrix.orgemily I suggest just maintaining a fork of gcc/ 14:01:45
@emilazy:matrix.orgemily it will be less painful than a nest of hacky overrideAttrs 14:02:00
@emilazy:matrix.orgemily(I also suggest putting this effort into making a newer GCC work instead)14:02:15
@bake.monorail:matrix.orgbake.monorailOK, thanks for the feedback14:02:29
@rosssmyth:matrix.orgrosssmyth

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:0upti.meK900Add a new version of GCC that does what?15:23:37
@k900:0upti.meK900Builds a proper nixpkgs stdenv/15:23:50

Show newer messages


Back to Room ListRoom Version: 6