!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

125 Members
24 Servers

Load older messages


SenderMessageTime
9 Jan 2025
@gggkiller:matrix.orgGGG * 6pak: got back to looking at patchcil and I found where it lists the paths for native dependencies 13:01:52
@gggkiller:matrix.orgGGGbut it seems like after the build, it just copies them to the root13:02:42
@gggkiller:matrix.orgGGGimage.png
Download image.png
13:02:44
@gggkiller:matrix.orgGGG so I don't know if we really need to read .deps.json or not, but I guess I'll implement it regardless 13:03:15
@gggkiller:matrix.orgGGG seems like no packages have the runtime/{rid} in their output either: 13:12:36
@gggkiller:matrix.orgGGGimage.png
Download image.png
13:12:39
@6pak:matrix.org6pakI forgot it will get flatten out when building for a specific RID, yeah15:49:48
@6pak:matrix.org6pakwhat does the deps.json point to in that case?15:49:57
@6pak:matrix.org6pakstill a runtimes/whatever directory or to root?15:50:10
@6pak:matrix.org6pak(it will have root in search path regardless so it could be either I guess)15:50:34
@gggkiller:matrix.orgGGG
In reply to @6pak:matrix.org
still a runtimes/whatever directory or to root?
I mean, there's the runtime dir in .deps.json so I'll add that to the search path instead of doing the manual search in there as it could be literally anywhere
15:52:14
@gggkiller:matrix.orgGGGBut idk if it adds to the search path only for that assembly or all of them15:52:32
@6pak:matrix.org6pakfor the assembly load context afaik15:52:50
@gggkiller:matrix.orgGGGI see15:53:02
@6pak:matrix.org6pakso unless the program creates a new one, it will be for all15:53:03
@6pak:matrix.org6pak* so unless the program creates a new (isolated) one, it will be for all15:53:45
@gggkiller:matrix.orgGGGThat's rather annoying, because then native library resolution is dependent on control flow15:53:46
@gggkiller:matrix.orgGGGSo it could be entirely indeterministic 15:53:59
@gggkiller:matrix.orgGGGI think maybe we'll need to add the custom resolution logic long term15:57:46
@gggkiller:matrix.orgGGGSimilar to the RPATH thing15:57:51
@gggkiller:matrix.orgGGGOr maybe just outright scan all needed libraries, read the RPATH of the app host and error if it's not there, which would be the faster/easier option15:58:31
@6pak:matrix.org6pakwhats even the point of app hosts on nixos15:59:29
@gggkiller:matrix.orgGGGI meant the apphost binary, the executable it generates on the output16:00:25
@gggkiller:matrix.orgGGGBut yeah, there's no point 16:00:36
@6pak:matrix.org6pakyes I know, but do we need those for programs in nixpkgs16:00:41
@gggkiller:matrix.orgGGGWe could likely replace it with a `makeBinaryWrapper`16:00:54
@6pak:matrix.org6pakit's just unnecessary work on startup to find the dotnet runtime, and makes it less deterministic16:00:57
@gggkiller:matrix.orgGGGWell, for some programs it's useful since they want to use the installed SDK16:01:22
@gggkiller:matrix.orgGGGLike roslyn-ls16:01:27
@gggkiller:matrix.orgGGGBut other than those, it's not really necessary 16:01:36

Show newer messages


Back to Room ListRoom Version: 9