CargoHash always invalid in shell.nix

Hi. Im trying to update a package called uefi-run with a custom version that I modified. So far everything was going good until I needed to update cargoHash.

Shell.nix

{ pkgs ? import <nixpkgs> { overlays = [ 
  (import ./QEMU/overlay.nix)
    (self: super: {
      uefi-run = super.uefi-run.overrideAttrs (oldAttrs: {
        src = self.fetchFromGitHub {
          owner = "dje4321";
          repo = "uefi-run";
          rev = "ed0e5ebfcf0c1b3d11e35996be2e3de070118105";
          sha256 = "3VxvH0fZclEp5h08RiPzblghwHbsNnXRjRWrgKZguUw=";
        };

        version = "0.6.1";

        cargoHash = "sha256-G3UAX9IDh+xlbnQHIYD5krn/vZJLOeqy/MS8A/b8+2o=";

      });
    })
  ];
}}:
  pkgs.mkShell {
    packages = [ pkgs.patched-qemu pkgs.uefi-run pkgs.lldb pkgs.gdb ];
    shellHook = ''
      export PS1='\[\e[38;5;39;1m\]\u\[\e[0m\]@\[\e[38;5;196m\]\h\[\e[0m\]:\[\e[38;5;46;4m\]\w \[\e[0m\][$?]\$ '
      clear 
    '';
    # nativeBuildInputs is usually what you want -- tools you need to run
    nativeBuildInputs = with pkgs.buildPackages; [ rustup ];
}

When building I get this error saying to set cargoHash to an empty value to get the correct hash. However, regardless of what I do, I get the same error back saying to set cargoHash to an empty value.

Am I just missing something obvious here?

Here is the specific error im getting from nix-shell


ERROR: cargoHash or cargoSha256 is out of date

Cargo.lock is not the same in /build/uefi-run-0.6.0-vendor.tar.gz

To fix the issue:
1. Set cargoHash/cargoSha256 to an empty string: `cargoHash = "";`
2. Build the derivation and wait for it to fail with a hash mismatch
3. Copy the "got: sha256-..." value back into the cargoHash field
   You should have: cargoHash = "sha256-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=";

error: builder for '/nix/store/kqy5qavdiq6iy768l04n7wp7378pyrkv-uefi-run-0.6.1.drv' failed with exit code 1;
       last 10 log lines:
       > ERROR: cargoHash or cargoSha256 is out of date
       >
       > Cargo.lock is not the same in /build/uefi-run-0.6.0-vendor.tar.gz
       >
       > To fix the issue:
       > 1. Set cargoHash/cargoSha256 to an empty string: `cargoHash = "";`
       > 2. Build the derivation and wait for it to fail with a hash mismatch
       > 3. Copy the "got: sha256-..." value back into the cargoHash field
       >    You should have: cargoHash = "sha256-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=";
       >
1 Like

Duplicate of Overriding version, can't find new cargoHash