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"
|
"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": {
|
"nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"lowdown-src": "lowdown-src",
|
"lowdown-src": "lowdown-src",
|
||||||
|
@ -39,33 +23,34 @@
|
||||||
"nixpkgs-regression": "nixpkgs-regression"
|
"nixpkgs-regression": "nixpkgs-regression"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1654014617,
|
"lastModified": 1661606874,
|
||||||
"narHash": "sha256-qNL3lQPBsnStkru3j1ajN/H+knXI+X3dku8/dBfSw3g=",
|
"narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "624e38aa43f304fbb78b4779172809add042b513",
|
"rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "2.9.1",
|
"ref": "2.11.0",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1645296114,
|
"lastModified": 1657693803,
|
||||||
"narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=",
|
"narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "530a53dcbc9437363471167a5e4762c5fcfa34a1",
|
"rev": "365e1b3a859281cf11b94f87231adeabbdd878a2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-21.05-small",
|
"ref": "nixos-22.05-small",
|
||||||
"type": "indirect"
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-regression": {
|
"nixpkgs-regression": {
|
||||||
|
@ -78,14 +63,14 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
"type": "indirect"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"newNixpkgs": "newNixpkgs",
|
|
||||||
"nix": "nix",
|
"nix": "nix",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nix",
|
"nix",
|
||||||
|
|
447
flake.nix
447
flake.nix
|
@ -1,20 +1,17 @@
|
||||||
{
|
{
|
||||||
description = "A Nix-based continuous build system";
|
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.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
|
let
|
||||||
|
|
||||||
version = "${builtins.readFile ./version.txt}.${builtins.substring 0 8 (self.lastModifiedDate or "19700101")}.${self.shortRev or "DIRTY"}";
|
version = "${builtins.readFile ./version.txt}.${builtins.substring 0 8 (self.lastModifiedDate or "19700101")}.${self.shortRev or "DIRTY"}";
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
overlays = [ self.overlay nix.overlay ];
|
overlays = [ self.overlays.default nix.overlays.default ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# NixOS configuration used for VM tests.
|
# NixOS configuration used for VM tests.
|
||||||
|
@ -39,155 +36,10 @@
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
# A Nixpkgs overlay that provides a 'hydra' package.
|
# A Nixpkgs overlay that provides a 'hydra' package.
|
||||||
overlay = final: prev: {
|
overlays.default = 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" { };
|
|
||||||
|
|
||||||
# Add LDAP dependencies that aren't currently found within nixpkgs.
|
# Add LDAP dependencies that aren't currently found within nixpkgs.
|
||||||
perlPackages = prev.perlPackages // {
|
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 {
|
PrometheusTiny = final.perlPackages.buildPerlPackage {
|
||||||
pname = "Prometheus-Tiny";
|
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
|
hydra = with final; let
|
||||||
|
@ -486,7 +75,6 @@
|
||||||
CatalystPluginSessionStateCookie
|
CatalystPluginSessionStateCookie
|
||||||
CatalystPluginSessionStoreFastMmap
|
CatalystPluginSessionStoreFastMmap
|
||||||
CatalystPluginStackTrace
|
CatalystPluginStackTrace
|
||||||
CatalystPluginUnicodeEncoding
|
|
||||||
CatalystTraitForRequestProxyBase
|
CatalystTraitForRequestProxyBase
|
||||||
CatalystViewDownload
|
CatalystViewDownload
|
||||||
CatalystViewJSON
|
CatalystViewJSON
|
||||||
|
@ -534,7 +122,6 @@
|
||||||
TermSizeAny
|
TermSizeAny
|
||||||
TermReadKey
|
TermReadKey
|
||||||
Test2Harness
|
Test2Harness
|
||||||
TestMore
|
|
||||||
TestPostgreSQL
|
TestPostgreSQL
|
||||||
TextDiff
|
TextDiff
|
||||||
TextTable
|
TextTable
|
||||||
|
@ -559,9 +146,9 @@
|
||||||
libtool
|
libtool
|
||||||
unzip
|
unzip
|
||||||
nukeReferences
|
nukeReferences
|
||||||
pkgconfig
|
pkg-config
|
||||||
libpqxx
|
libpqxx
|
||||||
gitAndTools.topGit
|
top-git
|
||||||
mercurial
|
mercurial
|
||||||
darcs
|
darcs
|
||||||
subversion
|
subversion
|
||||||
|
@ -584,9 +171,7 @@
|
||||||
|
|
||||||
checkInputs = [
|
checkInputs = [
|
||||||
cacert
|
cacert
|
||||||
# FIXME: foreman is broken on all nix/nixpkgs pin, up to and
|
foreman
|
||||||
# including 2.7.0
|
|
||||||
newNixpkgs.legacyPackages.${final.system}.foreman
|
|
||||||
glibcLocales
|
glibcLocales
|
||||||
libressl.nc
|
libressl.nc
|
||||||
openldap
|
openldap
|
||||||
|
@ -603,11 +188,11 @@
|
||||||
pixz
|
pixz
|
||||||
gzip
|
gzip
|
||||||
bzip2
|
bzip2
|
||||||
lzma
|
xz
|
||||||
gnutar
|
gnutar
|
||||||
unzip
|
unzip
|
||||||
git
|
git
|
||||||
gitAndTools.topGit
|
top-git
|
||||||
mercurial
|
mercurial
|
||||||
darcs
|
darcs
|
||||||
gnused
|
gnused
|
||||||
|
@ -662,7 +247,7 @@
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
meta.description = "Build of Hydra on ${system}";
|
meta.description = "Build of Hydra on ${final.stdenv.system}";
|
||||||
passthru = { inherit perlDeps; inherit (final) nix; };
|
passthru = { inherit perlDeps; inherit (final) nix; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -684,7 +269,7 @@
|
||||||
tests.install.x86_64-linux =
|
tests.install.x86_64-linux =
|
||||||
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
||||||
simpleTest {
|
simpleTest {
|
||||||
machine = hydraServer;
|
nodes.machine = hydraServer;
|
||||||
testScript =
|
testScript =
|
||||||
''
|
''
|
||||||
machine.wait_for_job("hydra-init")
|
machine.wait_for_job("hydra-init")
|
||||||
|
@ -699,7 +284,7 @@
|
||||||
tests.notifications.x86_64-linux =
|
tests.notifications.x86_64-linux =
|
||||||
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
||||||
simpleTest {
|
simpleTest {
|
||||||
machine = { pkgs, ... }: {
|
nodes.machine = { pkgs, ... }: {
|
||||||
imports = [ hydraServer ];
|
imports = [ hydraServer ];
|
||||||
services.hydra-dev.extraConfig = ''
|
services.hydra-dev.extraConfig = ''
|
||||||
<influxdb>
|
<influxdb>
|
||||||
|
@ -756,7 +341,7 @@
|
||||||
tests.gitea.x86_64-linux =
|
tests.gitea.x86_64-linux =
|
||||||
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
with import (nixpkgs + "/nixos/lib/testing-python.nix") { system = "x86_64-linux"; };
|
||||||
makeTest {
|
makeTest {
|
||||||
machine = { pkgs, ... }: {
|
nodes.machine = { pkgs, ... }: {
|
||||||
imports = [ hydraServer ];
|
imports = [ hydraServer ];
|
||||||
services.hydra-dev.extraConfig = ''
|
services.hydra-dev.extraConfig = ''
|
||||||
<gitea_authorization>
|
<gitea_authorization>
|
||||||
|
@ -963,11 +548,11 @@
|
||||||
checks.x86_64-linux.validate-openapi = hydraJobs.tests.validate-openapi;
|
checks.x86_64-linux.validate-openapi = hydraJobs.tests.validate-openapi;
|
||||||
|
|
||||||
packages.x86_64-linux.hydra = pkgs.hydra;
|
packages.x86_64-linux.hydra = pkgs.hydra;
|
||||||
defaultPackage.x86_64-linux = pkgs.hydra;
|
packages.x86_64-linux.default = pkgs.hydra;
|
||||||
|
|
||||||
nixosModules.hydra = {
|
nixosModules.hydra = {
|
||||||
imports = [ ./hydra-module.nix ];
|
imports = [ ./hydra-module.nix ];
|
||||||
nixpkgs.overlays = [ self.overlay nix.overlay ];
|
nixpkgs.overlays = [ self.overlays.default nix.overlays.default ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosModules.hydraTest = {
|
nixosModules.hydraTest = {
|
||||||
|
@ -1018,7 +603,7 @@
|
||||||
self.nixosModules.hydraTest
|
self.nixosModules.hydraTest
|
||||||
self.nixosModules.hydraProxy
|
self.nixosModules.hydraProxy
|
||||||
{
|
{
|
||||||
system.configurationRevision = self.rev;
|
system.configurationRevision = self.lastModifiedDate;
|
||||||
|
|
||||||
boot.isContainer = true;
|
boot.isContainer = true;
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
|
|
|
@ -267,7 +267,7 @@ in
|
||||||
environment = env // {
|
environment = env // {
|
||||||
HYDRA_DBI = "${env.HYDRA_DBI};application_name=hydra-init";
|
HYDRA_DBI = "${env.HYDRA_DBI};application_name=hydra-init";
|
||||||
};
|
};
|
||||||
path = [ pkgs.utillinux ];
|
path = [ pkgs.util-linux ];
|
||||||
preStart = ''
|
preStart = ''
|
||||||
ln -sf ${hydraConf} ${baseDir}/hydra.conf
|
ln -sf ${hydraConf} ${baseDir}/hydra.conf
|
||||||
|
|
||||||
|
|
|
@ -234,7 +234,7 @@ void State::buildRemote(ref<Store> destStore,
|
||||||
unsigned int remoteVersion;
|
unsigned int remoteVersion;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
to << SERVE_MAGIC_1 << 0x204;
|
to << SERVE_MAGIC_1 << 0x206;
|
||||||
to.flush();
|
to.flush();
|
||||||
|
|
||||||
unsigned int magic = readInt(from);
|
unsigned int magic = readInt(from);
|
||||||
|
|
|
@ -640,8 +640,8 @@ sub checkJobsetWrapped {
|
||||||
my $flakeRef = $jobset->flake;
|
my $flakeRef = $jobset->flake;
|
||||||
if (defined $flakeRef) {
|
if (defined $flakeRef) {
|
||||||
(my $res, my $json, my $stderr) = captureStdoutStderr(
|
(my $res, my $json, my $stderr) = captureStdoutStderr(
|
||||||
600, "nix", "flake", "info", "--tarball-ttl", 0, "--json", "--", $flakeRef);
|
600, "nix", "flake", "metadata", "--refresh", "--json", "--", $flakeRef);
|
||||||
die "'nix flake info' returned " . ($res & 127 ? "signal $res" : "exit code " . ($res >> 8))
|
die "'nix flake metadata' returned " . ($res & 127 ? "signal $res" : "exit code " . ($res >> 8))
|
||||||
. ":\n" . ($stderr ? decode("utf-8", $stderr) : "(no output)\n")
|
. ":\n" . ($stderr ? decode("utf-8", $stderr) : "(no output)\n")
|
||||||
if $res;
|
if $res;
|
||||||
$flakeRef = decode_json($json)->{'url'};
|
$flakeRef = decode_json($json)->{'url'};
|
||||||
|
|
|
@ -53,16 +53,19 @@ sub new {
|
||||||
my $hydra_config = $opts{'hydra_config'} || "";
|
my $hydra_config = $opts{'hydra_config'} || "";
|
||||||
$hydra_config = "queue_runner_metrics_address = 127.0.0.1:0\n" . $hydra_config;
|
$hydra_config = "queue_runner_metrics_address = 127.0.0.1:0\n" . $hydra_config;
|
||||||
if ($opts{'use_external_destination_store'} // 1) {
|
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);
|
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_SYSTEMS'} = '';
|
||||||
$ENV{'NIX_REMOTE'} = '';
|
$ENV{'NIX_REMOTE'} = "local?store=$nix_store_dir&state=$nix_state_dir&log=$nix_log_dir";
|
||||||
$ENV{'NIX_STATE_DIR'} = "$dir/nix/var/nix";
|
$ENV{'NIX_STATE_DIR'} = $nix_state_dir; # FIXME: remove
|
||||||
$ENV{'NIX_STORE_DIR'} = "$dir/nix/store";
|
$ENV{'NIX_STORE_DIR'} = $nix_store_dir; # FIXME: remove
|
||||||
|
|
||||||
my $pgsql = Test::PostgreSQL->new(
|
my $pgsql = Test::PostgreSQL->new(
|
||||||
extra_initdb_args => "--locale C.UTF-8"
|
extra_initdb_args => "--locale C.UTF-8"
|
||||||
|
@ -73,7 +76,8 @@ sub new {
|
||||||
_db => undef,
|
_db => undef,
|
||||||
db_handle => $pgsql,
|
db_handle => $pgsql,
|
||||||
tmpdir => $dir,
|
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__) . "/.."),
|
testdir => abs_path(dirname(__FILE__) . "/.."),
|
||||||
jobsdir => abs_path(dirname(__FILE__) . "/../jobs")
|
jobsdir => abs_path(dirname(__FILE__) . "/../jobs")
|
||||||
}, $class;
|
}, $class;
|
||||||
|
|
|
@ -33,9 +33,6 @@ my $ctx = test_context(
|
||||||
# the build locally.
|
# the build locally.
|
||||||
|
|
||||||
subtest "Pre-build the job, upload to the cache, and then delete locally" => sub {
|
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";
|
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-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");
|
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', '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-store', '--delete', $outpath), 0, "Deleting the notifications.nix output succeeded");
|
||||||
is(system("nix-collect-garbage"), 0, "Delete all the system's garbage");
|
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 {
|
subtest "Ensure substituting the job works, but reading the log fails" => sub {
|
||||||
|
|
Loading…
Reference in a new issue