commit: 63382385085e0f75633bffb8db133901e9790f5e Author: Jan Smutný <js <AT> excello <DOT> cz> AuthorDate: Sun Nov 30 20:44:25 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Dec 24 11:46:08 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63382385
dev-lang/erlang: add 28.2 Signed-off-by: Jan Smutný <js <AT> excello.cz> Part-of: https://github.com/gentoo/gentoo/pull/44834 Closes: https://github.com/gentoo/gentoo/pull/44834 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-lang/erlang/Manifest | 3 + dev-lang/erlang/erlang-28.2.ebuild | 167 +++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+) diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 02738fc78e5d..61fbdcc57b0d 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -2,12 +2,15 @@ DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231 DIST erlang-26.2.5.16.tar.gz 62573173 BLAKE2B 579036c955f43e88e023d7a8a292532730b6e6a57844c736cc8596d2f2936228138ddc15d2f715040f1f5e7218f75a7c5c9133346fdaa5a5bf5511c9aad49932 SHA512 4e973be7e8ccad196d59759108a521535b0f046268eb0406f789a50f411fa27c9c11fcfb61a7218605bf1b32921bb52c52fc7c99917e1acfc0d3ed09437129b2 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.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 DIST erlang_doc_html_28.1.tar.gz 26601601 BLAKE2B 47202b7bcd205c8a46206ccd29ee9f41f3e842cf2035fb7841e758fe3764f74a856c87f5f2030aafcf803cd078df2fe86acb458ab978fadd41cbfca8ba486bef SHA512 d51b1b858dd9dcf72fe482f65c4507098ff85dd5ff2d35ee0beaf5bfdfc08ac8fd0758b143001fedb76a7896af5d9b6f7d61fc23ec457787e2cbd69c9c28f6c7 +DIST erlang_doc_html_28.2.tar.gz 26633416 BLAKE2B dfdc1892d64d0ba01ed806f611317302d1caed276d0e897232d986478a54d7c1297e7fdb515118bca8c3538c20e072982ae10e3c535207fb71b3d98f4192967b SHA512 8de995d3b4217f00ad5086bda9311642be7e3d3462845cb44995696bb6d7e952966f71cce152502ffd3ccc4522a8862217de65a572db0f21eadb9cd4be383a9e DIST erlang_doc_html_28.3.tar.gz 26701662 BLAKE2B 1ea11b5cac246e679925bad470376f4a15caa4745962cc68ebae989b0987e9628516183e1e842cbd35a285ffb83c4d527598bbb42407b30bf76d628107cf9318 SHA512 fb738ff5df055b9d62da8bafff94105a2f89e49f07768abdc8b937981b2a854972114e8040f990a9538f0173755e719bc38d3b484617d63abddc66d05164093c DIST erlang_doc_man_26.2.tar.gz 1746046 BLAKE2B 20f3c5203313bc40595f9a0996c1a31c76d9b1da1ba90fd99b8946b23425c13ce11d27fb9b042911a39297c5bceeff098b44082a007cb2373cac253321f4435c SHA512 bdde6687b449391af5144de54e6d4edbaa75065e9f9cf1ec3878a034968785c2b35eb95331cad329fae6656461f1bc9475b68d1ee05af48166aa9c1083f841a0 DIST erlang_doc_man_27.3.tar.gz 45121 BLAKE2B 7d94a28330ade85fc79345c32f1bde97d85760eb8bed7885885c4b0aead2b7ab9889c848bde74472c857bd686269e163f36be1f9c3b0273e0095ab981528becf SHA512 14002da89b74f1cd718a42fe930c6ef3ac24a66fa14610a73a3980d0cabc0373a09d06aa755d344c17812ebd8f3a27727078f3012f09565185fd3b96e32be4c9 DIST erlang_doc_man_28.1.tar.gz 45158 BLAKE2B 45c2a07ea9a977bab9d798ae09fb25aa6cee840219e0ab3c6a270d472b3712d74bddeb36d6641c509f75f25092507fba102b6f930241aa3add6a825d6d41e6cb SHA512 4320ac92d87e48c64827910f05acdf48f1422c0f22731a1c10e1c2973eb504bb0072abef69d3c52afeee15090b9003862b9b9cd98fa0f3710a399f20e86cb39c +DIST erlang_doc_man_28.2.tar.gz 45186 BLAKE2B 2b76af69970d5a38c6d7e725aa9b510c348167e2ed61c4d79126b076d08973e1d213b11aebab106951e07c83061b8f0e3a8e4ef418dfe15068008ad0a8a94313 SHA512 e268f056bf8a35f0832c8f15cd3cf585929e8253df764d012aea18b23abc23d20faf24c54303dc7175451e58d90928434b44234ca0cf45e54278beafe1d5f48e DIST erlang_doc_man_28.3.tar.gz 1884713 BLAKE2B ecd9f224326b4121a173ec5522ac01c53766c876807aec738dde2188309876745dc329f33119788d6208248cbbd75b6fca8acbdc3f63a025e9b82217e97e8656 SHA512 b37838982d0edabcd5bc98bbd6656a713df78adba0550826ac2e83ba86333bdfa6023193e56e19164eb2c77cba1f216909fc61b6c4c00e9bb37bffac10fcf089 diff --git a/dev-lang/erlang/erlang-28.2.ebuild b/dev-lang/erlang/erlang-28.2.ebuild new file mode 100644 index 000000000000..0ab2ece3fa63 --- /dev/null +++ b/dev-lang/erlang/erlang-28.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 ~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 +} + +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" +}
