forked from mirrors/nixpkgs
lib/meta: add getExe to get the main program of a drv
This commit is contained in:
parent
daac043257
commit
379b9c8be3
|
@ -108,7 +108,7 @@ let
|
||||||
makeScope makeScopeWithSplicing;
|
makeScope makeScopeWithSplicing;
|
||||||
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
|
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
|
||||||
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
||||||
hiPrioSet getLicenseFromSpdxId;
|
hiPrioSet getLicenseFromSpdxId getExe;
|
||||||
inherit (self.sources) pathType pathIsDirectory cleanSourceFilter
|
inherit (self.sources) pathType pathIsDirectory cleanSourceFilter
|
||||||
cleanSource sourceByRegex sourceFilesBySuffices
|
cleanSource sourceByRegex sourceFilesBySuffices
|
||||||
commitIdFromGitRepo cleanSourceWith pathHasContext
|
commitIdFromGitRepo cleanSourceWith pathHasContext
|
||||||
|
|
14
lib/meta.nix
14
lib/meta.nix
|
@ -126,4 +126,18 @@ rec {
|
||||||
lib.warn "getLicenseFromSpdxId: No license matches the given SPDX ID: ${licstr}"
|
lib.warn "getLicenseFromSpdxId: No license matches the given SPDX ID: ${licstr}"
|
||||||
{ shortName = licstr; }
|
{ shortName = licstr; }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Get the path to the main program of a derivation with either
|
||||||
|
meta.mainProgram or pname or name
|
||||||
|
|
||||||
|
Type: getExe :: derivation -> string
|
||||||
|
|
||||||
|
Example:
|
||||||
|
getExe pkgs.hello
|
||||||
|
=> "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
|
||||||
|
getExe pkgs.mustache-go
|
||||||
|
=> "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
|
||||||
|
*/
|
||||||
|
getExe = x:
|
||||||
|
"${lib.getBin x}/bin/${x.meta.mainProgram or (lib.getName x)}";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue