Date: Wed, 25 May 2022 21:03:24 -0700 From: "Pat Maddox" <pat@patmaddox.com> To: "Dave Cottlehuber" <dch@skunkwerks.at> Cc: erlang <freebsd-erlang@freebsd.org> Subject: Re: Why the difference between lang/elixir and lang/elixir-devel? (also: elixir-devel doesn't support mix release) Message-ID: <2D5CF793-1DB1-4F46-82EB-FD8108D36DBF@patmaddox.com> In-Reply-To: <4c572e79-2744-412a-94d0-ec0eb48f3144@www.fastmail.com> References: <88FB0E34-FBB2-4257-A1C8-4F24B9BA130F@patmaddox.com> <4c572e79-2744-412a-94d0-ec0eb48f3144@www.fastmail.com>
index | next in thread | previous in thread | raw e-mail
On 17 May 2022, at 5:52, Dave Cottlehuber wrote: > On Tue, 10 May 2022, at 04:12, Pat Maddox wrote: >> I had been working on a patch to lang/elixir-devel to support mix >> releases, per the problem I shared in >> https://lists.freebsd.org/archives/freebsd-erlang/2022-May/000629.html >> >> When working on it, I saw that lang/elixir doesn’t have the problem >> - >> it doesn’t patch `elixir` to “hard-wire” the OTP release. So I >> can >> just depend on lang/elixir instead. >> >> I had assumed that lang/elixir-devel just provided a more up-to-date >> version of elixir, to get access to a newer elixir while still using >> quarterly ports. >> >> That appears not to be the case. Two key differences I note are: >> >> 1. lang/elixir depends on lang/erlang, whereas lang/elixir-devel >> depends >> on lang/erlang-runtime* >> 2. lang/elixir builds elixir as-is, whereas lang/elixir-devel patches >> the `elixir` script to “hard-wire” the OTP release. >> >> What is the intent of the lang/elixir-devel port? > > Hi Pat > > TLDR log an issue against lang/elixir-devel for fixing mix release & > tracking this. The OTP21-OTP22 transition was a major breakage point > for OTP stdlib and stuff needed to be hard wired to work reliably. Done! https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264046 > -devel flavoured ports are the leading edge of ports dev. As a ports > committer it allows me to easily switch a subsidiary port (like > net/rabbitmq or phoenix) over for testing, as I choose, & back again. > As a user, it allows me to test my apps against the very latest. Okay that makes sense. I’ve taken a closer look at the two Makefiles and see that they are indeed similar - the key difference being that elixir-devel depends on an erlang runtime rather than lang/erlang, and that it patches the elixir script. I will experiment with removing the post-patch hard-wire from elixir-devel. I believe when I did that, elixir failed to run because there was no erl on the path. lang/erlang puts erl on the path, but erlang-runtime* do not. If I’m remembering correctly. Pathome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2D5CF793-1DB1-4F46-82EB-FD8108D36DBF>
