Unverified Commit df31d956 authored by David McFarland's avatar David McFarland Committed by GitHub
Browse files

dotnet: split sdk packages by platform (#343837)

parents 87de18a3 505bcb25
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -28,10 +28,7 @@
  (fetchNuGet { pname = "MetaBrainz.MusicBrainz"; version = "6.1.0"; hash = "sha256-wZBTTSQNPll/5/sZPPxa6d0QBjwA8FLA2vFE/838VWs="; })
  (fetchNuGet { pname = "MetaBrainz.MusicBrainz.CoverArt"; version = "6.0.0"; hash = "sha256-yN+godNeB6l8ihNupq9cNe+PaYaPTngHJzwkMH9ySbE="; })
  (fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.5"; hash = "sha256-aJyLlVg6jKY2Van0hwAC5JEF/j+YtEq5ZFLkyI3scsY="; })
  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "8.0.6"; hash = "sha256-wvudYblAZ5vOdQ/3Ssl24exAXRkhOG7KBZUjquLGo5o="; })
  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.0"; hash = "sha256-aew8/vRyzCc7MMNHziR8tsg66EFkJC+Snst3F+a3Ehc="; })
  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "8.0.6"; hash = "sha256-7kLTos2RiNJOmxg6NcM8QieifWMHgxHgd5e+DBNQI0Q="; })
  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "8.0.6"; hash = "sha256-oAQI/uV0G/uEFp+2yAyhILZ6hr9t+oWh9TEY646Vphk="; })
  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; hash = "sha256-5rFBJ8Fkw7+11iCG9nMVhOqPCpyVIrbUzrFQhc/2eHw="; })
  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; hash = "sha256-UcxurEamYD+Bua0PbPNMYAZaRulMrov8CfbJGIgTaRQ="; })
  (fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.4"; hash = "sha256-us9K5RayuZGe2fkhk/c2Qw45gKmrfvyNBvHdcOnzWj0="; })
+12 −6
Original line number Diff line number Diff line
@@ -27,22 +27,28 @@ buildDotnetModule rec {

  projectFile = "ArchiSteamFarm.sln";
  executable = "ArchiSteamFarm";

  enableParallelBuilding = false;

  useAppHost = false;
  dotnetFlags = [
    # useAppHost doesn't explicitly disable this
    "-p:UseAppHost=false"
  ];
  dotnetInstallFlags = [
    "-p:RuntimeIdentifiers="
  ]
  ;
  dotnetBuildFlags = [
    "--framework=net8.0"
  ];
  dotnetInstallFlags = dotnetBuildFlags;

  runtimeDeps = [ libkrb5 zlib openssl ];

  doCheck = true;

  preBuild = ''
  preInstall = ''
    dotnetProjectFiles=(ArchiSteamFarm)
  '';

  preInstall = ''
    # A mutable path, with this directory tree must be set. By default, this would point at the nix store causing errors.
    makeWrapperArgs+=(
      --run 'mkdir -p ~/.config/archisteamfarm/{config,logs,plugins}'
@@ -55,7 +61,7 @@ buildDotnetModule rec {
      echo "Publishing plugin $1"
      dotnet publish $1 -p:ContinuousIntegrationBuild=true -p:Deterministic=true \
        --output $out/lib/ArchiSteamFarm/plugins/$1 --configuration Release \
        -p:UseAppHost=false
        $dotnetFlags $dotnetInstallFlags
    }

    buildPlugin ArchiSteamFarm.OfficialPlugins.ItemsMatcher
+14 −10
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ let
        useDotnetFromEnv
        nugetDeps
        runtimeId
        dotnet-sdk
        ;

      nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
@@ -149,12 +150,7 @@ let
        dotnet-sdk
      ];

      buildInputs =
        args.buildInputs or [ ]
        ++ [
          dotnet-sdk.packages
        ]
        ++ projectReferences;
      buildInputs = args.buildInputs or [ ] ++ dotnet-sdk.packages ++ projectReferences;

      # Parse the version attr into a format acceptable for the Version msbuild property
      # The actual version attr is saved in InformationalVersion, which accepts an arbitrary string
@@ -206,7 +202,12 @@ stdenvNoCC.mkDerivation (
  let
    args = if lib.isFunction fnOrAttrs then fnOrAttrs (args' // finalAttrs) else fnOrAttrs;
    args' = transformArgs finalAttrs args;
    inherit (args') nugetDeps runtimeId meta;
    inherit (args')
      nugetDeps
      runtimeId
      meta
      dotnet-sdk
      ;
    args'' = removeAttrs args' [
      "nugetDeps"
      "runtimeId"
@@ -215,22 +216,25 @@ stdenvNoCC.mkDerivation (
      "projectFile"
      "projectReferences"
      "runtimeDeps"
      "runtimeId"
      "disabledTests"
      "testProjectFile"
      "buildType"
      "selfContainedBuild"
      "useDotnet"
      "useAppHost"
      "dotnet-sdk"
    ];
  in
  if nugetDeps != null then
    addNuGetDeps {
      inherit nugetDeps;
      overrideFetchAttrs =
        a:
        lib.optionalAttrs ((args'.runtimeId or null) == null) {
        old:
        lib.optionalAttrs ((args'.runtimeId or null) == null) rec {
          dotnetRuntimeIds = map (system: dotnetCorePackages.systemToDotnetRid system) meta.platforms;
          buildInputs =
            old.buildInputs
            ++ lib.concatLists (lib.attrValues (lib.getAttrs dotnetRuntimeIds dotnet-sdk.targetPackages));
        };
    } args'' finalAttrs
  else
+1 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ dotnetCheckHook() {
                -p:ContinuousIntegrationBuild=true \
                -p:Deterministic=true \
                --configuration "$dotnetBuildType" \
                --no-restore \
                --no-build \
                --logger "console;verbosity=normal" \
                "${runtimeIdFlagsArray[@]}" \
+2 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ dotnetInstallHook() {
                -p:OverwriteReadOnlyFiles=true \
                --output "$dotnetInstallPath" \
                --configuration "$dotnetBuildType" \
                --no-restore \
                --no-build \
                "${runtimeIdFlagsArray[@]}" \
                "${dotnetInstallFlagsArray[@]}" \
@@ -73,6 +74,7 @@ dotnetInstallHook() {
                   -p:OverwriteReadOnlyFiles=true \
                   --output "$out/share/nuget/source" \
                   --configuration "$dotnetBuildType" \
                   --no-restore \
                   --no-build \
                   --runtime "$runtimeId" \
                   "${dotnetPackFlagsArray[@]}" \
Loading