Make "nix-build -A <derivation>.<output>" do the right thing
For example, given a derivation with outputs "out", "man" and "bin": $ nix-build -A pkg produces ./result pointing to the "out" output; $ nix-build -A pkg.man produces ./result-man pointing to the "man" output; $ nix-build -A pkg.all produces ./result, ./result-man and ./result-bin; $ nix-build -A pkg.all -A pkg2 produces ./result, ./result-man, ./result-bin and ./result-2.
This commit is contained in:
parent
a3d6585c5a
commit
46a369ad95
10 changed files with 106 additions and 20 deletions
|
|
@ -6,7 +6,7 @@ drvAttrs @ { outputs ? [ "out" ], ... }:
|
|||
let
|
||||
|
||||
strict = derivationStrict drvAttrs;
|
||||
|
||||
|
||||
commonAttrs = drvAttrs // (builtins.listToAttrs outputsList) //
|
||||
{ all = map (x: x.value) outputsList;
|
||||
inherit drvAttrs;
|
||||
|
|
@ -21,7 +21,7 @@ let
|
|||
inherit outputName;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
outputsList = map outputToAttrListElement outputs;
|
||||
|
||||
|
||||
in (builtins.head outputsList).value
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue