fix build with nix 2.7

This commit is contained in:
Jörg Thalheim 2022-03-13 17:16:53 +01:00
parent 9c2d7a8279
commit d592323c6b
3 changed files with 12 additions and 10 deletions

View file

@ -17,16 +17,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1645433236, "lastModified": 1647186833,
"narHash": "sha256-4va4MvJ076XyPp5h8sm5eMQvCrJ6yZAbBmyw95dGyw4=", "narHash": "sha256-62CMNrhICLcI/5jNSQDAQpUUvtvTXBsYWSU6ZlhPIzs=",
"owner": "NixOS", "owner": "Mic92",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7f9b6e2babf232412682c09e57ed666d8f84ac2d", "rev": "de173cbbb66e9b454e0e836cec1b807856934539",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "Mic92",
"ref": "nixos-unstable", "ref": "nix-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View file

@ -1,7 +1,9 @@
{ {
description = "Hydra's builtin hydra-eval-jobs as a standalone"; description = "Hydra's builtin hydra-eval-jobs as a standalone";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # switch back when https://github.com/NixOS/nixpkgs/pull/164012 is merged
#inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.nixpkgs.url = "github:Mic92/nixpkgs/nix-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }: outputs = { self, nixpkgs, flake-utils }:

View file

@ -142,7 +142,7 @@ static void worker(
callFlake(state, lockedFlake, *vFlake); callFlake(state, lockedFlake, *vFlake);
auto vOutputs = vFlake->attrs->get(state.symbols.create("outputs"))->value; auto vOutputs = vFlake->attrs->get(state.symbols.create("outputs"))->value;
state.forceValue(*vOutputs); state.forceValue(*vOutputs, noPos);
vTop = *vOutputs; vTop = *vOutputs;
if (fragment.length() > 0) { if (fragment.length() > 0) {
@ -186,8 +186,8 @@ static void worker(
if (drv->querySystem() == "unknown") if (drv->querySystem() == "unknown")
throw EvalError("derivation must have a 'system' attribute"); throw EvalError("derivation must have a 'system' attribute");
auto drvPath = drv->queryDrvPath();
auto localStore = state.store.dynamic_pointer_cast<LocalFSStore>(); auto localStore = state.store.dynamic_pointer_cast<LocalFSStore>();
auto drvPath = localStore->printStorePath(drv->requireDrvPath());
auto storePath = localStore->parseStorePath(drvPath); auto storePath = localStore->parseStorePath(drvPath);
auto outputs = drv->queryOutputs(false); auto outputs = drv->queryOutputs(false);
@ -195,7 +195,7 @@ static void worker(
reply["system"] = drv->querySystem(); reply["system"] = drv->querySystem();
reply["drvPath"] = drvPath; reply["drvPath"] = drvPath;
for (auto out : outputs){ for (auto out : outputs){
reply["outputs"][out.first] = out.second; reply["outputs"][out.first] = localStore->printStorePath(out.second);
} }
if (myArgs.meta) { if (myArgs.meta) {