dotnet: improve EOL evaluation errors (#363439)

This commit is contained in:
Atemu
2024-12-11 01:36:19 +01:00
committed by GitHub
3 changed files with 46 additions and 16 deletions
@@ -98,7 +98,7 @@ let
in
mkWrapper type (
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
inherit pname version;
# Some of these dependencies are `dlopen()`ed.
@@ -194,19 +194,29 @@ mkWrapper type (
{
inherit icu hasILCompiler;
}
// lib.optionalAttrs (type == "sdk") {
packages = commonPackages ++ hostPackages.${hostRid} ++ targetPackages.${targetRid};
inherit targetPackages runtime aspnetcore;
// lib.optionalAttrs (type == "sdk") (
let
# force evaluation of the SDK package to ensure evaluation failures
# (e.g. due to vulnerabilities) propagate to the nuget packages
forceSDKEval = builtins.seq finalAttrs.finalPackage.drvPath;
in
{
packages = map forceSDKEval (
commonPackages ++ hostPackages.${hostRid} ++ targetPackages.${targetRid}
);
targetPackages = lib.mapAttrs (_: map forceSDKEval) targetPackages;
inherit runtime aspnetcore;
updateScript =
let
majorVersion = lib.concatStringsSep "." (lib.take 2 (lib.splitVersion version));
in
[
./update.sh
majorVersion
];
};
updateScript =
let
majorVersion = lib.concatStringsSep "." (lib.take 2 (lib.splitVersion version));
in
[
./update.sh
majorVersion
];
}
);
meta = with lib; {
description = builtins.getAttr type descriptions;
@@ -239,5 +249,5 @@ mkWrapper type (
"Dotnet SDK ${version} is EOL, please use 8.0 (LTS) or 9.0 (Current)"
];
};
}
})
)
@@ -56,5 +56,14 @@ mkWrapper "sdk" (buildEnv {
);
};
inherit (cli) meta;
meta = {
description = "${cli.meta.description or "dotnet"} (combined)";
inherit (cli.meta)
homepage
license
mainProgram
maintainers
platforms
;
};
})
+12 -1
View File
@@ -22,7 +22,18 @@
type: unwrapped:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "${unwrapped.pname}-wrapped";
inherit (unwrapped) version meta;
inherit (unwrapped) version;
meta = {
description = "${unwrapped.meta.description or "dotnet"} (wrapper)";
mainProgram = "dotnet";
inherit (unwrapped.meta)
homepage
license
maintainers
platforms
;
};
src = unwrapped;
dontUnpack = true;