about summary refs log tree commit diff
path: root/pkgs/build-support/dotnet/build-dotnet-module
diff options
context:
space:
mode:
authorAtemu <atemu.main@gmail.com>2023-03-06 17:46:32 +0100
committerGitHub <noreply@github.com>2023-03-06 17:46:32 +0100
commitd390c28a89d6b488587e974360d44ea9455c3fec (patch)
treeedbc0120d9126c9b9c34f727228f9fc38f28002b /pkgs/build-support/dotnet/build-dotnet-module
parent1cd0291434dc359c808664d774adfae539f458f7 (diff)
parent014eba883e7d81771c9c8cb938618e5a3f35208d (diff)
Merge pull request #218849 from Atemu/buildDotnetModule-put-dep-file-path-in-fetch-script
buildDotnetModule: point fetch-deps at module's deps file by default
Diffstat (limited to 'pkgs/build-support/dotnet/build-dotnet-module')
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index 514255f324ac4..311eb2b293e5e 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -168,6 +168,15 @@ stdenvNoCC.mkDerivation (args // {
           if runtimeId != null
           then [ runtimeId ]
           else map (system: dotnetCorePackages.systemToDotnetRid system) platforms;
+        defaultDepsFile =
+          # Wire in the nugetDeps file such that running the script with no args
+          # runs it agains the correct deps file by default.
+          # Note that toString is necessary here as it results in the path at
+          # eval time (i.e. to the file in your local Nixpkgs checkout) rather
+          # than the Nix store path of the path after it's been imported.
+          if lib.isPath nugetDeps && !lib.hasPrefix "/nix/store/" (toString nugetDeps)
+          then toString nugetDeps
+          else ''$(mktemp -t "${pname}-deps-XXXXXX.nix")'';
       in
       writeShellScript "fetch-${pname}-deps" ''
         set -euo pipefail
@@ -238,7 +247,8 @@ stdenvNoCC.mkDerivation (args // {
         export DOTNET_NOLOGO=1
         export DOTNET_CLI_TELEMETRY_OPTOUT=1
 
-        depsFile=$(realpath "''${1:-$(mktemp -t "${pname}-deps-XXXXXX.nix")}")
+        depsFile=$(realpath "''${1:-${defaultDepsFile}}")
+        echo Will write lockfile to "$depsFile"
         mkdir -p "$tmp/nuget_pkgs"
 
         storeSrc="${srcOnly args}"