Unverified Commit cf468dff authored by Yueh-Shun Li's avatar Yueh-Shun Li Committed by GitHub
Browse files

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

parents c5160551 456dd7ce
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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;
      };