nix
nix copied to clipboard
fetchTarball fails after downloading proton-ge
Describe the bug
In my config I've been using fetchTarball to download proton-ge builds but after updating to nix 2.21.0 I am now getting this error from fetchTarball
error: adding a file to a tree builder: failed to insert entry: invalid name for a tree entry - .git
Steps To Reproduce
run nix repl --expr 'fetchTarball { url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-4/GE-Proton9-4.tar.gz"; sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; }'
(older versions have the same problem)
Expected behavior
fetchTarball should be able to unpack the tar file with no errors
nix-env --version
output
babbaj@nixos:~ ❯ nix --version
nix (Nix) 2.21.0
Additional context
There is a .git folder included in the protonfixes
subdirectory which is probably what is triggering the error.
I believe the error comes specifically from here https://github.com/NixOS/nix/blob/8c4c2156bd786156a57219e78aa14a363ca8f041/src/libfetchers/git-utils.cc#L820
It doesn't make sense to me why git is involved in fetchTarball when it should and seemingly has been able to unpack any abitrary files in stable releases.
This commit is most likely what introduced this regression. https://github.com/NixOS/nix/commit/cabee9815239af426cece729cb765810b8a716ce
proton-ge was also added to nixpkgs recently and uses fetchzip
instead of fetchTarball
. Using fetchzip
in place of fetchTarball
works fine.
Priorities
Add :+1: to issues you find important.