summary refs log tree commit diff
path: root/pkgs/development/beam-modules
diff options
context:
space:
mode:
authorhappysalada <raphael@megzari.com>2021-06-06 17:36:51 +0900
committerRaphael Megzari <raphael@megzari.com>2021-06-07 10:03:48 +0900
commit8989d2eae8aee06ee35b2cbdba74a5e7c366d683 (patch)
tree82cf7434387379b5344c263f1930347e713e6d1e /pkgs/development/beam-modules
parent357cc8e05d1f05c84e778cdd316dce8987396b5f (diff)
downloadnixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.tar
nixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.tar.gz
nixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.tar.bz2
nixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.tar.lz
nixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.tar.xz
nixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.tar.zst
nixpkgs-8989d2eae8aee06ee35b2cbdba74a5e7c366d683.zip
mix-release: remove erlang ref in erts dir
Diffstat (limited to 'pkgs/development/beam-modules')
-rw-r--r--pkgs/development/beam-modules/mix-release.nix22
1 files changed, 11 insertions, 11 deletions
diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix
index 3ee460fd5f4..91ebacc1f05 100644
--- a/pkgs/development/beam-modules/mix-release.nix
+++ b/pkgs/development/beam-modules/mix-release.nix
@@ -93,21 +93,21 @@ stdenv.mkDerivation (overridable // {
     if [ -e $out/releases/COOKIE ]; then # absent in special cases, i.e. elixir-ls
       rm $out/releases/COOKIE
     fi
-    # TODO remove the uneeded reference too erlang
-    # one possible way would be
-    # for f in $(${findutils}/bin/find $out -name start); do
-    #   substituteInPlace $f \
-    #     --replace 'ROOTDIR=${erlang}/lib/erlang' 'ROOTDIR=""'
-    # done
-    # What is left to do is to check that erlang is not required on
-    # the host
+    # removing unused erlang reference from resulting derivation to reduce
+    # closure size
+    if [ -e $out/erts-* ]; then
+      echo "ERTS found in $dir - removing references to erlang to reduce closure size"
+      for file in $out/erts-*/bin/{erl,start}; do
+        substituteInPlace "$file" --replace "${erlang}/lib/erlang" "$out"
+      done
+    fi
 
     patchShebangs $out
     runHook postFixup
   '';
-  # TODO figure out how to do a Fixed Output Derivation and add the output hash
-  # This doesn't play well at the moment with Phoenix projects
-  # for example that have frontend dependencies
 
+  # TODO investigate why the resulting closure still has
+  # a reference to erlang.
+  # uncommenting the following will fail the build
   # disallowedReferences = [ erlang ];
 })