winePackages.{staging,unstable}: 9.22 -> 10.0-rc4 (#368663)
[NixPkgs.git] / pkgs / applications / networking / cluster / helm / wrapper.nix
blobab44afb750d51cba98cdacb03224caf995cb4b44
2   symlinkJoin,
3   lib,
4   makeWrapper,
5   writeText,
6 }:
8 helm:
10 let
11   wrapper =
12     {
13       plugins ? [ ],
14       extraMakeWrapperArgs ? "",
15     }:
16     let
18       initialMakeWrapperArgs = [
19       ];
21       pluginsDir = symlinkJoin {
22         name = "helm-plugins";
23         paths = plugins;
24       };
25     in
26     symlinkJoin {
27       name = "helm-${lib.getVersion helm}";
29       # Remove the symlinks created by symlinkJoin which we need to perform
30       # extra actions upon
31       postBuild = ''
32         wrapProgram "$out/bin/helm" \
33           "--set" "HELM_PLUGINS" "${pluginsDir}" ${extraMakeWrapperArgs}
34       '';
35       paths = [
36         helm
37         pluginsDir
38       ];
40       preferLocalBuild = true;
42       nativeBuildInputs = [ makeWrapper ];
43       passthru = {
44         inherit pluginsDir;
45         unwrapped = helm;
46       };
48       meta = helm.meta // {
49         # To prevent builds on hydra
50         hydraPlatforms = [ ];
51         # prefer wrapper over the package
52         priority = (helm.meta.priority or lib.meta.defaultPriority) - 1;
53       };
54     };
56 lib.makeOverridable wrapper