mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 23:13:19 +00:00
check-meta.nix: make non-source consistent with documentation
The documentation for `meta.sourceProvenance` in `doc/stdenv/meta.chapter.md` says: "the `meta.sourceProvenance` attribute should be a list containing one or more value..." Let's update check-meta.nix to require that `meta.sourceProvenance` is a list, as the documentation says, rather than a single element. Adding two extra keystrokes `[` and `]` when filling out this field is an insignificant burden for package authors, and being able to assume that the `meta.sourceProvenance` field is always a list greatly simplifies any code that acts on the value of this field. Since `meta.sourceProvenance` was just merged a few hours ago now is the easiest time to fix this: nobody is using the feature yet.
This commit is contained in:
parent
8d6446d553
commit
607d59fa9e
@ -93,14 +93,14 @@ let
|
|||||||
|
|
||||||
hasNonSourceProvenance = attrs:
|
hasNonSourceProvenance = attrs:
|
||||||
(attrs ? meta.sourceProvenance) &&
|
(attrs ? meta.sourceProvenance) &&
|
||||||
isNonSource (lib.lists.toList attrs.meta.sourceProvenance);
|
isNonSource attrs.meta.sourceProvenance;
|
||||||
|
|
||||||
# Allow granular checks to allow only some non-source-built packages
|
# Allow granular checks to allow only some non-source-built packages
|
||||||
# Example:
|
# Example:
|
||||||
# { pkgs, ... }:
|
# { pkgs, ... }:
|
||||||
# {
|
# {
|
||||||
# allowNonSource = false;
|
# allowNonSource = false;
|
||||||
# allowNonSourcePredicate = with pkgs.lib.lists; pkg: !(any (p: !p.isSource && p != lib.sourceTypes.binaryFirmware) (toList pkg.meta.sourceProvenance));
|
# allowNonSourcePredicate = with pkgs.lib.lists; pkg: !(any (p: !p.isSource && p != lib.sourceTypes.binaryFirmware) pkg.meta.sourceProvenance);
|
||||||
# }
|
# }
|
||||||
allowNonSourcePredicate = config.allowNonSourcePredicate or (x: false);
|
allowNonSourcePredicate = config.allowNonSourcePredicate or (x: false);
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ let
|
|||||||
license = let
|
license = let
|
||||||
licenseType = either (attrsOf anything) str; # TODO disallow `str` licenses, use a module
|
licenseType = either (attrsOf anything) str; # TODO disallow `str` licenses, use a module
|
||||||
in either licenseType (listOf licenseType);
|
in either licenseType (listOf licenseType);
|
||||||
sourceProvenance = either (listOf (attrsOf anything)) (attrsOf anything);
|
sourceProvenance = listOf lib.types.attrs;
|
||||||
maintainers = listOf (attrsOf anything); # TODO use the maintainer type from lib/tests/maintainer-module.nix
|
maintainers = listOf (attrsOf anything); # TODO use the maintainer type from lib/tests/maintainer-module.nix
|
||||||
priority = int;
|
priority = int;
|
||||||
platforms = listOf str;
|
platforms = listOf str;
|
||||||
|
Loading…
Reference in New Issue
Block a user