diff options
Diffstat (limited to 'dev-lang/erlang')
-rw-r--r-- | dev-lang/erlang/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-18.2.1.ebuild | 166 | ||||
-rw-r--r-- | dev-lang/erlang/files/18.2.1-wx3.0.patch | 113 |
3 files changed, 282 insertions, 0 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index aa372614b777..66dd8f521b5b 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -1,9 +1,12 @@ DIST otp_doc_html_17.5.tar.gz 33510258 SHA256 baba1d373c1faacf4a1a6ec1220d57d0cb2b977edb74f32cd58dc786361c6cf5 SHA512 d3e455452e6d6e241c40de6e41a7b1069f8daa45c8d2340adb62f8867948261692c8465db7e288378942ebe86fd938847756992600da93aa99cb294fadcb5211 WHIRLPOOL 9657c1fd133fa713d0f30bae0394f47f43b090149ec3457a177bd9f129c052b73f1e757762ced02c1c8bcbaec294e845859b18b0e2004429e04df8e04e36cade DIST otp_doc_html_18.0.tar.gz 33857396 SHA256 e5a766f68406f5025f921ec32e8959937189ed1245e24b03a74156a8898b03b2 SHA512 5fcbd1ac7fb5f646e181ede385a56adb8d754bc645fd9313c2e3a77a01cb686b1c5975695207f388a78c9599b0d4e6b52c7ea121e900c0a1e2ab20679c0bede1 WHIRLPOOL 5e9174059212b3f5023c04b19164184937b2eb4cbea29103a85813f630b733e60e600e31d3478b3ef759150421b6153a1a3e946e313706bc23e110e01dc1a945 +DIST otp_doc_html_18.2.1.tar.gz 34204320 SHA256 3576c567b30400fec2b456897d54ba79933ee0f83f6ec57816417b5417ea9723 SHA512 0e1dff75c7243f1ec6ac38de53c8139649ef777b3e96dae35a74d619ad2f8f92b9cd3df4909328e0d6cd0e2b9fea69503588c32c30b9becfc12b6cbc291daa6a WHIRLPOOL da821e651a510958335c34e05616314701bee5021b4ac4bda62c607a1a3253183cb13adee1b08307d91aac04cbbe614c067e9f21179a8a10d51d1c80ac68221e DIST otp_doc_html_R15B03-1.tar.gz 30436303 SHA256 d06f580f11d1303217a5c1cf8d68a98d7e01c535be934dcd430ecdc254f7572e SHA512 8a22ad702d50f40162f7d6051dbbc0226af449f7a1dcfb087e952dd7eb7213257940933441cfb68f055746450e3e5aa2c5ed8107ac67af7c3a940afb195af8c7 WHIRLPOOL ac10f9ce0ffd4cbd98617e4018e5a4729ce83f0ace6a4db219e7beef2f3a626a8c9a419c7f7772c934ca50310f55486df7eb24955ba845a9230c69c93e183d33 DIST otp_doc_man_17.5.tar.gz 1363320 SHA256 85b1b2a1011fc01af550f1fe9e5a599a4c5f2a35d264d2804af1d05590a857c3 SHA512 98d241aa127cfe377e5efc52284cd324713cacefc96db5992275c4f8712a9e35e43f0dbc0d2a8d58a1127fbfa3f762eb001aea1bb1c9fa82205a3d83659ad548 WHIRLPOOL b790046a449824aa02e11bef6b84a7027351edba0fffd241221e690739df30c9c692074b7354612970d8d02b3c1bccfdbd81bb988af9874d181f177ffed49e2c DIST otp_doc_man_18.0.tar.gz 1389178 SHA256 e44f0ec36ee0683867bc2aa9cc7fbb020d9dfd57338f37b98dcd0771f5b95673 SHA512 d3e757b15ee03b4fd89b21a456b89c847a60f4715fb8257c4d3d4f431798cb8d1ae30978608bc85db7f0e25d51072a2d32927745ff410956dca11a01ae4fa034 WHIRLPOOL 83fc8d483a5385b053f5c24e51f35d448dd5ab8e4228500a858422192da17078dbd0f776cbea6d2f77a483c97397cb7e80b5bb5184157611c49743d05fd542bd +DIST otp_doc_man_18.2.1.tar.gz 1390940 SHA256 a58005ccd64853e8c79631a3c4c057dd6f92f581d97d00845a0aea817c33afa0 SHA512 5eb8bfe6112b8e1ea6d67a9a8c52f2287586c658ec31a765810e8b35d9b2c1543a87bd45ce5956f5f5ecac3320f72da4427aeb518bd6bd9eb21151430718b173 WHIRLPOOL ba56286cab04980b234e911816f1c0312d58d08879d8ac3d12b9ad47e129c683c9af01b973ee84a6c4335e1ef56a652b31476fe0a2b9d298374b5acacd0c0ea3 DIST otp_doc_man_R15B03-1.tar.gz 1305001 SHA256 07980d8014c7cf8194b7078c137353f5083992add4663ced3dcba2ff91f228d8 SHA512 eb07552c83a942c1e7f1960b45edfab97b0628a1e08c7c827a07d77797901b4b60a6719b35d0f92a49eb04ada924e9263df70968a5920efc6ccf8e4e966933c6 WHIRLPOOL 764495a8bb67e2c67493452c83ff890d959aa5cd3bd711fce75b3c756dbacb913e50f7d92aab14dc33d6839daaac5a37dc7bcc11fc6392af11dd506a8d99076c DIST otp_src_17.5.tar.gz 67242289 SHA256 3c28820c981b30c50df8ac2a4a238e5813454fa3ed2ad530bc7948a282846474 SHA512 cfd082c8baee7ded370a34f15a1ba3b846b7d81e06edc36c62308c9220697925f1feda91eeecb70fc658f8987087256f51a2ebd0c526d16eeb09c72889d2390d WHIRLPOOL 3c3d987981383bf148b9788fae0574da398ff63d81eea13da0463bed303922d06fe54354de1cd3d37091eb23438939c645176ab565877f06cc1f11235c4d8d3d DIST otp_src_18.0.tar.gz 68124710 SHA256 a0b69da34b4f218eb7d63d9e96fc120aa7257bb6c37a0f40fb388e188b4111aa SHA512 84ec2a3834270c1babe153572d6187faa36c12128e604037d55be01719788c0dd79d46769ea7090d530b746206a25fe02346b02849abee10ee41ed4ac7567c02 WHIRLPOOL 7edc237ef906da5e086bcb7b37fe23da3293b3635f612adc9239736e17731270bf64624444c5556d9fd7a03e4e64678a3bd294d04be2aada2a88d897dad9bee0 +DIST otp_src_18.2.1.tar.gz 68110840 SHA256 82d76ebfeeda5db64ea5b0f1a04aa0e9ac63380b278722e0e6052249bd3fe39a SHA512 00fba01b61e43a88cf2df4a40053e7239541ae9177949da7524d7fa481d6892495f28d98650336f647ef3bf2ee24f62e83fd5f6dffb40c7345804b880b59569c WHIRLPOOL fea5455fb8c876bdb297d3006543524ea4abcf8265de60e89fa3b5a84a98a88ad17277f2fc60ccfac03156d41cde36bd7d2ef0f7de598761a13127585648288b DIST otp_src_R15B03-1.tar.gz 76123810 SHA256 4bccac86dd76aec050252e44276a0283a0df9218e6470cf042a9b9f9dfc9476c SHA512 baa8f388bd56bbdf1d3818802d011970fb51d38d14434532b1e4f04c1b8203e5a0cd9cc870f93a993cce750cd1af6e4b7df40dffc44e455353bce9d7c46c8e34 WHIRLPOOL ce76d01dfd17e0bc70e3daa7eab218000d1e802f55b0892e2e9654d2ea262f214f3bd006c0988885e787a1cfe782e8b61d5d1ee3a1d05cbced465b5a28e2de2e diff --git a/dev-lang/erlang/erlang-18.2.1.ebuild b/dev-lang/erlang/erlang-18.2.1.ebuild new file mode 100644 index 000000000000..5f64b027264c --- /dev/null +++ b/dev-lang/erlang/erlang-18.2.1.ebuild @@ -0,0 +1,166 @@ +# 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="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 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 + +pkg_setup() { + if use halfword ; then + use amd64 || die "halfword support is limited to amd64" + fi +} + +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 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") +} + +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 + + ## Remove ${D} from the following files + sed -e "s:${D}::g" -i "${ED}${ERL_LIBDIR}/bin/erl" + sed -e "s:${D}::g" -i "${ED}${ERL_LIBDIR}/bin/start" + 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" + + 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 +} diff --git a/dev-lang/erlang/files/18.2.1-wx3.0.patch b/dev-lang/erlang/files/18.2.1-wx3.0.patch new file mode 100644 index 000000000000..aada0d9eaa1e --- /dev/null +++ b/dev-lang/erlang/files/18.2.1-wx3.0.patch @@ -0,0 +1,113 @@ +Description: Fix constants for wxwidgets3.0 + The values of wx constants can change between stable release series (and + some have between 2.8 and 3.0), but erlang seems to hardcode these values. +Author: Olly Betts <olly@survex.com> +Bug-Debian: https://bugs.debian.org/766790 +Forwarded: no +Last-Update: 2014-11-25 + +--- a/lib/wx/include/wx.hrl ++++ b/lib/wx/include/wx.hrl +@@ -767,7 +767,7 @@ + % From "checkbox.h" + -define(wxCHK_ALLOW_3RD_STATE_FOR_USER, 8192). + -define(wxCHK_3STATE, 4096). +--define(wxCHK_2STATE, 0). ++-define(wxCHK_2STATE, 16384). + % From "checkbox.h": wxCheckBoxState + -define(wxCHK_UNCHECKED, 0). + -define(wxCHK_CHECKED, 1). +@@ -1014,10 +1014,10 @@ + -define(wxSIZE_AUTO_WIDTH, 1). + -define(wxSETUP, 131072). + -define(wxMORE, 65536). +--define(wxHELP, 32768). +--define(wxRESET, 16384). +--define(wxBACKWARD, 8192). +--define(wxFORWARD, 4096). ++-define(wxHELP, 4096). ++-define(wxRESET, 32768). ++-define(wxBACKWARD, 16384). ++-define(wxFORWARD, 8192). + -define(wxICON_MASK, (16#00000100 bor 16#00000200 bor 16#00000400 bor 16#00000800)). + -define(wxICON_ASTERISK, ?wxICON_INFORMATION). + -define(wxICON_STOP, ?wxICON_HAND). +@@ -1049,8 +1049,8 @@ + -define(wxTC_TOP, 0). + -define(wxTC_FIXEDWIDTH, 32). + -define(wxTC_RIGHTJUSTIFY, 16). +--define(wxSP_WRAP, 8192). +--define(wxSP_ARROW_KEYS, 4096). ++-define(wxSP_WRAP, 32768). ++-define(wxSP_ARROW_KEYS, 16384). + -define(wxSP_VERTICAL, ?wxVERTICAL). + -define(wxSP_HORIZONTAL, ?wxHORIZONTAL). + -define(wxSB_VERTICAL, ?wxVERTICAL). +@@ -1071,8 +1071,8 @@ + -define(wxCB_SIMPLE, 4). + -define(wxLB_INT_HEIGHT, 2048). + -define(wxLB_HSCROLL, ?wxHSCROLL). +--define(wxLB_ALWAYS_SB, 1024). +--define(wxLB_NEEDED_SB, 512). ++-define(wxLB_ALWAYS_SB, 512). ++-define(wxLB_NEEDED_SB, 0). + -define(wxLB_OWNERDRAW, 256). + -define(wxLB_EXTENDED, 128). + -define(wxLB_MULTIPLE, 64). +@@ -1548,7 +1548,7 @@ + -define(wxUPDATE_UI_FROMIDLE, 2). + % From "dialog.h" + -define(wxDEFAULT_DIALOG_STYLE, (?wxCAPTION bor ?wxSYSTEM_MENU bor ?wxCLOSE_BOX)). +--define(wxDIALOG_NO_PARENT, 1). ++-define(wxDIALOG_NO_PARENT, 32). + % From "dirctrlg.h" + -define(wxDIRCTRL_DIR_ONLY, 16). + -define(wxDIRCTRL_SELECT_FIRST, 32). +@@ -3728,7 +3728,7 @@ + -define(wxSTC_KEY_LEFT, 302). + -define(wxSTC_KEY_UP, 301). + -define(wxSTC_KEY_DOWN, 300). +--define(wxSTC_MODEVENTMASKALL, 8191). ++-define(wxSTC_MODEVENTMASKALL, 1048575). + -define(wxSTC_MULTILINEUNDOREDO, 4096). + -define(wxSTC_MOD_BEFOREDELETE, 2048). + -define(wxSTC_MOD_BEFOREINSERT, 1024). +@@ -3810,7 +3810,7 @@ + -define(wxSTC_INDIC_TT, 2). + -define(wxSTC_INDIC_SQUIGGLE, 1). + -define(wxSTC_INDIC_PLAIN, 0). +--define(wxSTC_INDIC_MAX, 7). ++-define(wxSTC_INDIC_MAX, 31). + -define(wxSTC_CASE_LOWER, 2). + -define(wxSTC_CASE_UPPER, 1). + -define(wxSTC_CASE_MIXED, 0). +@@ -3835,7 +3835,7 @@ + -define(wxSTC_CHARSET_BALTIC, 186). + -define(wxSTC_CHARSET_DEFAULT, 1). + -define(wxSTC_CHARSET_ANSI, 0). +--define(wxSTC_STYLE_MAX, 127). ++-define(wxSTC_STYLE_MAX, 255). + -define(wxSTC_STYLE_LASTPREDEFINED, 39). + -define(wxSTC_STYLE_CALLTIP, 38). + -define(wxSTC_STYLE_INDENTGUIDE, 37). +@@ -3934,9 +3934,9 @@ + -define(wxTE_PROCESS_TAB, 64). + -define(wxTE_MULTILINE, 32). + -define(wxTE_READONLY, 16). +--define(wxTE_AUTO_SCROLL, 8). ++-define(wxTE_AUTO_SCROLL, 0). + -define(wxTE_NO_VSCROLL, 2). +--define(wxHAS_TEXT_WINDOW_STREAM, 0). ++-define(wxHAS_TEXT_WINDOW_STREAM, 1). + % From "textctrl.h": wxTextAttrAlignment + -define(wxTEXT_ALIGNMENT_DEFAULT, 0). + -define(wxTEXT_ALIGNMENT_LEFT, 1). +@@ -3986,7 +3986,7 @@ + -define(wxDEFAULT_FRAME_STYLE, (?wxSYSTEM_MENU bor ?wxRESIZE_BORDER bor ?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX bor ?wxCAPTION bor ?wxCLIP_CHILDREN)). + -define(wxRESIZE_BORDER, 64). + -define(wxTINY_CAPTION_VERT, 128). +--define(wxTINY_CAPTION_HORIZ, 256). ++-define(wxTINY_CAPTION_HORIZ, 128). + -define(wxMAXIMIZE_BOX, 512). + -define(wxMINIMIZE_BOX, 1024). + -define(wxSYSTEM_MENU, 2048). |