Nix Cross Compiling | 565 Members | |
| 122 Servers |
| Sender | Message | Time |
|---|---|---|
| 18 Dec 2025 | ||
| well, yes… if the premise is using a compiler from 2021, that's the life you've chosen :) | 13:54:38 | |
| eh, it's more complicated than that, but OK | 13:54:57 | |
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 | |
* 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 | |
* 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 | |
| wouldn't really do much good | 14:01:13 | |
| the GCC derivations have pretty extensive version conditionals | 14:01:20 | |
| the LLVM ones are closer to being something you can reasonably override versions out-of-tree but still not really there | 14:01:35 | |
I suggest just maintaining a fork of gcc/ | 14:01:45 | |
it will be less painful than a nest of hacky overrideAttrs | 14:02:00 | |
| (I also suggest putting this effort into making a newer GCC work instead) | 14:02:15 | |
| OK, thanks for the feedback | 14:02:29 | |
| Something I was considering yesterday: Currently we have | 15:22:17 | |
| Add a new version of GCC that does what? | 15:23:37 | |
| Builds a proper nixpkgs stdenv/ | 15:23:50 | |
| * Builds a proper nixpkgs stdenv? | 15:23:51 | |
| Because gcc-arm-embedded is extremely not that | 15:23:57 | |
gcc-arm-embedded is basically just there because we don't have working stdenvs for its targets, I think. | 15:32:21 | |
| yes | 15:34:15 | |
| Nixpkg's cross-compilation infra doesn't really work with some targets | 15:34:38 | |
| Unfortunately | 15:34:48 | |
| I am an avid user of it | 15:35:00 | |
* I am an avid user of gcc-arm-embedded | 15:35:14 | |
| But it would be nice for it to be better integrated with Nixpkgs so that more things work better like clang-tools things | 15:36:36 | |
| we can just fix that, though. | 15:37:51 | |
| I mean, "just" | 15:37:55 | |
it's effort better spent than trying to integrate gcc-arm-embedded further, IMO | 15:38:07 | |
| source-building the right GCC is not really the hard part | 15:38:17 | |
I put some effort into that once and it will probably require a breaking change in the embedded parts of lib.systems or multilib support. For example when one writes lib.systems.examples.arm-embedded that will compile a GCC that only targets Armv4 (iirc). So ror any reasonable usage multilib is required because FUCK compiling GCC for every little arm variant. But if you try to make a GCC for specific targets, it also fails (I can't remember why, it's been a while since I tried). There's also build system funniness, such as CMake interpreting embedded target triple differently than GCC and Clang. | 15:45:35 | |
* I put some effort into that once and it will probably require a breaking change in the embedded parts of lib.systems or multilib support. For example when one writes lib.systems.examples.arm-embedded that will compile a GCC that only targets Armv4 (iirc). So for any reasonable usage multilib is required because FUCK compiling GCC for every little arm variant. But if you try to make a GCC for specific targets, it also fails (I can't remember why, it's been a while since I tried). There's also build system funniness, such as CMake interpreting embedded target triple differently than GCC and Clang. | 15:45:50 | |