diff options
author | Matthew Smith <matthew@gentoo.org> | 2024-05-21 11:43:57 +0000 |
---|---|---|
committer | Matthew Smith <matthew@gentoo.org> | 2024-05-21 11:44:09 +0000 |
commit | 109832ecc96f34fd5b51322175941835fa752991 (patch) | |
tree | 8377859331e30fc63250ab80bb1a60a24879e922 /dev-lang/erlang | |
parent | net-misc/xmrig: drop myself as a maintainer (diff) | |
download | gentoo-109832ecc96f34fd5b51322175941835fa752991.tar.gz gentoo-109832ecc96f34fd5b51322175941835fa752991.tar.bz2 gentoo-109832ecc96f34fd5b51322175941835fa752991.zip |
dev-lang/erlang: add 27.0
Signed-off-by: Matthew Smith <matthew@gentoo.org>
Diffstat (limited to 'dev-lang/erlang')
-rw-r--r-- | dev-lang/erlang/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-27.0.ebuild | 189 | ||||
-rw-r--r-- | dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch | 23 |
3 files changed, 215 insertions, 0 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 46bf6c6b7422..468e71d7decf 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -5,11 +5,14 @@ DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231 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-26.2.tar.gz 64008902 BLAKE2B 145ade4a05a8c92f9ba848774e927fc0a186aba834b2d4850cbe92f7604aac6136b16e3e6208658220c8c07b906be06263dfc7173f588165bb7bd5b98fe8a162 SHA512 647f38e7a1d2a0e49aee982d9f6461a83df01d6248756eea3cc926c60dd03e82d881534e3ce3374e233a3ab7b0fad7c775a54d0079f4d5b13de8d8a97c7de642 +DIST erlang-27.0.tar.gz 62019520 BLAKE2B 9c683e4de7a1b98579e572667746461b9cba0b54d572cde75e3484003548fea2f657292b7f6bfcb4e765d74d744276ddf5ee3f7f615b29cc4b3e563a8cc00944 SHA512 16945c50c09caad9aac6808470ea2a0e282713f23e54cd4ad60510b114811b5deac427acb36cc8049443b4e3c3302c40b02c696cf3f2028f8bd3e836c8c48ea9 DIST erlang_doc_html_25.3.tar.gz 37134864 BLAKE2B 86af9f6eacccbdc8e66e1407a29bc70620052f5968f4378df751f89795f98898a057c2e187553e5b938b5a9cc55a223fedb9bc2936cb3ade5f444e05a810f7d0 SHA512 d469f6088a20a840687ceed66b3d4ef3bf9446a00ea490f6bb14e5ec8a0b642ac0ff14243010e45483e9d4d33742525916d05ec93e171fe9f5e0dfbac3733837 DIST erlang_doc_html_26.0.tar.gz 37434137 BLAKE2B 0a1bd0f4966d90cc5aaa8852b280204d81271af0449a019399dfcbeab4b2427a91fa57e1dafe24c55ee1a7abf5f52c019ca7454f7c2ca8dbe604d60ef437a4e0 SHA512 c11cf064808bee3a9e8334ee597daadfff397bd700622c80affa8df127a53de3cb5685c3338fa6d28b5c7a5c171379e0289f557dc3fc6ab0459ada757219ce3e DIST erlang_doc_html_26.1.tar.gz 37562532 BLAKE2B 235841cd644deb5c4d47adf7aa49cdb9be5dcb17154d91b8716ab8dcd8b74ca8f805348879c7ebb45a4b31dfabab772aa9f0d5dd5eb4e573a4a687ed0a93cec2 SHA512 160f208c81cbd8c615d233ad913a2e1ddfac4f3a3368f9b33ddb5202b5bf839116cddce2dbe1c5d7ba38d30083a0b33fe3a4fe5121452057d898be1a4e8950f9 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_25.3.tar.gz 1719335 BLAKE2B d3d91e5920648ddb5b8375c969586b904d743f1d60acbefddd98577bd11b82246a2f149fdaa8ff1d16e8efc9f3793ce1dbc61efc9bc28c68f50919460d1e8e24 SHA512 9f2e6c4e4a39dd41deb6a2d7b7a04dd374f110bf776c8d08f3139265a8fa00e7c9420e2d2c406231a8d2748bdc65ca7e40ef1d4b9bfe6b06f52a24881ee8747d DIST erlang_doc_man_26.0.tar.gz 1742307 BLAKE2B cd52b6e148fd45a1a1b427fa9dccdb7127082f0cfc23a850c519a9dc9e6cc7e0fca3894433d44dcad27e2a8123626b09d86b7f581e503d977f0977ef62a574d8 SHA512 9e3fc06667e633fd1c90f57d86159cbbdbb6105719e3c1ab6733e5190aa48b8c8fbf735172e5763b6893e89a56ec13c0afcdf6c6505de739312b37ff246ed113 DIST erlang_doc_man_26.1.tar.gz 1745691 BLAKE2B b06532551ab9d02c08a664eeeeae495d706969eed5151a013eb64da962e73d871c6e8a17506bdd854a3ac86caa756f78be0fdcfc76c00be89b8e4564ab881457 SHA512 2129c7c7f60f456dd0322d4fbbf3fc0398f8cdb982bb9450a99d7f45573f685fddd36a0440c4d51b89c0e4f19dc2145d1285b9fcf847c7c8bc3d95b2393c20b9 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-27.0.ebuild b/dev-lang/erlang/erlang-27.0.ebuild new file mode 100644 index 000000000000..9e9f3e3de089 --- /dev/null +++ b/dev-lang/erlang/erlang-27.0.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +WX_GTK_VER="3.2-gtk3" + +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/ 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 ~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? ( + 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 + "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 + "${FILESDIR}"/${PN}-26.2.4-test-errorinfo.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 + + # 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 + + if use doc ; then + emake docs DOC_TARGETS=chunks + fi + + 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 + 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_ + + 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/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@ |