Fetch GitHub SPDX license metadata during plugin updates and emit meta.license for generated vim plugin derivations.
Fall back to lib.licenses.unfree when no SPDX license is detected, and round-trip existing license metadata through get-plugins.nix so partial updates do not drop it.
Compare the current source ref using src.tag when present and fall back to
src.rev otherwise.
nvim-treesitter can now be represented by either a tag or a commit depending on
how the updater selected its target. Comparing only rev makes the special-case
skip logic treat equivalent tagged sources as mismatches.
We have machinery for Python packaging, so let’s make use of
it. This also helps unblock moving `by-name` overrides out of
`all-packages.nix`, as it was previously being used to work around
`nixpkgs-vet` forbidding the direct reference to the path.
Upstream no longer updating the sources in the lockfile.json, but they
still update in their main branch's parsers.lua. We don't need to parse
that file since nurr is already doing that for us. We can just grab
latest parser info from their json.