summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-06-18 23:09:21 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-06-18 23:09:21 +0100
commit7c2a12d218faca7eec9e62f0b9491a5832b80d2b (patch)
tree6bfa740dcf73699e6cda9ab10a20e0835a6ce472
parentdev-cpp/yaml-cpp: arm64 stable (bug #713464) (diff)
downloadgentoo-7c2a12d218faca7eec9e62f0b9491a5832b80d2b.tar.gz
gentoo-7c2a12d218faca7eec9e62f0b9491a5832b80d2b.tar.bz2
gentoo-7c2a12d218faca7eec9e62f0b9491a5832b80d2b.zip
dev-lang/elixir: start erlang via 'empd -daemon'
Original bug exposes some kind of a race in erlang process. It's not clear if 'epmd & exit' an unsafe construct or not. I'm assuming it's not safe. Let's see if it helps. Reported-by: Agostino Sarubbo Bug: https://bugs.gentoo.org/727344 Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rw-r--r--dev-lang/elixir/elixir-1.10.3.ebuild1
-rw-r--r--dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch13
2 files changed, 14 insertions, 0 deletions
diff --git a/dev-lang/elixir/elixir-1.10.3.ebuild b/dev-lang/elixir/elixir-1.10.3.ebuild
index 47f8a8ca0780..5d77e804b6ce 100644
--- a/dev-lang/elixir/elixir-1.10.3.ebuild
+++ b/dev-lang/elixir/elixir-1.10.3.ebuild
@@ -28,6 +28,7 @@ DEPEND+="
PATCHES=(
"${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
"${FILESDIR}"/${PN}-1.10.3-no-Q.patch
+ "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch
)
src_install() {
diff --git a/dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch b/dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch
new file mode 100644
index 000000000000..48cfeb752b25
--- /dev/null
+++ b/dev-lang/elixir/files/elixir-1.10.3-epmd-daemon.patch
@@ -0,0 +1,13 @@
+Avoid exec/SIGCHLD race in daemon fork.
+Let's see if it fixes race seen in https://bugs.gentoo.org/727344
+--- a/Makefile
++++ b/Makefile
+@@ -280,7 +280,7 @@ test_elixir: test_stdlib test_ex_unit test_logger test_mix test_eex test_iex
+
+ test_stdlib: compile
+ @ echo "==> elixir (ex_unit)"
+- $(Q) exec epmd & exit
++ $(Q) epmd -daemon
+ $(Q) if [ "$(OS)" = "Windows_NT" ]; then \
+ cd lib/elixir && cmd //C call ../../bin/elixir.bat -r "test/elixir/test_helper.exs" -pr "test/elixir/**/$(TEST_FILES)"; \
+ else \