!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

119 Members
24 Servers

Load older messages


SenderMessageTime
28 Aug 2025
@whovian9369:matrix.orgWhovian9369* Oh very good job with those, thank you for the effort with this!23:17:41
@corngood:corngood.comCorngood

Ah I think I see the problem. In Komponent.nuspec they have:

    <file src="bin\Release\net8.0\*.dll" target="lib\net8.0\"/>

But we build with --runtime, so the dll ends up being in e.g. bin/Release/net8.0/linux-x64, so no libs make it in the package.

There are various ways we could fix that, but I'm not sure what would be best. Probably giving more control over the default flags (e.g. --runtime) would be a good idea.

23:53:47
@corngood:corngood.comCorngoodWe have a test for building and consuming a nupkg, but it doesn't use an explicit nuspec like this23:54:27
29 Aug 2025
@corngood:corngood.comCorngoodIf you want to fix it inside the package, the easiest way might be to make a custom build/install phases that do something similar to their github actions00:04:37
@whovian9369:matrix.orgWhovian9369 Do you have any thoughts on patching it in the Kuriimu2 src itself then, to possibly fix it that way? (Possibly fixing it directly in Komponent.nuspec to something closer to expected?) 00:12:12
@corngood:corngood.comCorngood yeah that's certainly an option. maybe it can even use bin\Release\net8.0\*\*.dll or something? or maybe there's a way to make it use the default packing logic? 00:13:41
@corngood:corngood.comCorngood like if you make a dotnet new classlib and pack it with --runtime it works as expected. the dll is in bin/Release/net8.0/$rid/, but it ends up in lib/net8.0/ in the package. 00:14:41
@whovian9369:matrix.orgWhovian9369
╭─whovian@nixos-wsl /nix/store/9j2s8kna0g37970d3s29blw20c6d5961-source/src/lib
╰─$  rg -NI "file src" | sort | uniq
    <file src="bin\Debug\net8.0\*.dll" target="lib\net8.0\"/>
    <file src="bin\Release\net8.0\*.dll" target="lib\net8.0\"/>
    <file src="..\..\..\kuriimu2icon.png" target="kuriimu2icon.png"/>

It looks like all of the nuspec files seem to use the same path, so if the others worked then Komponent should too?

00:59:38
@whovian9369:matrix.orgWhovian9369 You seemed to signal out Komponent as the odd one out here, so that's a touch surprising to me. 00:59:59
@corngood:corngood.comCorngoodOh it was just the first one that caused a build failure in another package because it was empty 01:00:55
@whovian9369:matrix.orgWhovian9369Ah fair enough01:01:09
@luna-null:matrix.orgluna-null left the room.02:40:25
4 Sep 2025
@whovian9369:matrix.orgWhovian9369 I think that I got Kuriimu2 working, and it was overall surprisingly painless once I figured out PackageReference versus ProjectReference. A friend's warning me against doing it this way though, so I have something theoretically "working" at least, but the next step is seeing if I can make the build any cleaner in the process. 00:25:13
8 Sep 2025
@inayet:matrix.orginayet set a profile picture.02:16:17
9 Sep 2025
@philipdb:matrix.orgPhiliPdB joined the room.18:43:00
10 Sep 2025
@jolman:matrix.org@jolman:matrix.org joined the room.00:25:13
@samuel:mnzn.devSamuelAny plans on upgrading to .NET 10 RC1?11:10:07
@corngood:corngood.comCorngood
In reply to @samuel:mnzn.dev
Any plans on upgrading to .NET 10 RC1?
Assuming that's the one that came out this week, I've got updates running now
15:05:17
@corngood:corngood.comCorngoodhttps://github.com/NixOS/nixpkgs/pull/441849 (still not tested much)18:27:39
11 Sep 2025
@samuel:mnzn.devSamuel Awesome, thanks 06:29:57
13 Sep 2025
@zenware:matrix.orgzenware joined the room.14:58:23
23 Sep 2025
@a-kenji:matrix.orga-kenji changed their display name from a-kenji to kenji.10:40:16
@jolman:matrix.org@jolman:matrix.org left the room.20:12:34
24 Sep 2025
@whovian9369:matrix.orgWhovian9369

Here to cause trouble again - I'm trying to bump a project from NET 8 to NET 9 in a derivation (without code changes, dev says it should work), but that Nuke build process seems to fail due to using a dynamically linked executable... Hapen to have any immediate ideas?

Could not start dynamically linked executable: /tmp/fetch-deps-hactoolnet-2024.08.29.Pzmhk6/source/build/bin/Debug/_build
(Then the message is about stub-ld etc)

02:39:09
@whovian9369:matrix.orgWhovian9369 *

Here to cause trouble again - I'm trying to bump a project from NET 8 to NET 9 in a derivation (without code changes, dev says it should work), but that Nuke build process seems to fail due to using a dynamically linked executable... Hapen to have any immediate ideas?

Could not start dynamically linked executable: /tmp/fetch-deps-hactoolnet-2024.08.29.Pzmhk6/source/build/bin/Debug/_build

(Then the message is about stub-ld etc)

02:39:19
@whovian9369:matrix.orgWhovian9369 Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing. 02:39:55
@whovian9369:matrix.orgWhovian9369 *

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

preConfigure = ''
  dotnet --version > DotnetCliVersion.txt
  patchShebangs --build build.sh
  for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
  ./build.sh Codegen --configuration ${buildType}
'';
02:42:47
@whovian9369:matrix.orgWhovian9369 *

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

{
preConfigure = ''
  dotnet --version > DotnetCliVersion.txt
  patchShebangs --build build.sh
  for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
  ./build.sh Codegen --configuration ${buildType}
'';
}
02:43:03
@whovian9369:matrix.orgWhovian9369 *

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

{
  preConfigure = ''
    dotnet --version > DotnetCliVersion.txt
    patchShebangs --build build.sh
    for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
    ./build.sh Codegen --configuration ${buildType}
  '';
}
02:43:22
@corngood:corngood.comCorngood
In reply to @whovian9369:matrix.org

Alternatively, is there a way to keep the in-progress /tmp/fetch-deps-... path even after a failed run? I feel like that would be good for testing.


The same process works fine on Net 8 but not Net 9, so I'm stumped from what I can tell.

{
  preConfigure = ''
    dotnet --version > DotnetCliVersion.txt
    patchShebangs --build build.sh
    for rid in $dotnetRuntimeIds; do dotnet restore --runtime "$rid" "build/_build.csproj"; done
    ./build.sh Codegen --configuration ${buildType}
  '';
}
There should be a fetch-drv attribute which you can run nix develop on to do the fetch in a dev shell.
02:50:08

Show newer messages


Back to Room ListRoom Version: 9