From 6c4ece917d65174c1c2274cc5ff176c9c0d3fd3a Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sat, 10 Apr 2021 23:43:41 +0200 Subject: feat(3p/nixpkgs): Plumb through externalArgs.nixpkgsBisectPath This lets the import of the depot root accept an additional argument called `externalArgs`, which can be used to pass additional arguments into a depot package set. This is used in //third_party/nixpkgs for replacing the source of the nixos-unstable channel with a path. With this we can bisect the nixpkgs used in third_party easily. Change-Id: I4f65eb3d6b521ed9f437649b7b068f1e6ab8210f Reviewed-on: https://cl.tvl.fyi/c/depot/+/2925 Tested-by: BuildkiteCI Reviewed-by: sterni --- third_party/nixpkgs/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'third_party/nixpkgs/default.nix') diff --git a/third_party/nixpkgs/default.nix b/third_party/nixpkgs/default.nix index 53adfe81e3..602d16b2ca 100644 --- a/third_party/nixpkgs/default.nix +++ b/third_party/nixpkgs/default.nix @@ -6,7 +6,7 @@ # in //default.nix passes this attribute as the `pkgs` argument to all # readTree derivations. -{ depot, ... }: +{ depot, externalArgs, ... }: let # This provides the sources of nixpkgs. We track both @@ -25,10 +25,16 @@ let sha256 = "073327ris0frqa3kpid3nsjr9w8yx2z83xpsc24w898mrs9r7d5v"; }; - nixpkgsSrc = fetchTarball { + # import the nixos-unstable package set, or optionally use the + # source (e.g. a path) specified by the `nixpkgsBisectPath` + # argument. This is intended for use-cases where the depot is + # bisected against nixpkgs to find the root cause of an issue in a + # channel bump. + nixpkgsSrc = externalArgs.nixpkgsBisectPath or (fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/${unstableHashes.commit}.tar.gz"; sha256 = unstableHashes.sha256; - }; + }); + stableNixpkgsSrc = fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/${stableHashes.commit}.tar.gz"; sha256 = stableHashes.sha256; -- cgit 1.4.1