mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-10 16:45:51 +03:00
doc/stdenv/meta.chapter.md: explain difference between broken and badPlatforms
There has been a longstanding ambiguity between `broken` and `badPlatforms`, which seem to serve overlapping purposes. This commit adds to the documentation two examples of constraints which cannot be expressed by `platforms` and `badPlatforms`. This commit also mentions `NIXPKGS_ALLOW_BROKEN=1` for overriding `broken`.
This commit is contained in:
parent
0d3d2a2231
commit
19d48a9257
@ -182,7 +182,9 @@ meta.hydraPlatforms = [];
|
||||
|
||||
### `broken` {#var-meta-broken}
|
||||
|
||||
If set to `true`, the package is marked as "broken", meaning that it won’t show up in `nix-env -qa`, and cannot be built or installed. Such packages should be removed from Nixpkgs eventually unless they are fixed.
|
||||
If set to `true`, the package is marked as "broken", meaning that it won’t show up in `nix-env -qa`, and cannot be built or installed unless the environment variable `NIXPKGS_ALLOW_BROKEN` is set. Such unconditionally-broken packages should be removed from Nixpkgs eventually unless they are fixed.
|
||||
|
||||
The value of this attribute can depend on a package's arguments, including `stdenv`. This means that `broken` can be used to express constraints such as "does not cross compile" (`meta.broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform)`) or "broken if all of a certain set of its dependencies are broken". This makes `broken` strictly more powerful than `meta.badPlatforms`. However `meta.availableOn` currently examines only `meta.platforms` and `meta.badPlatforms`, so `meta.broken` does not influence the default values for optional dependencies.
|
||||
|
||||
## Licenses {#sec-meta-license}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user