!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

121 Members
24 Servers

Load older messages


SenderMessageTime
6 May 2025
@gggkiller:matrix.orgGGGbut it wouldn't result in anything more in the nix store nor unnecessary packages being pulled in13:58:07
@gggkiller:matrix.orgGGGif it's a framework-dependent apphost, then the runtime in the nix store should already work, so perhaps we only need to identify self-contained apphosts?13:58:58
@corngood:corngood.comCorngood Other than apphost and singlefilehost, is there anything else we need to worry about? Do they ship AOT things? 13:59:13
@corngood:corngood.comCorngood

self-contained apphosts

This would be singlefilehost I believe. Let me see what one of those looks like after build.

14:00:07
@gggkiller:matrix.orgGGGAOT would indeed be an issue we need to worry about as well, I don't know how the AOT binaries are built, I'd need to check to see if they have ICU among the needed libraries14:00:06
@corngood:corngood.comCorngoodI sort of doubt they would have that magic foobar hash in them.14:00:35
@gggkiller:matrix.orgGGG let me check with patchcil 14:01:01
@gggkiller:matrix.orgGGGit's the only AOT program we have in nixpkgs afaik14:01:09
@corngood:corngood.comCorngoodBut are they statically or dynamically linked against the ssl shim?14:01:09
@gggkiller:matrix.orgGGGit should be static, since it's a self-contained binary14:01:34
@gggkiller:matrix.orgGGGit should only need the external deps, no runtime nor anything else14:01:42
@corngood:corngood.comCorngoodso AOT is always a single file?14:01:55
@gggkiller:matrix.orgGGGit has some auxliary files like the pdb and other native dlls (when nuget libraries use pinvoke), but I haven't seen AOT binaries with dlls14:02:40
@gggkiller:matrix.orgGGG* it has some auxliary files like the pdb and other native libraries (when nuget libraries use pinvoke), but I haven't seen AOT binaries with dlls14:02:46
@gggkiller:matrix.orgGGG

annoyingly, it seems like it doesn't add OpenSSL, ICU nor Kerberos to the needed section:

ggg@sora:~ » patchelf --print-needed /nix/store/q36hdx9n1svnxf8mg7pxjjhfz0arlicv-patchcil-0.2.2/lib/patchcil/patchcil                                                                                                                   1 ↵
libm.so.6
libc.so.6
ld-linux-x86-64.so.2                                                                                                                                                                                                                   /0.1s
ggg@sora:~ » patchelf --print-rpath /nix/store/q36hdx9n1svnxf8mg7pxjjhfz0arlicv-patchcil-0.2.2/lib/patchcil/patchcil 
$ORIGIN:/nix/store/vbrdc5wgzn0w1zdp10xd2favkjn5fk7y-glibc-2.40-66/lib                                                                                                                                                                  /0.1s
14:03:46
@gggkiller:matrix.orgGGG *

annoyingly, it seems like it doesn't add OpenSSL, ICU nor Kerberos to the needed section:

$ patchelf --print-needed /nix/store/q36hdx9n1svnxf8mg7pxjjhfz0arlicv-patchcil-0.2.2/lib/patchcil/patchcil
libm.so.6
libc.so.6
ld-linux-x86-64.so.2
$ patchelf --print-rpath /nix/store/q36hdx9n1svnxf8mg7pxjjhfz0arlicv-patchcil-0.2.2/lib/patchcil/patchcil 
$ORIGIN:/nix/store/vbrdc5wgzn0w1zdp10xd2favkjn5fk7y-glibc-2.40-66/lib
14:04:20
@corngood:corngood.comCorngood In case it helps you can get an AOT build (and various other things) like dotnet-sdk.tests.console.cs.aot.built or similar 14:07:26
@gggkiller:matrix.orgGGGoh nice14:07:41
@corngood:corngood.comCorngoodthere are tests for regular publish, single file, etc14:08:04
7 May 2025
@aerden:matrix.orgAerden joined the room.07:56:11
8 May 2025
@6pak:matrix.org6pak Corngood: shouldn't this set DYLD_LIBRARY_PATH on macos? https://github.com/NixOS/nixpkgs/blob/b8d4a65cb17eb3ddec8f742f424a6d195500f281/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh#L37 14:39:14
9 May 2025
@corngood:corngood.comCorngoodYeah, probably. Thanks for the PR. I think there are some subtle differences from glibc, but there are quite a few places in nixpkgs that use it as your suggesting.01:45:13
14 May 2025
@chipherseeker:matrix.org@chipherseeker:matrix.org joined the room.03:52:58
15 May 2025
@gggkiller:matrix.orgGGG @corngood:corngood.com maybe we'll finally be able to source build feature bands in .NET 10?
https://github.com/dotnet/announcements/issues/359
02:44:03
@corngood:corngood.comCorngoodInteresting, but a little vague. For the upgrades this month, 8 is done, 9 hit https://github.com/dotnet/dotnet/pull/546, and I haven't started 10 yet. I guess when I get to 10 I'll see whats going on...10:57:57
18 May 2025
@whovian9369:matrix.orgWhovian9369 Is there a suggested way to deal with an outdated global.json? Is it just to do something similar to substituteInPlace global.json --replace-fail 4.20.69 ${dotnetCorePackages.sdk_9_0.version}? 22:41:17
@whovian9369:matrix.orgWhovian9369("Outdated" relative to the SDK that I'm using to build, anyway.)22:41:36
@whovian9369:matrix.orgWhovian9369 Oh, maybe I could just change the allowPrerelease key to true? That may be the easiest solution here. 22:47:52
@6pak:matrix.org6pakwhat is your actual case?22:48:21
@6pak:matrix.org6pakis the global.json pinning a exactly specific version?22:48:32

Show newer messages


Back to Room ListRoom Version: 9