revert(nix/utils): onlyDrvPath to get the drvPath w/o the outputs

This reverts commit 6813598c17.

Reason for revert: This function is a re-implementation of
builtins.unsafeDiscardOutputDependency which I missed at the time.

Change-Id: I5bb52bfd5e8d51defaf90ee795b0fe99be84f6db
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7265
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
sterni 2022-11-08 10:04:27 +00:00
parent 41883b6c08
commit 19ddb1466e
2 changed files with 0 additions and 27 deletions

View file

@ -43,21 +43,6 @@ let
else builtins.throw "Don't know how to get (base)name of " else builtins.throw "Don't know how to get (base)name of "
+ lib.generators.toPretty { } p; + lib.generators.toPretty { } p;
/* Retrieves the drvPath attribute from a given derivation, but ensures that
the resulting string only depends on the `.drv` file in the nix store and
not on its realised outputs as well.
Type: drv -> string
*/
onlyDrvPath = drv:
let
inherit (drv) drvPath;
unsafeDrvPath = builtins.unsafeDiscardStringContext drvPath;
in
builtins.appendContext unsafeDrvPath {
${unsafeDrvPath} = { path = true; };
};
/* Query the type of a path exposing the same information as would be by /* Query the type of a path exposing the same information as would be by
`builtins.readDir`, but for a single, specific target path. `builtins.readDir`, but for a single, specific target path.
@ -167,7 +152,6 @@ in
{ {
inherit inherit
storePathName storePathName
onlyDrvPath
pathType pathType
isDirectory isDirectory
isRegularFile isRegularFile

View file

@ -15,7 +15,6 @@ let
isSymlink isSymlink
pathType pathType
storePathName storePathName
onlyDrvPath
; ;
assertUtilsPred = msg: act: exp: [ assertUtilsPred = msg: act: exp: [
@ -92,19 +91,9 @@ let
(storePathName cleanedSource) (storePathName cleanedSource)
cleanedSource.name) cleanedSource.name)
]; ];
onlyDrvPathTests = it "correctly updates the string context of drvPath" [
(assertEq "onlyDrvPath only produces path dependencies"
(builtins.all
(dep: dep.path or false)
(builtins.attrValues
(builtins.getContext (onlyDrvPath depot.tools.cheddar))))
true)
];
in in
runTestsuite "nix.utils" [ runTestsuite "nix.utils" [
pathPredicates pathPredicates
storePathNameTests storePathNameTests
onlyDrvPathTests
] ]