The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
fetchzip is more efficient, because it doesn't do a full git clone, so
it should be preferred where possible.
Where hashes have not been changed, I have verified that they don't
need to be. Where hashes have changed, in all cases this is because
of .gitattributes files that exclude certain files from the tarball,
and in these cases I have verified that the packages still build.
sbsigntool still uses fetchgit because it has a submodule, and ell and
iwd still use fetchgit because git.kernel.org does not provide
snapshot links for them. Apparently this is intentional.
Notably fwupd, pipewire and flatpak.
I want to focus on GNOME and other packages I still actually use.
Pipewire is still important but I have not touched the packaging in a while.
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.