diff options
author | Patrick Lauer <patrick@gentoo.org> | 2018-09-20 19:08:28 +0200 |
---|---|---|
committer | Patrick Lauer <patrick@gentoo.org> | 2018-09-20 19:08:28 +0200 |
commit | 0e7eaa9dd5718869e73957c7ecac26bfb4edb57b (patch) | |
tree | 1349a7faec3d9fd10e6f5c08a787cbf43e347c6c /dev-lang | |
parent | media-fonts/bitstream-cyberbit: Back to EAPI=6, bug 666635 (diff) | |
download | gentoo-0e7eaa9dd5718869e73957c7ecac26bfb4edb57b.tar.gz gentoo-0e7eaa9dd5718869e73957c7ecac26bfb4edb57b.tar.bz2 gentoo-0e7eaa9dd5718869e73957c7ecac26bfb4edb57b.zip |
dev-lang/erlang: Bump
Package-Manager: Portage-2.3.49, Repoman-2.3.10
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/erlang/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-20.3.8.9.ebuild | 227 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-21.0.9.ebuild | 226 |
3 files changed, 455 insertions, 0 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 8ec018d13014..9efbfa0c7fd9 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -1,6 +1,8 @@ DIST erlang-20.3.2.tar.gz 53492641 BLAKE2B 2cdf78b6003801400d99949865a5b3e17d2209bf411bbe07dc12f749c84725710d12f85cb2559bc39ac04a7d6f7a9ae07b5f131a5524cf4ce3eb8559ca0259bc SHA512 060874cd4f72c1ecea178dd102f4b37a644485a810127092ad04fee76b52729ce199ee476335a2a40370bc718b7e03eb76869c3a48d457773856fd9f6d30a20b +DIST erlang-20.3.8.9.tar.gz 53514692 BLAKE2B 1afa37ff8cc462cb0cc719c49c2c10b2684c7160b6912c574834021b2f521737dfa4cfedd0c82c843c1bb1e1977143fac7ae1ec94cfa9df4b2775deffd903a7b SHA512 6318760423f019a1611479da9b4187556a29e97f27bbc900cb36e0b2e0ef7e89ca65c053afbe4154cd9b5eaa3b59085a6d88c26d2990b09b7d2396b1dd5584a7 DIST erlang-20.3.8.tar.gz 53499006 BLAKE2B 0c38fb739a9c4f4b79533faea8c533f85c30d680081b5de96e70722a243d53b9317a26c7138a24a78cadd938777bd48a515484fffef2fdfd720819ab12bb8c0c SHA512 2ada142b47fdd0d1807a179e7cd3067e001f94682011436d33e503219a8a93495a187f8192fa2ebcdac48409e489b7b310d538779447981e6ba033a6dde12e1c DIST erlang-21.0.2.tar.gz 52835517 BLAKE2B bf7e2e166236a7c0a3e3411889f163dce0d938c1a854a6c264c137b601587c4cd4d62d58d9a87cf925406272d6e3d6547e4403927adc8e901716289ee2164162 SHA512 ff736a6df92ac7feec7b9ebb1b6523d511a533d48e536f36aee20fa21b5a1dc33791065d45f6900bbbaa48b4ba80b57a306b416801456a5ac33468786dfb00b7 +DIST erlang-21.0.9.tar.gz 52842736 BLAKE2B 57de5e94450a70d32eb46bff691be4d3679daa56bee4e9aa2aad156b9447ea5bbe1287b806c304115c0ac4a677b8a04fb23286e269c7e0516f60cebd5ef2b3c7 SHA512 01bc5ce8d5c76823af1a17d389f326509c4ade5add0b0e66830e2c6aec2c7d93906cbbf9fb6b454178bddfa1c96355d632e4c557ab6da2bbdb8c6b0e05d87ee8 DIST erlang_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4 DIST erlang_doc_html_21.0.tar.gz 32501093 BLAKE2B 5c5bab831d4a86129cca41f8e82416d45a92e8ae29cd2223301633b46471783ee6bb8131d469cedcf0f655ea21879c475c61d0b9eefba9e12d78d0a803403a19 SHA512 8be300d9e502b7dcf8db4621d7c5c8981f47cbff851b30b33ef33871f737554eda73dacd179b64995fc45362c4dfd91e15ff659d2898f863465222176bfbff9f DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25 diff --git a/dev-lang/erlang/erlang-20.3.8.9.ebuild b/dev-lang/erlang/erlang-20.3.8.9.ebuild new file mode 100644 index 000000000000..ac47c4ad59c7 --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.8.9.ebuild @@ -0,0 +1,227 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 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" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu ) +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + 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 + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## 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 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + 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}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-21.0.9.ebuild b/dev-lang/erlang/erlang-21.0.9.ebuild new file mode 100644 index 000000000000..0986f06d7fb5 --- /dev/null +++ b/dev-lang/erlang/erlang-21.0.9.ebuild @@ -0,0 +1,226 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 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" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + 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="${ED}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## 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 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + 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}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |