Open
Description
Description
Starting from Nix 2.20, an error appears when evaluating a Rust derivation built with dream2nix's rust-cargo-lock
and buildRustPackage
:
error: Cannot find Git revision 'a1bf3a613f451af7fc0a59411c56abc47fe8e8e1' in ref 'refs/heads/master' of repository 'https://github.com/salsa-rs/salsa.git'! Please make sure that the rev exists on the ref you've specified or add allRefs = true; to fetchGit.
Steps to reproduce
- Place the
flake.nix
andflake.lock
files in the "Reproduction files" in the same directory andcd
. - Run
nix run github:NixOS/nix/2.19-maintenance flake check path:.
, and see successful result. - Run
nix run github:NixOS/nix/2.20-maintenance flake check path:.
, and see the error:
❯ nix run github:NixOS/nix/2.20-maintenance flake check path:.
error:
… while checking flake output 'packages'
… while checking the derivation 'packages.x86_64-linux.ruff'
… while calling the 'head' builtin
at /nix/store/g2ysyzdx76m4z7lnmyddcwdz25lx7kn1-source/lib/attrsets.nix:1575:11:
1574| || pred here (elemAt values 1) (head values) then
1575| head values
| ^
1576| else
(stack trace truncated; use '--show-trace' to show the full trace)
error: Cannot find Git revision 'a1bf3a613f451af7fc0a59411c56abc47fe8e8e1' in ref 'refs/heads/master' of repository 'https://github.com/salsa-rs/salsa.git'! Please make sure that the rev exists on the ref you've specified or add allRefs = true; to fetchGit.
Reproduction files
flake.nix
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
inputs.flake-parts.url = "github:hercules-ci/flake-parts";
# Build ruff of custom version with dream2nix
inputs.dream2nix.url = "github:nix-community/dream2nix";
# The branch name contains an unfortunate typo.
inputs.ruff-source.url = "github:astral-sh/ruff/0.5.5";
inputs.ruff-source.flake = false;
outputs = {self, ...} @ inputs: let
inherit (inputs.nixpkgs) lib;
in
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
perSystem = {
config,
self',
inputs',
pkgs,
system,
...
}: let
callDream2NixModule = module:
inputs.dream2nix.lib.evalModules {
packageSets.nixpkgs = pkgs;
modules = [
module
{
paths.projectRoot = ./.;
paths.projectRootFile = ./flake.nix;
paths.package = ./.;
}
];
};
in {
packages = {
ruff = callDream2NixModule (
{
config,
lib,
dream2nix,
...
}: {
imports = [
dream2nix.modules.dream2nix.rust-cargo-lock
dream2nix.modules.dream2nix.buildRustPackage
];
deps = {nixpkgs, ...}: {
inherit
(nixpkgs)
installShellFiles
rust-jemalloc-sys
;
CoreService =
if nixpkgs.stdenv.isDarwin
then nixpkgs.darwin.apple_sdk.frameworks.CoreService
else null;
# For phases
ruff-nixpkgs = nixpkgs.ruff;
};
name = lib.mkForce "ruff";
version = lib.mkForce "0.5.5";
mkDerivation = {
src = inputs.ruff-source.outPath;
nativeBuildInputs = with config.deps; [
installShellFiles
];
buildInputs = with config.deps; [
rust-jemalloc-sys
CoreService
];
# Install shell files
inherit
(config.deps.ruff-nixpkgs)
postInstall
;
};
public = {
meta = {
inherit
(config.deps.ruff-nixpkgs.meta)
description
mainProgram
;
};
};
}
);
};
};
systems = lib.attrNames inputs.nixpkgs.legacyPackages;
};
}
flake.lock
{
"nodes": {
"dream2nix": {
"inputs": {
"nixpkgs": "nixpkgs",
"purescript-overlay": "purescript-overlay",
"pyproject-nix": "pyproject-nix"
},
"locked": {
"lastModified": 1722526955,
"narHash": "sha256-fFS8aDnfK9Qfm2FLnQ8pqWk8FzvFEv5LvTuZTZLREnc=",
"owner": "nix-community",
"repo": "dream2nix",
"rev": "3fd4c14d3683baac8d1f94286ae14fe160888b51",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "dream2nix",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1720181791,
"narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1722555339,
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1723282977,
"narHash": "sha256-oTK91aOlA/4IsjNAZGMEBz7Sq1zBS0Ltu4/nIQdYDOg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a781ff33ae258bbcfd4ed6e673860c3e923bf2cc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"purescript-overlay": {
"inputs": {
"nixpkgs": [
"dream2nix",
"nixpkgs"
],
"slimlock": "slimlock"
},
"locked": {
"lastModified": 1696022621,
"narHash": "sha256-eMjFmsj2G1E0Q5XiibUNgFjTiSz0GxIeSSzzVdoN730=",
"owner": "thomashoneyman",
"repo": "purescript-overlay",
"rev": "047c7933abd6da8aa239904422e22d190ce55ead",
"type": "github"
},
"original": {
"owner": "thomashoneyman",
"repo": "purescript-overlay",
"type": "github"
}
},
"pyproject-nix": {
"flake": false,
"locked": {
"lastModified": 1702448246,
"narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=",
"owner": "davhau",
"repo": "pyproject.nix",
"rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb",
"type": "github"
},
"original": {
"owner": "davhau",
"ref": "dream2nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": {
"inputs": {
"dream2nix": "dream2nix",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2",
"ruff-source": "ruff-source"
}
},
"ruff-source": {
"flake": false,
"locked": {
"lastModified": 1721918821,
"narHash": "sha256-dqfK6YdAV4cdUYB8bPE9I5FduBJ90RxUA7TMvcVq6Zw=",
"owner": "astral-sh",
"repo": "ruff",
"rev": "fc16d8d04d86aa94a8aac14bbb87089b64d443a1",
"type": "github"
},
"original": {
"owner": "astral-sh",
"ref": "0.5.5",
"repo": "ruff",
"type": "github"
}
},
"slimlock": {
"inputs": {
"nixpkgs": [
"dream2nix",
"purescript-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688610262,
"narHash": "sha256-Wg0ViDotFWGWqKIQzyYCgayeH8s4U1OZcTiWTQYdAp4=",
"owner": "thomashoneyman",
"repo": "slimlock",
"rev": "b5c6cdcaf636ebbebd0a1f32520929394493f1a6",
"type": "github"
},
"original": {
"owner": "thomashoneyman",
"repo": "slimlock",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
Metadata
Metadata
Assignees
Labels
No labels