!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

221 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture52 Servers

Load older messages


SenderMessageTime
13 Feb 2024
@infinisil:matrix.orginfinisil 9999years: ^ 18:20:01
@infinisil:matrix.orginfinisilit might be though, I need to take a closer look18:21:12
@infinisil:matrix.orginfinisilSame for your new PR (https://github.com/NixOS/nixpkgs/pull/288431)18:21:55
14 Feb 2024
@syphoxy:matrix.org@syphoxy:matrix.org changed their display name from sy to Stalled Engine.13:06:09
@aliarokapis:matrix.orgAlexandros LiarokapisHi all. After much experimentation, I managed to add support for cross building using the precompiled "gcc-arm-embedded" toolchain. This includes taking care of the ccWrapper and binutilsWrapper. In order to avoid actually building gcc from source I had to use replaceStdenvStages and share the cross stages but change the last stage. Maybe it would be useful to add support upstream? It is non-trivial but very useful since it avoids building the toolchain for each difelferent arm-none-eabi configuration and the toolchain is already cached. The ideal way forward would perhaps be to add proper multilib support when cross building for many configurations like arm does with its toolchain. Is any of this worth considering for upstreaming to nixpkgs?15:54:39
@aliarokapis:matrix.orgAlexandros Liarokapis* Hi all. After much experimentation, I managed to add support for cross building using the precompiled "gcc-arm-embedded" toolchain. This includes taking care of the ccWrapper and binutilsWrapper. In order to avoid actually building gcc from source I had to use replaceStdenvStages and share the cross stages except the last one and properly handle float abis naming conventions and more. Maybe it would be useful to add support upstream? It is non-trivial but very useful since it avoids building the toolchain for each difelferent arm-none-eabi configuration and the toolchain is already cached. The ideal way forward would perhaps be to add proper multilib support when cross building for many configurations like arm does with its toolchain. Is any of this worth considering for upstreaming to nixpkgs?15:55:57
@infinisil:matrix.orginfinisil Ping John Ericson ^ 16:39:44
@qyriad:matrix.org@qyriad:matrix.org infinisil: what kind of solution would you prefer? re extendMkDerivation 16:41:57
@infinisil:matrix.orginfinisil Qyriad: A solution that unifies existing approaches in a way as backwards compatible as possible, along with a plan on how the existing approaches can be cleaned up 16:43:45
@infinisil:matrix.orginfinisilI guess in short: Making solutions converge instead of diverge (just adding more alternate approaches)16:44:49
@infinisil:matrix.orginfinisil * I guess in short: Making solutions converge (unifying and cleaning up approaches) instead of diverge (just adding more alternate approaches)16:45:05
@infinisil:matrix.orginfinisilThis takes a whole bunch more effort, but is ultimately what we need to actually clean up Nixpkgs16:46:26
@qyriad:matrix.org@qyriad:matrix.org is extendMkDerivation not a step in that direction though? it adds API surface but would reduce the complexity for the existing alternate approaches 16:50:18
@9999years:matrix.org9999years yeah being able to get the functionality of overridePythonAttrs and overrideCabal in the existing overrideAttrs function is very appealing 16:53:33
@9999years:matrix.org9999yearsi'm a little nervous about the complexity of the code itself -- it seems like it's fairly easy to cause infinite recursion errors -- but it's definitely a step in the right direction16:54:12
@infinisil:matrix.orginfinisilHm yeah if that's the case then it might be fine16:54:22
@infinisil:matrix.orginfinisilOh yeah that's a big problem indeed, it's really tricky to get this right16:54:51
@9999years:matrix.org9999years but any decision that lets us move forward is a good one, regardless of if we standardize on lib.mkExtendDerivation or lib.makeOverridableGeneric 16:54:59
@infinisil:matrix.orginfinisil Robert Hensing (roberth) previously described that there's about 7 layers of fixed-points for some derivations 16:55:13
@9999years:matrix.org9999years and to be honest the makeOverridable code is no easier to read & comprehend 16:55:19
@infinisil:matrix.orginfinisilIt's just really hard to make sure that there are no regressions16:55:44
@roberthensing:matrix.orgRobert Hensing (roberth)fixed-points and potential fixed-points. Not all of them are properly exposed etc16:55:52
@roberthensing:matrix.orgRobert Hensing (roberth)which is part of the problem16:55:56
@infinisil:matrix.orginfinisilIt's so many intricasies16:56:01
@roberthensing:matrix.orgRobert Hensing (roberth)https://github.com/NixOS/nixpkgs/issues/27381516:56:13
@qyriad:matrix.org@qyriad:matrix.org
In reply to @infinisil:matrix.org
It's just really hard to make sure that there are no regressions
This is unfortunately going to be true of any unification solution and all of the steps towards them :/
16:58:22
@infinisil:matrix.orginfinisilCan't deny that!16:58:35
@roberthensing:matrix.orgRobert Hensing (roberth)That's exactly why we need to burn it and start over with something manageable: a single fixpoint16:59:43
@roberthensing:matrix.orgRobert Hensing (roberth)Each layer of fixpoint is expected to interact with each other layer. If they don't, that's a bug17:00:35
@roberthensing:matrix.orgRobert Hensing (roberth)Let me refine that: if they completely don't, it's a missing feature that someone will want to use, in which case they'll write a partial implementation, which has bugs, because it doesn't interact with some of the other layers.17:01:31

Show newer messages


Back to Room ListRoom Version: 9