From 6d3624e305d6de091685cefe214b0df8c3bade5f Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 7 Apr 2025 19:34:06 -0400 Subject: [PATCH] nixVersions.git: Reintroduce It was removed in 68472b90a670e7fc692b053b51a3ac27d73bc632 because it was out of date, using the old build system. Now, it is up to date, and uses the Meson build system and the per-component build. I am especially keen to get this is because once 2.28 uses the monolithic build (#393509) out of an abundance of caution, this is will be the only use of the per-component build, until the next Nix version (and Nix 2.28 on master after Nixpkgs 25.05 is forked off and released). --- pkgs/by-name/ni/nix-plugin-pijul/package.nix | 1 + pkgs/tools/package-management/nix/default.nix | 15 ++++++++++++++- pkgs/tools/package-management/nix/update-all.sh | 6 ++++++ pkgs/top-level/release-cross.nix | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nix-plugin-pijul/package.nix b/pkgs/by-name/ni/nix-plugin-pijul/package.nix index bd83cecddbd1..c39ef2281118 100644 --- a/pkgs/by-name/ni/nix-plugin-pijul/package.nix +++ b/pkgs/by-name/ni/nix-plugin-pijul/package.nix @@ -81,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: { { stable = localRepoCheck nixVersions.stable; latest = localRepoCheck nixVersions.latest; + git = localRepoCheck nixVersions.git; nix_2_24 = localRepoCheck nixVersions.nix_2_24; }; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 46b6c6aefe9b..de70aa46badf 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -197,6 +197,20 @@ lib.makeExtensible ( nix_2_28 = addTests "nix_2_28" self.nixComponents_2_28.nix-everything; + nixComponents_git = nixDependencies.callPackage ./modular/packages.nix rec { + version = "2.29pre20250407_${lib.substring 0 8 src.rev}"; + inherit (self.nix_2_24.meta) maintainers; + otherSplices = generateSplicesForNixComponents "nixComponents_git"; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + rev = "73d3159ba0b4b711c1f124a587f16e2486d685d7"; + hash = "sha256-9wJXUGqXIqMjNyKWJKCcxrDHM/KxDkvJMwo6S3s+WuM="; + }; + }; + + git = addTests "git" self.nixComponents_git.nix-everything; + latest = self.nix_2_28; # The minimum Nix version supported by Nixpkgs @@ -234,7 +248,6 @@ lib.makeExtensible ( nix_2_27 = throw "nix_2_27 has been removed. use nix_2_28."; unstable = throw "nixVersions.unstable has been removed. use nixVersions.latest or the nix flake."; - git = throw "nixVersions.git has been removed. use nixVersions.latest or the nix flake."; } ) ) diff --git a/pkgs/tools/package-management/nix/update-all.sh b/pkgs/tools/package-management/nix/update-all.sh index 547721d8b392..a2b459e67e7f 100755 --- a/pkgs/tools/package-management/nix/update-all.sh +++ b/pkgs/tools/package-management/nix/update-all.sh @@ -36,3 +36,9 @@ for name in $nix_versions; do break fi done + +commit_json=$(curl -s https://api.github.com/repos/NixOS/nix/commits/master) # format: 2024-11-01T10:18:53Z +date_of_commit=$(echo "$commit_json" | jq -r '.commit.author.date') +suffix="pre$(date -d "$date_of_commit" +%Y%m%d)_" +sed -i -e "s|\"pre[0-9]\{8\}_|\"$suffix|g" "$SCRIPT_DIR/default.nix" +nix-update --override-filename "$SCRIPT_DIR/default.nix" --version branch --build --commit "nixVersions.git" diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index f15758260d33..340c8b92f133 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -79,6 +79,7 @@ let gmp = nativePlatforms; libcCross = nativePlatforms; nix = nativePlatforms; + nixVersions.git = nativePlatforms; mesa = nativePlatforms; rustc = nativePlatforms; cargo = nativePlatforms;