Elixir_1.12.0,_OTP_24.0,_port_updates_&_older_OTP_version_depr ecations
Date: Thu, 27 May 2021 11:02:59 UTC
hi folks ``` $ uname -a FreeBSD wintermute 13.0-RELEASE FreeBSD 13.0-RELEASE #0 releng/13.0-n244733-ea31abc261f: Fri Apr 9 04:24:09 UTC 2021 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 $ iex Erlang/OTP 24 [erts-12.0.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] [dtrace] [sharing-preserving] Interactive Elixir (1.12.0) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> IO.puts("woot") woot ``` You can grab the patches off phab, or from https://git.sr.ht/~dch/ports/log/beam I would like to make 3 updates & 2 proposals: 1. add a lang/elixir-devel version. Revision URI: https://reviews.freebsd.org/D30490 This would allow users to always have the latest elixir release installed. NB many elixir libraries today don't handle all the deprecations in 1.12/OTP24. This is currently bound to latest lang/erlang version (24) during compilation but doesn't have to be. In most cases, dependent ports (like elixir-hex etc) would not require this as a direct dependency. My perception is that most users install packages via mix, and not via FreeBSD ports, so this shouldn't break anybody's setup if they install the -devel version (which could force pkg to uninstall any lang/elixir dependencies). 2. bump lang/elixir to 1.11.x branch. https://reviews.freebsd.org/D28092 already does this, but... this requires "making rabbitmq work" which Jimmy seems to know what's needed. If this already works with 1.12.0 then we could roll with that, but I expect there would be a reasonable amount of dependent ports that break. Any of the ~ 75 elixir related ports that don't build with 1.11.x should be considered deprecated if there's not a newer upstream release. 3. add OTP 24.0 Revision URI: https://reviews.freebsd.org/D30494 JIT!!! nuff said!! 4. proposal to drop most of the elixir-* dependent ports I'm not convinced most of these ports are actually worth having in ports at all, who would install any of these, and not use mix & hex packages directly? This would be in line with e.g. golang dependencies. Unless there is some particularly useful NIF/C dependencies we should consider dropping them. 5. proposal to drop OTP20 & erlang-riak Both are long out of upstream support releases The former has 0 dependent ports, so this shouldn't break the world. The latter doesn't work at all on 12.x + nor with modern LLVM. A+ Dave — O for a muse of fire, that would ascend the brightest heaven of invention!