When installing a lua package that depends on luarocks, luarocks was not capable of recognizing the luarocks module: https://github.com/NixOS/nixpkgs/issues/316009 . As explained here https://github.com/luarocks/luarocks/issues/1659, luarocks needs a manifest to recognize the package. I first attempted to generate a manifest with `luarocks-admin make-manifest` on our current manual luarocks derivation but this ended up being too hackish as the `make-manifest` requires a .rockspec or .rock to work, which we had not. It seemed simpled to just rename the current manual luarocks derivation to luarocks_bootstrap in order to break cyclic dependencies in buildLuarocksPackage and add a generated luarocks derivation. Previously it was impossible to test luarocks because of the cyclic dependency but we will now be able to test the generated derivation. |
||
---|---|---|
.. | ||
bootstrap-files | ||
convert-to-import-cargo-lock | ||
doc | ||
haskell | ||
kde | ||
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 | ||
pluginupdate.py | ||
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
check-by-name.sh
An alias for pkgs/test/check-by-name/run-local.sh
, see documentation.
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.