a6fe798a01
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. |
||
---|---|---|
.. | ||
bootstrap-files | ||
convert-to-import-cargo-lock | ||
doc | ||
haskell | ||
kde | ||
pluginupdate-py | ||
__init__.py | ||
all-tarballs.nix | ||
build.nix | ||
check-by-name.sh | ||
check-cherry-picks.sh | ||
check-hydra-by-maintainer.nix | ||
check-maintainer-github-handles.sh | ||
check-maintainers-sorted.nix | ||
convert-to-import-cargo-lock.sh | ||
copy-tarballs.pl | ||
db-to-md.sh | ||
debian-patches.sh | ||
dep-licenses.sh | ||
eval-release.nix | ||
eval-release.sh | ||
feature-freeze-teams.pl | ||
fetch-kde-qt.sh | ||
find-tarballs.nix | ||
fix-maintainers.pl | ||
get-maintainer.sh | ||
hydra_eval_check | ||
hydra-eval-failures.py | ||
luarocks-config.lua | ||
luarocks-packages.csv | ||
nix-call-package | ||
nix-diff.sh | ||
nix-generate-from-cpan.nix | ||
nix-generate-from-cpan.pl | ||
nixpkgs-lint.nix | ||
nixpkgs-lint.pl | ||
patchelf-hints.sh | ||
README.md | ||
rebuild-amount.sh | ||
remove-old-aliases.py | ||
sha-to-sri.py | ||
update-channel-branches.sh | ||
update-dotnet-lockfiles.nix | ||
update-octave-packages | ||
update-octave-shell.nix | ||
update-python-libraries | ||
update-redirected-urls.sh | ||
update-ruby-packages | ||
update.nix | ||
update.py | ||
vanity-manual-equalities.txt | ||
vanity.sh |
Maintainer scripts
This folder contains various executable scripts for nixpkgs maintainers, and supporting data or nixlang files as needed. These scripts generally aren't a stable interface and may changed or be removed.
What follows is a (very incomplete) overview of available scripts.
Metadata
get-maintainer.sh
get-maintainer.sh [selector] value
returns a JSON object describing
a given nixpkgs maintainer, equivalent to lib.maintainers.${x} // { handle = x; }
.
This allows looking up a maintainer's attrset (including GitHub and Matrix
handles, email address etc.) based on any of their handles, more correctly and
robustly than text search through maintainers-list.nix
.
❯ ./get-maintainer.sh nicoo
{
"email": "nicoo@debian.org",
"github": "nbraud",
"githubId": 1155801,
"keys": [
{
"fingerprint": "E44E 9EA5 4B8E 256A FB73 49D3 EC9D 3708 72BC 7A8C"
}
],
"name": "nicoo",
"handle": "nicoo"
}
❯ ./get-maintainer.sh name 'Silvan Mosberger'
{
"email": "contact@infinisil.com",
"github": "infinisil",
"githubId": 20525370,
"keys": [
{
"fingerprint": "6C2B 55D4 4E04 8266 6B7D DA1A 422E 9EDA E015 7170"
}
],
"matrix": "@infinisil:matrix.org",
"name": "Silvan Mosberger",
"handle": "infinisil"
}
The maintainer is designated by a selector
which must be one of:
handle
(default): the maintainer's attribute name inlib.maintainers
;email
,name
,github
,githubId
,matrix
,name
: attributes of the maintainer's object, matched exactly; seemaintainer-list.nix
for the fields' definition.
Conventions
sha-to-sri.py
sha-to-sri.py path ...
(atomically) rewrites hash attributes (named hash
or sha(1|256|512)
)
into the SRI format: hash = "{hash name}-{base64 encoded value}"
.
path
must point to either a nix file, or a directory which will be automatically traversed.
sha-to-sri.py
automatically skips files whose first non-empty line contains generated by
or do not edit
.
Moreover, when walking a directory tree, the script will skip files whose name is yarn.nix
or contains generated
.