commit
4d1c850512
|
@ -42,16 +42,16 @@
|
||||||
"nixpkgs-regression": "nixpkgs-regression"
|
"nixpkgs-regression": "nixpkgs-regression"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690219894,
|
"lastModified": 1696259154,
|
||||||
"narHash": "sha256-QMYAkdtU+g9HlZKtoJ+AI6TbWzzovKGnPZJHfZdclc8=",
|
"narHash": "sha256-WNmifcTsN9aG1ONkv+l2BC4sHZZxtNKy0keqBHXXQ7w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "a212300a1d9f9c7b0daf19c00c87fc50480f54f4",
|
"rev": "f5f4de6a550327b4b1a06123c2e450f1b92c73b6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "2.17.0",
|
"ref": "2.18.1",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
description = "A Nix-based continuous build system";
|
description = "A Nix-based continuous build system";
|
||||||
|
|
||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||||
inputs.nix.url = "github:NixOS/nix/2.17.0";
|
inputs.nix.url = "github:NixOS/nix/2.18.1";
|
||||||
inputs.nix.inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nix }:
|
outputs = { self, nixpkgs, nix }:
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "store-api.hh"
|
#include "store-api.hh"
|
||||||
#include "eval.hh"
|
#include "eval.hh"
|
||||||
#include "eval-inline.hh"
|
#include "eval-inline.hh"
|
||||||
|
#include "eval-settings.hh"
|
||||||
#include "util.hh"
|
#include "util.hh"
|
||||||
#include "get-drvs.hh"
|
#include "get-drvs.hh"
|
||||||
#include "globals.hh"
|
#include "globals.hh"
|
||||||
|
@ -208,13 +209,13 @@ static void worker(
|
||||||
for (auto & c : context)
|
for (auto & c : context)
|
||||||
std::visit(overloaded {
|
std::visit(overloaded {
|
||||||
[&](const NixStringContextElem::Built & b) {
|
[&](const NixStringContextElem::Built & b) {
|
||||||
job["constituents"].push_back(state.store->printStorePath(b.drvPath));
|
job["constituents"].push_back(b.drvPath->to_string(*state.store));
|
||||||
},
|
},
|
||||||
[&](const NixStringContextElem::Opaque & o) {
|
[&](const NixStringContextElem::Opaque & o) {
|
||||||
},
|
},
|
||||||
[&](const NixStringContextElem::DrvDeep & d) {
|
[&](const NixStringContextElem::DrvDeep & d) {
|
||||||
},
|
},
|
||||||
}, c.raw());
|
}, c.raw);
|
||||||
|
|
||||||
state.forceList(*a->value, a->pos, "while evaluating the `constituents` attribute");
|
state.forceList(*a->value, a->pos, "while evaluating the `constituents` attribute");
|
||||||
for (unsigned int n = 0; n < a->value->listSize(); ++n) {
|
for (unsigned int n = 0; n < a->value->listSize(); ++n) {
|
||||||
|
@ -516,7 +517,7 @@ int main(int argc, char * * argv)
|
||||||
auto drvPath2 = store->parseStorePath((std::string) (*job2)["drvPath"]);
|
auto drvPath2 = store->parseStorePath((std::string) (*job2)["drvPath"]);
|
||||||
auto drv2 = store->readDerivation(drvPath2);
|
auto drv2 = store->readDerivation(drvPath2);
|
||||||
job["constituents"].push_back(store->printStorePath(drvPath2));
|
job["constituents"].push_back(store->printStorePath(drvPath2));
|
||||||
drv.inputDrvs[drvPath2] = {drv2.outputs.begin()->first};
|
drv.inputDrvs.map[drvPath2].value = {drv2.outputs.begin()->first};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (brokenJobs.empty()) {
|
if (brokenJobs.empty()) {
|
||||||
|
|
|
@ -276,9 +276,9 @@ void State::buildRemote(ref<Store> destStore,
|
||||||
for (auto & p : step->drv->inputSrcs)
|
for (auto & p : step->drv->inputSrcs)
|
||||||
inputs.insert(p);
|
inputs.insert(p);
|
||||||
|
|
||||||
for (auto & input : step->drv->inputDrvs) {
|
for (auto & [drvPath, node] : step->drv->inputDrvs.map) {
|
||||||
auto drv2 = localStore->readDerivation(input.first);
|
auto drv2 = localStore->readDerivation(drvPath);
|
||||||
for (auto & name : input.second) {
|
for (auto & name : node.value) {
|
||||||
if (auto i = get(drv2.outputs, name)) {
|
if (auto i = get(drv2.outputs, name)) {
|
||||||
auto outPath = i->path(*localStore, drv2.name, name);
|
auto outPath = i->path(*localStore, drv2.name, name);
|
||||||
inputs.insert(*outPath);
|
inputs.insert(*outPath);
|
||||||
|
|
|
@ -315,7 +315,7 @@ bool State::getQueuedBuilds(Connection & conn,
|
||||||
if (std::chrono::system_clock::now() > start + std::chrono::seconds(600)) {
|
if (std::chrono::system_clock::now() > start + std::chrono::seconds(600)) {
|
||||||
prom.queue_checks_early_exits.Increment();
|
prom.queue_checks_early_exits.Increment();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
prom.queue_checks_finished.Increment();
|
prom.queue_checks_finished.Increment();
|
||||||
|
@ -561,7 +561,7 @@ Step::ptr State::createStep(ref<Store> destStore,
|
||||||
printMsg(lvlDebug, "creating build step ‘%1%’", localStore->printStorePath(drvPath));
|
printMsg(lvlDebug, "creating build step ‘%1%’", localStore->printStorePath(drvPath));
|
||||||
|
|
||||||
/* Create steps for the dependencies. */
|
/* Create steps for the dependencies. */
|
||||||
for (auto & i : step->drv->inputDrvs) {
|
for (auto & i : step->drv->inputDrvs.map) {
|
||||||
auto dep = createStep(destStore, conn, build, i.first, 0, step, finishedDrvs, newSteps, newRunnable);
|
auto dep = createStep(destStore, conn, build, i.first, 0, step, finishedDrvs, newSteps, newRunnable);
|
||||||
if (dep) {
|
if (dep) {
|
||||||
auto step_(step->state.lock());
|
auto step_(step->state.lock());
|
||||||
|
|
Loading…
Reference in a new issue