Nix + dotnet | 126 Members | |
| 24 Servers |
| Sender | Message | Time |
|---|---|---|
| 5 Dec 2024 | ||
| I should check tomorrow whether i still have the code for my recursive dotnet workload to nix generator | 22:55:42 | |
| we nerf it in the source-build of avalonia:
but that needs work before other packages can use it. it should just be build-time, in sandbox, but it's still shady | 22:55:48 | |
| I think it's a nice idea on paper but has a lot of issues in practice. Let's say Or maybe openssl, that has 1.1.x and 3.0 versions, which one does the package want if they only specifcy I don't think we'll be able to get rid of this anytime soon, just like Rust can't nor any other native lang really | 22:55:50 | |
even in Rust when you're using native libraries you need to set up a LD_PRELOAD_PATH env var to actually get it to work | 22:56:13 | |
| I don't think nix and dev shells will ever not be a thing | 22:56:26 | |
do you run this with sudo? for me it fails with Error mkdir: util.c:1036 create_empty_dir_as_root: Permission denied | 22:58:36 | |
| nevermind, 1 google search solved it, I'm dumb | 23:01:01 | |
was it just the missing suid thing from not using programs.firejail.enable = true;? | 23:12:15 | |
| yeah | 23:12:23 | |
btw, shouldn't we be catching Microsoft.AspNetCore.App.Runtime.{rid}, Microsoft.NETCore.App.Host.{rid}, Microsoft.NETCore.App.Runtime.{rid} and runtime.{rid}.Microsoft.DotNet.ILCompiler as SDK packages?it doesn't seem to be happening with alcom | 23:41:01 | |
| it looks like it's targeting 8.0.1 explicitly or something? | 23:59:26 | |
| 6 Dec 2024 | ||
| weird https://github.com/vrc-get/vrc-get/blob/af1eee8c46e2bf7f0427a2dc5bac7b1bc99e039b/vrc-get-litedb/dotnet/vrc-get-litedb.csproj#L6 | 00:00:21 | |
| doesn't seem to be the case | 00:01:47 | |
| oh nvm | 00:02:07 | |
$(RuntimeFrameworkVersion) and <RuntimeFrameworkVersion>8.0.1</RuntimeFrameworkVersion> | 00:02:14 | |
| needs something like:
| 00:02:43 | |
| probably | 00:02:49 | |
| I also kinda regret using the maintainer upgrade script | 00:03:26 | |
| * needs something like:
| 00:03:33 | |
should've made a quick bash script that runs nix eval --impure --json --expr 'import ./pkgs/by-name/ro/roslyn/deps.nix {fetchNuGet = id: id;}' | jq . > deps.json | 00:03:34 | |
* should've made a quick bash script that runs nix eval --impure --json --expr 'import ./deps.nix {fetchNuGet = id: id;}' | jq . > deps.json | 00:03:52 | |
| so many packages have eval errors on master that I'm gonna have to do it manually for a lot of them anyways | 00:04:10 | |
In reply to @lostmsu:matrix.orgone idea I suggested before is making an IL patcher that patches all DllImport/NativeLibrary/dlopen uses and/or injects a DllImportResolver | 15:36:55 | |
| similar to patchelf | 15:36:59 | |
| 7 Dec 2024 | ||
the issue with that is NativeLibrary, it uses a dynamic string so we can't just detect what it's doing | 21:57:18 | |
| sure, this isn't in C#, but still in .NET, look at this: https://github.com/dotnet/dotnet/blob/083e05a29d2b88f0d42bbca8f0b7ab33f4cfb7ab/src/runtime/src/native/libs/System.Security.Cryptography.Native/opensslshim.c#L67-L157 | 21:57:53 | |
However, even if it's just DllImport, I think it'd be beneficial to have it. And since we'll be scanning the source code anyways, we could change NativeLibrary calls with static strings and have an option to emit warnings for ones with dynamic ones (for debugging/packaging) | 22:08:06 | |
| After I'm done with 361450 and 362278 I'll look into it. | 22:08:38 | |
| Also, god, I can't wait for CA derivations, having to rebuild thousands of packages because of my changes that shouldn't affect anything in 361450 is becoming a major paint | 22:19:37 | |
| * Also, I can't wait for CA derivations, having to rebuild thousands of packages because of my changes that shouldn't affect anything in 361450 is becoming a major paint | 22:27:11 | |