diff options
| -rw-r--r-- | dev-lang/erlang/Manifest | 7 | ||||
| -rw-r--r-- | dev-lang/erlang/erlang-15.2.3.1.ebuild | 176 | ||||
| -rw-r--r-- | dev-lang/erlang/files/50erlang-gentoo.el | 5 | ||||
| -rw-r--r-- | dev-lang/erlang/files/epmd.init | 20 | ||||
| -rw-r--r-- | dev-lang/erlang/metadata.xml | 22 |
5 files changed, 230 insertions, 0 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest new file mode 100644 index 00000000..01ed128e --- /dev/null +++ b/dev-lang/erlang/Manifest @@ -0,0 +1,7 @@ +AUX 50erlang-gentoo.el 134 SHA256 97e1da82cae31a554134d7370739520e4c67b2544e5a13f887651a62e710b4d4 SHA512 7a862e0ef1e96e88a484e80aeb92eb4465c7e8661efb0291c28abc13225eb3aa69442fe29417f5ad0d264e54399d645d9cd4713bc9869b48e87a91e50b9b2473 WHIRLPOOL 6080f0f76c90f2e5f4577e8a6fc6dd046fc671078eda215c5bd33138aad61c2f2dfc585372966b65fcca24a46df0921a3fd2c4af02c68ef02f2fff443336c702 +AUX epmd.init 509 SHA256 110e6616b2978e74a55a76e119d3e16ac313b4b1b780abec6422f2dd924baa87 SHA512 e9e14f50ffc197f67706e9f419c2b7a7821d42b4d992fcd4b72fdd42a29983a84efaa3afb02a8758a871da6fd11c08e720ec416cc21b29a852d1dd9fc162ba42 WHIRLPOOL 7b9dd42fc706e7dddc98221c08e68759ed0d657030a04e6063131220dc4d6bfbc610a9e574ff5e62b79bb20d601febae4365ee960c316031986cc9a35e67843f +DIST otp_doc_html_R15B03-1.tar.gz 30436303 SHA256 d06f580f11d1303217a5c1cf8d68a98d7e01c535be934dcd430ecdc254f7572e SHA512 8a22ad702d50f40162f7d6051dbbc0226af449f7a1dcfb087e952dd7eb7213257940933441cfb68f055746450e3e5aa2c5ed8107ac67af7c3a940afb195af8c7 WHIRLPOOL ac10f9ce0ffd4cbd98617e4018e5a4729ce83f0ace6a4db219e7beef2f3a626a8c9a419c7f7772c934ca50310f55486df7eb24955ba845a9230c69c93e183d33 +DIST otp_doc_man_R15B03-1.tar.gz 1305001 SHA256 07980d8014c7cf8194b7078c137353f5083992add4663ced3dcba2ff91f228d8 SHA512 eb07552c83a942c1e7f1960b45edfab97b0628a1e08c7c827a07d77797901b4b60a6719b35d0f92a49eb04ada924e9263df70968a5920efc6ccf8e4e966933c6 WHIRLPOOL 764495a8bb67e2c67493452c83ff890d959aa5cd3bd711fce75b3c756dbacb913e50f7d92aab14dc33d6839daaac5a37dc7bcc11fc6392af11dd506a8d99076c +DIST otp_src_R15B03-1.tar.gz 76123810 SHA256 4bccac86dd76aec050252e44276a0283a0df9218e6470cf042a9b9f9dfc9476c SHA512 baa8f388bd56bbdf1d3818802d011970fb51d38d14434532b1e4f04c1b8203e5a0cd9cc870f93a993cce750cd1af6e4b7df40dffc44e455353bce9d7c46c8e34 WHIRLPOOL ce76d01dfd17e0bc70e3daa7eab218000d1e802f55b0892e2e9654d2ea262f214f3bd006c0988885e787a1cfe782e8b61d5d1ee3a1d05cbced465b5a28e2de2e +EBUILD erlang-15.2.3.1.ebuild 5459 SHA256 f20f422fbfcea7790a937dbc1d22257fe533d301ce07aa97e3be3043065fbb21 SHA512 bbb7eb5bfe6f12302472e60bb7f722199db119cd6eb30487204a64c2ea0d0c66891ee9c507a30b5316bb716e7dda77a8e4399bc7ccd2e4954aeb556d6d66e71d WHIRLPOOL 23e5ae2cc7e8d1b126de1a5f48b46d4738dd87a055580f4bf809e3e9d0e86a95b771aec0889fac6f59c2aab271ce3b3c623cf8a900c6b182dc4d8d13b40d6cd7 +MISC metadata.xml 852 SHA256 5782640d216cf818d9088bd5eb963002210d83e9eb47e98edfd3844fe579dc27 SHA512 1b22c6d550e7ca634694408f000bd99827aa86037db59b1bb3ca7a2b4259c38d69caac14b0a0db6611f7888dfcdc7972ee70e57a716eb2ac7684aa043b9d3208 WHIRLPOOL 748a8b4560773d970987880ef457194437024ee0f72b3ae9972f6033a5fc14da8e2835dab385c559ae0fe22e2bd31e8e4da3dc946e504388588d23baa39208bd diff --git a/dev-lang/erlang/erlang-15.2.3.1.ebuild b/dev-lang/erlang/erlang-15.2.3.1.ebuild new file mode 100644 index 00000000..51ec6de1 --- /dev/null +++ b/dev-lang/erlang/erlang-15.2.3.1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/erlang/erlang-15.2.3.1.ebuild,v 1.2 2012/12/31 09:34:54 djc Exp $ + +EAPI=3 +WX_GTK_VER="2.8" + +inherit elisp-common eutils java-pkg-opt-2 multilib versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +# erlang uses a really weird versioning scheme which caused quite a few problems +# already. Thus we do a slight modification converting all letters to digits to +# make it more sane (see e.g. #26420) + +# the next line selects the right source. +ERL_VER=($(get_version_components)) +MY_PV="R$(get_major_version)B0${ERL_VER[2]}" + +# ATTN!! Take care when processing the C, etc version! +MY_P=otp_src_${MY_PV} + +DESCRIPTION="Erlang programming language, runtime environment, and large collection of libraries" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="http://www.erlang.org/download/${MY_P}-${ERL_VER[3]}.tar.gz + http://erlang.org/download/otp_doc_man_${MY_PV}-${ERL_VER[3]}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${MY_PV}-${ERL_VER[3]}.tar.gz )" + +LICENSE="ErlPL-1.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="compat-ethread doc emacs halfword hipe java kpoll odbc smp sctp ssl tk wxwidgets" + +RDEPEND=">=dev-lang/perl-5.6.1 + ssl? ( >=dev-libs/openssl-0.9.7d ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2 ) + odbc? ( dev-db/unixODBC )" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:2.8[opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk )" + +S="${WORKDIR}/${MY_P}" + +SITEFILE=50${PN}-gentoo.el + +pkg_setup() { + use wxwidgets && wxwidgets_pkg_setup + if use halfword ; then + use amd64 || die "halfword support is limited to amd64" + fi +} + +src_prepare() { + 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 || die + + # 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 || die + + 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 || die + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c || die +} + +src_configure() { + use java || export JAVAC=false + + econf \ + --enable-threads \ + --enable-shared-zlib \ \ + $(use_enable sctp) \ + $(use_enable halfword halfword-emulator) \ + $(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") \ + || die +} + +src_compile() { + use java || export JAVAC=false + emake || die + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el || die + 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 || die + 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 + + ## Remove ${D} from the following files + sed -e "s:${D}::g" -i "${ED}${ERL_LIBDIR}/bin/erl" || die + sed -e "s:${D}::g" -i "${ED}${ERL_LIBDIR}/bin/start" || die + grep -rle "${D}" "${ED}/${ERL_LIBDIR}/erts-${ERL_ERTS_VER}" | xargs sed -i -e "s:${D}::g" + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install"||die + + 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 || die +} + +pkg_postinst() { + use emacs && elisp-site-regen + elog + elog "If you need a symlink to one of Erlang's binaries," + elog "please open a bug on http://bugs.gentoo.org/" + elog + elog "Gentoo's versioning scheme differs from the author's, so please refer to this version as ${MY_PV}" + elog +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/files/50erlang-gentoo.el b/dev-lang/erlang/files/50erlang-gentoo.el new file mode 100644 index 00000000..db1ae763 --- /dev/null +++ b/dev-lang/erlang/files/50erlang-gentoo.el @@ -0,0 +1,5 @@ +;;; erlang site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(require 'erlang-start) +(setq erlang-root-dir "/usr/share") diff --git a/dev-lang/erlang/files/epmd.init b/dev-lang/erlang/files/epmd.init new file mode 100644 index 00000000..1101345a --- /dev/null +++ b/dev-lang/erlang/files/epmd.init @@ -0,0 +1,20 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Erlang Public License 1.1 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/erlang/files/epmd.init,v 1.2 2012/12/31 09:24:49 djc Exp $ + +depend() { + need net +} + +start() { + ebegin "Starting Erlang Port Mapper Daemon" + start-stop-daemon --start --quiet --user nobody --group nobody --exec /usr/bin/epmd -- -daemon + eend $? +} + +stop() { + ebegin "Stopping Erlang Port Mapper Daemon" + /usr/bin/epmd -kill >/dev/null + eend $? +} diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml new file mode 100644 index 00000000..b78c5d38 --- /dev/null +++ b/dev-lang/erlang/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>lang-misc</herd> +<maintainer> +<email>djc@gentoo.org</email> +<name>Dirkjan Ochtman</name> +</maintainer> + <use> + <flag name="hipe">HIgh Performance Erlang extension</flag> + <flag name="halfword">Enable halfword emulator</flag> + <flag name="kpoll">Enable kernel polling support</flag> + <flag name="sctp">Support for Stream Control Transmission Protocol</flag> + <flag name="compat-ethread">Enable compatibility with pre-pentium 4 CPUs in the ethread library.</flag> + </use> +<longdescription> +Erlang is a programming language designed at the Ericsson +Computer Science Laboratory. Open-source Erlang is being +released to help encourage the spread of Erlang outside +Ericsson. +</longdescription> +</pkgmetadata> |
