Skip to content

Commit dc9e529

Browse files
committed
dev-lang/{erlang,elixir}: bump dropped versions
1 parent a2a3494 commit dc9e529

15 files changed

+390
-0
lines changed

dev-lang/elixir/Manifest

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DIST elixir-1.12.3.tar.gz 2461828 BLAKE2B cdae9bd7f3463b89dd737ce943d57b7f9801bf382500a274332e1cb87902ecc37bd6e7a53af4dd5c1cd6e6d9d64171e226e676cd8023252c86fdf028d80dd383 SHA512 945e33ca9c3e50015531f87630c1bc1b9966acc64bbf7d01c8c4f8cfc104ee1e08113f572f0ad6a9f5e8ee37e33144e58b2ac33dc0a2b01e1355fc5f8b1b9329
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Copyright 1999-2022 Gentoo Authors
2+
# Distributed under the terms of the GNU General Public License v2
3+
4+
EAPI=8
5+
6+
DESCRIPTION="Elixir programming language"
7+
HOMEPAGE="https://elixir-lang.org"
8+
SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz"
9+
10+
LICENSE="Apache-2.0 ErlPL-1.1"
11+
SLOT="0"
12+
KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86"
13+
IUSE="test"
14+
15+
RESTRICT="!test? ( test )"
16+
17+
DEPEND="
18+
>=dev-lang/erlang-22:0=[ssl]
19+
"
20+
# 'mix' tool collides with sci-biology/phylip, bug #537514
21+
RDEPEND="${DEPEND}
22+
!!sci-biology/phylip
23+
"
24+
DEPEND+="
25+
test? ( dev-vcs/git )
26+
"
27+
28+
PATCHES=(
29+
"${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
30+
"${FILESDIR}"/${PN}-1.10.3-no-Q.patch
31+
"${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch
32+
"${FILESDIR}"/${PN}-1.11.4-fix-elixir-test.patch
33+
"${FILESDIR}"/${PN}-1.14.1-make44-parallel-build.patch
34+
)
35+
36+
src_install() {
37+
emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install
38+
dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md
39+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Avoid exec/SIGCHLD race in daemon fork.
2+
Let's see if it fixes race seen in https://bugs.gentoo.org/727344
3+
--- a/Makefile
4+
+++ b/Makefile
5+
@@ -280,7 +280,7 @@ test_elixir: test_stdlib test_ex_unit test_logger test_mix test_eex test_iex
6+
7+
test_stdlib: compile
8+
@ echo "==> elixir (ex_unit)"
9+
- $(Q) exec epmd & exit
10+
+ $(Q) epmd -daemon
11+
$(Q) if [ "$(OS)" = "Windows_NT" ]; then \
12+
cd lib/elixir && cmd //C call ../../bin/elixir.bat -r "test/elixir/test_helper.exs" -pr "test/elixir/**/$(TEST_FILES)"; \
13+
else \
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Enable verbose builds by default.
2+
--- a/Makefile
3+
+++ b/Makefile
4+
@@ -8,7 +8,7 @@ ERLC := erlc -I lib/elixir/include $(ERLC_OPTS)
5+
ERL := erl -I lib/elixir/include -noshell -pa lib/elixir/ebin
6+
GENERATE_APP := $(CURDIR)/lib/elixir/generate_app.escript
7+
VERSION := $(strip $(shell cat VERSION))
8+
-Q := @
9+
+Q :=
10+
LIBDIR := lib
11+
BINDIR := bin
12+
INSTALL = install
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
From 3e88b1f336f843378790802bd486f6793b7ef872 Mon Sep 17 00:00:00 2001
2+
From: Jan Smutny <js@excello.cz>
3+
Date: Thu, 14 Oct 2021 16:14:55 +0200
4+
Subject: [PATCH] Fix elixir test assertion for erlang >=OTP-24.1
5+
6+
---
7+
lib/elixir/test/elixir/exception_test.exs | 9 +++++----
8+
1 file changed, 5 insertions(+), 4 deletions(-)
9+
10+
diff --git a/lib/elixir/test/elixir/exception_test.exs b/lib/elixir/test/elixir/exception_test.exs
11+
index df9d46bbc..ae08d5185 100644
12+
--- a/lib/elixir/test/elixir/exception_test.exs
13+
+++ b/lib/elixir/test/elixir/exception_test.exs
14+
@@ -446,11 +446,12 @@ test "annotates undefined function error with suggestions" do
15+
* min/1
16+
"""
17+
18+
- assert blame_message(:erlang, & &1.gt_cookie()) == """
19+
- function :erlang.gt_cookie/0 is undefined or private. Did you mean one of:
20+
+ assert blame_message(:erlang, & &1.hal()) == """
21+
+ function :erlang.hal/0 is undefined or private. Did you mean one of:
22+
23+
- * get_cookie/0
24+
- * set_cookie/2
25+
+ * halt/0
26+
+ * halt/1
27+
+ * halt/2
28+
"""
29+
end
30+
31+
--
32+
2.31.1
33+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From c668ce22b0dd72261621f19f124490eb5425eacd Mon Sep 17 00:00:00 2001
2+
From: Matthew Smith <matthew@gentoo.org>
3+
Date: Tue, 15 Nov 2022 21:38:50 +0000
4+
Subject: [PATCH] Disable parallel build in Make 4.4
5+
6+
In versions of GNU Make prior to 4.4, ".NOTPARALLEL: compile" made the whole
7+
build run serially. In 4.4 and later, ".NOTPARALLEL: compile" makes only
8+
the compile target run serially.
9+
10+
This breaks the build and can lead to e.g. EEx being built before Mix.
11+
---
12+
Makefile | 2 +-
13+
1 file changed, 1 insertion(+), 1 deletion(-)
14+
15+
diff --git a/Makefile b/Makefile
16+
index f6ba18d90e..8bb5bcdc65 100644
17+
--- a/Makefile
18+
+++ b/Makefile
19+
@@ -24,7 +24,7 @@ SOURCE_DATE_EPOCH_PATH = lib/elixir/tmp/ebin_reproducible
20+
SOURCE_DATE_EPOCH_FILE = $(SOURCE_DATE_EPOCH_PATH)/SOURCE_DATE_EPOCH
21+
22+
.PHONY: install compile erlang elixir unicode app build_plt clean_plt dialyze test check_reproducible clean clean_residual_files format install_man clean_man docs Docs.zip Precompiled.zip zips
23+
-.NOTPARALLEL: compile
24+
+.NOTPARALLEL:
25+
26+
#==> Functions
27+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
diff --git a/lib/mix/test/mix/tasks/release_test.exs b/lib/mix/test/mix/tasks/release_test.exs
2+
index f200c3e..9b2c75c 100644
3+
--- a/lib/mix/test/mix/tasks/release_test.exs
4+
+++ b/lib/mix/test/mix/tasks/release_test.exs
5+
@@ -268,6 +268,7 @@ defmodule Mix.Tasks.ReleaseTest do
6+
end)
7+
end
8+
9+
+ @tag :skip
10+
@tag :epmd
11+
test "executes rpc instructions" do
12+
in_fixture("release_test", fn ->
13+
@@ -333,6 +334,7 @@ defmodule Mix.Tasks.ReleaseTest do
14+
end)
15+
end
16+
17+
+ @tag :skip
18+
@tag :unix
19+
test "runs in daemon mode" do
20+
in_fixture("release_test", fn ->

dev-lang/erlang/Manifest

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
DIST erlang-24.3.4.17.tar.gz 60419581 BLAKE2B 473eb2fcf5bb7ee7b3cc9013df8469865ebb379fd92c69ac9baf7a807a82f7079598e70ee0c19e78ed7072e9218e84f6ea64a757162457b3a165ddaf4dd595b9 SHA512 92935bef82955b0a95b82ef3a5b2c68d138cfe0cab3edd5850f50ba37c5800ef0b0a33137bb0aa2e398eccbe7afeafce5c695be9a009daab3609f001ad868132
2+
DIST erlang_doc_html_24.3.tar.gz 36645792 BLAKE2B ef90b7d05ed43656ab1ffdbbd0833c9da08a867ad7a99ec0f7f1eb59697c1f9cd5ccd150b2e564af80b2098f063da0c76121d4444b5444e603581442ad1c7bc8 SHA512 b8d3832ffdbdede656b362d719474f7b9ff04a32ea7235e77d63755629cf9305c203cd6cd9ae089171b2cee694f9641d6ed5d0197e2acf893a31d25696096f1e
3+
DIST erlang_doc_man_24.3.tar.gz 1680242 BLAKE2B 3311eb6ed6dcaa2d611adf7a08269f67e3f31d106f6b6d04e5cc91efa8efc382ddb6b230f218fa543390bf4ec37f477e0c4979c82632ebfb6ccda8c5de1fbc41 SHA512 72876911a1ec82071225e7b71de0462254becd64892a5459239b9e44b20601f6b6990a12cd36a8320e81e5307bcf7b5e5057e42baec12403be4a0eda00cdf62c
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
# Copyright 1999-2022 Gentoo Authors
2+
# Distributed under the terms of the GNU General Public License v2
3+
4+
EAPI=7
5+
WX_GTK_VER="3.0-gtk3"
6+
7+
inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
8+
9+
# NOTE: If you need symlinks for binaries please tell maintainers or
10+
# open up a bug to let it be created.
11+
12+
UPSTREAM_V="$(ver_cut 1-2)"
13+
14+
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
15+
HOMEPAGE="https://www.erlang.org/"
16+
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
17+
https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
18+
doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
19+
20+
LICENSE="Apache-2.0"
21+
# We use this subslot because Compiled HiPE Code can be loaded on the exact
22+
# same build of ERTS that was used when compiling the code. See
23+
# http://erlang.org/doc/system_principles/misc.html for more information.
24+
SLOT="0/${PV}"
25+
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
26+
IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
27+
28+
RDEPEND="
29+
acct-group/epmd
30+
acct-user/epmd
31+
sys-libs/ncurses:0
32+
sys-libs/zlib
33+
emacs? ( >=app-editors/emacs-23.1:* )
34+
java? ( >=virtual/jdk-1.8:* )
35+
odbc? ( dev-db/unixODBC )
36+
sctp? ( net-misc/lksctp-tools )
37+
ssl? ( >=dev-libs/openssl-0.9.7d:0= )
38+
systemd? ( sys-apps/systemd )
39+
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
40+
"
41+
DEPEND="${RDEPEND}
42+
dev-lang/perl
43+
"
44+
45+
S="${WORKDIR}/otp-OTP-${PV}"
46+
47+
PATCHES=(
48+
"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
49+
"${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
50+
)
51+
52+
SITEFILE=50"${PN}"-gentoo.el
53+
54+
src_prepare() {
55+
default
56+
57+
tc-export AR CPP CXX LD
58+
59+
# bug #797886: erlang's VM does unsafe casts for ints
60+
# to pointers and back. This breaks on gcc-11 -flto.
61+
append-flags -fno-strict-aliasing
62+
}
63+
64+
src_configure() {
65+
use wxwidgets && setup-wxwidgets
66+
67+
local myconf=(
68+
--disable-builtin-zlib
69+
70+
# don't search for static zlib
71+
--with-ssl-zlib=no
72+
73+
$(use_enable kpoll kernel-poll)
74+
$(use_with java javac)
75+
$(use_enable sctp)
76+
$(use_with ssl ssl)
77+
$(use_enable ssl dynamic-ssl-lib)
78+
$(use_enable systemd)
79+
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
80+
)
81+
econf "${myconf[@]}"
82+
}
83+
84+
src_compile() {
85+
emake
86+
87+
if use emacs ; then
88+
pushd lib/tools/emacs &>/dev/null || die
89+
elisp-compile *.el
90+
popd &>/dev/null || die
91+
fi
92+
}
93+
94+
extract_version() {
95+
local path="$1"
96+
local var_name="$2"
97+
sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
98+
}
99+
100+
src_install() {
101+
local erl_libdir_rel="$(get_libdir)/erlang"
102+
local erl_libdir="/usr/${erl_libdir_rel}"
103+
local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
104+
local erl_erts_ver="$(extract_version erts VSN)"
105+
local my_manpath="/usr/share/${PN}/man"
106+
107+
[[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
108+
[[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
109+
110+
emake INSTALL_PREFIX="${D}" install
111+
112+
if use doc ; then
113+
# Note: we explicitly install docs into:
114+
# /usr/share/doc/${PF}/{doc,lib,erts-*}
115+
# To maintain that layout we gather everything in 'html-docs'.
116+
# See bug #684376.
117+
mkdir html-docs || die
118+
mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die
119+
local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. )
120+
docompress -x /usr/share/doc/${PF}
121+
else
122+
local DOCS=("README.md")
123+
fi
124+
125+
einstalldocs
126+
127+
dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
128+
dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
129+
dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
130+
dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
131+
dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
132+
133+
## Clean up the no longer needed files
134+
rm "${ED}/${erl_libdir}/Install" || die
135+
136+
insinto "${my_manpath}"
137+
doins -r "${WORKDIR}"/man/*
138+
# extend MANPATH, so the normal man command can find it
139+
# see bug 189639
140+
newenvd - "90erlang" <<-_EOF_
141+
MANPATH="${my_manpath}"
142+
_EOF_
143+
144+
if use emacs ; then
145+
elisp-install erlang lib/tools/emacs/*.{el,elc}
146+
sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
147+
"${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
148+
elisp-site-file-install "${T}/${SITEFILE}"
149+
fi
150+
151+
newinitd "${FILESDIR}"/epmd.init-r2 epmd
152+
newconfd "${FILESDIR}"/epmd.confd-r2 epmd
153+
use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
154+
}
155+
156+
pkg_postinst() {
157+
use emacs && elisp-site-regen
158+
}
159+
160+
pkg_postrm() {
161+
use emacs && elisp-site-regen
162+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
;;; erlang site-lisp configuration
2+
3+
(add-to-list 'load-path "@SITELISP@")
4+
(require 'erlang-start)
5+
(setq erlang-root-dir "/usr/share")

0 commit comments

Comments
 (0)