From e9e0ab3a03e74e4172d36ed332a36d72fff6aec3 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sat, 14 May 2022 12:53:09 +0800 Subject: [PATCH] hydra_unstable: 2022-02-07 -> 2022-05-03 --- pkgs/development/tools/misc/hydra/eval.patch | 45 ++++---------- .../tools/misc/hydra/missing-std-string.patch | 61 ------------------- .../development/tools/misc/hydra/unstable.nix | 58 +++++++++--------- pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 40 insertions(+), 126 deletions(-) delete mode 100644 pkgs/development/tools/misc/hydra/missing-std-string.patch diff --git a/pkgs/development/tools/misc/hydra/eval.patch b/pkgs/development/tools/misc/hydra/eval.patch index a1b7599cc2b..0be856ee757 100644 --- a/pkgs/development/tools/misc/hydra/eval.patch +++ b/pkgs/development/tools/misc/hydra/eval.patch @@ -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 res; - std::function 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 diff --git a/pkgs/development/tools/misc/hydra/missing-std-string.patch b/pkgs/development/tools/misc/hydra/missing-std-string.patch deleted file mode 100644 index 2010b4cf178..00000000000 --- a/pkgs/development/tools/misc/hydra/missing-std-string.patch +++ /dev/null @@ -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 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(contents, "\n")) { -- line = trim(string(line, 0, line.find('#'))); -+ line = trim(std::string(line, 0, line.find('#'))); - auto tokens = tokenizeString>(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(string(s, lower_prefix.size()), ";")); -+ return concatStringsSep(" ", tokenizeString(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(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; diff --git a/pkgs/development/tools/misc/hydra/unstable.nix b/pkgs/development/tools/misc/hydra/unstable.nix index 36de9f886c1..f8da11b393c 100644 --- a/pkgs/development/tools/misc/hydra/unstable.nix +++ b/pkgs/development/tools/misc/hydra/unstable.nix @@ -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; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cb705a9eb8c..28aa689f86d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };