!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

127 Members
24 Servers

Load older messages


SenderMessageTime
17 Dec 2024
@gggkiller:matrix.orgGGGIt'd also make it quite a pain to package anything22:05:56
@gggkiller:matrix.orgGGGIf you had to make a derivation for every single csproj22:06:14
@gggkiller:matrix.orgGGG
In reply to @6pak:matrix.org
where in dotnet you tend to have multiple projects in solutions that have different kind of outputs
I don't see how this prevents us from having a single hostSystem really... Also, you gotta consider cross builds too
22:06:57
@gggkiller:matrix.orgGGG Maybe it's because I'm out of the loop on the conversation you had with @corngood:corngood.com but I think having per hostPlatform deps should work 22:08:16
@gggkiller:matrix.orgGGGWe just need to switch up how the JSON file is organized but sounds doable22:08:33
@6pak:matrix.org6pakI mean yes it would work but it's just so hacky22:09:08
@gggkiller:matrix.orgGGGIs it? I think other languages that don't compile to native should have pretty much the same scheme22:09:38
@gggkiller:matrix.orgGGGI know the npm folks have pretty much the same scheme, download deps for all targets22:09:53
@gggkiller:matrix.orgGGGThen they just don't use said dep if not on that target22:10:10
@gggkiller:matrix.orgGGGIdk how it's in java land, but should be similar22:10:31
@6pak:matrix.org6pakI don't think npm even has a way to filter deps though?22:10:39
@gggkiller:matrix.orgGGGIt doesn't, and in .NET most projects don't bother to filter deps by runtime id either22:11:00
@gggkiller:matrix.orgGGGSo if we want that it's something we'd have to do manually or have said benefit for the small amount of projects that do22:11:28
@gggkiller:matrix.orgGGGI'm unsure how many savings that would actually bring us22:11:39
@6pak:matrix.org6pakevery project with an apphost does22:11:40
@gggkiller:matrix.orgGGGI mean, the packages with native libs do, but other than those, idk22:12:14
@6pak:matrix.org6pakseeing how cross compilation was completely broken until recently, no one cares tbf22:12:28
@6pak:matrix.org6pak my issue with buildDotnetModule is that you have things like packNupkg and selfContainedBuild top level and they apply to all projects 22:15:34
@6pak:matrix.org6pakso the model of a nix derivation and .net project seem disconnected22:15:50
@gggkiller:matrix.orgGGGHow would you suggest it work though22:16:17
@corngood:corngood.comCorngood I would like to move away from buildDotnetModule personally, and use something based on dotnet-sdk hooks. The avalonia package was a bit of a test case for this. 22:16:25
@6pak:matrix.org6pakyou can't easily linux-x64 publish one project and nuget pack another from one solution22:16:31
@6pak:matrix.org6pak because from one side buildDotnetModule properties are global for all projects 22:16:43
@6pak:matrix.org6pakand from another you can't easily break up subprojects into multiple nix derivations because of how msbuild projectreferences work22:16:59
@gggkiller:matrix.orgGGGYeah, but that's a non-objective really, most `buildX` that I know of don't let you have multiple outputs 22:17:04
@6pak:matrix.org6pak I see a projectReferences property in buildDotnetModule which sounds nice in theory, but in practice msbuild treats projectreferences very differently to packagereferences 22:17:25
@6pak:matrix.org6pakwhich is a pet peeve of mine22:17:30
@6pak:matrix.org6pak but ^ 22:18:32
@6pak:matrix.org6pakif we can't nicely break up subprojects into nix derivation because of how msbuild works22:18:43
@6pak:matrix.org6pakimo exposing procedural bash helpers instead is the way to go22:18:56

Show newer messages


Back to Room ListRoom Version: 9