nix icon indicating copy to clipboard operation
nix copied to clipboard

fetchTarball fails after downloading proton-ge

Open babbaj opened this issue 10 months ago • 3 comments

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.

babbaj avatar Apr 21 '24 04:04 babbaj