forked from lix-project/hydra
Merge pull request #1237 from NixOS/update-nix
Update to Nix 2.11.0 and Nixpkgs 22.05
This commit is contained in:
commit
4c67562c0a
43
flake.lock
43
flake.lock
|
@ -16,22 +16,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"newNixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1647380550,
|
||||
"narHash": "sha256-909TI9poX7CIUiFx203WL29YON6m/I6k0ExbZvR7bLM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6e3ee8957637a60f5072e33d78e05c0f65c54366",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix": {
|
||||
"inputs": {
|
||||
"lowdown-src": "lowdown-src",
|
||||
|
@ -39,33 +23,34 @@
|
|||
"nixpkgs-regression": "nixpkgs-regression"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1654014617,
|
||||
"narHash": "sha256-qNL3lQPBsnStkru3j1ajN/H+knXI+X3dku8/dBfSw3g=",
|
||||
"lastModified": 1661606874,
|
||||
"narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nix",
|
||||
"rev": "624e38aa43f304fbb78b4779172809add042b513",
|
||||
"rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "2.9.1",
|
||||
"ref": "2.11.0",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1645296114,
|
||||
"narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=",
|
||||
"lastModified": 1657693803,
|
||||
"narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1",
|
||||
"rev": "365e1b3a859281cf11b94f87231adeabbdd878a2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-21.05-small",
|
||||
"type": "indirect"
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-22.05-small",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-regression": {
|
||||
|
@ -78,14 +63,14 @@
|
|||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||
"type": "indirect"
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"newNixpkgs": "newNixpkgs",
|
||||
"nix": "nix",
|
||||
"nixpkgs": [
|
||||
"nix",
|
||||
|
|
447
flake.nix
447
flake.nix
|
@ -1,20 +1,17 @@
|
|||
{
|
||||
description = "A Nix-based continuous build system";
|
||||
|
||||
# FIXME: All the pinned versions of nix/nixpkgs have a broken foreman (yes,
|
||||
# even 2.7.0's Nixpkgs pin).
|
||||
inputs.newNixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
inputs.nixpkgs.follows = "nix/nixpkgs";
|
||||
inputs.nix.url = "github:NixOS/nix/2.9.1";
|
||||
inputs.nix.url = "github:NixOS/nix/2.11.0";
|
||||
|
||||
outputs = { self, newNixpkgs, nixpkgs, nix }:
|
||||
outputs = { self, nixpkgs, nix }:
|
||||
let
|
||||
|
||||
version = "${builtins.readFile ./version.txt}.${builtins.substring 0 8 (self.lastModifiedDate or "19700101")}.${self.shortRev or "DIRTY"}";
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
overlays = [ self.overlay nix.overlay ];
|
||||
overlays = [ self.overlays.default nix.overlays.default ];
|
||||
};
|
||||
|
||||
# NixOS configuration used for VM tests.
|
||||
|
@ -39,155 +36,10 @@
|
|||
rec {
|
||||
|
||||
# A Nixpkgs overlay that provides a 'hydra' package.
|
||||
overlay = final: prev: {
|
||||
|
||||
# Overlay these packages to use dependencies from the Nixpkgs everything
|
||||
# else uses, to side-step the version difference: glibc is 2.32 in the
|
||||
# nix-pinned Nixpkgs, but 2.33 in the newNixpkgs commit.
|
||||
civetweb = (final.callPackage "${newNixpkgs}/pkgs/development/libraries/civetweb" { }).overrideAttrs
|
||||
# Can be dropped once newNixpkgs points to a revision containing
|
||||
# https://github.com/NixOS/nixpkgs/pull/167751
|
||||
({ cmakeFlags ? [ ], ... }: {
|
||||
cmakeFlags = cmakeFlags ++ [
|
||||
"-DCIVETWEB_ENABLE_IPV6=1"
|
||||
];
|
||||
});
|
||||
prometheus-cpp = final.callPackage "${newNixpkgs}/pkgs/development/libraries/prometheus-cpp" { };
|
||||
overlays.default = final: prev: {
|
||||
|
||||
# Add LDAP dependencies that aren't currently found within nixpkgs.
|
||||
perlPackages = prev.perlPackages // {
|
||||
TestPostgreSQL = final.perlPackages.buildPerlModule {
|
||||
pname = "Test-PostgreSQL";
|
||||
version = "1.28-1";
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "grahamc";
|
||||
repo = "Test-postgresql";
|
||||
rev = "release-1.28-1";
|
||||
hash = "sha256-SFC1C3q3dbcBos18CYd/s0TIcfJW4g04ld0+XQXVToQ=";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ ModuleBuildTiny TestSharedFork pkgs.postgresql ];
|
||||
propagatedBuildInputs = with final.perlPackages; [ DBDPg DBI FileWhich FunctionParameters Moo TieHashMethod TryTiny TypeTiny ];
|
||||
|
||||
makeMakerFlags = "POSTGRES_HOME=${final.postgresql}";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/grahamc/Test-postgresql/releases/tag/release-1.28-1";
|
||||
description = "PostgreSQL runner for tests";
|
||||
license = with final.lib.licenses; [ artistic2 ];
|
||||
};
|
||||
};
|
||||
|
||||
FunctionParameters = final.perlPackages.buildPerlPackage {
|
||||
pname = "Function-Parameters";
|
||||
version = "2.001003";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/M/MA/MAUKE/Function-Parameters-2.001003.tar.gz";
|
||||
sha256 = "eaa22c6b43c02499ec7db0758c2dd218a3b2ab47a714b2bdf8010b5ee113c242";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ DirSelf TestFatal ];
|
||||
meta = {
|
||||
description = "Define functions and methods with parameter lists (\"subroutine signatures\")";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
CatalystPluginPrometheusTiny = final.perlPackages.buildPerlPackage {
|
||||
pname = "Catalyst-Plugin-PrometheusTiny";
|
||||
version = "0.005";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.005.tar.gz";
|
||||
sha256 = "a42ef09efdc3053899ae007c41220d3ed7207582cc86e491b4f534539c992c5a";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ HTTPMessage Plack SubOverride TestDeep ];
|
||||
propagatedBuildInputs = with final.perlPackages; [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ];
|
||||
meta = {
|
||||
description = "Prometheus metrics for Catalyst";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
CryptArgon2 = final.perlPackages.buildPerlModule {
|
||||
pname = "Crypt-Argon2";
|
||||
version = "0.010";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Argon2-0.010.tar.gz";
|
||||
sha256 = "3ea1c006f10ef66fd417e502a569df15c4cc1c776b084e35639751c41ce6671a";
|
||||
};
|
||||
nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
|
||||
meta = {
|
||||
description = "Perl interface to the Argon2 key derivation functions";
|
||||
license = final.lib.licenses.cc0;
|
||||
};
|
||||
};
|
||||
|
||||
CryptPassphrase = final.perlPackages.buildPerlPackage {
|
||||
pname = "Crypt-Passphrase";
|
||||
version = "0.003";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-0.003.tar.gz";
|
||||
sha256 = "685aa090f8179a86d6896212ccf8ccfde7a79cce857199bb14e2277a10d240ad";
|
||||
};
|
||||
meta = {
|
||||
description = "A module for managing passwords in a cryptographically agile manner";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
CryptPassphraseArgon2 = final.perlPackages.buildPerlPackage {
|
||||
pname = "Crypt-Passphrase-Argon2";
|
||||
version = "0.002";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Argon2-0.002.tar.gz";
|
||||
sha256 = "3906ff81697d13804ee21bd5ab78ffb1c4408b4822ce020e92ecf4737ba1f3a8";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ CryptArgon2 CryptPassphrase ];
|
||||
meta = {
|
||||
description = "An Argon2 encoder for Crypt::Passphrase";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
DataRandom = final.perlPackages.buildPerlPackage {
|
||||
pname = "Data-Random";
|
||||
version = "0.13";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz";
|
||||
sha256 = "eb590184a8db28a7e49eab09e25f8650c33f1f668b6a472829de74a53256bfc0";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ FileShareDirInstall TestMockTime ];
|
||||
meta = {
|
||||
description = "Perl module to generate random data";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
DirSelf = final.perlPackages.buildPerlPackage {
|
||||
pname = "Dir-Self";
|
||||
version = "0.11";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/M/MA/MAUKE/Dir-Self-0.11.tar.gz";
|
||||
sha256 = "e251a51abc7d9ba3e708f73c2aa208e09d47a0c528d6254710fa78cc8d6885b5";
|
||||
};
|
||||
meta = {
|
||||
homepage = "https://github.com/mauke/Dir-Self";
|
||||
description = "A __DIR__ constant for the directory your source file is in";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
HashSharedMem = final.perlPackages.buildPerlModule {
|
||||
pname = "Hash-SharedMem";
|
||||
version = "0.005";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz";
|
||||
sha256 = "324776808602f7bdc44adaa937895365454029a926fa611f321c9bf6b940bb5e";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ ScalarString ];
|
||||
meta = {
|
||||
description = "Efficient shared mutable hash";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
PrometheusTiny = final.perlPackages.buildPerlPackage {
|
||||
pname = "Prometheus-Tiny";
|
||||
|
@ -204,269 +56,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
PrometheusTinyShared = final.perlPackages.buildPerlPackage {
|
||||
pname = "Prometheus-Tiny-Shared";
|
||||
version = "0.023";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.023.tar.gz";
|
||||
sha256 = "7c2c72397be5d8e4839d1bf4033c1800f467f2509689673c6419df48794f2abe";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ DataRandom HTTPMessage Plack TestDifferences TestException ];
|
||||
propagatedBuildInputs = with final.perlPackages; [ HashSharedMem JSONXS PrometheusTiny ];
|
||||
meta = {
|
||||
homepage = "https://github.com/robn/Prometheus-Tiny-Shared";
|
||||
description = "A tiny Prometheus client with a shared database behind it";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
ReadonlyX = final.perlPackages.buildPerlModule {
|
||||
pname = "ReadonlyX";
|
||||
version = "1.04";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/S/SA/SANKO/ReadonlyX-1.04.tar.gz";
|
||||
sha256 = "81bb97dba93ac6b5ccbce04a42c3590eb04557d75018773ee18d5a30fcf48188";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ ModuleBuildTiny TestFatal ];
|
||||
meta = {
|
||||
homepage = "https://github.com/sanko/readonly";
|
||||
description = "Faster facility for creating read-only scalars, arrays, hashes";
|
||||
license = final.lib.licenses.artistic2;
|
||||
};
|
||||
};
|
||||
|
||||
TieHashMethod = final.perlPackages.buildPerlPackage {
|
||||
pname = "Tie-Hash-Method";
|
||||
version = "0.02";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/Y/YV/YVES/Tie-Hash-Method-0.02.tar.gz";
|
||||
sha256 = "d513fbb51413f7ca1e64a1bdce6194df7ec6076dea55066d67b950191eec32a9";
|
||||
};
|
||||
meta = {
|
||||
description = "Tied hash with specific methods overriden by callbacks";
|
||||
license = with final.lib.licenses; [ artistic1 ];
|
||||
};
|
||||
};
|
||||
|
||||
Test2Harness = final.perlPackages.buildPerlPackage {
|
||||
pname = "Test2-Harness";
|
||||
version = "1.000042";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Harness-1.000042.tar.gz";
|
||||
sha256 = "aaf231a68af1a6ffd6a11188875fcf572e373e43c8285945227b9d687b43db2d";
|
||||
};
|
||||
|
||||
checkPhase = ''
|
||||
patchShebangs ./t ./scripts/yath
|
||||
./scripts/yath test -j $NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with final.perlPackages; [ DataUUID Importer LongJump ScopeGuard TermTable Test2PluginMemUsage Test2PluginUUID Test2Suite gotofile ];
|
||||
meta = {
|
||||
description = "A new and improved test harness with better Test2 integration";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
Test2PluginMemUsage = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Test2-Plugin-MemUsage";
|
||||
version = "0.002003";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-MemUsage-0.002003.tar.gz";
|
||||
sha256 = "5e0662d5a823ae081641f5ce82843111eec1831cd31f883a6c6de54afdf87c25";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ Test2Suite ];
|
||||
meta = {
|
||||
description = "Collect and display memory usage information";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
Test2PluginUUID = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Test2-Plugin-UUID";
|
||||
version = "0.002001";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-UUID-0.002001.tar.gz";
|
||||
sha256 = "4c6c8d484d7153d8779dc155a992b203095b5c5aa1cfb1ee8bcedcd0601878c9";
|
||||
};
|
||||
buildInputs = with final.perlPackages;[ Test2Suite ];
|
||||
propagatedBuildInputs = with final.perlPackages; [ DataUUID ];
|
||||
meta = {
|
||||
description = "Use REAL UUIDs in Test2";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
LongJump = final.perlPackages.buildPerlPackage {
|
||||
pname = "Long-Jump";
|
||||
version = "0.000001";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/E/EX/EXODIST/Long-Jump-0.000001.tar.gz";
|
||||
sha256 = "d5d6456d86992b559d8f66fc90960f919292cd3803c13403faac575762c77af4";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ Test2Suite ];
|
||||
meta = {
|
||||
description = "Mechanism for returning to a specific point from a deeply nested stack";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
gotofile = final.perlPackages.buildPerlPackage {
|
||||
pname = "goto-file";
|
||||
version = "0.005";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/E/EX/EXODIST/goto-file-0.005.tar.gz";
|
||||
sha256 = "c6cdd5ee4a6cdcbdbf314d92a4f9985dbcdf9e4258048cae76125c052aa31f77";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ Test2Suite ];
|
||||
meta = {
|
||||
description = "Stop parsing the current file and move on to a different one";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
NetLDAPServer = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Net-LDAP-Server";
|
||||
version = "0.43";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/A/AA/AAR/Net-LDAP-Server-0.43.tar.gz";
|
||||
sha256 = "0qmh3cri3fpccmwz6bhwp78yskrb3qmalzvqn0a23hqbsfs4qv6x";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ NetLDAP ConvertASN1 ];
|
||||
meta = {
|
||||
description = "LDAP server side protocol handling";
|
||||
license = with final.lib.licenses; [ artistic1 ];
|
||||
};
|
||||
};
|
||||
|
||||
NetLDAPSID = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Net-LDAP-SID";
|
||||
version = "0.0001";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-SID-0.001.tar.gz";
|
||||
sha256 = "1mnnpkmj8kpb7qw50sm8h4sd8py37ssy2xi5hhxzr5whcx0cvhm8";
|
||||
};
|
||||
meta = {
|
||||
description = "Active Directory Security Identifier manipulation";
|
||||
license = with final.lib.licenses; [ artistic2 ];
|
||||
};
|
||||
};
|
||||
|
||||
NetLDAPServerTest = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Net-LDAP-Server-Test";
|
||||
version = "0.22";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-Server-Test-0.22.tar.gz";
|
||||
sha256 = "13idip7jky92v4adw60jn2gcc3zf339gsdqlnc9nnvqzbxxp285i";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ NetLDAP NetLDAPServer TestMore DataDump NetLDAPSID ];
|
||||
meta = {
|
||||
description = "test Net::LDAP code";
|
||||
license = with final.lib.licenses; [ artistic1 ];
|
||||
};
|
||||
};
|
||||
|
||||
CatalystAuthenticationStoreLDAP = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Catalyst-Authentication-Store-LDAP";
|
||||
version = "1.016";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-LDAP-1.016.tar.gz";
|
||||
sha256 = "0cm399vxqqf05cjgs1j5v3sk4qc6nmws5nfhf52qvpbwc4m82mq8";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ NetLDAP CatalystPluginAuthentication ClassAccessorFast ];
|
||||
buildInputs = with final.perlPackages; [ TestMore TestMockObject TestException NetLDAPServerTest ];
|
||||
meta = {
|
||||
description = "Authentication from an LDAP Directory";
|
||||
license = with final.lib.licenses; [ artistic1 ];
|
||||
};
|
||||
};
|
||||
|
||||
PerlCriticCommunity = prev.perlPackages.buildPerlModule {
|
||||
pname = "Perl-Critic-Community";
|
||||
version = "1.0.0";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-Critic-Community-v1.0.0.tar.gz";
|
||||
sha256 = "311b775da4193e9de94cf5225e993cc54dd096ae1e7ef60738cdae1d9b8854e7";
|
||||
};
|
||||
buildInputs = with final.perlPackages; [ ModuleBuildTiny ];
|
||||
propagatedBuildInputs = with final.perlPackages; [ PPI PathTiny PerlCritic PerlCriticPolicyVariablesProhibitLoopOnHash PerlCriticPulp ];
|
||||
meta = {
|
||||
homepage = "https://github.com/Grinnz/Perl-Critic-Freenode";
|
||||
description = "Community-inspired Perl::Critic policies";
|
||||
license = final.lib.licenses.artistic2;
|
||||
};
|
||||
};
|
||||
|
||||
PerlCriticPolicyVariablesProhibitLoopOnHash = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Perl-Critic-Policy-Variables-ProhibitLoopOnHash";
|
||||
version = "0.008";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008.tar.gz";
|
||||
sha256 = "12f5f0be96ea1bdc7828058577bd1c5c63ca23c17fac9c3709452b3dff5b84e0";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ PerlCritic ];
|
||||
meta = {
|
||||
description = "Don't write loops on hashes, only on keys and values of hashes";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
PerlCriticPulp = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Perl-Critic-Pulp";
|
||||
version = "99";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz";
|
||||
sha256 = "b8fda842fcbed74d210257c0a284b6dc7b1d0554a47a3de5d97e7d542e23e7fe";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ IOString ListMoreUtils PPI PerlCritic PodMinimumVersion ];
|
||||
meta = {
|
||||
homepage = "http://user42.tuxfamily.org/perl-critic-pulp/index.html";
|
||||
description = "Some add-on policies for Perl::Critic";
|
||||
license = final.lib.licenses.gpl3Plus;
|
||||
};
|
||||
};
|
||||
|
||||
PodMinimumVersion = prev.perlPackages.buildPerlPackage {
|
||||
pname = "Pod-MinimumVersion";
|
||||
version = "50";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/K/KR/KRYDE/Pod-MinimumVersion-50.tar.gz";
|
||||
sha256 = "0bd2812d9aacbd99bb71fa103a4bb129e955c138ba7598734207dc9fb67b5a6f";
|
||||
};
|
||||
propagatedBuildInputs = with final.perlPackages; [ IOString PodParser ];
|
||||
meta = {
|
||||
homepage = "http://user42.tuxfamily.org/pod-minimumversion/index.html";
|
||||
description = "Determine minimum Perl version of POD directives";
|
||||
license = final.lib.licenses.free;
|
||||
};
|
||||
};
|
||||
|
||||
StringCompareConstantTime = final.perlPackages.buildPerlPackage {
|
||||
pname = "String-Compare-ConstantTime";
|
||||
version = "0.321";
|
||||
src = final.fetchurl {
|
||||
url = "mirror://cpan/authors/id/F/FR/FRACTAL/String-Compare-ConstantTime-0.321.tar.gz";
|
||||
sha256 = "0b26ba2b121d8004425d4485d1d46f59001c83763aa26624dff6220d7735d7f7";
|
||||
};
|
||||
meta = {
|
||||
description = "Timing side-channel protected string compare";
|
||||
license = with final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
UUID4Tiny = final.perlPackages.buildPerlPackage {
|
||||
pname = "UUID4-Tiny";
|
||||
version = "0.002";
|
||||
src = final.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 final.lib.licenses; [ artistic1 gpl1Plus ];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
hydra = with final; let
|
||||
|
@ -486,7 +75,6 @@
|
|||
CatalystPluginSessionStateCookie
|
||||
CatalystPluginSessionStoreFastMmap
|
||||
CatalystPluginStackTrace
|
||||
CatalystPluginUnicodeEncoding
|
||||
CatalystTraitForRequestProxyBase
|
||||
CatalystViewDownload
|
||||
CatalystViewJSON
|
||||
|
@ -534,7 +122,6 @@
|
|||
TermSizeAny
|
||||
TermReadKey
|
||||
Test2Harness
|
||||
TestMore
|
||||
TestPostgreSQL
|
||||
TextDiff
|
||||
TextTable
|
||||
|
@ -559,9 +146,9 @@
|
|||
libtool
|
||||
unzip
|
||||
nukeReferences
|
||||
pkgconfig
|
||||
pkg-config
|
||||
libpqxx
|
||||
gitAndTools.topGit
|
||||
top-git
|
||||
mercurial
|
||||
darcs
|
||||
subversion
|
||||
|
@ -584,9 +171,7 @@
|
|||
|
||||
checkInputs = [
|
||||
cacert
|
||||
# FIXME: foreman is broken on all nix/nixpkgs pin, up to and
|
||||
# including 2.7.0
|
||||
newNixpkgs.legacyPackages.${final.system}.foreman
|
||||
foreman
|
||||
glibcLocales
|
||||
libressl.nc
|
||||
openldap
|
||||
|
@ -603,11 +188,11 @@
|
|||
pixz
|
||||
gzip
|
||||
bzip2
|
||||
lzma
|
||||
xz
|
||||
gnutar
|
||||
unzip
|
||||
git
|
||||
gitAndTools.topGit
|
||||
top-git
|
||||
mercurial
|
||||
darcs
|
||||
gnused
|
||||
|
@ -662,7 +247,7 @@
|
|||
|
||||
dontStrip = true;
|
||||
|
||||
meta.description = "Build of Hydra on ${system}";
|
||||
meta.description = "Build of Hydra on ${final.stdenv.system}";
|
||||
passthru = { inherit perlDeps; inherit (final) nix; };
|
||||
};
|
||||
};
|
||||
|
@ -684,7 +269,7 @@
|
|||
tests.install.x86_64-linux =
|
||||
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
||||
simpleTest {
|
||||
machine = hydraServer;
|
||||
nodes.machine = hydraServer;
|
||||
testScript =
|
||||
''
|
||||
machine.wait_for_job("hydra-init")
|
||||
|
@ -699,7 +284,7 @@
|
|||
tests.notifications.x86_64-linux =
|
||||
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
||||
simpleTest {
|
||||
machine = { pkgs, ... }: {
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
imports = [ hydraServer ];
|
||||
services.hydra-dev.extraConfig = ''
|
||||
<influxdb>
|
||||
|
@ -756,7 +341,7 @@
|
|||
tests.gitea.x86_64-linux =
|
||||
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
||||
makeTest {
|
||||
machine = { pkgs, ... }: {
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
imports = [ hydraServer ];
|
||||
services.hydra-dev.extraConfig = ''
|
||||
<gitea_authorization>
|
||||
|
@ -963,11 +548,11 @@
|
|||
checks.x86_64-linux.validate-openapi = hydraJobs.tests.validate-openapi;
|
||||
|
||||
packages.x86_64-linux.hydra = pkgs.hydra;
|
||||
defaultPackage.x86_64-linux = pkgs.hydra;
|
||||
packages.x86_64-linux.default = pkgs.hydra;
|
||||
|
||||
nixosModules.hydra = {
|
||||
imports = [ ./hydra-module.nix ];
|
||||
nixpkgs.overlays = [ self.overlay nix.overlay ];
|
||||
nixpkgs.overlays = [ self.overlays.default nix.overlays.default ];
|
||||
};
|
||||
|
||||
nixosModules.hydraTest = {
|
||||
|
@ -1018,7 +603,7 @@
|
|||
self.nixosModules.hydraTest
|
||||
self.nixosModules.hydraProxy
|
||||
{
|
||||
system.configurationRevision = self.rev;
|
||||
system.configurationRevision = self.lastModifiedDate;
|
||||
|
||||
boot.isContainer = true;
|
||||
networking.useDHCP = false;
|
||||
|
|
|
@ -267,7 +267,7 @@ in
|
|||
environment = env // {
|
||||
HYDRA_DBI = "${env.HYDRA_DBI};application_name=hydra-init";
|
||||
};
|
||||
path = [ pkgs.utillinux ];
|
||||
path = [ pkgs.util-linux ];
|
||||
preStart = ''
|
||||
ln -sf ${hydraConf} ${baseDir}/hydra.conf
|
||||
|
||||
|
|
|
@ -234,7 +234,7 @@ void State::buildRemote(ref<Store> destStore,
|
|||
unsigned int remoteVersion;
|
||||
|
||||
try {
|
||||
to << SERVE_MAGIC_1 << 0x204;
|
||||
to << SERVE_MAGIC_1 << 0x206;
|
||||
to.flush();
|
||||
|
||||
unsigned int magic = readInt(from);
|
||||
|
|
|
@ -640,8 +640,8 @@ sub checkJobsetWrapped {
|
|||
my $flakeRef = $jobset->flake;
|
||||
if (defined $flakeRef) {
|
||||
(my $res, my $json, my $stderr) = captureStdoutStderr(
|
||||
600, "nix", "flake", "info", "--tarball-ttl", 0, "--json", "--", $flakeRef);
|
||||
die "'nix flake info' returned " . ($res & 127 ? "signal $res" : "exit code " . ($res >> 8))
|
||||
600, "nix", "flake", "metadata", "--refresh", "--json", "--", $flakeRef);
|
||||
die "'nix flake metadata' returned " . ($res & 127 ? "signal $res" : "exit code " . ($res >> 8))
|
||||
. ":\n" . ($stderr ? decode("utf-8", $stderr) : "(no output)\n")
|
||||
if $res;
|
||||
$flakeRef = decode_json($json)->{'url'};
|
||||
|
|
|
@ -53,16 +53,19 @@ sub new {
|
|||
my $hydra_config = $opts{'hydra_config'} || "";
|
||||
$hydra_config = "queue_runner_metrics_address = 127.0.0.1:0\n" . $hydra_config;
|
||||
if ($opts{'use_external_destination_store'} // 1) {
|
||||
$hydra_config = "store_uri = file:$dir/nix/dest-store\n" . $hydra_config;
|
||||
$hydra_config = "store_uri = file://$dir/nix/dest-store\n" . $hydra_config;
|
||||
}
|
||||
|
||||
write_file($ENV{'HYDRA_CONFIG'}, $hydra_config);
|
||||
|
||||
$ENV{'NIX_LOG_DIR'} = "$dir/nix/var/log/nix";
|
||||
my $nix_store_dir = "$dir/nix/store";
|
||||
my $nix_state_dir = "$dir/nix/var/nix";
|
||||
my $nix_log_dir = "$dir/nix/var/log/nix";
|
||||
|
||||
$ENV{'NIX_REMOTE_SYSTEMS'} = '';
|
||||
$ENV{'NIX_REMOTE'} = '';
|
||||
$ENV{'NIX_STATE_DIR'} = "$dir/nix/var/nix";
|
||||
$ENV{'NIX_STORE_DIR'} = "$dir/nix/store";
|
||||
$ENV{'NIX_REMOTE'} = "local?store=$nix_store_dir&state=$nix_state_dir&log=$nix_log_dir";
|
||||
$ENV{'NIX_STATE_DIR'} = $nix_state_dir; # FIXME: remove
|
||||
$ENV{'NIX_STORE_DIR'} = $nix_store_dir; # FIXME: remove
|
||||
|
||||
my $pgsql = Test::PostgreSQL->new(
|
||||
extra_initdb_args => "--locale C.UTF-8"
|
||||
|
@ -73,7 +76,8 @@ sub new {
|
|||
_db => undef,
|
||||
db_handle => $pgsql,
|
||||
tmpdir => $dir,
|
||||
nix_state_dir => "$dir/nix/var/nix",
|
||||
nix_state_dir => $nix_state_dir,
|
||||
nix_log_dir => $nix_log_dir,
|
||||
testdir => abs_path(dirname(__FILE__) . "/.."),
|
||||
jobsdir => abs_path(dirname(__FILE__) . "/../jobs")
|
||||
}, $class;
|
||||
|
|
|
@ -33,9 +33,6 @@ my $ctx = test_context(
|
|||
# the build locally.
|
||||
|
||||
subtest "Pre-build the job, upload to the cache, and then delete locally" => sub {
|
||||
my $scratchlogdir = File::Temp->newdir();
|
||||
$ENV{'NIX_LOG_DIR'} = "$scratchlogdir";
|
||||
|
||||
my $outlink = $ctx->tmpdir . "/basic-canbesubstituted";
|
||||
is(system('nix-build', $ctx->jobsdir . '/notifications.nix', '-A', 'canbesubstituted', '--out-link', $outlink), 0, "Building notifications.nix succeeded");
|
||||
is(system('nix', 'copy', '--to', "file://${binarycachedir}", $outlink), 0, "Copying the closure to the binary cache succeeded");
|
||||
|
@ -46,6 +43,7 @@ subtest "Pre-build the job, upload to the cache, and then delete locally" => sub
|
|||
is(system('nix', 'log', $outpath), 0, "Reading the output's log succeeds");
|
||||
is(system('nix-store', '--delete', $outpath), 0, "Deleting the notifications.nix output succeeded");
|
||||
is(system("nix-collect-garbage"), 0, "Delete all the system's garbage");
|
||||
File::Path::rmtree($ctx->{nix_log_dir});
|
||||
};
|
||||
|
||||
subtest "Ensure substituting the job works, but reading the log fails" => sub {
|
||||
|
|
Loading…
Reference in a new issue