| 10 Jan 2025 |
Corngood | I also want to end up with a good experience for source-built packages, and there's another layer of complexity there. Take 'avalonia' for example. That's one repository with one build process, but it results in a whole bunch of nuget packages. These all have dependencies between each other, and only some will be used by a dependent project. So for one nixpkgs package (avalonia) you currently have one output that contains all the nuget packages, and each one of those potentially contains multiple sets of assemblies for different target frameworks. | 16:59:11 |
Corngood | * I also want to end up with a good experience for source-built packages, and there's another layer of complexity there. Take 'avalonia' for example. That's one repository with one build process, but it results in a whole bunch of nuget packages. These all have dependencies between each other, and only some will be used by a dependent project. So for one nixpkgs package (avalonia) you currently have one output that contains all the nuget packages, and each one of those potentially contains multiple sets of assemblies for different target frameworks (this might not be the case for avalonia if it's all built for a single TFM). | 16:59:48 |
Corngood | Actually here's an example of part of the output of that package:
result/share/nuget/packages/avalonia.win32
result/share/nuget/packages/avalonia.win32/11.0.11
result/share/nuget/packages/avalonia.win32/11.0.11/_rels
result/share/nuget/packages/avalonia.win32/11.0.11/_rels/.rels
result/share/nuget/packages/avalonia.win32/11.0.11/lib
result/share/nuget/packages/avalonia.win32/11.0.11/lib/net6.0
result/share/nuget/packages/avalonia.win32/11.0.11/lib/net6.0/Avalonia.Win32.dll
result/share/nuget/packages/avalonia.win32/11.0.11/lib/net6.0/Avalonia.Win32.xml
result/share/nuget/packages/avalonia.win32/11.0.11/lib/netstandard2.0
result/share/nuget/packages/avalonia.win32/11.0.11/lib/netstandard2.0/Avalonia.Win32.dll
result/share/nuget/packages/avalonia.win32/11.0.11/lib/netstandard2.0/Avalonia.Win32.xml
result/share/nuget/packages/avalonia.win32/11.0.11/Icon.png
result/share/nuget/packages/avalonia.win32/11.0.11/package
result/share/nuget/packages/avalonia.win32/11.0.11/package/services
result/share/nuget/packages/avalonia.win32/11.0.11/package/services/metadata
result/share/nuget/packages/avalonia.win32/11.0.11/package/services/metadata/core-properties
result/share/nuget/packages/avalonia.win32/11.0.11/package/services/metadata/core-properties/3ce73e06f9b745b9ba18ebd32b8b7f22.psmdcp
result/share/nuget/packages/avalonia.win32/11.0.11/[Content_Types].xml
result/share/nuget/packages/avalonia.win32/11.0.11/avalonia.win32.nuspec
result/share/nuget/packages/avalonia.win32/11.0.11/.nupkg.metadata
result/share/nuget/packages/avalonia.x11
result/share/nuget/packages/avalonia.x11/11.0.11
result/share/nuget/packages/avalonia.x11/11.0.11/_rels
result/share/nuget/packages/avalonia.x11/11.0.11/_rels/.rels
result/share/nuget/packages/avalonia.x11/11.0.11/lib
result/share/nuget/packages/avalonia.x11/11.0.11/lib/net6.0
result/share/nuget/packages/avalonia.x11/11.0.11/lib/net6.0/Avalonia.X11.dll
result/share/nuget/packages/avalonia.x11/11.0.11/lib/net6.0/Avalonia.X11.xml
result/share/nuget/packages/avalonia.x11/11.0.11/lib/netstandard2.0
result/share/nuget/packages/avalonia.x11/11.0.11/lib/netstandard2.0/Avalonia.X11.dll
result/share/nuget/packages/avalonia.x11/11.0.11/lib/netstandard2.0/Avalonia.X11.xml
result/share/nuget/packages/avalonia.x11/11.0.11/Icon.png
result/share/nuget/packages/avalonia.x11/11.0.11/package
result/share/nuget/packages/avalonia.x11/11.0.11/package/services
result/share/nuget/packages/avalonia.x11/11.0.11/package/services/metadata
result/share/nuget/packages/avalonia.x11/11.0.11/package/services/metadata/core-properties
result/share/nuget/packages/avalonia.x11/11.0.11/package/services/metadata/core-properties/25dfe1363a50409a81b44789515624d8.psmdcp
result/share/nuget/packages/avalonia.x11/11.0.11/[Content_Types].xml
result/share/nuget/packages/avalonia.x11/11.0.11/avalonia.x11.nuspec
result/share/nuget/packages/avalonia.x11/11.0.11/.nupkg.metadata
| 17:00:33 |
Corngood | so you have four assemblies there, and a dependent project might only need one of them | 17:01:46 |
6pak | could you have avalonia derivation output all those nuget packages in different outputs and then have dummy derivations like Avalonia.X11 that just link to one of the avalonia outputs? | 17:02:14 |
6pak | * could you have avalonia derivation output all those nuget packages in different outputs and then have dummy derivations like Avalonia.X11 that just links to one of the avalonia outputs? | 17:02:29 |
6pak | (I'm not really sure how nix derivation outputs thing works tbf) | 17:02:47 |