hydra-unstable: 2021-08-11 -> 2021-12-17

Adds some new required deps too.
Enable doCheck (tests).

Apply patch for missing std:: specifier before std::strings.
main
Rick van Schijndel 2 years ago
parent 5cdfc935fa
commit 2e882e0903
  1. 32
      pkgs/development/tools/misc/hydra/common.nix
  2. 13
      pkgs/development/tools/misc/hydra/default.nix
  3. 61
      pkgs/development/tools/misc/hydra/missing-std-string.patch
  4. 15
      pkgs/top-level/perl-packages.nix

@ -6,6 +6,9 @@
, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null
, migration ? false, patches ? []
, tests ? {}, mdbook
, foreman
, python3
, libressl
}:
with stdenv;
@ -48,26 +51,32 @@ let
DigestSHA1
EmailMIME
EmailSender
FileSlurp
FileSlurper
IOCompress
IPCRun
JSON
JSONAny
JSONMaybeXS
JSONXS
ListSomeUtils
LWP
LWPProtocolHttps
ModulePluggable
NetAmazonS3
NetPrometheus
NetStatsd
PadWalker
ParallelForkManager
PerlCriticCommunity
PrometheusTinyShared
Readonly
ReadonlyX
SQLSplitStatement
SetScalar
Starman
StringCompareConstantTime
SysHostnameLong
TermSizeAny
Test2Harness
TestPostgreSQL
TextDiff
TextTable
XMLSimple
@ -85,11 +94,12 @@ in stdenv.mkDerivation rec {
buildInputs =
[ makeWrapper libtool unzip nukeReferences sqlite libpqxx_6
top-git mercurial /*darcs*/ subversion breezy openssl bzip2 libxslt
top-git mercurial darcs subversion breezy openssl bzip2 libxslt
perlDeps perl nix
postgresql # for running the tests
nlohmann_json
boost
pixz
];
hydraPath = lib.makeBinPath (
@ -99,6 +109,12 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkg-config mdbook autoconf automake ];
checkInputs = [
foreman
python3
libressl.nc
];
configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
NIX_CFLAGS_COMPILE = "-pthread";
@ -113,6 +129,8 @@ in stdenv.mkDerivation rec {
preCheck = ''
patchShebangs .
export LOGNAME=''${LOGNAME:-foo}
# set $HOME for bzr so it can create its trace file
export HOME=$(mktemp -d)
'';
postInstall = ''
@ -127,16 +145,18 @@ in stdenv.mkDerivation rec {
--set HYDRA_HOME $out/libexec/hydra \
--set NIX_RELEASE ${nix.name or "unknown"}
done
''; # */
'';
dontStrip = true;
doCheck = true;
passthru = { inherit perlDeps migration tests; };
meta = with lib; {
description = "Nix-based continuous build system";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ lheckemann mindavi das_j ];
};
}

@ -2,15 +2,18 @@
{
hydra-unstable = callPackage ./common.nix {
version = "2021-08-11";
version = "2021-12-17";
src = fetchFromGitHub {
owner = "NixOS";
repo = "hydra";
rev = "9bce425c3304173548d8e822029644bb51d35263";
sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
rev = "e1e5fafdff63c1e1595d2edb8c9854710211a0d7";
sha256 = "sha256-JPkw3heasqX9iWju7BWjKDsyoS+HmLIKM2ibwHq5+Ko=";
};
patches = [ ./eval.patch ];
nix = nixVersions.unstable;
patches = [
./eval.patch
./missing-std-string.patch
];
nix = nixVersions.nix_2_4;
tests = {
basic = nixosTests.hydra.hydra-unstable;

@ -0,0 +1,61 @@
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;

@ -19055,6 +19055,21 @@ let
};
};
ReadonlyX = buildPerlModule {
pname = "ReadonlyX";
version = "1.04";
src = fetchurl {
url = "mirror://cpan/authors/id/S/SA/SANKO/ReadonlyX-1.04.tar.gz";
sha256 = "81bb97dba93ac6b5ccbce04a42c3590eb04557d75018773ee18d5a30fcf48188";
};
buildInputs = [ ModuleBuildTiny TestFatal ];
meta = {
homepage = "https://github.com/sanko/readonly";
description = "Faster facility for creating read-only scalars, arrays, hashes";
license = lib.licenses.artistic2;
};
};
ReadonlyXS = buildPerlPackage {
pname = "Readonly-XS";
version = "1.05";

Loading…
Cancel
Save