refactor(nix/dependency-analyzer): use unsafeDiscardOutputDependency
Turns out that pathContextDrvPath already exists as a builtin which is very convenient. Actually somewhat embarassing that I missed this for so long. Change-Id: Ieb5e113d70dec548b3053911ff9dbe9ed48402be Reviewed-on: https://cl.tvl.fyi/c/depot/+/7050 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
b410655a5e
commit
5753fc14f5
1 changed files with 2 additions and 18 deletions
|
@ -7,22 +7,6 @@ let
|
|||
# Utilities
|
||||
#
|
||||
|
||||
# Manipulate string context of the given string so that it only carries a
|
||||
# `path` reference to itself (so it needs to be a string representation of
|
||||
# a store path).
|
||||
#
|
||||
# This is intended for use on the `drvPath` attribute of derivations which by
|
||||
# default carries a reference to the corresponding outputs. If we only want to
|
||||
# read from the `drvPath`, having only a `path` reference makes sure we don't
|
||||
# need to realise the derivation first.
|
||||
#
|
||||
# Type: str -> str
|
||||
pathContextDrvPath = drvPath:
|
||||
let
|
||||
drvPath' = unsafeDiscardStringContext drvPath;
|
||||
in
|
||||
appendContext drvPath' { ${drvPath'} = { path = true; }; };
|
||||
|
||||
# Determine all paths a derivation depends on, i.e. input derivations and
|
||||
# files imported into the Nix store.
|
||||
#
|
||||
|
@ -61,7 +45,7 @@ let
|
|||
#
|
||||
# Type: [drv] -> [str]
|
||||
drvsToPaths = drvs:
|
||||
builtins.map (drv: pathContextDrvPath drv.drvPath) drvs;
|
||||
builtins.map (drv: builtins.unsafeDiscardOutputDependency drv.drvPath) drvs;
|
||||
|
||||
#
|
||||
# Calculate map of direct derivation dependencies
|
||||
|
@ -78,7 +62,7 @@ let
|
|||
# key may not refer to a store path, …
|
||||
key = unsafeDiscardStringContext drvPath;
|
||||
# but we must read from the .drv file.
|
||||
path = pathContextDrvPath drvPath;
|
||||
path = builtins.unsafeDiscardOutputDependency drvPath;
|
||||
in
|
||||
{
|
||||
inherit key;
|
||||
|
|
Loading…
Reference in a new issue