buildDotnetGlobalTool: format with nixfmt

This commit is contained in:
David McFarland
2024-12-03 10:08:52 -04:00
parent 88196cc076
commit 3463d22cd8
@@ -1,53 +1,67 @@
{ buildDotnetModule, emptyDirectory, fetchNupkg, dotnet-sdk }:
{
buildDotnetModule,
emptyDirectory,
fetchNupkg,
dotnet-sdk,
}:
{ pname
, version
{
pname,
version,
# Name of the nuget package to install, if different from pname
, nugetName ? pname
nugetName ? pname,
# Hash of the nuget package to install, will be given on first build
# nugetHash uses SRI hash and should be preferred
, nugetHash ? ""
, nugetSha256 ? ""
nugetHash ? "",
nugetSha256 ? "",
# Additional nuget deps needed by the tool package
, nugetDeps ? (_: [])
nugetDeps ? (_: [ ]),
# Executables to wrap into `$out/bin`, same as in `buildDotnetModule`, but with
# a default of `pname` instead of null, to avoid auto-wrapping everything
, executables ? pname
executables ? pname,
# The dotnet runtime to use, dotnet tools need a full SDK to function
, dotnet-runtime ? dotnet-sdk
, ...
} @ args:
dotnet-runtime ? dotnet-sdk,
...
}@args:
buildDotnetModule (args // {
inherit pname version dotnet-runtime executables;
buildDotnetModule (
args
// {
inherit
pname
version
dotnet-runtime
executables
;
src = emptyDirectory;
src = emptyDirectory;
buildInputs = [
(fetchNupkg {
pname = nugetName;
inherit version;
sha256 = nugetSha256;
hash = nugetHash;
installable = true;
})
];
buildInputs = [
(fetchNupkg {
pname = nugetName;
inherit version;
sha256 = nugetSha256;
hash = nugetHash;
installable = true;
})
];
dotnetGlobalTool = true;
dotnetGlobalTool = true;
useDotnetFromEnv = true;
useDotnetFromEnv = true;
dontBuild = true;
dontBuild = true;
installPhase = ''
runHook preInstall
installPhase = ''
runHook preInstall
dotnet tool install --tool-path $out/lib/${pname} ${nugetName}
dotnet tool install --tool-path $out/lib/${pname} ${nugetName}
# remove files that contain nix store paths to temp nuget sources we made
find $out -name 'project.assets.json' -delete
find $out -name '.nupkg.metadata' -delete
# remove files that contain nix store paths to temp nuget sources we made
find $out -name 'project.assets.json' -delete
find $out -name '.nupkg.metadata' -delete
runHook postInstall
'';
})
runHook postInstall
'';
}
)