Almost all programming languages Ebuilds support slotted installation per major release. It makes much sense for Erlang too, as people tend to stick to one version and recently, some parts of language and runtime being change rapidly hindering people to update their codes to work with newer versions. Fortunately dependencies for Erlang is few and I presume It could be done easily. I saw a discussion about multi-version installation in mailing list today [1] 1: http://erlang.org/pipermail/erlang-questions/2017-June/092569.html Reproducible: Always
I'm pretty close to dropping erlang to maintainer-needed, so I'm afraid I won't be spending much time on this.
(In reply to Dirkjan Ochtman from comment #1) > I'm pretty close to dropping erlang to maintainer-needed, so I'm afraid I > won't be spending much time on this. Thanks for letting me know. I actually changed some Erlang ebuilds to let me install them in parallel [1] and made an eselect module to manage them [2]. 1: https://github.com/reith/reith-overlay/tree/master/dev-lang/erlang 2: https://github.com/reith/eselect-erlang/blob/master/erlang.eselect
I will not be maintaining erlang anymore, sorry. If you can contribute, please work with the proxy maintenance team.
Erlang ebuilds recently added subslot rebuilding functionality on erlang update. That effectively makes erlang incompatible with runtime switching. The multislot solution will require installing bytecode into version-specific location. For example /usr/lib64/elixir/lib/eex/ebin/Elixir.EEx.beam would go somewhere /usr/lib64/4elang-${PV}/elixir/lib/eex/ebin/Elixir.EEx.beam with all the ebuild/eclass compliacations of building it multiple times. Looking at a python situation in gentoo that might be heavy maintenance burden.