My first experience after upgrading to nix 2.0 was this:
nix log nixpkgs.git
[0.0 MiB DL] downloading 'https://cache.nixos.org/log/2wdbzg3ija6qcam487plfxb9nhkrdz3h-git-2.16.2.drv'error: executing 'bro': No such file or directory
[0.0 MiB DL]
error: writing to file: Broken pipe
Also happens with nixpkgs.bash, so it seems not to be the package which fails.
@Profpatsch can reproduce.
If you build nix with brotli available it would be using libbrotli and avoid this--
what you're seeing is the error that happens when Nix was built without brotli available at build-time
and unavailable as a tool at runtime.
(hoping to never see this again was my motivation for #1768 :grin:)
I thought all builds of Nix these days provided brotli but perhaps something changed recently?
As a temporary workaround you can install brotli somewhere such that "bro" is on PATH when nix looks for it.
You need pkgs.brotli to stream logs from s3.
Why the f**k do we have a purely functional package manager if people forget to provide runtime dependencies when packaging and break everything with that?
'bro' was deprecated as the brotli tool name in 1.0.0: https://github.com/google/brotli/releases/tag/v1.0.0
Supporting both (searching for 'bro' and 'brotli') is silly, just build so Nix uses libbrotli.
There's a bug in nixpkgs logic causing us to not build w/brotli available. Will submit a PR fixing this shortly.
The fix was merged this morning (thanks!), can this be closed?