commit:     e44665a16012566277a05acbeecf7f6080526b43
Author:     Jan Smutný <js <AT> excello <DOT> cz>
AuthorDate: Wed Feb  4 05:21:41 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 11 07:14:28 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e44665a1

dev-lang/erlang: add 28.3.1

Signed-off-by: Jan Smutný <js <AT> excello.cz>
Part-of: https://github.com/gentoo/gentoo/pull/45630
Closes: https://github.com/gentoo/gentoo/pull/45630
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/erlang/Manifest             |   1 +
 dev-lang/erlang/erlang-28.3.1.ebuild | 167 +++++++++++++++++++++++++++++++++++
 2 files changed, 168 insertions(+)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 61fbdcc57b0d..26a5f76e2f5e 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -3,6 +3,7 @@ DIST erlang-26.2.5.16.tar.gz 62573173 BLAKE2B 
579036c955f43e88e023d7a8a292532730
 DIST erlang-27.3.4.6.tar.gz 62294146 BLAKE2B 
54976ebeea5352bbacd0a8ca014a3952c7ba6dce38143bb40040c4928000be055c4ac1df455f18ff2f7d26724cfa0331882f1dbaddaf22bc35e7c5d1c0bbf54d
 SHA512 
c44d76b7a3eff6e58f4a4be8170e330259cc1d76a8d13ce77b71b14ef07be2413f0a6836c1c8e84b50b7ba756c2e5f78b68b816bf5072ed7f2511e97328ec853
 DIST erlang-28.1.tar.gz 63993104 BLAKE2B 
b02df23135c00940f8122133cfb581f56d23f380396b980e7f12b98bf3a4d540474b5da184710297b5d00948c44f30a638887bcbe5e93259e3d72fe40e052816
 SHA512 
98b956bcd00fceb277b5ba335db8d947c4be104b55225c0bddbb8cd145366cc237fbf1a8f477c091dce9ecc6d617a7964198379f7f37fd79e0d24df692c1f6b7
 DIST erlang-28.2.tar.gz 64008686 BLAKE2B 
e8adb32dbe6c85a9b00d489d051d50889ba718a5ad7ab09fba3912bfaf533aa9efd2d390ac6e01c46708c777052dcf056d45463d59cd259e37d4da5734d83564
 SHA512 
cd2fbd818bf96a246de6c4a9c708bb2ee7f539ef38eb916d5b094f66d3156b2522afe2fbfb1ca75bec1735c341c6b4edcfb1ba0ce848b59d84d9aa0ef48794cc
+DIST erlang-28.3.1.tar.gz 64130997 BLAKE2B 
b00ed37125a0130040e08d170bae5d669b9570edeac6dc0d27cbe032eddadc4a1f136eeb1817eb4ea99781e59e90f8ba695990d598508f3b939bf87ba80877ac
 SHA512 
1de8ffff33f8f71ddf5af0d309158962cee87ab9ca5ba01dc1750694b28564fb96f90a1acd46e87c0867ec36a49801b8a74a596c8c1378976a16006f5adca47f
 DIST erlang-28.3.tar.gz 64134195 BLAKE2B 
f9079b89191cdb7ceea6a1b3fc4da1eae78df2875a35dbba6ed37ca8035a11f63561c0666acaab804679124fc9f6272b2991a87855ac1608e8eac8eee2ee4765
 SHA512 
0120a6d7f1364915db2d0ec8fe184ab64132c94b55a2b0b64c54b88bd19a925295059efca20f1802733bb2d1780372f3b9113829a78b9c0d3e8d4eceb7fde0f3
 DIST erlang_doc_html_26.2.tar.gz 37572819 BLAKE2B 
c9e5dcaf4a282063a58883fc63adb14e4448333e07994542fdf6dfb29cf4c782f3b7a33b4b6543ffa64b2ce9f40fa9482ca798181bd84e00ebaf5a3223d300d4
 SHA512 
846f42666d190c9c2b4c11048e842f921d2bc9767483b6f54095c3aba0cbea9a0fbe06daac4c4837b371f9653346660704ea957fd9fbb6606e4274897042abaa
 DIST erlang_doc_html_27.3.tar.gz 26018303 BLAKE2B 
cd21ae4f8d50b9b939539ecc508c085d1815fa927798258f6ef2ce139bf4a1e31f2f420185684a8820a93ead671c3149510cd7bb87c8c6b68817133208be3cc0
 SHA512 
85e775556af7ea44393797295eb3c676ebe57523c7fba1a1b042a135d7b9dc4bf2b8ae66284486f84dd749b9e4f1739276f32294050215ac4f03e6c86efb71e6

diff --git a/dev-lang/erlang/erlang-28.3.1.ebuild 
b/dev-lang/erlang/erlang-28.3.1.ebuild
new file mode 100644
index 000000000000..d46825d612d0
--- /dev/null
+++ b/dev-lang/erlang/erlang-28.3.1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
+
+inherit autotools flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
+
+UPSTREAM_V="$(ver_cut 1-2)"
+
+DESCRIPTION="Erlang programming language, runtime environment and libraries 
(OTP)"
+HOMEPAGE="https://www.erlang.org/ https://github.com/erlang/otp";
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
+       
https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz
+               -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+       doc? ( 
https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz
+                -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+S="${WORKDIR}"/otp-OTP-${PV}
+
+LICENSE="Apache-2.0"
+# We use this subslot because Compiled HiPE Code can be loaded on the exact
+# same build of ERTS that was used when compiling the code.  See
+# http://erlang.org/doc/system_principles/misc.html for more information.
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos 
~x64-solaris"
+IUSE="doc java +kpoll odbc sctp ssl systemd tk wxwidgets"
+
+RDEPEND="
+       acct-group/epmd
+       acct-user/epmd
+       sys-libs/ncurses:0
+       virtual/zlib:=
+       java? ( >=virtual/jdk-1.8:* )
+       odbc? ( dev-db/unixODBC )
+       sctp? ( net-misc/lksctp-tools )
+       ssl? ( >=dev-libs/openssl-0.9.7d:0= )
+       systemd? ( sys-apps/systemd )
+       wxwidgets? (
+               dev-libs/glib:2
+               x11-libs/wxGTK:${WX_GTK_VER}=[X,opengl]
+               virtual/glu
+       )
+"
+DEPEND="${RDEPEND}
+       dev-lang/perl
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-27.0-dont-ignore-LDFLAGS.patch
+       "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+       # FreeBSD & OpenBSD
+       pthread_set_name_np
+)
+
+src_prepare() {
+       default
+
+       tc-export AR CPP CXX LD
+
+       # bug #797886: erlang's VM does unsafe casts for ints
+       # to pointers and back. This breaks on gcc-11 -flto.
+       append-flags -fno-strict-aliasing
+
+       # Ensure that we use erl_interface's libei.a, and not the system
+       # libei.so from dev-libs/libei. Bug #912888.
+       sed -i 's/-lei$/-l:libei.a/' \
+               "${S}"/lib/odbc/c_src/Makefile.in || die
+       (cd "${S}"/lib/odbc &&
+                eautoconf -B "${S}"/make/autoconf &&
+                eautoheader -B "${S}"/make/autoconf) || die
+}
+
+src_configure() {
+       use wxwidgets && setup-wxwidgets
+
+       local myconf=(
+               --disable-builtin-zlib
+
+               # don't search for static zlib
+               --with-ssl-zlib=no
+
+               $(use_enable kpoll kernel-poll)
+               $(use_with java javac)
+               $(use_with odbc)
+               $(use_enable sctp)
+               $(use_with ssl ssl="${EPREFIX}"/usr)
+               $(use_enable ssl dynamic-ssl-lib)
+               $(use_enable systemd)
+               $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" 
"--with-wxdir=/dev/null")
+       )
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       emake
+       use doc && emake docs DOC_TARGETS=chunks
+}
+
+src_test() {
+       # Only run a subset of tests to test that everything was built
+       # successfully, otherwise we will be here for a long time.
+       emake kernel_test ARGS="-suite os_SUITE"
+}
+
+extract_version() {
+       local path="$1"
+       local var_name="$2"
+       sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || 
die "extract_version() failed"
+}
+
+src_install() {
+       local erl_libdir_rel="$(get_libdir)/erlang"
+       local erl_libdir="/usr/${erl_libdir_rel}"
+       local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
+       local erl_erts_ver="$(extract_version erts VSN)"
+       local my_manpath="/usr/share/${PN}/man"
+
+       [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
+       [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface 
version"
+
+       emake INSTALL_PREFIX="${D}" install
+
+       if use doc ; then
+               emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks
+
+               # Note: we explicitly install docs into:
+               #     /usr/share/doc/${PF}/{doc,lib,erts-*}
+               # To maintain that layout we gather everything in 'html-docs'.
+               # See bug #684376.
+               mkdir html-docs || die
+               mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* 
html-docs/ || die
+               local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" 
html-docs/. )
+               docompress -x /usr/share/doc/${PF}
+       else
+               local DOCS=("README.md")
+       fi
+
+       einstalldocs
+
+       dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
+       dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
+       dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
+       dosym 
"../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" 
/usr/bin/erl_call
+       dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" 
/usr/bin/beam.smp
+
+       ## Clean up the no longer needed files
+       rm "${ED}/${erl_libdir}/Install" || die
+
+       # Bug #922743
+       docompress "${my_manpath}"
+
+       insinto "${my_manpath}"
+       doins -r "${WORKDIR}"/man/*
+       # extend MANPATH, so the normal man command can find it
+       # see bug 189639
+       newenvd - "90erlang" <<-_EOF_
+               MANPATH="${my_manpath}"
+       _EOF_
+
+       newinitd "${FILESDIR}"/epmd.init-r3 epmd
+       use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 
epmd.service
+}

Reply via email to