diff options
author | Kerstin <kerstin@erictapen.name> | 2023-05-16 10:50:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-16 10:50:34 +0200 |
commit | 872987d040303394aef2fdba5ea5a3ee93e66e67 (patch) | |
tree | 0d2283a20f17a6f8ba0a510c0487fe008c21e5b5 /pkgs/development/beam-modules | |
parent | c8f6370f7daf435d51d137dcbd80c7ebad1f21f2 (diff) |
beam/mixRelease: default stripDebug to false due frequent runtime errors (#232107)
This flag appears to cause issues in 3 out 4 users of mixRelease in
Nixpkgs, plus Mobilizon, which isn't merged yet. It might be safer to
set it to fals for now, as the runtime error messages produced by it are
quite cryptic.
Diffstat (limited to 'pkgs/development/beam-modules')
-rw-r--r-- | pkgs/development/beam-modules/elixir-ls/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/beam-modules/mix-release.nix | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index 885b6eec49af..8573b4b7ca16 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -16,6 +16,8 @@ in mixRelease { inherit pname version src elixir; + stripDebug = true; + mixFodDeps = fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version elixir; diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix index 1a926148d599..1d40da27ecba 100644 --- a/pkgs/development/beam-modules/mix-release.nix +++ b/pkgs/development/beam-modules/mix-release.nix @@ -9,16 +9,25 @@ , enableDebugInfo ? false , mixEnv ? "prod" , compileFlags ? [ ] + # mix fixed output derivation dependencies , mixFodDeps ? null + # mix dependencies generated by mix2nix # this assumes each dependency is built by buildMix or buildRebar3 # each dependency needs to have a setup hook to add the lib path to $ERL_LIBS # this is how mix will find dependencies , mixNixDeps ? { } + , elixir ? inputs.elixir , hex ? inputs.hex.override { inherit elixir; } -, stripDebug ? true + +# This reduces closure size, but can lead to some hard to understand runtime +# errors, so use with caution. See e.g. +# https://github.com/whitfin/cachex/issues/205 +# https://framagit.org/framasoft/mobilizon/-/issues/1169 +, stripDebug ? false + , ... }@attrs: let |