commit:     efb1d4b1f78aac24825988b9306ae7459cc545a5
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 23 05:17:59 2025 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Sat Aug 23 05:32:51 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efb1d4b1

dev-lang/erlang: add 28.0.2

Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>

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

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 68b8776332c9..ea48e50e1f0c 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -1,6 +1,7 @@
 DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 
4e257c73de868b5bbd213a66ece60f29e5231845c5f40b17876b8f042c20ba89bced920ffdbb2a44b890b920d8a147b0a0cb4a2bce66a51e49b720ee794c06c9
 SHA512 
f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c
 DIST erlang-26.2.4.tar.gz 62476971 BLAKE2B 
f3acfb05a569ce0b4cfd9d9a30ac4840845cc285691294c2ff2776c45812b9046d3453700150912128c385458a3afba7dc54ab773611d46de31b4d2744fcdaf6
 SHA512 
2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d
 DIST erlang-27.2.tar.gz 62210841 BLAKE2B 
2f5d664eadb1866f6b2c5874704a3e6ab8181f2f465805f710c2643acb09b94cfaf8aa679df60be2ef048f54f8485c3e552fcc12b7f5d2cf4a87a72edb5bc47c
 SHA512 
dd64bf6c997cd2c201afdc693b3766468d9dad86ced46d3701da3858cac57e056148f5e45bfbccf8a92d3a55640a7f46ea4f5184ffc3b9f227bec3c3dfb41ab0
+DIST erlang-28.0.2.tar.gz 63871146 BLAKE2B 
f95cc92efd81dd3cb8e2e91b975db7ab45e42d6efc5e241317ed5a74625a209a77398f04a031c9e8cb1d21b7456606d3f6bff720a541927d338bd79cc8c283eb
 SHA512 
48c74dd47091f86aee5b8aa453e0e610c0c8be23da43a49f30caad76fa6d8ed3e2a4744e8895669c0884162cafb355c497f23438e28bc36d2ea79b2c39b45cc2
 DIST erlang-28.0.tar.gz 63814863 BLAKE2B 
6ca8c34a48980dfb24b13e9306505a759978eca1a80444014e8a362344a7ebcc95b621873abeee229ea6beb476c35a054ca96cd36ff24462d94c4adfcedd0084
 SHA512 
bd13bd5ee753ad4277905c0868fca8d8058fae30e1570d115eed3b133058e0d755204b9984d3826fe24cdc7fec617d4d4a86bd28f51c7b70bef2242fdb00ccb6
 DIST erlang_doc_html_26.2.tar.gz 37572819 BLAKE2B 
c9e5dcaf4a282063a58883fc63adb14e4448333e07994542fdf6dfb29cf4c782f3b7a33b4b6543ffa64b2ce9f40fa9482ca798181bd84e00ebaf5a3223d300d4
 SHA512 
846f42666d190c9c2b4c11048e842f921d2bc9767483b6f54095c3aba0cbea9a0fbe06daac4c4837b371f9653346660704ea957fd9fbb6606e4274897042abaa
 DIST erlang_doc_html_27.2.tar.gz 29949824 BLAKE2B 
f8c32698ff446095742ada9b4a67ce3fe5009bfa99973f7c2826e421f9228544e94493dc3b9f661a2288b8e347329efedfa8b1a113085a4db28ba23c73648bd1
 SHA512 
51f5b33ffe7abc3cca7cde8170cdd6257c628c9d733b0c3fc6a2fecc9515ee39e618f1925e4300de7f055de73665a43d1953225a90504ed732b5b22df3237b53

diff --git a/dev-lang/erlang/erlang-28.0.2.ebuild 
b/dev-lang/erlang/erlang-28.0.2.ebuild
new file mode 100644
index 000000000000..07e568f23bcf
--- /dev/null
+++ b/dev-lang/erlang/erlang-28.0.2.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2025 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 ~amd64-linux 
~x86-linux ~ppc-macos ~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
+       sys-libs/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)
+               $(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
+}
+
+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
+}
+
+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"
+}

Reply via email to