From 4dc0f11379d74740656edecb8938aac0de07290f Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 13 Feb 2025 20:27:11 -0500 Subject: [PATCH 1/2] Update flake.nix for Nix 2.26 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Removed input 'libgit2' • Updated input 'nix': 'github:NixOS/nix/d652513e4519ed4eb48c92f8670e5a71c7793fc3?narHash=sha256-mIpJgIwPS4o4xYhN1B%2B/fHESEXoxpu6nVoZTzZ0MfTg%3D' (2025-02-12) → 'github:NixOS/nix/970942f45836172fda410a638853382952189eb9?narHash=sha256-jGFuyYKJjJZsBRoi7ZcaVKt1OYxusz/ld1HA7VD2w/0%3D' (2025-02-12) • Removed input 'nix/libgit2' • Updated input 'nix-eval-jobs': 'github:nix-community/nix-eval-jobs/6d4fd5a93d7bc953ffa4dcd6d53ad7056a71eff7?narHash=sha256-1dZLPw%2BnlFQzzswfyTxW%2B8VF1AJ4ZvoYvLTjlHiz1SA%3D' (2025-02-13) → 'github:nix-community/nix-eval-jobs/4b392b284877d203ae262e16af269f702df036bc?narHash=sha256-3wIReAqdTALv39gkWXLMZQvHyBOc3yPkWT2ZsItxedY%3D' (2025-02-14) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/dbebdd67a6006bb145d98c8debf9140ac7e651d0?narHash=sha256-Xc9lEtentPCEtxc/F1e6jIZsd4MPDYv4Kugl9WtXlz0%3D' (2024-09-18) → 'github:NixOS/nixpkgs/97a719c9f0a07923c957cf51b20b329f9fb9d43f?narHash=sha256-1o1qR0KYozYGRrnqytSpAhVBYLNBHX%2BLv6I39zGRzKM%3D' (2025-02-13) --- flake.lock | 43 +++++++++++-------------------------------- flake.nix | 10 ++-------- 2 files changed, 13 insertions(+), 40 deletions(-) diff --git a/flake.lock b/flake.lock index 1d78e0c1..ec9a00e6 100644 --- a/flake.lock +++ b/flake.lock @@ -1,30 +1,10 @@ { "nodes": { - "libgit2": { - "flake": false, - "locked": { - "lastModified": 1715853528, - "narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=", - "owner": "libgit2", - "repo": "libgit2", - "rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96", - "type": "github" - }, - "original": { - "owner": "libgit2", - "ref": "v1.8.1", - "repo": "libgit2", - "type": "github" - } - }, "nix": { "inputs": { "flake-compat": [], "flake-parts": [], "git-hooks-nix": [], - "libgit2": [ - "libgit2" - ], "nixpkgs": [ "nixpkgs" ], @@ -32,16 +12,16 @@ "nixpkgs-regression": [] }, "locked": { - "lastModified": 1739390454, - "narHash": "sha256-mIpJgIwPS4o4xYhN1B+/fHESEXoxpu6nVoZTzZ0MfTg=", + "lastModified": 1739393420, + "narHash": "sha256-jGFuyYKJjJZsBRoi7ZcaVKt1OYxusz/ld1HA7VD2w/0=", "owner": "NixOS", "repo": "nix", - "rev": "d652513e4519ed4eb48c92f8670e5a71c7793fc3", + "rev": "970942f45836172fda410a638853382952189eb9", "type": "github" }, "original": { "owner": "NixOS", - "ref": "2.25-maintenance", + "ref": "2.26-maintenance", "repo": "nix", "type": "github" } @@ -49,11 +29,11 @@ "nix-eval-jobs": { "flake": false, "locked": { - "lastModified": 1739426028, - "narHash": "sha256-1dZLPw+nlFQzzswfyTxW+8VF1AJ4ZvoYvLTjlHiz1SA=", + "lastModified": 1739500569, + "narHash": "sha256-3wIReAqdTALv39gkWXLMZQvHyBOc3yPkWT2ZsItxedY=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "6d4fd5a93d7bc953ffa4dcd6d53ad7056a71eff7", + "rev": "4b392b284877d203ae262e16af269f702df036bc", "type": "github" }, "original": { @@ -64,23 +44,22 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726688310, - "narHash": "sha256-Xc9lEtentPCEtxc/F1e6jIZsd4MPDYv4Kugl9WtXlz0=", + "lastModified": 1739461644, + "narHash": "sha256-1o1qR0KYozYGRrnqytSpAhVBYLNBHX+Lv6I39zGRzKM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dbebdd67a6006bb145d98c8debf9140ac7e651d0", + "rev": "97a719c9f0a07923c957cf51b20b329f9fb9d43f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05-small", + "ref": "nixos-24.11-small", "repo": "nixpkgs", "type": "github" } }, "root": { "inputs": { - "libgit2": "libgit2", "nix": "nix", "nix-eval-jobs": "nix-eval-jobs", "nixpkgs": "nixpkgs" diff --git a/flake.nix b/flake.nix index 6e2d51a2..da753c5f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,17 +1,11 @@ { description = "A Nix-based continuous build system"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05-small"; - - inputs.libgit2 = { - url = "github:libgit2/libgit2/v1.8.1"; - flake = false; - }; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11-small"; inputs.nix = { - url = "github:NixOS/nix/2.25-maintenance"; + url = "github:NixOS/nix/2.26-maintenance"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.libgit2.follows = "libgit2"; # hide nix dev tooling from our lock file inputs.flake-parts.follows = ""; From 341b2f130926a0da999d7ff4869a201bfafd5ab6 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 13 Feb 2025 20:50:11 -0500 Subject: [PATCH 2/2] Update build system to depend on Nix 2.26 --- flake.nix | 7 ++++++- meson.build | 14 +++++++------- package.nix | 18 ++++++++++++------ t/meson.build | 1 + 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/flake.nix b/flake.nix index da753c5f..dc3aaf5c 100644 --- a/flake.nix +++ b/flake.nix @@ -81,7 +81,12 @@ inherit (nixpkgs.lib) fileset; inherit (self.packages.${system}) nix-eval-jobs; 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}; }; default = self.packages.${system}.hydra; diff --git a/meson.build b/meson.build index b9327d51..9c9c09a1 100644 --- a/meson.build +++ b/meson.build @@ -8,22 +8,22 @@ project('hydra', 'cpp', ], ) +nix_util_dep = dependency('nix-util', required: true) nix_store_dep = dependency('nix-store', 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_dep = declare_dependency( dependencies: [ + nix_util_dep, nix_store_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) diff --git a/package.nix b/package.nix index e0046024..12fac1d8 100644 --- a/package.nix +++ b/package.nix @@ -8,7 +8,10 @@ , perlPackages -, nix +, nix-util +, nix-store +, nix-main +, nix-cli , nix-perl-bindings , git @@ -162,7 +165,7 @@ stdenv.mkDerivation (finalAttrs: { nukeReferences pkg-config mdbook - nix + nix-cli perlDeps perl unzip @@ -172,7 +175,9 @@ stdenv.mkDerivation (finalAttrs: { libpqxx openssl libxslt - nix + nix-util + nix-store + nix-main perlDeps perl boost @@ -199,13 +204,14 @@ stdenv.mkDerivation (finalAttrs: { glibcLocales libressl.nc python3 + nix-cli ]; hydraPath = lib.makeBinPath ( [ subversion openssh - nix + nix-cli coreutils findutils pixz @@ -266,7 +272,7 @@ stdenv.mkDerivation (finalAttrs: { --prefix PATH ':' $out/bin:$hydraPath \ --set HYDRA_RELEASE ${version} \ --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"} done ''; @@ -274,5 +280,5 @@ stdenv.mkDerivation (finalAttrs: { dontStrip = true; meta.description = "Build of Hydra on ${stdenv.system}"; - passthru = { inherit perlDeps nix; }; + passthru = { inherit perlDeps; }; }) diff --git a/t/meson.build b/t/meson.build index c3c58458..dd930dbd 100644 --- a/t/meson.build +++ b/t/meson.build @@ -27,6 +27,7 @@ testenv.prepend('PERL5LIB', separator: ':' ) testenv.prepend('PATH', + fs.parent(find_program('nix').full_path()), fs.parent(hydra_evaluator.full_path()), fs.parent(hydra_queue_runner.full_path()), meson.project_source_root() / 'src/script',