mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
stdenv: set meta.outputsToInstall unless overridden
This commit is contained in:
parent
d6b46ecb30
commit
3342f717da
1 changed files with 16 additions and 6 deletions
|
@ -220,12 +220,22 @@ let
|
|||
# The meta attribute is passed in the resulting attribute set,
|
||||
# but it's not part of the actual derivation, i.e., it's not
|
||||
# passed to the builder and is not a dependency. But since we
|
||||
# include it in the result, it *is* available to nix-env for
|
||||
# queries. We also a meta.position attribute here to
|
||||
# identify the source location of the package.
|
||||
meta = meta // (if pos' != null then {
|
||||
position = pos'.file + ":" + toString pos'.line;
|
||||
} else {});
|
||||
# include it in the result, it *is* available to nix-env for queries.
|
||||
meta = { }
|
||||
# If the packager hasn't specified `outputsToInstall`, choose a default,
|
||||
# namely `p.bin or p.out or p`;
|
||||
# if he has specified it, it will be overridden below in `// meta`.
|
||||
// { outputsToInstall =
|
||||
let
|
||||
outs = outputs'; # the value passed to derivation primitive
|
||||
hasOutput = out: builtins.elem out outs;
|
||||
in [( lib.findFirst hasOutput null (["bin" "out"] ++ outs) )];
|
||||
}
|
||||
// meta
|
||||
# Fill `meta.position` to identify the source location of the package.
|
||||
// lib.optionalAttrs (pos' != null)
|
||||
{ position = pos'.file + ":" + toString pos'.line; }
|
||||
;
|
||||
inherit passthru;
|
||||
} //
|
||||
# Pass through extra attributes that are not inputs, but
|
||||
|
|
Loading…
Reference in a new issue