diff options
author | Matthew Smith <matthew@gentoo.org> | 2022-10-16 11:10:08 +0100 |
---|---|---|
committer | Matthew Smith <matthew@gentoo.org> | 2022-10-16 11:22:39 +0100 |
commit | f18392f54074d8c81a69f29c0337baf9af3e55a5 (patch) | |
tree | 219f4271af284338ef19a72589cde0f2d6c5005a /dev-lang | |
parent | kde-apps/kate-addons: Drop obsolete kde-misc/markdownwebview reference (diff) | |
download | gentoo-f18392f54074d8c81a69f29c0337baf9af3e55a5.tar.gz gentoo-f18392f54074d8c81a69f29c0337baf9af3e55a5.tar.bz2 gentoo-f18392f54074d8c81a69f29c0337baf9af3e55a5.zip |
dev-lang/erlang: add 25.1.1
Also, fix localhost clash.
Signed-off-by: Matthew Smith <matthew@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/26360
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/erlang/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-25.1.1.ebuild | 167 | ||||
-rw-r--r-- | dev-lang/erlang/files/epmd.init-r3 | 23 |
3 files changed, 193 insertions, 0 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index bb1d13c01b33..cfc81cf5b1c8 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -1,6 +1,9 @@ DIST erlang-24.3.4.2.tar.gz 59532491 BLAKE2B 28c48f1a3197a151010a775286cf0b775567301411b8480b32cfb39c68978de5586b63c245fe58bff8034ebc04fcc3b002dee7c953127ecf581ed6d716587ae4 SHA512 78bc2dc67fe60d3ea6049c361a017c054e12b0adeeae890b0a1ee5301744505593bd19f3731acebff8312b323a3bd21a1359507d122fc34f0eb85eefb3aac88c DIST erlang-25.0.4.tar.gz 59812650 BLAKE2B cebba32e859ec4ff0868de506771449a6d5d053d50d8f4a2cf84f9bc90da1e14ae320420b3c33f6febd5977fd1ccff98b55d3ee1a0c4b90e674e912883cb0f29 SHA512 8d9d12496d55181c0d866bbd97576551d1d78232fe34b845e8efbfbd4e95ce8426e73221d8126d12453959cd8adc5e07f121aaa93f3a5696074b43c69291d363 +DIST erlang-25.1.1.tar.gz 59974226 BLAKE2B f28662860533c8946429607b8123c241d3646c2c0ab2165346512c2a1b331dbaf46d978bce17b8b792a0487ad96411c2245d273381e304437724335a353093dd SHA512 7e34eca772d29132dc907181ee9829ea58a47e622a9a65c0d4f66e79cb2e8f22a9f9e2edefad67ee6c151ee09027ed3927be65228780cdbe606a0abe59209243 DIST erlang_doc_html_24.3.tar.gz 36645792 BLAKE2B ef90b7d05ed43656ab1ffdbbd0833c9da08a867ad7a99ec0f7f1eb59697c1f9cd5ccd150b2e564af80b2098f063da0c76121d4444b5444e603581442ad1c7bc8 SHA512 b8d3832ffdbdede656b362d719474f7b9ff04a32ea7235e77d63755629cf9305c203cd6cd9ae089171b2cee694f9641d6ed5d0197e2acf893a31d25696096f1e DIST erlang_doc_html_25.0.tar.gz 37051192 BLAKE2B 2d79ccb3b850b199de0a7da83c6358b9f3cf63826aeddb54307640129c1f96689200895c3c3ec52f503362945e7c6083a7317cd4ea57dc7d6772844801843c74 SHA512 6ce8423705f86fb2cd403e9c51089d7b2569ba93498f9143b5dbac85eb10b403c4bc948f8a68e55c40116cdd9a93f050bb037f94fc3c8651175d9065d2c598be +DIST erlang_doc_html_25.1.tar.gz 37197742 BLAKE2B 432e89471cfbf15ba35507f66958df559e38d5a4be1b4fe07e2abdaaacc1642dd9e55c2d67ce893fa108c38e25929cb58fb4de2474ec69273222b3ef0a7e0a5d SHA512 3e39f505030a3d0422b4a79f31a2af830eeff5076c3dddeafd336d0a91a4ac895a92a17cf5b4f6265d0a4b150c0548ecd0cc38174ce0488a5328e16307eaedc3 DIST erlang_doc_man_24.3.tar.gz 1680242 BLAKE2B 3311eb6ed6dcaa2d611adf7a08269f67e3f31d106f6b6d04e5cc91efa8efc382ddb6b230f218fa543390bf4ec37f477e0c4979c82632ebfb6ccda8c5de1fbc41 SHA512 72876911a1ec82071225e7b71de0462254becd64892a5459239b9e44b20601f6b6990a12cd36a8320e81e5307bcf7b5e5057e42baec12403be4a0eda00cdf62c DIST erlang_doc_man_25.0.tar.gz 1711510 BLAKE2B 743efa8edbeeb99e37e227c1e5e3be1825a391007e1c220ba22163c528edda8941b1dca0951cc02aff016dda0d52f3a6ff4fdbbbe279ce067c7a1993997ce6b4 SHA512 c6b6490961228893253e11d5bb88cbd30ba2cb1c13819a85db6699b437f0327fb55962accb6b602a4ec5ffc423882205d05873b064fb3e4c52950a423706fb09 +DIST erlang_doc_man_25.1.tar.gz 1714586 BLAKE2B b37b03f60d662d02018515de5ca16b3891a32c5ebc1bd1cc72ac17aadd409c3c5084898f1605d4a8aa579ebce4b5a8f75a39fa90e5fc4d233b2f7e9b8121768d SHA512 4194779c8975234ad8f693bbe43c9eefd2d954ed7fec493493c4a6a9028b58fd55ce6479a113d863bd91ff4732b88c4b8cae3e3a16846add5c7af6616317f595 diff --git a/dev-lang/erlang/erlang-25.1.1.ebuild b/dev-lang/erlang/erlang-25.1.1.ebuild new file mode 100644 index 000000000000..de9c4088ead3 --- /dev/null +++ b/dev-lang/erlang/erlang-25.1.1.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +WX_GTK_VER="3.0-gtk3" + +inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs 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 + 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 ~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 + 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? ( >=dev-libs/openssl-0.9.7d: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}"/${PN}-22.0-dont-ignore-LDFLAGS.patch + "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch +) + +SITEFILE=50"${PN}"-gentoo.el + +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 +} + +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_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 + + 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-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 +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/files/epmd.init-r3 b/dev-lang/erlang/files/epmd.init-r3 new file mode 100644 index 000000000000..7748a94c2ac7 --- /dev/null +++ b/dev-lang/erlang/files/epmd.init-r3 @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the Erlang Public License 1.1 + +name="Erlang Port Mapper Daemon" + +command="/usr/bin/epmd" +command_user="epmd" +command_group="epmd" + +command_background=yes +pidfile="/var/run/epmd.pid" + +depend() { + use net + before sshd +} + +stop() { + ebegin "Stopping ${name}" + ${command} -kill >/dev/null + eend $? +} |