Update build system to depend on Nix 2.26

This commit is contained in:
John Ericson 2025-02-13 20:50:11 -05:00
parent 4dc0f11379
commit 341b2f1309
4 changed files with 26 additions and 14 deletions

View File

@ -81,7 +81,12 @@
inherit (nixpkgs.lib) fileset; inherit (nixpkgs.lib) fileset;
inherit (self.packages.${system}) nix-eval-jobs; inherit (self.packages.${system}) nix-eval-jobs;
rawSrc = self; rawSrc = self;
nix = nix.packages.${system}.nix; inherit (nix.packages.${system})
nix-util
nix-store
nix-main
nix-cli
;
nix-perl-bindings = nix.hydraJobs.perlBindings.${system}; nix-perl-bindings = nix.hydraJobs.perlBindings.${system};
}; };
default = self.packages.${system}.hydra; default = self.packages.${system}.hydra;

View File

@ -8,22 +8,22 @@ project('hydra', 'cpp',
], ],
) )
nix_util_dep = dependency('nix-util', required: true)
nix_store_dep = dependency('nix-store', required: true) nix_store_dep = dependency('nix-store', required: true)
nix_main_dep = dependency('nix-main', required: true) nix_main_dep = dependency('nix-main', required: true)
nix_expr_dep = dependency('nix-expr', required: true)
nix_flake_dep = dependency('nix-flake', required: true)
nix_cmd_dep = dependency('nix-cmd', required: true)
# Nix need extra flags not provided in its pkg-config files. # Nix need extra flags not provided in its pkg-config files.
nix_dep = declare_dependency( nix_dep = declare_dependency(
dependencies: [ dependencies: [
nix_util_dep,
nix_store_dep, nix_store_dep,
nix_main_dep, nix_main_dep,
nix_expr_dep,
nix_flake_dep,
nix_cmd_dep,
], ],
compile_args: ['-include', 'nix/config.h'], compile_args: [
'-include', 'nix/config-util.hh',
'-include', 'nix/config-store.hh',
'-include', 'nix/config-main.hh',
],
) )
pqxx_dep = dependency('libpqxx', required: true) pqxx_dep = dependency('libpqxx', required: true)

View File

@ -8,7 +8,10 @@
, perlPackages , perlPackages
, nix , nix-util
, nix-store
, nix-main
, nix-cli
, nix-perl-bindings , nix-perl-bindings
, git , git
@ -162,7 +165,7 @@ stdenv.mkDerivation (finalAttrs: {
nukeReferences nukeReferences
pkg-config pkg-config
mdbook mdbook
nix nix-cli
perlDeps perlDeps
perl perl
unzip unzip
@ -172,7 +175,9 @@ stdenv.mkDerivation (finalAttrs: {
libpqxx libpqxx
openssl openssl
libxslt libxslt
nix nix-util
nix-store
nix-main
perlDeps perlDeps
perl perl
boost boost
@ -199,13 +204,14 @@ stdenv.mkDerivation (finalAttrs: {
glibcLocales glibcLocales
libressl.nc libressl.nc
python3 python3
nix-cli
]; ];
hydraPath = lib.makeBinPath ( hydraPath = lib.makeBinPath (
[ [
subversion subversion
openssh openssh
nix nix-cli
coreutils coreutils
findutils findutils
pixz pixz
@ -266,7 +272,7 @@ stdenv.mkDerivation (finalAttrs: {
--prefix PATH ':' $out/bin:$hydraPath \ --prefix PATH ':' $out/bin:$hydraPath \
--set HYDRA_RELEASE ${version} \ --set HYDRA_RELEASE ${version} \
--set HYDRA_HOME $out/libexec/hydra \ --set HYDRA_HOME $out/libexec/hydra \
--set NIX_RELEASE ${nix.name or "unknown"} \ --set NIX_RELEASE ${nix-cli.name or "unknown"} \
--set NIX_EVAL_JOBS_RELEASE ${nix-eval-jobs.name or "unknown"} --set NIX_EVAL_JOBS_RELEASE ${nix-eval-jobs.name or "unknown"}
done done
''; '';
@ -274,5 +280,5 @@ stdenv.mkDerivation (finalAttrs: {
dontStrip = true; dontStrip = true;
meta.description = "Build of Hydra on ${stdenv.system}"; meta.description = "Build of Hydra on ${stdenv.system}";
passthru = { inherit perlDeps nix; }; passthru = { inherit perlDeps; };
}) })

View File

@ -27,6 +27,7 @@ testenv.prepend('PERL5LIB',
separator: ':' separator: ':'
) )
testenv.prepend('PATH', testenv.prepend('PATH',
fs.parent(find_program('nix').full_path()),
fs.parent(hydra_evaluator.full_path()), fs.parent(hydra_evaluator.full_path()),
fs.parent(hydra_queue_runner.full_path()), fs.parent(hydra_queue_runner.full_path()),
meson.project_source_root() / 'src/script', meson.project_source_root() / 'src/script',