hydra_unstable: 2022-02-07 -> 2022-05-03

main
Nick Cao 2 years ago
parent c319f76223
commit e9e0ab3a03
No known key found for this signature in database
GPG Key ID: 068A56CEF48FA2C1
  1. 45
      pkgs/development/tools/misc/hydra/eval.patch
  2. 61
      pkgs/development/tools/misc/hydra/missing-std-string.patch
  3. 58
      pkgs/development/tools/misc/hydra/unstable.nix
  4. 2
      pkgs/top-level/all-packages.nix

@ -1,34 +1,11 @@
--- a/src/hydra-eval-jobs/hydra-eval-jobs.cc
+++ b/src/hydra-eval-jobs/hydra-eval-jobs.cc
@@ -64,11 +64,11 @@
static std::string queryMetaStrings(EvalState & state, DrvInfo & drv, const string & name, const string & subAttribute)
{
- Strings res;
+ std::list<std::string_view> res;
std::function<void(Value & v)> rec;
rec = [&](Value & v) {
- state.forceValue(v);
+ state.forceValue(v, noPos);
if (v.type() == nString)
res.push_back(v.string.s);
else if (v.isList())
@@ -112,7 +112,7 @@
callFlake(state, lockedFlake, *vFlake);
auto vOutputs = vFlake->attrs->get(state.symbols.create("outputs"))->value;
- state.forceValue(*vOutputs);
+ state.forceValue(*vOutputs, noPos);
auto aHydraJobs = vOutputs->attrs->get(state.symbols.create("hydraJobs"));
if (!aHydraJobs)
@@ -191,7 +191,7 @@
state.forceList(*a->value, *a->pos);
for (unsigned int n = 0; n < a->value->listSize(); ++n) {
auto v = a->value->listElems()[n];
- state.forceValue(*v);
+ state.forceValue(*v, noPos);
if (v->type() == nString)
job["namedConstituents"].push_back(state.forceStringNoCtx(*v));
}
diff --git a/src/hydra-eval-jobs/Makefile.am b/src/hydra-eval-jobs/Makefile.am
index 7a4e9c91..90742a30 100644
--- a/src/hydra-eval-jobs/Makefile.am
+++ b/src/hydra-eval-jobs/Makefile.am
@@ -1,5 +1,5 @@
bin_PROGRAMS = hydra-eval-jobs
hydra_eval_jobs_SOURCES = hydra-eval-jobs.cc
-hydra_eval_jobs_LDADD = $(NIX_LIBS)
+hydra_eval_jobs_LDADD = $(NIX_LIBS) -lnixcmd
hydra_eval_jobs_CXXFLAGS = $(NIX_CFLAGS) -I ../libhydra

@ -1,61 +0,0 @@
diff --git a/src/hydra-eval-jobs/hydra-eval-jobs.cc b/src/hydra-eval-jobs/hydra-eval-jobs.cc
index acffe1d..53f2630 100644
--- a/src/hydra-eval-jobs/hydra-eval-jobs.cc
+++ b/src/hydra-eval-jobs/hydra-eval-jobs.cc
@@ -63,7 +63,7 @@ struct MyArgs : MixEvalArgs, MixCommonArgs
static MyArgs myArgs;
-static std::string queryMetaStrings(EvalState & state, DrvInfo & drv, const string & name, const string & subAttribute)
+static std::string queryMetaStrings(EvalState & state, DrvInfo & drv, const std::string & name, const std::string & subAttribute)
{
Strings res;
std::function<void(Value & v)> rec;
@@ -186,7 +186,7 @@ static void worker(
for (auto & i : context)
if (i.at(0) == '!') {
size_t index = i.find("!", 1);
- job["constituents"].push_back(string(i, index + 1));
+ job["constituents"].push_back(std::string(i, index + 1));
}
state.forceList(*a->value, *a->pos);
diff --git a/src/hydra-queue-runner/hydra-queue-runner.cc b/src/hydra-queue-runner/hydra-queue-runner.cc
index 62eb572..a957bef 100644
--- a/src/hydra-queue-runner/hydra-queue-runner.cc
+++ b/src/hydra-queue-runner/hydra-queue-runner.cc
@@ -87,7 +87,7 @@ void State::parseMachines(const std::string & contents)
}
for (auto line : tokenizeString<Strings>(contents, "\n")) {
- line = trim(string(line, 0, line.find('#')));
+ line = trim(std::string(line, 0, line.find('#')));
auto tokens = tokenizeString<std::vector<std::string>>(line);
if (tokens.size() < 3) continue;
tokens.resize(8);
diff --git a/src/libhydra/db.hh b/src/libhydra/db.hh
index 7d5bdc5..00e8f40 100644
--- a/src/libhydra/db.hh
+++ b/src/libhydra/db.hh
@@ -18,7 +18,7 @@ struct Connection : pqxx::connection
std::string upper_prefix = "DBI:Pg:";
if (hasPrefix(s, lower_prefix) || hasPrefix(s, upper_prefix)) {
- return concatStringsSep(" ", tokenizeString<Strings>(string(s, lower_prefix.size()), ";"));
+ return concatStringsSep(" ", tokenizeString<Strings>(std::string(s, lower_prefix.size()), ";"));
}
throw Error("$HYDRA_DBI does not denote a PostgreSQL database");
diff --git a/src/libhydra/hydra-config.hh b/src/libhydra/hydra-config.hh
index bc989f7..1688c27 100644
--- a/src/libhydra/hydra-config.hh
+++ b/src/libhydra/hydra-config.hh
@@ -17,7 +17,7 @@ struct HydraConfig
if (hydraConfigFile && pathExists(*hydraConfigFile)) {
for (auto line : tokenizeString<Strings>(readFile(*hydraConfigFile), "\n")) {
- line = trim(string(line, 0, line.find('#')));
+ line = trim(std::string(line, 0, line.find('#')));
auto eq = line.find('=');
if (eq == std::string::npos) continue;

@ -4,13 +4,11 @@
, perlPackages
, buildEnv
, makeWrapper
, autoconf
, automake
, libtool
, unzip
, pkg-config
, sqlite
, libpqxx_6
, libpqxx
, top-git
, mercurial
, darcs
@ -21,12 +19,14 @@
, libxslt
, perl
, postgresql
, prometheus-cpp
, nukeReferences
, git
, boehmgc
, nlohmann_json
, docbook_xsl
, openssh
, openldap
, gnused
, coreutils
, findutils
@ -55,7 +55,6 @@ let
name = "hydra-perl-deps";
paths = with perlPackages; lib.closePropagation
[
ModulePluggable
AuthenSASL
CatalystActionREST
CatalystAuthenticationStoreDBIxClass
@ -114,12 +113,12 @@ let
TermReadKey
Test2Harness
TestPostgreSQL
TestSimple13
TextDiff
TextTable
UUID4Tiny
XMLSimple
YAML
nix
nix.perl-bindings
git
];
@ -127,23 +126,20 @@ let
in
stdenv.mkDerivation rec {
pname = "hydra";
version = "2022-02-07";
version = "2022-05-03";
src = fetchFromGitHub {
owner = "NixOS";
repo = "hydra";
rev = "517dce285a851efd732affc084c7083aed2e98cd";
sha256 = "sha256-abWhd/VLNse3Gz7gcVbFANJLAhHV4nbOKjhVDmq/Zmg=";
rev = "7c133a98f8e689cdc13f8a1adaaa9cd75d039a35";
sha256 = "sha256-LqBLIXYssvDoSp2Hf2+vDDB9O8VSF48HAGwL8pI2WZY=";
};
patches = [ ./eval.patch ];
buildInputs =
[
makeWrapper
libtool
unzip
nukeReferences
sqlite
libpqxx_6
libpqxx
top-git
mercurial
darcs
@ -152,18 +148,18 @@ stdenv.mkDerivation rec {
openssl
bzip2
libxslt
nix
perlDeps
perl
nix
postgresql # for running the tests
nlohmann_json
boost
pixz
boost
postgresql
nlohmann_json
prometheus-cpp
];
hydraPath = lib.makeBinPath (
[
sqlite
subversion
openssh
nix
@ -177,13 +173,21 @@ stdenv.mkDerivation rec {
unzip
git
top-git
mercurial /*darcs*/
mercurial
darcs
gnused
breezy
] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ]
);
nativeBuildInputs = [ autoreconfHook pkg-config mdbook autoconf automake ];
nativeBuildInputs = [
autoreconfHook
makeWrapper
pkg-config
mdbook
unzip
nukeReferences
];
checkInputs = [
cacert
@ -191,21 +195,15 @@ stdenv.mkDerivation rec {
glibcLocales
python3
libressl.nc
];
patches = [
./eval.patch
./missing-std-string.patch
(fetchpatch {
url = "https://github.com/NixOS/hydra/commit/5ae26aa7604f714dcc73edcb74fe71ddc8957f6c.patch";
sha256 = "sha256-wkbWo8SFbT3qwVxwkKQWpQT5Jgb1Bb51yiLTlFdDN/I=";
})
openldap
];
configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
NIX_CFLAGS_COMPILE = "-pthread";
OPENLDAP_ROOT = openldap;
shellHook = ''
PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
PERL5LIB=$(pwd)/src/lib:$PERL5LIB;

@ -17860,7 +17860,7 @@ with pkgs;
hwloc = callPackage ../development/libraries/hwloc {};
hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_6; };
hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_8; };
hydra-cli = callPackage ../development/tools/misc/hydra-cli { };

Loading…
Cancel
Save