summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/erlang')
-rw-r--r--dev-lang/erlang/Manifest20
-rw-r--r--dev-lang/erlang/erlang-23.2.1.ebuild159
-rw-r--r--dev-lang/erlang/erlang-23.2.ebuild159
-rw-r--r--dev-lang/erlang/erlang-26.2.1.ebuild (renamed from dev-lang/erlang/erlang-23.2.2.ebuild)69
-rw-r--r--dev-lang/erlang/erlang-26.2.2.ebuild (renamed from dev-lang/erlang/erlang-23.1.4.ebuild)73
-rw-r--r--dev-lang/erlang/erlang-26.2.4.ebuild (renamed from dev-lang/erlang/erlang-23.1.5.ebuild)74
-rw-r--r--dev-lang/erlang/erlang-27.0.ebuild (renamed from dev-lang/erlang/erlang-23.0.4.ebuild)88
-rw-r--r--dev-lang/erlang/files/18.2.1-wx3.0.patch113
-rw-r--r--dev-lang/erlang/files/epmd.confd-r22
-rw-r--r--dev-lang/erlang/files/epmd.init26
-rw-r--r--dev-lang/erlang/files/epmd.init-r3 (renamed from dev-lang/erlang/files/epmd.init-r2)4
-rw-r--r--dev-lang/erlang/files/epmd.service9
-rw-r--r--dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch99
-rw-r--r--dev-lang/erlang/files/erlang-24.0.2-serial-configure.patch12
-rw-r--r--dev-lang/erlang/files/erlang-25.1.2-c99.patch101
-rw-r--r--dev-lang/erlang/files/erlang-26.2.4-test-errorinfo.patch14
-rw-r--r--dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch23
-rw-r--r--dev-lang/erlang/metadata.xml18
18 files changed, 376 insertions, 687 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 9b1c6f1f1347..184d277e7135 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -1,12 +1,8 @@
-DIST erlang-23.0.4.tar.gz 56394805 BLAKE2B 10a4e9e3084ad2d1bb10fa736d86eb03fa6b249f83b9d06bfef4c37f99ad86dd1415c2fbaa1524cddaf57dd228d25f388fa9fe9f5b4a03ba7477080e11020fb1 SHA512 53d4b7a5e76113bb3a9695a266e58dbebb57887b1eea4e8acb56bb85d194295231d739719d526dfc6d1f0bf745d7f059fdf5ec9dc79859f5b16a75c4d0a6b348
-DIST erlang-23.1.4.tar.gz 56503340 BLAKE2B f4b26aa5882bb3d2218897706734798a80cbb5113008be70b2a0c793a5cc1eb01eb1ace17ae525e19f176e47ffc85b108240b7fec71cf8eedb4d67860ecaa98b SHA512 864b69fc69f3843dfe839faf1c1e86ec505282ec4d86ed1add445998ba28bcc623522471d8d8636a9cf1e24e84f99d5cae3880a4b1171abab9651ef242a55367
-DIST erlang-23.1.5.tar.gz 56508089 BLAKE2B 7784cbed8df68d449cbace6d84b37208b739a3b12fbed1117f05c765883d348e877001f5eba15ffdec5acc47725bf69d06a7f02b48766efa5496a8326fb8eb8c SHA512 dccb863ace1f3c3fd17c848bf21c982338546e2be2a3b81ade35bcefeb4ff75afff28ebe2363ccf7f4680417f83bbeaa51c74274a23621139b5a4be6bb824955
-DIST erlang-23.2.1.tar.gz 56580525 BLAKE2B 4b5d4be9d0501dd2eb5d44357ccc9a169dc3b5742380264a7929e6aebf1d003327b2c109aa7dc4ad668f1576376e54022ff240f41df7af9010184d643eae2371 SHA512 444c19fac295a979321ccde1f516156a25faa79d66437ddf7bc0a197f3fb8d2ddd6c056d565f9b6bc47e8444b8feda790c4844dbe95ec0b300428fb22c4e0531
-DIST erlang-23.2.2.tar.gz 56594755 BLAKE2B 3f5c552d3cd070b36bc7a1112b9541f358001ee4ad49a62ccce3462b02b642d4abc0bf8844e5441168be850f5588cf4ecdbf545fcff60e7746cec637898f2c7e SHA512 26743a7a4b2e31e63c0940ed6fdad64427c22e0f08fc063e1b8639bea6fa89c6b24e9c87ca572475d3ce39a18857ef6143676653cdf97b374656ae49f5892633
-DIST erlang-23.2.tar.gz 56581092 BLAKE2B f3191b99465ab18eaf13c6d15f79ae150fb04337450b3ff145532aab0da229c44c082bb138a79c84860f09107a363c34e2b2505ce38c6c8dea1ede5fbe3ce044 SHA512 3bdb464992387c5a352c11bf9dc49c6a982dac10865d2b668d8db6fb45db15f4d79d38976d04fbbd51568ee9efb8b5295bb06b6fee37b81fde6fa43c51dcc313
-DIST erlang_doc_html_23.0.tar.gz 36238699 BLAKE2B bce5fb1d766d3a795728cf7c00529129690f52e5dbe7363095cb7e63d5331a4dfc05c2042d24f10c7f3facbd187284aa323a92c0ed7515c1750aee4cd890fbd4 SHA512 bd0b1adf8639674d31152024e1351105249c6e6f93f28362e9e4b66ce6daadbe5eef5917a5889c926130e81bd000cfc44895ebaa309bf9a0c1c125713b715927
-DIST erlang_doc_html_23.1.tar.gz 36285075 BLAKE2B e2e24ac4cecfc9c10853fd3718e8e332579a91bf25eaaf9e0fc2044d89bcd6d03fd251d6a8ab64a86439f1244e275ef398701b47933a741d4e64016838db48aa SHA512 c8fecb08344c9c7a4c7b911ac4f73e2d8c0c3778d665098c3377e055346a7ecfcc378bca28dff768c36dc7bf7447308f4fb58273875c22f2d6cd896fd6232656
-DIST erlang_doc_html_23.2.tar.gz 36537148 BLAKE2B b19d3fb5836b50512db6913ccb9116bc06ef4677c9514db89714ac72a9e7569b2c52612c357ccbf9a12610000885cbc8a43cc17f80c533a3c65af89c1b592ba6 SHA512 0d334dfe46ecffd6ff720d176c4514e2d49ba1b5feccd80f8392a8335100a6c289207431d2c0da02043c923de083290f9fd23726a1d1481508acdd7596f67ea4
-DIST erlang_doc_man_23.0.tar.gz 1383486 BLAKE2B 63a9989c26797fe07fbd0ccca0d8425d94bc60a86fa93b5332c8d1f3e12a0071d9e6d4759be73bf44bf35dd14723b9e6707a84ba834e1775bc28aeec1edbe168 SHA512 81575ce7b267f5bb48bd844808e8edd4e373640bbc481372b288602eb9d3c9917e6c7c040c035b63a2f6edf437c3d826d6afdf5801765b51d9edd4a3b2a5b16f
-DIST erlang_doc_man_23.1.tar.gz 1384042 BLAKE2B 914f64d9317e45e22dc0a3025306d36f12eb998734bd15cd29b540f9a848f11c1cf6897f9cd7aea2d2c95ed6ef3e544ee674a9a97a87e0340e4b65e09b0cee6e SHA512 90f026618f45a2a78590f093378e4883c5f442816367eb1691ea4fe7c36694f4a47325e738e6b585195678993bcdefdf4f8180894b16721277d02b2b79aef285
-DIST erlang_doc_man_23.2.tar.gz 1386417 BLAKE2B 91fb2646461330c2f3793e7819e4c77ba9259366098b710fd102ffbcbcf38fa84ad720613313e3c59c1d419aaddd5a1a85d26c5d41a71d6692d428a494f57012 SHA512 464fa2c3608a6c096a241e5fc2cee710ef51394b169e3b3ce3ab5f69d847437c54780d4afc1a799d13f88ea88ac64056b19bff4d927e1e6bbe54a773b0ccd89d
+DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231845c5f40b17876b8f042c20ba89bced920ffdbb2a44b890b920d8a147b0a0cb4a2bce66a51e49b720ee794c06c9 SHA512 f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c
+DIST erlang-26.2.2.tar.gz 62440930 BLAKE2B c2746b3eb4ffcd3643803745df3e6474291edfb1bd50a0a7cd858942d89808d8b041afd7d8c9dbd0ac336b71412cad972768a3c11d06908605e8a9521f5f5c11 SHA512 27d89f4ee1c7beccd27348ad0d5d9650cda58614f3c278b0a7cf062bf4efc91bd1c7aecfff55b934c57f69cb30c41ead89b94625616817acb2e5910b95bc80fd
+DIST erlang-26.2.4.tar.gz 62476971 BLAKE2B f3acfb05a569ce0b4cfd9d9a30ac4840845cc285691294c2ff2776c45812b9046d3453700150912128c385458a3afba7dc54ab773611d46de31b4d2744fcdaf6 SHA512 2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d
+DIST erlang-27.0.tar.gz 62019520 BLAKE2B 9c683e4de7a1b98579e572667746461b9cba0b54d572cde75e3484003548fea2f657292b7f6bfcb4e765d74d744276ddf5ee3f7f615b29cc4b3e563a8cc00944 SHA512 16945c50c09caad9aac6808470ea2a0e282713f23e54cd4ad60510b114811b5deac427acb36cc8049443b4e3c3302c40b02c696cf3f2028f8bd3e836c8c48ea9
+DIST erlang_doc_html_26.2.tar.gz 37572819 BLAKE2B c9e5dcaf4a282063a58883fc63adb14e4448333e07994542fdf6dfb29cf4c782f3b7a33b4b6543ffa64b2ce9f40fa9482ca798181bd84e00ebaf5a3223d300d4 SHA512 846f42666d190c9c2b4c11048e842f921d2bc9767483b6f54095c3aba0cbea9a0fbe06daac4c4837b371f9653346660704ea957fd9fbb6606e4274897042abaa
+DIST erlang_doc_html_27.0.tar.gz 29506649 BLAKE2B bae1425e3b43608c59975c7936e3e250ae9606acce34a7168c2ef1aba60a2956858e3a5cb4412f8ff937c93821110eae5f0d71b9378cce86d9ad9810f70510dc SHA512 a86497709bb0571b261f520f3e875d51628bc741affa8aded941fd9f66a7a6c821dbf415554cd7be6f91ebedd0d6ca7e6dde2f072bbffdf307bc127f17423536
+DIST erlang_doc_man_26.2.tar.gz 1746046 BLAKE2B 20f3c5203313bc40595f9a0996c1a31c76d9b1da1ba90fd99b8946b23425c13ce11d27fb9b042911a39297c5bceeff098b44082a007cb2373cac253321f4435c SHA512 bdde6687b449391af5144de54e6d4edbaa75065e9f9cf1ec3878a034968785c2b35eb95331cad329fae6656461f1bc9475b68d1ee05af48166aa9c1083f841a0
+DIST erlang_doc_man_27.0.tar.gz 1764909 BLAKE2B b55614bc3c795813eb2d73dc990f740efc8408a3639d98569adb9718ee140eb04ac2289ca3cd764d2610ac2138dfd6173b50bcae58b3971b51f4819cc33420e3 SHA512 f37fca2943f1c607da5d9cddfa3949b0f43e2cff1049eb9dea60a9833a607a0d1ff8bd835204d0dce20865c326dd4da149a6047a084e95ad9719e84817fd8f46
diff --git a/dev-lang/erlang/erlang-23.2.1.ebuild b/dev-lang/erlang/erlang-23.2.1.ebuild
deleted file mode 100644
index e266bd5246c6..000000000000
--- a/dev-lang/erlang/erlang-23.2.1.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
-
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
-
-UPSTREAM_V="$(ver_cut 1-2)"
-
-DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
-HOMEPAGE="https://www.erlang.org/"
-SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
-
-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 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
-
-RDEPEND="
- acct-group/epmd
- acct-user/epmd
- sys-libs/ncurses:0
- sys-libs/zlib
- emacs? ( >=app-editors/emacs-23.1:* )
- java? ( >=virtual/jdk-1.8:* )
- odbc? ( dev-db/unixODBC )
- sctp? ( net-misc/lksctp-tools )
- ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- systemd? ( sys-apps/systemd )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-"
-DEPEND="${RDEPEND}
- dev-lang/perl
-"
-
-S="${WORKDIR}/otp-OTP-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/18.2.1-wx3.0.patch
- "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
- "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch
-)
-
-SITEFILE=50"${PN}"-gentoo.el
-
-src_prepare() {
- default
-
- ./otp_build autoconf || die
-}
-
-src_configure() {
- use wxwidgets && setup-wxwidgets
-
- local myconf=(
- --disable-builtin-zlib
- $(use_enable hipe)
- $(use_enable kpoll kernel-poll)
- $(use_with java javac)
- $(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
-
- if use emacs ; then
- pushd lib/tools/emacs &>/dev/null || die
- elisp-compile *.el
- popd &>/dev/null || die
- fi
-}
-
-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
- # 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
-
- 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_
-
- if use emacs ; then
- elisp-install erlang lib/tools/emacs/*.{el,elc}
- sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
- "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
- elisp-site-file-install "${T}/${SITEFILE}"
- fi
-
- newinitd "${FILESDIR}"/epmd.init-r2 epmd
- newconfd "${FILESDIR}"/epmd.confd-r2 epmd
- use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-lang/erlang/erlang-23.2.ebuild b/dev-lang/erlang/erlang-23.2.ebuild
deleted file mode 100644
index 3c1427ccf895..000000000000
--- a/dev-lang/erlang/erlang-23.2.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
-
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
-
-UPSTREAM_V="$(ver_cut 1-2)"
-
-DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
-HOMEPAGE="https://www.erlang.org/"
-SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
-
-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 ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
-
-RDEPEND="
- acct-group/epmd
- acct-user/epmd
- sys-libs/ncurses:0
- sys-libs/zlib
- emacs? ( >=app-editors/emacs-23.1:* )
- java? ( >=virtual/jdk-1.8:* )
- odbc? ( dev-db/unixODBC )
- sctp? ( net-misc/lksctp-tools )
- ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- systemd? ( sys-apps/systemd )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-"
-DEPEND="${RDEPEND}
- dev-lang/perl
-"
-
-S="${WORKDIR}/otp-OTP-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/18.2.1-wx3.0.patch
- "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
- "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch
-)
-
-SITEFILE=50"${PN}"-gentoo.el
-
-src_prepare() {
- default
-
- ./otp_build autoconf || die
-}
-
-src_configure() {
- use wxwidgets && setup-wxwidgets
-
- local myconf=(
- --disable-builtin-zlib
- $(use_enable hipe)
- $(use_enable kpoll kernel-poll)
- $(use_with java javac)
- $(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
-
- if use emacs ; then
- pushd lib/tools/emacs &>/dev/null || die
- elisp-compile *.el
- popd &>/dev/null || die
- fi
-}
-
-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
- # 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
-
- 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_
-
- if use emacs ; then
- elisp-install erlang lib/tools/emacs/*.{el,elc}
- sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
- "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
- elisp-site-file-install "${T}/${SITEFILE}"
- fi
-
- newinitd "${FILESDIR}"/epmd.init-r2 epmd
- newconfd "${FILESDIR}"/epmd.confd-r2 epmd
- use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-lang/erlang/erlang-23.2.2.ebuild b/dev-lang/erlang/erlang-26.2.1.ebuild
index e78f4f36b069..a59eaf942aa4 100644
--- a/dev-lang/erlang/erlang-23.2.2.ebuild
+++ b/dev-lang/erlang/erlang-26.2.1.ebuild
@@ -1,29 +1,26 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
+inherit autotools elisp-common 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/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+ https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ 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 )"
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 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
acct-group/epmd
@@ -34,12 +31,12 @@ RDEPEND="
java? ( >=virtual/jdk-1.8:* )
odbc? ( dev-db/unixODBC )
sctp? ( net-misc/lksctp-tools )
- ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
- libressl? ( dev-libs/libressl:0= )
- )
+ ssl? ( >=dev-libs/openssl-0.9.7d:0= )
systemd? ( sys-apps/systemd )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )
"
DEPEND="${RDEPEND}
dev-lang/perl
@@ -48,8 +45,9 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/otp-OTP-${PV}"
PATCHES=(
- "${FILESDIR}"/18.2.1-wx3.0.patch
"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+ "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887
)
SITEFILE=50"${PN}"-gentoo.el
@@ -57,7 +55,19 @@ SITEFILE=50"${PN}"-gentoo.el
src_prepare() {
default
- ./otp_build autoconf || die
+ 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() {
@@ -65,11 +75,15 @@ src_configure() {
local myconf=(
--disable-builtin-zlib
- $(use_enable hipe)
+
+ # 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_with ssl ssl)
$(use_enable ssl dynamic-ssl-lib)
$(use_enable systemd)
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
@@ -80,6 +94,10 @@ src_configure() {
src_compile() {
emake
+ if use doc ; then
+ emake docs DOC_TARGETS=chunks
+ fi
+
if use emacs ; then
pushd lib/tools/emacs &>/dev/null || die
elisp-compile *.el
@@ -106,6 +124,8 @@ src_install() {
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'.
@@ -144,11 +164,16 @@ src_install() {
elisp-site-file-install "${T}/${SITEFILE}"
fi
- newinitd "${FILESDIR}"/epmd.init-r2 epmd
- newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ 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"
+}
+
pkg_postinst() {
use emacs && elisp-site-regen
}
diff --git a/dev-lang/erlang/erlang-23.1.4.ebuild b/dev-lang/erlang/erlang-26.2.2.ebuild
index 27ebfc6b45ee..df4dbc9c93da 100644
--- a/dev-lang/erlang/erlang-23.1.4.ebuild
+++ b/dev-lang/erlang/erlang-26.2.2.ebuild
@@ -1,29 +1,26 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
+inherit autotools elisp-common 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/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+ https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ 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 )"
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 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
acct-group/epmd
@@ -34,12 +31,12 @@ RDEPEND="
java? ( >=virtual/jdk-1.8:* )
odbc? ( dev-db/unixODBC )
sctp? ( net-misc/lksctp-tools )
- ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
- libressl? ( dev-libs/libressl:0= )
- )
+ ssl? ( >=dev-libs/openssl-0.9.7d:0= )
systemd? ( sys-apps/systemd )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )
"
DEPEND="${RDEPEND}
dev-lang/perl
@@ -48,9 +45,9 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/otp-OTP-${PV}"
PATCHES=(
- "${FILESDIR}"/18.2.1-wx3.0.patch
"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
- "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch
+ "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+ "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887
)
SITEFILE=50"${PN}"-gentoo.el
@@ -58,7 +55,19 @@ SITEFILE=50"${PN}"-gentoo.el
src_prepare() {
default
- ./otp_build autoconf || die
+ 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() {
@@ -66,11 +75,15 @@ src_configure() {
local myconf=(
--disable-builtin-zlib
- $(use_enable hipe)
+
+ # 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_with ssl ssl)
$(use_enable ssl dynamic-ssl-lib)
$(use_enable systemd)
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
@@ -81,6 +94,10 @@ src_configure() {
src_compile() {
emake
+ if use doc ; then
+ emake docs DOC_TARGETS=chunks
+ fi
+
if use emacs ; then
pushd lib/tools/emacs &>/dev/null || die
elisp-compile *.el
@@ -107,6 +124,8 @@ src_install() {
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'.
@@ -130,6 +149,9 @@ src_install() {
## 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
@@ -145,11 +167,16 @@ src_install() {
elisp-site-file-install "${T}/${SITEFILE}"
fi
- newinitd "${FILESDIR}"/epmd.init-r2 epmd
- newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ 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"
+}
+
pkg_postinst() {
use emacs && elisp-site-regen
}
diff --git a/dev-lang/erlang/erlang-23.1.5.ebuild b/dev-lang/erlang/erlang-26.2.4.ebuild
index 27ebfc6b45ee..233389fa0b29 100644
--- a/dev-lang/erlang/erlang-23.1.5.ebuild
+++ b/dev-lang/erlang/erlang-26.2.4.ebuild
@@ -1,29 +1,26 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
+inherit autotools elisp-common 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/"
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+ https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ 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 )"
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 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
acct-group/epmd
@@ -34,12 +31,12 @@ RDEPEND="
java? ( >=virtual/jdk-1.8:* )
odbc? ( dev-db/unixODBC )
sctp? ( net-misc/lksctp-tools )
- ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
- libressl? ( dev-libs/libressl:0= )
- )
+ ssl? ( >=dev-libs/openssl-0.9.7d:0= )
systemd? ( sys-apps/systemd )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )
"
DEPEND="${RDEPEND}
dev-lang/perl
@@ -48,9 +45,10 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/otp-OTP-${PV}"
PATCHES=(
- "${FILESDIR}"/18.2.1-wx3.0.patch
"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
- "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch
+ "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+ "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887
+ "${FILESDIR}"/${PN}-26.2.4-test-errorinfo.patch
)
SITEFILE=50"${PN}"-gentoo.el
@@ -58,7 +56,19 @@ SITEFILE=50"${PN}"-gentoo.el
src_prepare() {
default
- ./otp_build autoconf || die
+ 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() {
@@ -66,11 +76,15 @@ src_configure() {
local myconf=(
--disable-builtin-zlib
- $(use_enable hipe)
+
+ # 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_with ssl ssl)
$(use_enable ssl dynamic-ssl-lib)
$(use_enable systemd)
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
@@ -81,6 +95,10 @@ src_configure() {
src_compile() {
emake
+ if use doc ; then
+ emake docs DOC_TARGETS=chunks
+ fi
+
if use emacs ; then
pushd lib/tools/emacs &>/dev/null || die
elisp-compile *.el
@@ -107,6 +125,8 @@ src_install() {
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'.
@@ -130,6 +150,9 @@ src_install() {
## 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
@@ -145,11 +168,16 @@ src_install() {
elisp-site-file-install "${T}/${SITEFILE}"
fi
- newinitd "${FILESDIR}"/epmd.init-r2 epmd
- newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ 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"
+}
+
pkg_postinst() {
use emacs && elisp-site-regen
}
diff --git a/dev-lang/erlang/erlang-23.0.4.ebuild b/dev-lang/erlang/erlang-27.0.ebuild
index 15f8ee9a7d15..4cd14be66aa9 100644
--- a/dev-lang/erlang/erlang-23.0.4.ebuild
+++ b/dev-lang/erlang/erlang-27.0.ebuild
@@ -1,29 +1,29 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-WX_GTK_VER="3.0-gtk3"
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
+inherit autotools elisp-common 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/"
+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
- http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
- doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.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 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
acct-group/epmd
@@ -34,30 +34,48 @@ RDEPEND="
java? ( >=virtual/jdk-1.8:* )
odbc? ( dev-db/unixODBC )
sctp? ( net-misc/lksctp-tools )
- ssl? (
- !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
- libressl? ( dev-libs/libressl:0= )
- )
+ ssl? ( >=dev-libs/openssl-0.9.7d:0= )
systemd? ( sys-apps/systemd )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ virtual/glu
+ )
"
DEPEND="${RDEPEND}
dev-lang/perl
"
-S="${WORKDIR}/otp-OTP-${PV}"
-
PATCHES=(
- "${FILESDIR}/18.2.1-wx3.0.patch"
- "${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+ "${FILESDIR}"/${PN}-27.0-dont-ignore-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+ "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887
+ "${FILESDIR}"/${PN}-26.2.4-test-errorinfo.patch
)
SITEFILE=50"${PN}"-gentoo.el
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # FreeBSD & OpenBSD
+ pthread_set_name_np
+)
+
src_prepare() {
default
- ./otp_build autoconf || die
+ 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() {
@@ -65,11 +83,15 @@ src_configure() {
local myconf=(
--disable-builtin-zlib
- $(use_enable hipe)
+
+ # 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_with ssl ssl)
$(use_enable ssl dynamic-ssl-lib)
$(use_enable systemd)
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
@@ -80,6 +102,10 @@ src_configure() {
src_compile() {
emake
+ if use doc ; then
+ emake docs DOC_TARGETS=chunks
+ fi
+
if use emacs ; then
pushd lib/tools/emacs &>/dev/null || die
elisp-compile *.el
@@ -106,6 +132,8 @@ src_install() {
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'.
@@ -129,6 +157,9 @@ src_install() {
## 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
@@ -144,11 +175,16 @@ src_install() {
elisp-site-file-install "${T}/${SITEFILE}"
fi
- newinitd "${FILESDIR}"/epmd.init-r2 epmd
- newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ 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"
+}
+
pkg_postinst() {
use emacs && elisp-site-regen
}
diff --git a/dev-lang/erlang/files/18.2.1-wx3.0.patch b/dev-lang/erlang/files/18.2.1-wx3.0.patch
deleted file mode 100644
index aada0d9eaa1e..000000000000
--- a/dev-lang/erlang/files/18.2.1-wx3.0.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-Description: Fix constants for wxwidgets3.0
- The values of wx constants can change between stable release series (and
- some have between 2.8 and 3.0), but erlang seems to hardcode these values.
-Author: Olly Betts <olly@survex.com>
-Bug-Debian: https://bugs.debian.org/766790
-Forwarded: no
-Last-Update: 2014-11-25
-
---- a/lib/wx/include/wx.hrl
-+++ b/lib/wx/include/wx.hrl
-@@ -767,7 +767,7 @@
- % From "checkbox.h"
- -define(wxCHK_ALLOW_3RD_STATE_FOR_USER, 8192).
- -define(wxCHK_3STATE, 4096).
---define(wxCHK_2STATE, 0).
-+-define(wxCHK_2STATE, 16384).
- % From "checkbox.h": wxCheckBoxState
- -define(wxCHK_UNCHECKED, 0).
- -define(wxCHK_CHECKED, 1).
-@@ -1014,10 +1014,10 @@
- -define(wxSIZE_AUTO_WIDTH, 1).
- -define(wxSETUP, 131072).
- -define(wxMORE, 65536).
---define(wxHELP, 32768).
---define(wxRESET, 16384).
---define(wxBACKWARD, 8192).
---define(wxFORWARD, 4096).
-+-define(wxHELP, 4096).
-+-define(wxRESET, 32768).
-+-define(wxBACKWARD, 16384).
-+-define(wxFORWARD, 8192).
- -define(wxICON_MASK, (16#00000100 bor 16#00000200 bor 16#00000400 bor 16#00000800)).
- -define(wxICON_ASTERISK, ?wxICON_INFORMATION).
- -define(wxICON_STOP, ?wxICON_HAND).
-@@ -1049,8 +1049,8 @@
- -define(wxTC_TOP, 0).
- -define(wxTC_FIXEDWIDTH, 32).
- -define(wxTC_RIGHTJUSTIFY, 16).
---define(wxSP_WRAP, 8192).
---define(wxSP_ARROW_KEYS, 4096).
-+-define(wxSP_WRAP, 32768).
-+-define(wxSP_ARROW_KEYS, 16384).
- -define(wxSP_VERTICAL, ?wxVERTICAL).
- -define(wxSP_HORIZONTAL, ?wxHORIZONTAL).
- -define(wxSB_VERTICAL, ?wxVERTICAL).
-@@ -1071,8 +1071,8 @@
- -define(wxCB_SIMPLE, 4).
- -define(wxLB_INT_HEIGHT, 2048).
- -define(wxLB_HSCROLL, ?wxHSCROLL).
---define(wxLB_ALWAYS_SB, 1024).
---define(wxLB_NEEDED_SB, 512).
-+-define(wxLB_ALWAYS_SB, 512).
-+-define(wxLB_NEEDED_SB, 0).
- -define(wxLB_OWNERDRAW, 256).
- -define(wxLB_EXTENDED, 128).
- -define(wxLB_MULTIPLE, 64).
-@@ -1548,7 +1548,7 @@
- -define(wxUPDATE_UI_FROMIDLE, 2).
- % From "dialog.h"
- -define(wxDEFAULT_DIALOG_STYLE, (?wxCAPTION bor ?wxSYSTEM_MENU bor ?wxCLOSE_BOX)).
---define(wxDIALOG_NO_PARENT, 1).
-+-define(wxDIALOG_NO_PARENT, 32).
- % From "dirctrlg.h"
- -define(wxDIRCTRL_DIR_ONLY, 16).
- -define(wxDIRCTRL_SELECT_FIRST, 32).
-@@ -3728,7 +3728,7 @@
- -define(wxSTC_KEY_LEFT, 302).
- -define(wxSTC_KEY_UP, 301).
- -define(wxSTC_KEY_DOWN, 300).
---define(wxSTC_MODEVENTMASKALL, 8191).
-+-define(wxSTC_MODEVENTMASKALL, 1048575).
- -define(wxSTC_MULTILINEUNDOREDO, 4096).
- -define(wxSTC_MOD_BEFOREDELETE, 2048).
- -define(wxSTC_MOD_BEFOREINSERT, 1024).
-@@ -3810,7 +3810,7 @@
- -define(wxSTC_INDIC_TT, 2).
- -define(wxSTC_INDIC_SQUIGGLE, 1).
- -define(wxSTC_INDIC_PLAIN, 0).
---define(wxSTC_INDIC_MAX, 7).
-+-define(wxSTC_INDIC_MAX, 31).
- -define(wxSTC_CASE_LOWER, 2).
- -define(wxSTC_CASE_UPPER, 1).
- -define(wxSTC_CASE_MIXED, 0).
-@@ -3835,7 +3835,7 @@
- -define(wxSTC_CHARSET_BALTIC, 186).
- -define(wxSTC_CHARSET_DEFAULT, 1).
- -define(wxSTC_CHARSET_ANSI, 0).
---define(wxSTC_STYLE_MAX, 127).
-+-define(wxSTC_STYLE_MAX, 255).
- -define(wxSTC_STYLE_LASTPREDEFINED, 39).
- -define(wxSTC_STYLE_CALLTIP, 38).
- -define(wxSTC_STYLE_INDENTGUIDE, 37).
-@@ -3934,9 +3934,9 @@
- -define(wxTE_PROCESS_TAB, 64).
- -define(wxTE_MULTILINE, 32).
- -define(wxTE_READONLY, 16).
---define(wxTE_AUTO_SCROLL, 8).
-+-define(wxTE_AUTO_SCROLL, 0).
- -define(wxTE_NO_VSCROLL, 2).
---define(wxHAS_TEXT_WINDOW_STREAM, 0).
-+-define(wxHAS_TEXT_WINDOW_STREAM, 1).
- % From "textctrl.h": wxTextAttrAlignment
- -define(wxTEXT_ALIGNMENT_DEFAULT, 0).
- -define(wxTEXT_ALIGNMENT_LEFT, 1).
-@@ -3986,7 +3986,7 @@
- -define(wxDEFAULT_FRAME_STYLE, (?wxSYSTEM_MENU bor ?wxRESIZE_BORDER bor ?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX bor ?wxCAPTION bor ?wxCLIP_CHILDREN)).
- -define(wxRESIZE_BORDER, 64).
- -define(wxTINY_CAPTION_VERT, 128).
---define(wxTINY_CAPTION_HORIZ, 256).
-+-define(wxTINY_CAPTION_HORIZ, 128).
- -define(wxMAXIMIZE_BOX, 512).
- -define(wxMINIMIZE_BOX, 1024).
- -define(wxSYSTEM_MENU, 2048).
diff --git a/dev-lang/erlang/files/epmd.confd-r2 b/dev-lang/erlang/files/epmd.confd-r2
deleted file mode 100644
index 69fcb0d2aa17..000000000000
--- a/dev-lang/erlang/files/epmd.confd-r2
+++ /dev/null
@@ -1,2 +0,0 @@
-#arguments for run erlang
-command_args="-address 127.0.0.1"
diff --git a/dev-lang/erlang/files/epmd.init b/dev-lang/erlang/files/epmd.init
deleted file mode 100644
index 92318d051bff..000000000000
--- a/dev-lang/erlang/files/epmd.init
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2010-2019 Gentoo Authors
-# Distributed under the terms of the Apache License, Version 2.0
-
-ZT_ADDRESS=""
-pidfile="/var/run/epmd.pid"
-command_args="-daemon -relaxed_command_check -address 127.0.0.1"
-
-depend() {
- need net.lo
- before sshd
-}
-
-start() {
- ebegin "Starting Erlang Port Mapper Daemon"
- start-stop-daemon --start --quiet \
- --pidfile $pidfile \
- --exec /usr/bin/epmd -- $command_args
- eend $?
-}
-
-stop() {
- ebegin "Stopping Erlang Port Mapper Daemon"
- /usr/bin/epmd -kill >/dev/null
- eend $?
-}
diff --git a/dev-lang/erlang/files/epmd.init-r2 b/dev-lang/erlang/files/epmd.init-r3
index 52f6d72b0fe7..7748a94c2ac7 100644
--- a/dev-lang/erlang/files/epmd.init-r2
+++ b/dev-lang/erlang/files/epmd.init-r3
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the Erlang Public License 1.1
name="Erlang Port Mapper Daemon"
@@ -12,7 +12,7 @@ command_background=yes
pidfile="/var/run/epmd.pid"
depend() {
- need net.lo
+ use net
before sshd
}
diff --git a/dev-lang/erlang/files/epmd.service b/dev-lang/erlang/files/epmd.service
deleted file mode 100644
index 57382ff36a40..000000000000
--- a/dev-lang/erlang/files/epmd.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Erlang Portmapper Daemon
-Wants=network.target
-
-[Service]
-ExecStart=/usr/bin/epmd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch b/dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch
deleted file mode 100644
index 3c3a119270dd..000000000000
--- a/dev-lang/erlang/files/erlang-23.1.2-ac2.70.patch
+++ /dev/null
@@ -1,99 +0,0 @@
---- a/lib/crypto/configure.in
-+++ b/lib/crypto/configure.in
-@@ -26,10 +26,11 @@ dnl define([AC_CACHE_SAVE], )dnl
- AC_INIT(vsn.mk)
-
- if test -z "$ERL_TOP" || test ! -d "$ERL_TOP" ; then
-- AC_CONFIG_AUX_DIRS(autoconf)
-+ :
-+ AC_CONFIG_AUX_DIR(autoconf)
- else
- erl_top=${ERL_TOP}
-- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf)
-+ AC_CONFIG_AUX_DIR(../../erts/autoconf)
- fi
-
- if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then
---- a/lib/megaco/configure.in
-+++ b/lib/megaco/configure.in
-@@ -26,10 +26,11 @@ dnl define([AC_CACHE_SAVE], )dnl
- AC_INIT(vsn.mk)
-
- if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then
-- AC_CONFIG_AUX_DIRS(autoconf)
-+ :
-+ AC_CONFIG_AUX_DIR(autoconf)
- else
- erl_top=${ERL_TOP}
-- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf)
-+ AC_CONFIG_AUX_DIR(../../erts/autoconf)
- fi
-
- if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then
---- a/lib/odbc/configure.in
-+++ b/lib/odbc/configure.in
-@@ -26,10 +26,11 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(c_src/odbcserver.c)
-
- if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then
-- AC_CONFIG_AUX_DIRS(autoconf)
-+ :
-+ AC_CONFIG_AUX_DIR(autoconf)
- else
- erl_top=${ERL_TOP}
-- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf)
-+ AC_CONFIG_AUX_DIR(../../erts/autoconf)
- fi
-
- if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then
---- a/lib/snmp/configure.in
-+++ b/lib/snmp/configure.in
-@@ -5,10 +5,11 @@ define([AC_CACHE_SAVE], )dnl
- AC_INIT(vsn.mk)
-
- if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then
-- AC_CONFIG_AUX_DIRS(autoconf)
-+ :
-+ AC_CONFIG_AUX_DIR(autoconf)
- else
- erl_top=${ERL_TOP}
-- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf)
-+ AC_CONFIG_AUX_DIR(../../erts/autoconf)
- fi
-
- if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then
---- a/lib/wx/configure.in
-+++ b/lib/wx/configure.in
-@@ -20,7 +20,7 @@ dnl %CopyrightEnd%
-
- AC_INIT()
-
--AC_CONFIG_AUX_DIRS($srcdir/autoconf)
-+AC_CONFIG_AUX_DIR($srcdir/autoconf)
-
- AC_PREREQ(2.59)
-
-@@ -30,10 +30,11 @@ if test -f ./CONF_INFO; then
- fi
-
- if test -z "$ERL_TOP" || test ! -d $ERL_TOP ; then
-+ :
- AC_MSG_ERROR([ERL_TOP is not set])
- else
- erl_top=${ERL_TOP}
-- AC_CONFIG_AUX_DIRS($erl_top/erts/autoconf)
-+ AC_CONFIG_AUX_DIR(../../erts/autoconf)
- WX_BUILDING_INSIDE_ERLSRC=true
- fi
-
---- a/make/configure.in
-+++ b/make/configure.in
-@@ -82,7 +82,7 @@ AC_SUBST(ERL_TOP)
- dnl
- dnl Aux programs are found in erts/autoconf
- dnl
--AC_CONFIG_AUX_DIR(${srcdir}/erts/autoconf)
-+AC_CONFIG_AUX_DIR(../erts/autoconf)
-
- dnl
- dnl Figure out what we are running on. And in violation of autoconf
diff --git a/dev-lang/erlang/files/erlang-24.0.2-serial-configure.patch b/dev-lang/erlang/files/erlang-24.0.2-serial-configure.patch
new file mode 100644
index 000000000000..5068be153eaa
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-24.0.2-serial-configure.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/790563
+--- a/configure
++++ b/configure
+@@ -355,7 +355,7 @@ for app_dir in $app_dirs; do
+ echo ""
+ elif test $app_dir != erts; then
+ echo $cmd_str >./configure.result.command
+- eval $cmd_str 1>./configure.result.stdout 2>./configure.result.stderr || echo "fatal" > "./configure.result.failed" &
++ eval $cmd_str 1>./configure.result.stdout 2>./configure.result.stderr || echo "fatal" > "./configure.result.failed"
+ else
+ # ERTS configure gets to use stdout/stderr; the others are printed when done...
+ echo "=== Running configure in $ERL_TOP/erts ==="
diff --git a/dev-lang/erlang/files/erlang-25.1.2-c99.patch b/dev-lang/erlang/files/erlang-25.1.2-c99.patch
new file mode 100644
index 000000000000..bc8ffdaace6c
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-25.1.2-c99.patch
@@ -0,0 +1,101 @@
+Bug: https://bugs.gentoo.org/882887
+From: https://github.com/erlang/otp/pull/6504
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 11:57:49 +0100
+Subject: [PATCH 1/2] configure.ac: C99 fix for
+ ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC
+
+#include <unistd.h> for the sbrk function if the header is available.
+--- a/erts/configure
++++ b/erts/configure
+@@ -20752,6 +20752,9 @@ else $as_nop
+ #ifdef HAVE_MALLOC_H
+ # include <malloc.h>
+ #endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif
+ #if defined(HAVE_END_SYMBOL)
+ extern char end;
+ #elif defined(HAVE__END_SYMBOL)
+--- a/erts/configure.ac
++++ b/erts/configure.ac
+@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use],
+ #ifdef HAVE_MALLOC_H
+ # include <malloc.h>
+ #endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif
+ #if defined(HAVE_END_SYMBOL)
+ extern char end;
+ #elif defined(HAVE__END_SYMBOL)
+
+From 7b720d2bb9e742110ff90ec2495747b2c477e2c7 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 11:59:22 +0100
+Subject: [PATCH 2/2] configure.ac: C99 fixes for poll_works check
+
+Include <fcntl.h> if it is available for the open prototype.
+Return from main instead of calling exit, so that no function
+declaration is needed.
+--- a/erts/configure
++++ b/erts/configure
+@@ -24663,10 +24663,13 @@ else $as_nop
+ /* end confdefs.h. */
+
+ #include <poll.h>
+-main()
++#ifdef HAVE_FCNTL_H
++#include <fcntl.h>
++#endif
++int main()
+ {
+ #ifdef _POLL_EMUL_H_
+- exit(1); /* Implemented using select() -- fail */
++ return 1; /* Implemented using select() -- fail */
+ #else
+ struct pollfd fds[1];
+ int fd;
+@@ -24675,9 +24678,9 @@ main()
+ fds[0].events = POLLIN;
+ fds[0].revents = 0;
+ if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
+- exit(1); /* Does not work for devices -- fail */
++ return 1; /* Does not work for devices -- fail */
+ }
+- exit(0);
++ return 0;
+ #endif
+ }
+
+--- a/erts/configure.ac
++++ b/erts/configure.ac
+@@ -3036,10 +3036,13 @@ poll_works=no
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <poll.h>
+-main()
++#ifdef HAVE_FCNTL_H
++#include <fcntl.h>
++#endif
++int main()
+ {
+ #ifdef _POLL_EMUL_H_
+- exit(1); /* Implemented using select() -- fail */
++ return 1; /* Implemented using select() -- fail */
+ #else
+ struct pollfd fds[1];
+ int fd;
+@@ -3048,9 +3051,9 @@ main()
+ fds[0].events = POLLIN;
+ fds[0].revents = 0;
+ if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
+- exit(1); /* Does not work for devices -- fail */
++ return 1; /* Does not work for devices -- fail */
+ }
+- exit(0);
++ return 0;
+ #endif
+ }
+ ]])],[poll_works=yes],[poll_works=no],[
diff --git a/dev-lang/erlang/files/erlang-26.2.4-test-errorinfo.patch b/dev-lang/erlang/files/erlang-26.2.4-test-errorinfo.patch
new file mode 100644
index 000000000000..4119a6b39bd1
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-26.2.4-test-errorinfo.patch
@@ -0,0 +1,14 @@
+Skip the error_info test. This test tries to open fds until exhausted which
+seems to be quite unreliable/brittle.
+--- a/lib/kernel/test/os_SUITE.erl
++++ b/lib/kernel/test/os_SUITE.erl
+@@ -42,8 +42,7 @@ all() ->
+ env,
+ find_executable, unix_comment_in_command, deep_list_command,
+ large_output_command, background_command, message_leak,
+- close_stdin, max_size_command, perf_counter_api,
+- error_info].
++ close_stdin, max_size_command, perf_counter_api].
+
+ groups() ->
+ [].
diff --git a/dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch b/dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch
new file mode 100644
index 000000000000..caa582d1773e
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch
@@ -0,0 +1,23 @@
+--- a/lib/megaco/src/flex/Makefile.in
++++ b/lib/megaco/src/flex/Makefile.in
+@@ -47,7 +47,7 @@
+ CC = @DED_CC@
+ CFLAGS_MT = $(CFLAGS) @DED_THR_DEFS@
+ LD = @DED_LD@
+-LDFLAGS = @DED_LDFLAGS@
++LDFLAGS += @DED_LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ PERL = @PERL@
+--- a/lib/odbc/c_src/Makefile.in
++++ b/lib/odbc/c_src/Makefile.in
+@@ -82,7 +82,7 @@
+ CC = @CC@
+ CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@
+ EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET) $(EI_LIB)
+ LD = @LD@
+-LDFLAGS = $(EI_LDFLAGS) $(ODBC_LIB)
++LDFLAGS += $(EI_LDFLAGS) $(ODBC_LIB)
+ LIBS = @LIBS@ @THR_LIBS@
+ INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE)
+ TARGET_FLAGS = @TARGET_FLAGS@
diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml
index 7e9a773063d1..a13621315bcc 100644
--- a/dev-lang/erlang/metadata.xml
+++ b/dev-lang/erlang/metadata.xml
@@ -1,20 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
- <maintainer type="person">
- <email>arkamar@atlas.cz</email>
- <name>Petr Vaněk</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
</maintainer>
<use>
- <flag name="hipe">HIgh Performance Erlang extension</flag>
<flag name="kpoll">Enable kernel polling support</flag>
</use>
<longdescription>
@@ -23,4 +14,7 @@
released to help encourage the spread of Erlang outside
Ericsson.
</longdescription>
+ <upstream>
+ <remote-id type="github">erlang/otp</remote-id>
+ </upstream>
</pkgmetadata>