mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 23:43:30 +00:00
Merge pull request #172242 from Mindavi/hydra-updates-2
Hydra updates 2
This commit is contained in:
commit
117f62e72e
@ -6,6 +6,11 @@
|
||||
, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null
|
||||
, migration ? false, patches ? []
|
||||
, tests ? {}, mdbook
|
||||
, foreman
|
||||
, python3
|
||||
, libressl
|
||||
, cacert
|
||||
, glibcLocales
|
||||
}:
|
||||
|
||||
with stdenv;
|
||||
@ -19,19 +24,19 @@ let
|
||||
name = "hydra-perl-deps";
|
||||
paths = with perlPackages; lib.closePropagation
|
||||
[ ModulePluggable
|
||||
AuthenSASL
|
||||
CatalystActionREST
|
||||
CatalystAuthenticationStoreDBIxClass
|
||||
CatalystAuthenticationStoreLDAP
|
||||
CatalystDevel
|
||||
CatalystDispatchTypeRegex
|
||||
CatalystPluginAccessLog
|
||||
CatalystPluginAuthorizationRoles
|
||||
CatalystPluginCaptcha
|
||||
CatalystPluginPrometheusTiny
|
||||
CatalystPluginSessionStateCookie
|
||||
CatalystPluginSessionStoreFastMmap
|
||||
CatalystPluginSmartURI
|
||||
CatalystPluginStackTrace
|
||||
CatalystRuntime
|
||||
CatalystPluginUnicodeEncoding
|
||||
CatalystTraitForRequestProxyBase
|
||||
CatalystViewDownload
|
||||
CatalystViewJSON
|
||||
@ -48,34 +53,44 @@ let
|
||||
DigestSHA1
|
||||
EmailMIME
|
||||
EmailSender
|
||||
FileSlurp
|
||||
FileSlurper
|
||||
FileWhich
|
||||
IOCompress
|
||||
IPCRun
|
||||
IPCRun3
|
||||
JSON
|
||||
JSONAny
|
||||
JSONMaybeXS
|
||||
JSONXS
|
||||
ListSomeUtils
|
||||
LWP
|
||||
LWPProtocolHttps
|
||||
ModulePluggable
|
||||
NetAmazonS3
|
||||
NetPrometheus
|
||||
NetStatsd
|
||||
PadWalker
|
||||
ParallelForkManager
|
||||
PerlCriticCommunity
|
||||
PrometheusTinyShared
|
||||
Readonly
|
||||
ReadonlyX
|
||||
SQLSplitStatement
|
||||
SetScalar
|
||||
Starman
|
||||
StringCompareConstantTime
|
||||
SysHostnameLong
|
||||
TermSizeAny
|
||||
TermReadKey
|
||||
Test2Harness
|
||||
TestMore
|
||||
TestPostgreSQL
|
||||
TextDiff
|
||||
TextTable
|
||||
UUID4Tiny
|
||||
XMLSimple
|
||||
YAML
|
||||
nix
|
||||
nix.perl-bindings
|
||||
git
|
||||
boehmgc
|
||||
];
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
@ -85,11 +100,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 +115,14 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config mdbook autoconf automake ];
|
||||
|
||||
checkInputs = [
|
||||
cacert
|
||||
foreman
|
||||
glibcLocales
|
||||
python3
|
||||
libressl.nc
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-pthread";
|
||||
@ -113,6 +137,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 = ''
|
||||
@ -123,20 +149,22 @@ in stdenv.mkDerivation rec {
|
||||
wrapProgram $i \
|
||||
--prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
|
||||
--prefix PATH ':' $out/bin:$hydraPath \
|
||||
--set HYDRA_RELEASE ${version} \
|
||||
--set-default HYDRA_RELEASE ${version} \
|
||||
--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 ];
|
||||
};
|
||||
}
|
||||
|
@ -1,16 +1,23 @@
|
||||
{ fetchFromGitHub, callPackage, nixVersions, nixosTests }:
|
||||
{ lib, fetchFromGitHub, callPackage, nixVersions, nixosTests, fetchpatch }:
|
||||
|
||||
{
|
||||
hydra-unstable = callPackage ./common.nix {
|
||||
version = "2021-08-11";
|
||||
version = "2022-02-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "hydra";
|
||||
rev = "9bce425c3304173548d8e822029644bb51d35263";
|
||||
sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
|
||||
rev = "517dce285a851efd732affc084c7083aed2e98cd";
|
||||
sha256 = "sha256-abWhd/VLNse3Gz7gcVbFANJLAhHV4nbOKjhVDmq/Zmg=";
|
||||
};
|
||||
patches = [ ./eval.patch ];
|
||||
nix = nixVersions.unstable;
|
||||
patches = [
|
||||
./eval.patch
|
||||
./missing-std-string.patch
|
||||
(fetchpatch {
|
||||
url = "https://github.com/NixOS/hydra/commit/5ae26aa7604f714dcc73edcb74fe71ddc8957f6c.patch";
|
||||
sha256 = "sha256-wkbWo8SFbT3qwVxwkKQWpQT5Jgb1Bb51yiLTlFdDN/I=";
|
||||
})
|
||||
];
|
||||
nix = nixVersions.nix_2_6;
|
||||
|
||||
tests = {
|
||||
basic = nixosTests.hydra.hydra-unstable;
|
||||
|
61
pkgs/development/tools/misc/hydra/missing-std-string.patch
Normal file
61
pkgs/development/tools/misc/hydra/missing-std-string.patch
Normal file
@ -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;
|
@ -19069,6 +19069,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";
|
||||
@ -24475,6 +24490,19 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
UUID4Tiny = buildPerlPackage {
|
||||
pname = "UUID4-Tiny";
|
||||
version = "0.002";
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/C/CV/CVLIBRARY/UUID4-Tiny-0.002.tar.gz";
|
||||
sha256 = "e7535b31e386d432dec7adde214348389e1d5cf753e7ed07f1ae04c4360840cf";
|
||||
};
|
||||
meta = {
|
||||
description = "Cryptographically secure v4 UUIDs for Linux x64";
|
||||
license = with lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
UUIDTiny = buildPerlPackage {
|
||||
pname = "UUID-Tiny";
|
||||
version = "1.04";
|
||||
|
Loading…
Reference in New Issue
Block a user