diff options
Diffstat (limited to 'pkgs/development/beam-modules/rebar3-release.nix')
-rw-r--r-- | pkgs/development/beam-modules/rebar3-release.nix | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix index e8e2aecc460c..d2c9da6414fa 100644 --- a/pkgs/development/beam-modules/rebar3-release.nix +++ b/pkgs/development/beam-modules/rebar3-release.nix @@ -80,11 +80,22 @@ let dir=${if releaseType == "escript" then "bin" else "rel"} - mkdir -p "$out/$dir" + mkdir -p "$out/$dir" "$out/bin" cp -R --preserve=mode "_build/${profile}/$dir" "$out" + ${lib.optionalString (releaseType == "release") + "find $out/rel/*/bin -type f -executable -exec ln -s -t $out/bin {} \\;"} runHook postInstall ''; + postInstall = '' + for dir in $out/rel/*/erts-*; do + echo "ERTS found in $dir - removing references to erlang to reduce closure size" + for f in $dir/bin/{erl,start}; do + substituteInPlace "$f" --replace "${erlang}/lib/erlang" "''${dir/\/erts-*/}" + done + done + ''; + meta = { inherit (erlang.meta) platforms; } // meta; |