feat(tvix/eval): Implement builtins.fetchTarball
Implement a first pass at the fetchTarball builtin. This uses much of the same machinery as fetchUrl, but has the extra complexity that tarballs have to be extracted and imported as store paths (into the directory- and blob-services) before hashing. That's reasonably involved due to the structure of those two services. This is (unfortunately) not easy to test in an automated way, but I've tested it manually for now and it seems to work: tvix-repl> (import ../. {}).third_party.nixpkgs.hello.outPath => "/nix/store/dbghhbq1x39yxgkv3vkgfwbxrmw9nfzi-hello-2.12.1" :: string Co-authored-by: Connor Brewster <cbrewster@hey.com> Change-Id: I57afc6b91bad617a608a35bb357861e782a864c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11020 Autosubmit: aspen <root@gws.fyi> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
f34e0fa342
commit
3107961428
10 changed files with 306 additions and 33 deletions
|
@ -2366,8 +2366,7 @@ rec {
|
|||
}
|
||||
];
|
||||
features = {
|
||||
"async" = [ "futures-util" ];
|
||||
"futures-util" = [ "dep:futures-util" ];
|
||||
"async" = [ "tokio" ];
|
||||
"pin-project-lite" = [ "dep:pin-project-lite" ];
|
||||
"tokio" = [ "dep:tokio" ];
|
||||
"wire" = [ "tokio" "pin-project-lite" ];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue