Updates lang/elixir to most recent release 1.15.4
Pulling in one commit from upstream fixing test failures:
https://github.com/elixir-lang/elixir/commit/9b7b7d655d140203044af181842754db7bdbb7ef
This needs to go in *after* net/rabbitmq 3.11.20.
Builds and tests fine on amd64.
I've had all the 1.15.x releases running on OpenBSD without
any issue.
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/elixir/Makefile,v
retrieving revision 1.67
diff -u -p -r1.67 Makefile
--- Makefile 10 Apr 2023 08:57:06 -0000 1.67
+++ Makefile 19 Jul 2023 16:58:47 -0000
@@ -1,6 +1,6 @@
COMMENT= functional language for building scalable applications
-V= 1.14.4
+V= 1.15.4
GH_ACCOUNT= elixir-lang
GH_PROJECT= elixir
GH_TAGNAME= v$V
@@ -31,7 +31,8 @@ CONFIGURE_STYLE= None
MAKE_ENV+= LC_ALL="en_US.UTF-8"
pre-configure:
- ${SUBST_CMD} ${WRKSRC}/bin/elixir
+ ${SUBST_CMD} ${WRKSRC}/bin/elixir \
+ ${WRKSRC}/Makefile
pre-install:
-rm ${WRKSRC}/bin/*{.beforesubst,${PATCHORIG}}
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/elixir/distinfo,v
retrieving revision 1.57
diff -u -p -r1.57 distinfo
--- distinfo 10 Apr 2023 08:57:06 -0000 1.57
+++ distinfo 19 Jul 2023 16:58:47 -0000
@@ -1,2 +1,2 @@
-SHA256 (elixir-1.14.4.tar.gz) = B9Zs8UesrcIb0WefSG79b41kpzhW7Mg8cbXpAwgbRdI=
-SIZE (elixir-1.14.4.tar.gz) = 3076206
+SHA256 (elixir-1.15.4.tar.gz) = MCv4Blq3kqiPbDoMAaa7WHN74+T8JWTIr9QYv5eSUBw=
+SIZE (elixir-1.15.4.tar.gz) = 3146690
Index: patches/patch-Makefile
===================================================================
RCS file: patches/patch-Makefile
diff -N patches/patch-Makefile
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-Makefile 19 Jul 2023 16:58:47 -0000
@@ -0,0 +1,21 @@
+Explicitly start and kill epmd, to avoid lingering instances after tests are
+complete.
+
+Index: Makefile
+--- Makefile.orig
++++ Makefile
+@@ -279,12 +279,13 @@ test_elixir: test_stdlib test_ex_unit test_logger test
+
+ test_stdlib: compile
+ @ echo "==> elixir (ex_unit)"
+- $(Q) exec epmd & exit
++ $(Q) exec epmd${MODERL_VERSION} & exit
+ $(Q) if [ "$(OS)" = "Windows_NT" ]; then \
+ cd lib/elixir && cmd //C call ../../bin/elixir.bat --sname primary -r "test/elixir/test_helper.exs" -pr "test/elixir/**/$(TEST_FILES)"; \
+ else \
+ cd lib/elixir && ../../bin/elixir --sname primary -r "test/elixir/test_helper.exs" -pr "test/elixir/**/$(TEST_FILES)"; \
+ fi
++ $(Q) exec epmd${MODERL_VERSION} -kill
+
+ #==> Dialyzer tasks
+
Index: patches/patch-bin_elixir
===================================================================
RCS file: /cvs/ports/lang/elixir/patches/patch-bin_elixir,v
retrieving revision 1.9
diff -u -p -r1.9 patch-bin_elixir
--- patches/patch-bin_elixir 18 Jan 2023 09:33:59 -0000 1.9
+++ patches/patch-bin_elixir 19 Jul 2023 16:58:47 -0000
@@ -3,7 +3,7 @@ Detect erlang ERTS directory at runtime.
Index: bin/elixir
--- bin/elixir.orig
+++ bin/elixir
-@@ -226,7 +226,9 @@ fi
+@@ -225,7 +225,9 @@ fi
# One MAY change ERTS_BIN= but you MUST NOT change
# ERTS_BIN=$ERTS_BIN as it is handled by Elixir releases.
@@ -13,4 +13,4 @@ Index: bin/elixir
+done
ERTS_BIN="$ERTS_BIN"
- set -- "$ERTS_BIN$ERL_EXEC" -pa "$SCRIPT_PATH"/../lib/*/ebin $ELIXIR_ERL_OPTIONS $ERL "$@"
+ set -- "$ERTS_BIN$ERL_EXEC" -noshell -elixir_root "$SCRIPT_PATH"/../lib -pa "$SCRIPT_PATH"/../lib/elixir/ebin $ELIXIR_ERL_OPTIONS -s elixir start_$MODE $ERL "$@"
Index: patches/patch-lib_mix_lib_mix_compilers_elixir_ex
===================================================================
RCS file: patches/patch-lib_mix_lib_mix_compilers_elixir_ex
diff -N patches/patch-lib_mix_lib_mix_compilers_elixir_ex
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_mix_lib_mix_compilers_elixir_ex 19 Jul 2023 16:58:47 -0000
@@ -0,0 +1,14 @@
+Backport https://github.com/elixir-lang/elixir/commit/9b7b7d655d140203044af181842754db7bdbb7ef
+Index: lib/mix/lib/mix/compilers/elixir.ex
+--- lib/mix/lib/mix/compilers/elixir.ex.orig
++++ lib/mix/lib/mix/compilers/elixir.ex
+@@ -454,6 +454,9 @@ defmodule Mix.Compilers.Elixir do
+ 8 -> :crypto.hash(:blake2b, contents)
+ _ -> :crypto.hash(:blake2s, contents)
+ end
++ rescue
++ # Blake may not be available on all OpenSSL distribution
++ _ -> :erlang.md5(contents)
+ end
+
+ defp set_compiler_opts(opts) do
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/elixir/pkg/PLIST,v
retrieving revision 1.21
diff -u -p -r1.21 PLIST
--- pkg/PLIST 4 Sep 2022 08:36:45 -0000 1.21
+++ pkg/PLIST 19 Jul 2023 16:58:47 -0000
@@ -144,6 +144,7 @@ lib/elixir/lib/elixir/ebin/Elixir.Kernel
lib/elixir/lib/elixir/ebin/Elixir.Kernel.ParallelRequire.beam
lib/elixir/lib/elixir/ebin/Elixir.Kernel.SpecialForms.beam
lib/elixir/lib/elixir/ebin/Elixir.Kernel.Typespec.beam
+lib/elixir/lib/elixir/ebin/Elixir.Kernel.TypespecError.beam
lib/elixir/lib/elixir/ebin/Elixir.Kernel.Utils.beam
lib/elixir/lib/elixir/ebin/Elixir.Kernel.beam
lib/elixir/lib/elixir/ebin/Elixir.KeyError.beam
@@ -162,6 +163,7 @@ lib/elixir/lib/elixir/ebin/Elixir.MapSet
lib/elixir/lib/elixir/ebin/Elixir.MatchError.beam
lib/elixir/lib/elixir/ebin/Elixir.Module.LocalsTracker.beam
lib/elixir/lib/elixir/ebin/Elixir.Module.ParallelChecker.beam
+lib/elixir/lib/elixir/ebin/Elixir.Module.Types.Behaviour.beam
lib/elixir/lib/elixir/ebin/Elixir.Module.Types.Error.beam
lib/elixir/lib/elixir/ebin/Elixir.Module.Types.Expr.beam
lib/elixir/lib/elixir/ebin/Elixir.Module.Types.Helpers.beam
@@ -318,6 +320,7 @@ lib/elixir/lib/iex/ebin/Elixir.IEx.Info.
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Atom.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.BitString.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Date.beam
+lib/elixir/lib/iex/ebin/Elixir.IEx.Info.DateTime.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Float.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Function.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Integer.beam
@@ -326,35 +329,36 @@ lib/elixir/lib/iex/ebin/Elixir.IEx.Info.
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.NaiveDateTime.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.PID.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Port.beam
+lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Range.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Reference.beam
+lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Regex.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Time.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Tuple.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Info.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Introspection.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Pry.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.Server.beam
-lib/elixir/lib/iex/ebin/Elixir.IEx.State.beam
lib/elixir/lib/iex/ebin/Elixir.IEx.beam
lib/elixir/lib/iex/ebin/iex.app
lib/elixir/lib/logger/
lib/elixir/lib/logger/ebin/
lib/elixir/lib/logger/ebin/Elixir.Logger.App.beam
-lib/elixir/lib/logger/ebin/Elixir.Logger.BackendSupervisor.beam
+lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Config.beam
lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Console.beam
-lib/elixir/lib/logger/ebin/Elixir.Logger.Config.beam
-lib/elixir/lib/logger/ebin/Elixir.Logger.Filter.beam
+lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Handler.beam
+lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Internal.beam
+lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Supervisor.beam
+lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Watcher.beam
lib/elixir/lib/logger/ebin/Elixir.Logger.Formatter.beam
-lib/elixir/lib/logger/ebin/Elixir.Logger.Handler.beam
lib/elixir/lib/logger/ebin/Elixir.Logger.Translator.beam
lib/elixir/lib/logger/ebin/Elixir.Logger.Utils.beam
-lib/elixir/lib/logger/ebin/Elixir.Logger.Watcher.beam
lib/elixir/lib/logger/ebin/Elixir.Logger.beam
lib/elixir/lib/logger/ebin/logger.app
lib/elixir/lib/mix/
lib/elixir/lib/mix/ebin/
lib/elixir/lib/mix/ebin/Elixir.Collectable.Mix.Shell.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.AppLoader.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.CLI.beam
-lib/elixir/lib/mix/ebin/Elixir.Mix.Compilers.ApplicationTracer.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.Compilers.Elixir.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.Compilers.Erlang.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.Compilers.Test.beam
@@ -377,7 +381,6 @@ lib/elixir/lib/mix/ebin/Elixir.Mix.NoPro
lib/elixir/lib/mix/ebin/Elixir.Mix.NoTaskError.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.Project.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.ProjectStack.beam
-lib/elixir/lib/mix/ebin/Elixir.Mix.PublicKey.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.Rebar.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.Release.beam
lib/elixir/lib/mix/ebin/Elixir.Mix.RemoteConverger.beam