!bxVOQwsVoHhZcmNDGw:nixos.org

Nix + dotnet

125 Members
24 Servers

Load older messages


SenderMessageTime
13 Nov 2024
@corngood:corngood.comCorngood

Ah, I see. fetch-deps works because it's only restoring the SDK-style projects: Enemizer.CLI.Core.csproj and EnemizerLibrary.csproj.

Do you actually need the whole solution, or can you get away with just building one or both of those projects?

Alternatively you might be able to build it as-is using mono/xbuild. The only thing I see in nixpkgs using xbuild is keepass.

13:27:33
@corngood:corngood.comCorngoodConverting the other projects to dotnet-sdk style is probably the best option long-term.13:28:42
@pyrox:pyrox.devdish [Fox/It/She]
In reply to @corngood:corngood.com

Ah, I see. fetch-deps works because it's only restoring the SDK-style projects: Enemizer.CLI.Core.csproj and EnemizerLibrary.csproj.

Do you actually need the whole solution, or can you get away with just building one or both of those projects?

Alternatively you might be able to build it as-is using mono/xbuild. The only thing I see in nixpkgs using xbuild is keepass.

I believe I only need library and core, the two you mentioned. would I just do library as its own derivation and then cli.core as the main derivation?
17:43:43
@pyrox:pyrox.devdish [Fox/It/She]with it inheriting the library project through the dependency field or whatever its called(i cant remember the name otoh but its in the dotnet language section)17:44:19
@corngood:corngood.comCorngood I think you'd only need one derivation, just set projectFile to Enemizer/EnemizerCLI.Core/EnemizerCLI.Core.csproj, since it depends on the other csproj. 18:13:22
@corngood:corngood.comCorngood I'm not sure if that project supports packing to nuget packages? If so you might want to set packNupkg. It depends on what's consuming it. 18:14:17
@pyrox:pyrox.devdish [Fox/It/She]
In reply to@corngood:corngood.com
I think you'd only need one derivation, just set projectFile to Enemizer/EnemizerCLI.Core/EnemizerCLI.Core.csproj, since it depends on the other csproj.
I tried that but it didn't work, let me check if that work
18:14:37
@pyrox:pyrox.devdish [Fox/It/She]* I tried that but it didn't work iirc, let me check if that work18:14:41
@pyrox:pyrox.devdish [Fox/It/She]* I tried that but it didn't work iirc, let me check if that does work18:14:47
@pyrox:pyrox.devdish [Fox/It/She]oh okay it's failing with a different error(its trying to hardcode dotnet compiler paths in the source code?)18:17:20
@pyrox:pyrox.devdish [Fox/It/She]Download enemizer.log18:19:57
@pyrox:pyrox.devdish [Fox/It/She]here's the logfile, if you can make any sense of it(I can't)18:20:09
@inayet:matrix.orginayet joined the room.22:15:21
14 Nov 2024
@corngood:corngood.comCorngood
In reply to @pyrox:pyrox.dev
oh okay it's failing with a different error(its trying to hardcode dotnet compiler paths in the source code?)

I think what's happening here is it's using an old version of Microsoft.Net.Compilers which doesn't seem to work on platforms where a .net executable can't be executed directly.

If I remove <PackageReference Include="Microsoft.Net.Compilers" Version="2.3.2" /> from both projects, and also remove this:

    <Content Include="enemizerBasePatch.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="exported_symbols.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>

it builds.

13:45:59
@corngood:corngood.comCorngoodHere's the PR for the latest round of dotnet upgrades (with 9.0 final), including some infrastructure changes: https://github.com/NixOS/nixpkgs/pull/355753 There are some breaking changes, so if anyone maintains dotnet derivations outside of nixpkgs, I'm interested in test cases or feedback.13:47:58
16 Nov 2024
@meebey:matrix.orgmeebey aka Mirco Bauer joined the room.01:14:09
@emma:rory.gayEmma [it/its]
In reply to @corngood:corngood.com
Here's the PR for the latest round of dotnet upgrades (with 9.0 final), including some infrastructure changes: https://github.com/NixOS/nixpkgs/pull/355753

There are some breaking changes, so if anyone maintains dotnet derivations outside of nixpkgs, I'm interested in test cases or feedback.
i wonder if we'll see a dotnet-sdk_9 alias as with prior versions?
17:29:24
@emma:rory.gayEmma [it/its]in other news: seems running a dotnet 9 app with current nixpkgs doesnt work, so now im using this PR's version of dotnet 9 and it works 🎉17:37:06
@corngood:corngood.comCorngood
In reply to @emma:rory.gay
i wonder if we'll see a dotnet-sdk_9 alias as with prior versions?

I'm open to this. I originally had a big plan to rearrange the package names, but this seems like it might still be the most intuitive way. 9.0 final seems like a logical time to do it.

I'd also like to default things to the source-built sdks whenever possible, but they aren't building reliably on Darwin at the moment.

22:43:01
@emma:rory.gayEmma [it/its]oh, pacakge renames?22:43:53
@corngood:corngood.comCorngoodThe draft/discussion was here: https://github.com/NixOS/nixpkgs/pull/286134 But I think it ended up being a bit overcomplicated 23:23:07
@pyrox:pyrox.devdish [Fox/It/She]
In reply to @corngood:corngood.com

I think what's happening here is it's using an old version of Microsoft.Net.Compilers which doesn't seem to work on platforms where a .net executable can't be executed directly.

If I remove <PackageReference Include="Microsoft.Net.Compilers" Version="2.3.2" /> from both projects, and also remove this:

    <Content Include="enemizerBasePatch.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="exported_symbols.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>

it builds.

thank you, worked perfectly.
23:36:22
20 Nov 2024
@inayet:matrix.orginayet removed their profile picture.00:59:33
23 Nov 2024
@emma:rory.gayEmma [it/its]Redacted or Malformed Event18:12:56
24 Nov 2024
@alazy:matrix.orgalazy joined the room.04:26:29
28 Nov 2024
@mattsturg:matrix.orgMatt Sturgeon

Hi, I just got started bumping nexusmods-app to v0.7.0.

Upstream have updated dotnet 8 -> 9, however it looks like some components still expect dotnet 8? I get this error when attempting to build the updated derivation if I bump dotnet to sdk 9:

  NexusMods.Networking.Downloaders -> /build/source/src/Networking/NexusMods.Networking.Downloaders/bin/Release/net9.0/NexusMods.Networking.Downloaders.dll

  You must install or update .NET to run this application.

  App: /nix/store/gnviywnlb7wqxz4dxcz9k55fbqpch51w-StrawberryShake.Server-14.1.0/share/nuget/packages/strawberryshake.server/14.1.0/tools/net8/dotnet-graphql.dll
  Architecture: x64
  Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64)
  .NET location: /nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/

  The following frameworks were found:
    9.0.0 at [/nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/shared/Microsoft.NETCore.App]

  Learn more:
  https://aka.ms/dotnet/app-launch-failed

  To install missing framework, download:
  https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.0&arch=x64&rid=linux-x64&os=linux

/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/StrawberryShake.Server.targets(73,5): error MSB3073: The command "dotnet "/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/../tools/net8/dotnet-graphql.dll" generate "/>

Am I supposed to make multiple dotnet versions available during the build? If so how? If not, any other ideas?

18:35:28
@mattsturg:matrix.orgMatt SturgeonDownload build.log18:36:22
@mattsturg:matrix.orgMatt Sturgeon *

Hi, I just got started bumping nexusmods-app to v0.7.0 (wip branch).

Upstream have updated dotnet 8 -> 9, however it looks like some components still expect dotnet 8? I get this error when attempting to build the updated derivation if I bump dotnet to sdk 9:

  NexusMods.Networking.Downloaders -> /build/source/src/Networking/NexusMods.Networking.Downloaders/bin/Release/net9.0/NexusMods.Networking.Downloaders.dll

  You must install or update .NET to run this application.

  App: /nix/store/gnviywnlb7wqxz4dxcz9k55fbqpch51w-StrawberryShake.Server-14.1.0/share/nuget/packages/strawberryshake.server/14.1.0/tools/net8/dotnet-graphql.dll
  Architecture: x64
  Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64)
  .NET location: /nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/

  The following frameworks were found:
    9.0.0 at [/nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/shared/Microsoft.NETCore.App]

  Learn more:
  https://aka.ms/dotnet/app-launch-failed

  To install missing framework, download:
  https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.0&arch=x64&rid=linux-x64&os=linux

/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/StrawberryShake.Server.targets(73,5): error MSB3073: The command "dotnet "/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/../tools/net8/dotnet-graphql.dll" generate "/>

Am I supposed to make multiple dotnet versions available during the build? If so how? If not, any other ideas?

18:39:37
29 Nov 2024
@vengmark2:matrix.orgl0b0
In reply to @mattsturg:matrix.org

Hi, I just got started bumping nexusmods-app to v0.7.0 (wip branch).

Upstream have updated dotnet 8 -> 9, however it looks like some components still expect dotnet 8? I get this error when attempting to build the updated derivation if I bump dotnet to sdk 9:

  NexusMods.Networking.Downloaders -> /build/source/src/Networking/NexusMods.Networking.Downloaders/bin/Release/net9.0/NexusMods.Networking.Downloaders.dll

  You must install or update .NET to run this application.

  App: /nix/store/gnviywnlb7wqxz4dxcz9k55fbqpch51w-StrawberryShake.Server-14.1.0/share/nuget/packages/strawberryshake.server/14.1.0/tools/net8/dotnet-graphql.dll
  Architecture: x64
  Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64)
  .NET location: /nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/

  The following frameworks were found:
    9.0.0 at [/nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/shared/Microsoft.NETCore.App]

  Learn more:
  https://aka.ms/dotnet/app-launch-failed

  To install missing framework, download:
  https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.0&arch=x64&rid=linux-x64&os=linux

/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/StrawberryShake.Server.targets(73,5): error MSB3073: The command "dotnet "/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/../tools/net8/dotnet-graphql.dll" generate "/>

Am I supposed to make multiple dotnet versions available during the build? If so how? If not, any other ideas?

Might be worth asking/checking upstream how they managed to update if their dependencies still require v8.
08:22:18
@vengmark2:matrix.orgl0b0
In reply to @mattsturg:matrix.org

Hi, I just got started bumping nexusmods-app to v0.7.0 (wip branch).

Upstream have updated dotnet 8 -> 9, however it looks like some components still expect dotnet 8? I get this error when attempting to build the updated derivation if I bump dotnet to sdk 9:

  NexusMods.Networking.Downloaders -> /build/source/src/Networking/NexusMods.Networking.Downloaders/bin/Release/net9.0/NexusMods.Networking.Downloaders.dll

  You must install or update .NET to run this application.

  App: /nix/store/gnviywnlb7wqxz4dxcz9k55fbqpch51w-StrawberryShake.Server-14.1.0/share/nuget/packages/strawberryshake.server/14.1.0/tools/net8/dotnet-graphql.dll
  Architecture: x64
  Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64)
  .NET location: /nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/

  The following frameworks were found:
    9.0.0 at [/nix/store/a03c70i7x6rjdr6vikczsp5ck3v6rixh-dotnet-sdk-9.0.100/share/dotnet/shared/Microsoft.NETCore.App]

  Learn more:
  https://aka.ms/dotnet/app-launch-failed

  To install missing framework, download:
  https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=8.0.0&arch=x64&rid=linux-x64&os=linux

/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/StrawberryShake.Server.targets(73,5): error MSB3073: The command "dotnet "/build/nuget.5WFLlF/fallback/strawberryshake.server/14.1.0/build/../tools/net8/dotnet-graphql.dll" generate "/>

Am I supposed to make multiple dotnet versions available during the build? If so how? If not, any other ideas?

* Might be worth asking/checking upstream how they managed to update if their dependencies still require .NET 8. Looking at the upstream diff I don't see how they brought .NET 8 into the build originally - maybe it's on the ubuntu-latest image?
08:26:43

Show newer messages


Back to Room ListRoom Version: 9