Skip to content

Commit

Permalink
dev-lang/erlang: version bump to 19.1 (fixes bug 591970)
Browse files Browse the repository at this point in the history
Thanks to Kenneth Lakin <[email protected]> for doing the work.

Package-Manager: portage-2.2.28
  • Loading branch information
djc committed Sep 24, 2016
1 parent 163ddd4 commit eb36a77
Show file tree
Hide file tree
Showing 3 changed files with 159 additions and 0 deletions.
3 changes: 3 additions & 0 deletions dev-lang/erlang/Manifest
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
DIST otp_doc_html_17.5.tar.gz 33510258 SHA256 baba1d373c1faacf4a1a6ec1220d57d0cb2b977edb74f32cd58dc786361c6cf5 SHA512 d3e455452e6d6e241c40de6e41a7b1069f8daa45c8d2340adb62f8867948261692c8465db7e288378942ebe86fd938847756992600da93aa99cb294fadcb5211 WHIRLPOOL 9657c1fd133fa713d0f30bae0394f47f43b090149ec3457a177bd9f129c052b73f1e757762ced02c1c8bcbaec294e845859b18b0e2004429e04df8e04e36cade
DIST otp_doc_html_18.3.tar.gz 34285271 SHA256 8fd6980fd05367735779a487df107ace7c53733f52fbe56de7ca7844a355676f SHA512 0ac429f67ca9ae7f235cda72eb0f4e5b0b43ae90b70c706aeea08be0ad88968677ccc80eb1ba006e90c9f024de586ffd91741d4cef4d614d1dfac51b407d2659 WHIRLPOOL 7d64c2ec433b4bc2da4c56290ad6d21b85d15f72fe9b78654955d27e65b26e1b929d0c9b7d5f60c25c1f16db8d22e36c2ad6ca2a75044707ccd1eea1197fa15d
DIST otp_doc_html_19.0.tar.gz 34550919 SHA256 b6f7c4e964673333f6c3eea8530dd988b41339b8912ae293f6f1b429489159ff SHA512 51d6da443d028fe533f12e2f2b8e12cb301977bc91cdf08530d1db53b707d60bf8ef8319b23d85ad1efbd5aaf08910b2f2a99e961b772a47e9647a03166f7d9f WHIRLPOOL 22ccd960ca4258a8afed3e68d6d3f7ef37842fd92c224f2cf6d942fcafee2539e7f91984286988b2f2bca63cb71cc8f8100e3d7f3df497f8d1d3bbeff5f6ffdd
DIST otp_doc_html_19.1.tar.gz 34624316 SHA256 76c89aee1ac69b5107114b0065189101e3f42d53e929d8ef8f08b5c586f15930 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8 WHIRLPOOL 5c344246b32f21abc5ad8403c136263a6f9f5f2664b8027ad7f574e1b7cfa9b127f7863547550114b889daba363c19936cf7a0199a0bf5b4da8ac23c02dd24d0
DIST otp_doc_man_17.5.tar.gz 1363320 SHA256 85b1b2a1011fc01af550f1fe9e5a599a4c5f2a35d264d2804af1d05590a857c3 SHA512 98d241aa127cfe377e5efc52284cd324713cacefc96db5992275c4f8712a9e35e43f0dbc0d2a8d58a1127fbfa3f762eb001aea1bb1c9fa82205a3d83659ad548 WHIRLPOOL b790046a449824aa02e11bef6b84a7027351edba0fffd241221e690739df30c9c692074b7354612970d8d02b3c1bccfdbd81bb988af9874d181f177ffed49e2c
DIST otp_doc_man_18.3.tar.gz 1395166 SHA256 978be100e9016874921b3ad1a65ee46b7b6a1e597b8db2ec4b5ef436d4c9ecc2 SHA512 d45d72d7ee7492e081dd5fac1a4d1cea93fe5f5287900be13c92e1c1802f7ec77573eeb4d271497154b9e0723c393700f35982ceedbe29be6cb759a0ebe83325 WHIRLPOOL 03b57a87573630a2826dd5e9a597ab0bb67daa73e4b2b733982b6ce4a3cf6a32c5ad17cb3ba3fc0a29248c867b1ba303098c7f61c0cfe42636621aa8a370790f
DIST otp_doc_man_19.0.tar.gz 1405918 SHA256 c7a3d6d85a5a2b96d844297a3fa1bee448c3dd86237734688466249fd5a1401e SHA512 bb31563542c51eaf94e8780717f57718ab49592f7718e0dee855f3dfeae809d67cc3ed750d28c0fa53e3bae29dd27c9511d9228bde21bf010cd1d8588d4b1b7b WHIRLPOOL 53889e4dd5140bdcb1e3311edbabebd80a13c032581d67987e705989022c0b4459742b6fbb7b9ba062a212ea2c3460579c59f8dd02636172e663390935f097db
DIST otp_doc_man_19.1.tar.gz 1405580 SHA256 7200e9e5b3a229a6b3838046e1b3e64afc869265539d49d0e4853212f19c0c79 SHA512 4ee35feeff70419ff5500e00dc17e34fdea8be21342d41cf1e255b84a1826b51057046be543ee1052153ae8c8cd215f4720cecae7d9fe1576cbd681dcf4b2334 WHIRLPOOL e94333be9d1d9239d1dc6e9bbcc6930b148eda8d8a73e3d21896e498c331c062ea1541d8fa03a2d0dd6f21510874f5aa6062b22a3738c85d1b18a30b09fb5482
DIST otp_src_17.5.tar.gz 67242289 SHA256 3c28820c981b30c50df8ac2a4a238e5813454fa3ed2ad530bc7948a282846474 SHA512 cfd082c8baee7ded370a34f15a1ba3b846b7d81e06edc36c62308c9220697925f1feda91eeecb70fc658f8987087256f51a2ebd0c526d16eeb09c72889d2390d WHIRLPOOL 3c3d987981383bf148b9788fae0574da398ff63d81eea13da0463bed303922d06fe54354de1cd3d37091eb23438939c645176ab565877f06cc1f11235c4d8d3d
DIST otp_src_18.3.tar.gz 68292101 SHA256 fdab8129a1cb935db09f1832e3a7d511a4aeb2b9bb3602ca6a7ccb9730d5c9c3 SHA512 f4a69bb14743d9f913d7060cfb6426f7c54693d07ed439506ede5160a0ba5a79a81cf08a56aaa02c68b3377cd22fed66a0fbeb216378330d7ad5c6348ed82014 WHIRLPOOL 493fe8f803194647ab0c113d8f67f5f97636321618296969d9da0396cc9b083b6deffd42638fe3e3eb0b63c4ff996fb4b2c4559c6039add94f7dad62205b815b
DIST otp_src_19.0.tar.gz 68022550 SHA256 3fdc27a2a826e7f3d9cda43302d27d98704d6b41ce29a8a5df747a161da53bb1 SHA512 fdab82883f7be04cca91041819d15e0b065bdd049b134d056fe4ea12657f1c6f77aeebd778c09b4064e6d974734fe087592739181e14fe60597dbe37f492684f WHIRLPOOL b3b70b04b7189606dc89a3acaebc2fc0b8f8c2bbca20ab4556641bc51d3fcf784155a3ad406d6e0b1c2be12a243ff51a019038b3ab103c91c5b9af2e13a1a09f
DIST otp_src_19.1.tar.gz 68103074 SHA256 fed4cbbc1ee5cc8efc2b8f14c3db97bfde1de967703f5f9a95f8ab6852737e23 SHA512 bd1c243393c867c91768367613aedb40d56889add149390c81f22e022e76b716d6e9a4d5db7e6477ceb1216c26c18c962abdfd8215a87420758f5ef2063b9714 WHIRLPOOL 3422ad4ab48916f79bcfd2b4550059f88e4e55340a9eb298a9039f07f899e6430eb2fd346bf52931acc2a03e86f3fc5571e9e577fce83bd2040c6cb37fb5348f
155 changes: 155 additions & 0 deletions dev-lang/erlang/erlang-19.1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
WX_GTK_VER="3.0"

inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionator wxwidgets

# NOTE: If you need symlinks for binaries please tell maintainers or
# open up a bug to let it be created.

DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
HOMEPAGE="http://www.erlang.org/"
SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
http://erlang.org/download/otp_doc_man_${PV}.tar.gz
doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets"

RDEPEND="
ssl? (
!libressl? ( >=dev-libs/openssl-0.9.7d:0 )
libressl? ( dev-libs/libressl )
)
emacs? ( virtual/emacs )
java? ( >=virtual/jdk-1.2:* )
odbc? ( dev-db/unixODBC )"
DEPEND="${RDEPEND}
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu )
sctp? ( net-misc/lksctp-tools )
tk? ( dev-lang/tk )"

S="${WORKDIR}/otp_src_${PV}"

SITEFILE=50${PN}-gentoo.el

src_prepare() {
epatch "${FILESDIR}"/18.2.1-wx3.0.patch

use odbc || sed -i 's: odbc : :' lib/Makefile

# bug 263129, don't ignore LDFLAGS, reported upstream
sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in

# don't ignore LDFLAGS, reported upstream
sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in

if ! use wxwidgets; then
sed -i 's: wx : :' lib/Makefile
rm -rf lib/wx
fi

# Nasty workaround, reported upstream
cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in

# bug 383697
sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c

cd erts && mv configure.in configure.ac && eautoreconf
}

src_configure() {
use wxwidgets && need-wxwidgets unicode
use java || export JAVAC=false

econf \
--enable-threads \
$(use_enable sctp) \
$(use_enable systemd) \
$(use_enable hipe) \
$(use_with ssl ssl "${EPREFIX}"/usr) \
$(use_enable ssl dynamic-ssl-lib) \
$(use_enable kpoll kernel-poll) \
$(use_enable smp smp-support) \
$(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \
$(use x64-macos && echo "--enable-darwin-64bit") \
$(use_enable dirty-schedulers)
}

src_compile() {
use java || export JAVAC=false
emake

if use emacs ; then
pushd lib/tools/emacs
elisp-compile *.el
popd
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)

emake INSTALL_PREFIX="${D}" install
dodoc AUTHORS README.md

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
dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam
use smp && dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp

## Clean up the no longer needed files
rm "${ED}/${ERL_LIBDIR}/Install"

for i in "${WORKDIR}"/man/man* ; do
dodir "${ERL_LIBDIR}/${i##${WORKDIR}}"
done
for file in "${WORKDIR}"/man/man*/*.[1-9]; do
# doman sucks so we can't use it
cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/
done
# extend MANPATH, so the normal man command can find it
# see bug 189639
dodir /etc/env.d/
echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang"

if use doc ; then
dohtml -A README,erl,hrl,c,h,kwc,info -r \
"${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-*
fi

if use emacs ; then
pushd "${S}"
elisp-install erlang lib/tools/emacs/*.{el,elc}
sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
"${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE}
elisp-site-file-install "${T}"/${SITEFILE}
popd
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
}
1 change: 1 addition & 0 deletions dev-lang/erlang/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<flag name="halfword">Enable halfword emulator</flag>
<flag name="kpoll">Enable kernel polling support</flag>
<flag name="compat-ethread">Enable compatibility with pre-pentium 4 CPUs in the ethread library.</flag>
<flag name="dirty-schedulers">Enable dirty schedulers</flag>
</use>
<longdescription>
Erlang is a programming language designed at the Ericsson
Expand Down

0 comments on commit eb36a77

Please sign in to comment.