fetchFromGitHub: take passthru and avoid arbitrary arguments overwriting (#456219)

This commit is contained in:
Yueh-Shun Li
2025-10-27 22:25:26 +00:00
committed by GitHub
2 changed files with 9 additions and 4 deletions
+3 -1
View File
@@ -60,6 +60,7 @@ lib.makeOverridable (
# Impure env vars (https://nixos.org/nix/manual/#sec-advanced-attributes)
# needed for netrcPhase
netrcImpureEnvVars ? [ ],
passthru ? { },
meta ? { },
allowedRequisites ? null,
# fetch all tags after tree (useful for git describe)
@@ -195,7 +196,8 @@ lib.makeOverridable (
passthru = {
gitRepoUrl = url;
inherit tag;
};
}
// passthru;
}
)
)
+6 -3
View File
@@ -22,6 +22,7 @@ lib.makeOverridable (
sparseCheckout ? lib.optional (rootDir != "") rootDir,
githubBase ? "github.com",
varPrefix ? null,
passthru ? { },
meta ? { },
... # For hash agility
}@args:
@@ -112,7 +113,8 @@ lib.makeOverridable (
revWithTag = if tag != null then "refs/tags/${tag}" else rev;
fetcherArgs =
(
passthruAttrs
// (
if useFetchGit then
{
inherit
@@ -124,6 +126,7 @@ lib.makeOverridable (
fetchLFS
;
url = gitRepoUrl;
inherit passthru;
}
// lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
else
@@ -148,11 +151,11 @@ lib.makeOverridable (
passthru = {
inherit gitRepoUrl;
};
}
// passthru;
}
)
// privateAttrs
// passthruAttrs
// {
inherit name;
};