Keep fetcher tag metadata when reading current plugin state from Nix.
The updater needs to know whether a plugin was fetched by tag or by commit.
Without carrying src.tag through, tagged sources are read back as if rev were
always the canonical source identifier, which breaks tag-aware comparisons and
cache behavior later in the update flow.
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
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.
The kakoune Makefile does not use the c++ compiler specified by the
`CXX` environment variable and instead defaults to `c++` as the
executable name.
Override the Makefile `CXX` variable with the value from the stdenv
environment.
This reverts commit 65a333600d.
This wasn't tested for correctness with something like fodwatch [0],
and should not have been (self-)merged so quickly, especially without
further review.
It also resulted in the breakage of at least one package [1] (and that's
the one we know of and was caught).
A few packages that were updated in between this commit and this revert
were not reverted back to using `rev`, but other than that, this is a
1:1 revert.
[0]: https://codeberg.org/raphaelr/fodwatch
[1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e458
Cargo 1.84.0 seems to have changed the output format of cargo vendor
again, once again invalidating fetchCargoTarball FOD hashes. It's
time to fix this once and for all, switching across the board to
fetchCargoVendor, which is not dependent on cargo vendor's output
format.
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.
Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.
A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.
This commit was automatically created and can be verified using
nix-build a08b3a4d19.tar.gz \
--argstr baseRev b32a094368
result/bin/apply-formatting $NIXPKGS_PATH
I fixed many hidden bugs and made some small improvements. The main
reason this was separated from #336137 is to fix the sorting issue.
Before this commit, sorting for Vim plugins was broken and worked by
what was fetched first. This is because the sorting was done by empty
strings (the default value in CSV is not None but an empty string). This
PR fixes it and also moves sorting from the user to the library (from
`vim/plugins/update.py` to `pluginupdate.py`) to prevent such weird
issues and duplication of code.
In e4da18a692, logic was added to the kakoune
wrapper to add a specific directory to the PATH. However, this accidentally
used the build-time value, thus breaking the ability of kakoune to find
programs on the system-wide PATH. Restore this ability by appending to the
run-time value.
The project renamed from "kak-lsp" in this version. Command and config
file paths remain the same, at least for now.
Change-Id: I7cbce56096bac5d4c68c2e9d4effd11f51b7bbf5
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.
* update.py: introduce subparsers for plugin updaters
This is preliminary work to help create more powerful plugin updaters.
Namely I would like to be able to "just add" plugins without refreshing
the older ones (helpful when github temporarily removes a user from
github due to automated bot detection).
Also concerning the lua updater, we pin some of the dependencies, and I
would like to be able to unpin the package without editing the csv
(coming in later PRs).
* doc/updaters: update command to update editor plugins
including vim, kakoune and lua packages
Co-authored-by: figsoda
I tried to run this and it failed. These changes made it work again.
I looked at maintainers/scripts/pluginupdate.py and how the types
differed to make this fix.