public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2015-10-25 11:51 Pacho Ramos
  0 siblings, 0 replies; 12+ messages in thread
From: Pacho Ramos @ 2015-10-25 11:51 UTC (permalink / raw
  To: gentoo-commits

commit:     2bb3db1a1a28e3a76a5cde521f27298b1bd48562
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 25 11:50:23 2015 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Oct 25 11:51:13 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2bb3db1a

dev-lang/erlang: Support wxGTK:3.0 (#563322)

Package-Manager: portage-2.2.23

 dev-lang/erlang/erlang-18.0-r2.ebuild         | 166 ++++++++
 dev-lang/erlang/files/erlang-18.0-wx3.0.patch | 531 ++++++++++++++++++++++++++
 2 files changed, 697 insertions(+)

diff --git a/dev-lang/erlang/erlang-18.0-r2.ebuild b/dev-lang/erlang/erlang-18.0-r2.ebuild
new file mode 100644
index 0000000..e62e7a2
--- /dev/null
+++ b/dev-lang/erlang/erlang-18.0-r2.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2015 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 large collection of libraries"
+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}"/${PN}-18.0-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/erlang-18.0-wx3.0.patch b/dev-lang/erlang/files/erlang-18.0-wx3.0.patch
new file mode 100644
index 0000000..0537134
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-18.0-wx3.0.patch
@@ -0,0 +1,531 @@
+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).
+@@ -2036,212 +2036,212 @@
+ -define(wxLANGUAGE_ARABIC_YEMEN, 24).
+ -define(wxLANGUAGE_ARMENIAN, 25).
+ -define(wxLANGUAGE_ASSAMESE, 26).
+--define(wxLANGUAGE_AYMARA, 27).
+--define(wxLANGUAGE_AZERI, 28).
+--define(wxLANGUAGE_AZERI_CYRILLIC, 29).
+--define(wxLANGUAGE_AZERI_LATIN, 30).
+--define(wxLANGUAGE_BASHKIR, 31).
+--define(wxLANGUAGE_BASQUE, 32).
+--define(wxLANGUAGE_BELARUSIAN, 33).
+--define(wxLANGUAGE_BENGALI, 34).
+--define(wxLANGUAGE_BHUTANI, 35).
+--define(wxLANGUAGE_BIHARI, 36).
+--define(wxLANGUAGE_BISLAMA, 37).
+--define(wxLANGUAGE_BRETON, 38).
+--define(wxLANGUAGE_BULGARIAN, 39).
+--define(wxLANGUAGE_BURMESE, 40).
+--define(wxLANGUAGE_CAMBODIAN, 41).
+--define(wxLANGUAGE_CATALAN, 42).
+--define(wxLANGUAGE_CHINESE, 43).
+--define(wxLANGUAGE_CHINESE_SIMPLIFIED, 44).
+--define(wxLANGUAGE_CHINESE_TRADITIONAL, 45).
+--define(wxLANGUAGE_CHINESE_HONGKONG, 46).
+--define(wxLANGUAGE_CHINESE_MACAU, 47).
+--define(wxLANGUAGE_CHINESE_SINGAPORE, 48).
+--define(wxLANGUAGE_CHINESE_TAIWAN, 49).
+--define(wxLANGUAGE_CORSICAN, 50).
+--define(wxLANGUAGE_CROATIAN, 51).
+--define(wxLANGUAGE_CZECH, 52).
+--define(wxLANGUAGE_DANISH, 53).
+--define(wxLANGUAGE_DUTCH, 54).
+--define(wxLANGUAGE_DUTCH_BELGIAN, 55).
+--define(wxLANGUAGE_ENGLISH, 56).
+--define(wxLANGUAGE_ENGLISH_UK, 57).
+--define(wxLANGUAGE_ENGLISH_US, 58).
+--define(wxLANGUAGE_ENGLISH_AUSTRALIA, 59).
+--define(wxLANGUAGE_ENGLISH_BELIZE, 60).
+--define(wxLANGUAGE_ENGLISH_BOTSWANA, 61).
+--define(wxLANGUAGE_ENGLISH_CANADA, 62).
+--define(wxLANGUAGE_ENGLISH_CARIBBEAN, 63).
+--define(wxLANGUAGE_ENGLISH_DENMARK, 64).
+--define(wxLANGUAGE_ENGLISH_EIRE, 65).
+--define(wxLANGUAGE_ENGLISH_JAMAICA, 66).
+--define(wxLANGUAGE_ENGLISH_NEW_ZEALAND, 67).
+--define(wxLANGUAGE_ENGLISH_PHILIPPINES, 68).
+--define(wxLANGUAGE_ENGLISH_SOUTH_AFRICA, 69).
+--define(wxLANGUAGE_ENGLISH_TRINIDAD, 70).
+--define(wxLANGUAGE_ENGLISH_ZIMBABWE, 71).
+--define(wxLANGUAGE_ESPERANTO, 72).
+--define(wxLANGUAGE_ESTONIAN, 73).
+--define(wxLANGUAGE_FAEROESE, 74).
+--define(wxLANGUAGE_FARSI, 75).
+--define(wxLANGUAGE_FIJI, 76).
+--define(wxLANGUAGE_FINNISH, 77).
+--define(wxLANGUAGE_FRENCH, 78).
+--define(wxLANGUAGE_FRENCH_BELGIAN, 79).
+--define(wxLANGUAGE_FRENCH_CANADIAN, 80).
+--define(wxLANGUAGE_FRENCH_LUXEMBOURG, 81).
+--define(wxLANGUAGE_FRENCH_MONACO, 82).
+--define(wxLANGUAGE_FRENCH_SWISS, 83).
+--define(wxLANGUAGE_FRISIAN, 84).
+--define(wxLANGUAGE_GALICIAN, 85).
+--define(wxLANGUAGE_GEORGIAN, 86).
+--define(wxLANGUAGE_GERMAN, 87).
+--define(wxLANGUAGE_GERMAN_AUSTRIAN, 88).
+--define(wxLANGUAGE_GERMAN_BELGIUM, 89).
+--define(wxLANGUAGE_GERMAN_LIECHTENSTEIN, 90).
+--define(wxLANGUAGE_GERMAN_LUXEMBOURG, 91).
+--define(wxLANGUAGE_GERMAN_SWISS, 92).
+--define(wxLANGUAGE_GREEK, 93).
+--define(wxLANGUAGE_GREENLANDIC, 94).
+--define(wxLANGUAGE_GUARANI, 95).
+--define(wxLANGUAGE_GUJARATI, 96).
+--define(wxLANGUAGE_HAUSA, 97).
+--define(wxLANGUAGE_HEBREW, 98).
+--define(wxLANGUAGE_HINDI, 99).
+--define(wxLANGUAGE_HUNGARIAN, 100).
+--define(wxLANGUAGE_ICELANDIC, 101).
+--define(wxLANGUAGE_INDONESIAN, 102).
+--define(wxLANGUAGE_INTERLINGUA, 103).
+--define(wxLANGUAGE_INTERLINGUE, 104).
+--define(wxLANGUAGE_INUKTITUT, 105).
+--define(wxLANGUAGE_INUPIAK, 106).
+--define(wxLANGUAGE_IRISH, 107).
+--define(wxLANGUAGE_ITALIAN, 108).
+--define(wxLANGUAGE_ITALIAN_SWISS, 109).
+--define(wxLANGUAGE_JAPANESE, 110).
+--define(wxLANGUAGE_JAVANESE, 111).
+--define(wxLANGUAGE_KANNADA, 112).
+--define(wxLANGUAGE_KASHMIRI, 113).
+--define(wxLANGUAGE_KASHMIRI_INDIA, 114).
+--define(wxLANGUAGE_KAZAKH, 115).
+--define(wxLANGUAGE_KERNEWEK, 116).
+--define(wxLANGUAGE_KINYARWANDA, 117).
+--define(wxLANGUAGE_KIRGHIZ, 118).
+--define(wxLANGUAGE_KIRUNDI, 119).
+--define(wxLANGUAGE_KONKANI, 120).
+--define(wxLANGUAGE_KOREAN, 121).
+--define(wxLANGUAGE_KURDISH, 122).
+--define(wxLANGUAGE_LAOTHIAN, 123).
+--define(wxLANGUAGE_LATIN, 124).
+--define(wxLANGUAGE_LATVIAN, 125).
+--define(wxLANGUAGE_LINGALA, 126).
+--define(wxLANGUAGE_LITHUANIAN, 127).
+--define(wxLANGUAGE_MACEDONIAN, 128).
+--define(wxLANGUAGE_MALAGASY, 129).
+--define(wxLANGUAGE_MALAY, 130).
+--define(wxLANGUAGE_MALAYALAM, 131).
+--define(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM, 132).
+--define(wxLANGUAGE_MALAY_MALAYSIA, 133).
+--define(wxLANGUAGE_MALTESE, 134).
+--define(wxLANGUAGE_MANIPURI, 135).
+--define(wxLANGUAGE_MAORI, 136).
+--define(wxLANGUAGE_MARATHI, 137).
+--define(wxLANGUAGE_MOLDAVIAN, 138).
+--define(wxLANGUAGE_MONGOLIAN, 139).
+--define(wxLANGUAGE_NAURU, 140).
+--define(wxLANGUAGE_NEPALI, 141).
+--define(wxLANGUAGE_NEPALI_INDIA, 142).
+--define(wxLANGUAGE_NORWEGIAN_BOKMAL, 143).
+--define(wxLANGUAGE_NORWEGIAN_NYNORSK, 144).
+--define(wxLANGUAGE_OCCITAN, 145).
+--define(wxLANGUAGE_ORIYA, 146).
+--define(wxLANGUAGE_OROMO, 147).
+--define(wxLANGUAGE_PASHTO, 148).
+--define(wxLANGUAGE_POLISH, 149).
+--define(wxLANGUAGE_PORTUGUESE, 150).
+--define(wxLANGUAGE_PORTUGUESE_BRAZILIAN, 151).
+--define(wxLANGUAGE_PUNJABI, 152).
+--define(wxLANGUAGE_QUECHUA, 153).
+--define(wxLANGUAGE_RHAETO_ROMANCE, 154).
+--define(wxLANGUAGE_ROMANIAN, 155).
+--define(wxLANGUAGE_RUSSIAN, 156).
+--define(wxLANGUAGE_RUSSIAN_UKRAINE, 157).
+--define(wxLANGUAGE_SAMOAN, 158).
+--define(wxLANGUAGE_SANGHO, 159).
+--define(wxLANGUAGE_SANSKRIT, 160).
+--define(wxLANGUAGE_SCOTS_GAELIC, 161).
+--define(wxLANGUAGE_SERBIAN, 162).
+--define(wxLANGUAGE_SERBIAN_CYRILLIC, 163).
+--define(wxLANGUAGE_SERBIAN_LATIN, 164).
+--define(wxLANGUAGE_SERBO_CROATIAN, 165).
+--define(wxLANGUAGE_SESOTHO, 166).
+--define(wxLANGUAGE_SETSWANA, 167).
+--define(wxLANGUAGE_SHONA, 168).
+--define(wxLANGUAGE_SINDHI, 169).
+--define(wxLANGUAGE_SINHALESE, 170).
+--define(wxLANGUAGE_SISWATI, 171).
+--define(wxLANGUAGE_SLOVAK, 172).
+--define(wxLANGUAGE_SLOVENIAN, 173).
+--define(wxLANGUAGE_SOMALI, 174).
+--define(wxLANGUAGE_SPANISH, 175).
+--define(wxLANGUAGE_SPANISH_ARGENTINA, 176).
+--define(wxLANGUAGE_SPANISH_BOLIVIA, 177).
+--define(wxLANGUAGE_SPANISH_CHILE, 178).
+--define(wxLANGUAGE_SPANISH_COLOMBIA, 179).
+--define(wxLANGUAGE_SPANISH_COSTA_RICA, 180).
+--define(wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, 181).
+--define(wxLANGUAGE_SPANISH_ECUADOR, 182).
+--define(wxLANGUAGE_SPANISH_EL_SALVADOR, 183).
+--define(wxLANGUAGE_SPANISH_GUATEMALA, 184).
+--define(wxLANGUAGE_SPANISH_HONDURAS, 185).
+--define(wxLANGUAGE_SPANISH_MEXICAN, 186).
+--define(wxLANGUAGE_SPANISH_MODERN, 187).
+--define(wxLANGUAGE_SPANISH_NICARAGUA, 188).
+--define(wxLANGUAGE_SPANISH_PANAMA, 189).
+--define(wxLANGUAGE_SPANISH_PARAGUAY, 190).
+--define(wxLANGUAGE_SPANISH_PERU, 191).
+--define(wxLANGUAGE_SPANISH_PUERTO_RICO, 192).
+--define(wxLANGUAGE_SPANISH_URUGUAY, 193).
+--define(wxLANGUAGE_SPANISH_US, 194).
+--define(wxLANGUAGE_SPANISH_VENEZUELA, 195).
+--define(wxLANGUAGE_SUNDANESE, 196).
+--define(wxLANGUAGE_SWAHILI, 197).
+--define(wxLANGUAGE_SWEDISH, 198).
+--define(wxLANGUAGE_SWEDISH_FINLAND, 199).
+--define(wxLANGUAGE_TAGALOG, 200).
+--define(wxLANGUAGE_TAJIK, 201).
+--define(wxLANGUAGE_TAMIL, 202).
+--define(wxLANGUAGE_TATAR, 203).
+--define(wxLANGUAGE_TELUGU, 204).
+--define(wxLANGUAGE_THAI, 205).
+--define(wxLANGUAGE_TIBETAN, 206).
+--define(wxLANGUAGE_TIGRINYA, 207).
+--define(wxLANGUAGE_TONGA, 208).
+--define(wxLANGUAGE_TSONGA, 209).
+--define(wxLANGUAGE_TURKISH, 210).
+--define(wxLANGUAGE_TURKMEN, 211).
+--define(wxLANGUAGE_TWI, 212).
+--define(wxLANGUAGE_UIGHUR, 213).
+--define(wxLANGUAGE_UKRAINIAN, 214).
+--define(wxLANGUAGE_URDU, 215).
+--define(wxLANGUAGE_URDU_INDIA, 216).
+--define(wxLANGUAGE_URDU_PAKISTAN, 217).
+--define(wxLANGUAGE_UZBEK, 218).
+--define(wxLANGUAGE_UZBEK_CYRILLIC, 219).
+--define(wxLANGUAGE_UZBEK_LATIN, 220).
+--define(wxLANGUAGE_VIETNAMESE, 221).
+--define(wxLANGUAGE_VOLAPUK, 222).
+--define(wxLANGUAGE_WELSH, 223).
+--define(wxLANGUAGE_WOLOF, 224).
+--define(wxLANGUAGE_XHOSA, 225).
+--define(wxLANGUAGE_YIDDISH, 226).
+--define(wxLANGUAGE_YORUBA, 227).
+--define(wxLANGUAGE_ZHUANG, 228).
+--define(wxLANGUAGE_ZULU, 229).
++-define(wxLANGUAGE_AYMARA, 28).
++-define(wxLANGUAGE_AZERI, 29).
++-define(wxLANGUAGE_AZERI_CYRILLIC, 30).
++-define(wxLANGUAGE_AZERI_LATIN, 31).
++-define(wxLANGUAGE_BASHKIR, 32).
++-define(wxLANGUAGE_BASQUE, 33).
++-define(wxLANGUAGE_BELARUSIAN, 34).
++-define(wxLANGUAGE_BENGALI, 35).
++-define(wxLANGUAGE_BHUTANI, 36).
++-define(wxLANGUAGE_BIHARI, 37).
++-define(wxLANGUAGE_BISLAMA, 38).
++-define(wxLANGUAGE_BRETON, 40).
++-define(wxLANGUAGE_BULGARIAN, 41).
++-define(wxLANGUAGE_BURMESE, 42).
++-define(wxLANGUAGE_CAMBODIAN, 43).
++-define(wxLANGUAGE_CATALAN, 44).
++-define(wxLANGUAGE_CHINESE, 45).
++-define(wxLANGUAGE_CHINESE_SIMPLIFIED, 46).
++-define(wxLANGUAGE_CHINESE_TRADITIONAL, 47).
++-define(wxLANGUAGE_CHINESE_HONGKONG, 48).
++-define(wxLANGUAGE_CHINESE_MACAU, 49).
++-define(wxLANGUAGE_CHINESE_SINGAPORE, 50).
++-define(wxLANGUAGE_CHINESE_TAIWAN, 51).
++-define(wxLANGUAGE_CORSICAN, 52).
++-define(wxLANGUAGE_CROATIAN, 53).
++-define(wxLANGUAGE_CZECH, 54).
++-define(wxLANGUAGE_DANISH, 55).
++-define(wxLANGUAGE_DUTCH, 56).
++-define(wxLANGUAGE_DUTCH_BELGIAN, 57).
++-define(wxLANGUAGE_ENGLISH, 58).
++-define(wxLANGUAGE_ENGLISH_UK, 59).
++-define(wxLANGUAGE_ENGLISH_US, 60).
++-define(wxLANGUAGE_ENGLISH_AUSTRALIA, 61).
++-define(wxLANGUAGE_ENGLISH_BELIZE, 62).
++-define(wxLANGUAGE_ENGLISH_BOTSWANA, 63).
++-define(wxLANGUAGE_ENGLISH_CANADA, 64).
++-define(wxLANGUAGE_ENGLISH_CARIBBEAN, 65).
++-define(wxLANGUAGE_ENGLISH_DENMARK, 66).
++-define(wxLANGUAGE_ENGLISH_EIRE, 67).
++-define(wxLANGUAGE_ENGLISH_JAMAICA, 68).
++-define(wxLANGUAGE_ENGLISH_NEW_ZEALAND, 69).
++-define(wxLANGUAGE_ENGLISH_PHILIPPINES, 70).
++-define(wxLANGUAGE_ENGLISH_SOUTH_AFRICA, 71).
++-define(wxLANGUAGE_ENGLISH_TRINIDAD, 72).
++-define(wxLANGUAGE_ENGLISH_ZIMBABWE, 73).
++-define(wxLANGUAGE_ESPERANTO, 74).
++-define(wxLANGUAGE_ESTONIAN, 75).
++-define(wxLANGUAGE_FAEROESE, 76).
++-define(wxLANGUAGE_FARSI, 77).
++-define(wxLANGUAGE_FIJI, 78).
++-define(wxLANGUAGE_FINNISH, 79).
++-define(wxLANGUAGE_FRENCH, 80).
++-define(wxLANGUAGE_FRENCH_BELGIAN, 81).
++-define(wxLANGUAGE_FRENCH_CANADIAN, 82).
++-define(wxLANGUAGE_FRENCH_LUXEMBOURG, 83).
++-define(wxLANGUAGE_FRENCH_MONACO, 84).
++-define(wxLANGUAGE_FRENCH_SWISS, 85).
++-define(wxLANGUAGE_FRISIAN, 86).
++-define(wxLANGUAGE_GALICIAN, 87).
++-define(wxLANGUAGE_GEORGIAN, 88).
++-define(wxLANGUAGE_GERMAN, 89).
++-define(wxLANGUAGE_GERMAN_AUSTRIAN, 90).
++-define(wxLANGUAGE_GERMAN_BELGIUM, 91).
++-define(wxLANGUAGE_GERMAN_LIECHTENSTEIN, 92).
++-define(wxLANGUAGE_GERMAN_LUXEMBOURG, 93).
++-define(wxLANGUAGE_GERMAN_SWISS, 94).
++-define(wxLANGUAGE_GREEK, 95).
++-define(wxLANGUAGE_GREENLANDIC, 96).
++-define(wxLANGUAGE_GUARANI, 97).
++-define(wxLANGUAGE_GUJARATI, 98).
++-define(wxLANGUAGE_HAUSA, 99).
++-define(wxLANGUAGE_HEBREW, 100).
++-define(wxLANGUAGE_HINDI, 101).
++-define(wxLANGUAGE_HUNGARIAN, 102).
++-define(wxLANGUAGE_ICELANDIC, 103).
++-define(wxLANGUAGE_INDONESIAN, 104).
++-define(wxLANGUAGE_INTERLINGUA, 105).
++-define(wxLANGUAGE_INTERLINGUE, 106).
++-define(wxLANGUAGE_INUKTITUT, 107).
++-define(wxLANGUAGE_INUPIAK, 108).
++-define(wxLANGUAGE_IRISH, 109).
++-define(wxLANGUAGE_ITALIAN, 110).
++-define(wxLANGUAGE_ITALIAN_SWISS, 111).
++-define(wxLANGUAGE_JAPANESE, 112).
++-define(wxLANGUAGE_JAVANESE, 113).
++-define(wxLANGUAGE_KANNADA, 114).
++-define(wxLANGUAGE_KASHMIRI, 115).
++-define(wxLANGUAGE_KASHMIRI_INDIA, 116).
++-define(wxLANGUAGE_KAZAKH, 117).
++-define(wxLANGUAGE_KERNEWEK, 118).
++-define(wxLANGUAGE_KINYARWANDA, 119).
++-define(wxLANGUAGE_KIRGHIZ, 120).
++-define(wxLANGUAGE_KIRUNDI, 121).
++-define(wxLANGUAGE_KONKANI, 122).
++-define(wxLANGUAGE_KOREAN, 123).
++-define(wxLANGUAGE_KURDISH, 124).
++-define(wxLANGUAGE_LAOTHIAN, 125).
++-define(wxLANGUAGE_LATIN, 126).
++-define(wxLANGUAGE_LATVIAN, 127).
++-define(wxLANGUAGE_LINGALA, 128).
++-define(wxLANGUAGE_LITHUANIAN, 129).
++-define(wxLANGUAGE_MACEDONIAN, 130).
++-define(wxLANGUAGE_MALAGASY, 131).
++-define(wxLANGUAGE_MALAY, 132).
++-define(wxLANGUAGE_MALAYALAM, 133).
++-define(wxLANGUAGE_MALAY_BRUNEI_DARUSSALAM, 134).
++-define(wxLANGUAGE_MALAY_MALAYSIA, 135).
++-define(wxLANGUAGE_MALTESE, 136).
++-define(wxLANGUAGE_MANIPURI, 137).
++-define(wxLANGUAGE_MAORI, 138).
++-define(wxLANGUAGE_MARATHI, 139).
++-define(wxLANGUAGE_MOLDAVIAN, 140).
++-define(wxLANGUAGE_MONGOLIAN, 141).
++-define(wxLANGUAGE_NAURU, 142).
++-define(wxLANGUAGE_NEPALI, 143).
++-define(wxLANGUAGE_NEPALI_INDIA, 144).
++-define(wxLANGUAGE_NORWEGIAN_BOKMAL, 145).
++-define(wxLANGUAGE_NORWEGIAN_NYNORSK, 146).
++-define(wxLANGUAGE_OCCITAN, 147).
++-define(wxLANGUAGE_ORIYA, 148).
++-define(wxLANGUAGE_OROMO, 149).
++-define(wxLANGUAGE_PASHTO, 150).
++-define(wxLANGUAGE_POLISH, 151).
++-define(wxLANGUAGE_PORTUGUESE, 152).
++-define(wxLANGUAGE_PORTUGUESE_BRAZILIAN, 153).
++-define(wxLANGUAGE_PUNJABI, 154).
++-define(wxLANGUAGE_QUECHUA, 155).
++-define(wxLANGUAGE_RHAETO_ROMANCE, 156).
++-define(wxLANGUAGE_ROMANIAN, 157).
++-define(wxLANGUAGE_RUSSIAN, 158).
++-define(wxLANGUAGE_RUSSIAN_UKRAINE, 159).
++-define(wxLANGUAGE_SAMOAN, 161).
++-define(wxLANGUAGE_SANGHO, 162).
++-define(wxLANGUAGE_SANSKRIT, 163).
++-define(wxLANGUAGE_SCOTS_GAELIC, 164).
++-define(wxLANGUAGE_SERBIAN, 165).
++-define(wxLANGUAGE_SERBIAN_CYRILLIC, 166).
++-define(wxLANGUAGE_SERBIAN_LATIN, 167).
++-define(wxLANGUAGE_SERBO_CROATIAN, 168).
++-define(wxLANGUAGE_SESOTHO, 169).
++-define(wxLANGUAGE_SETSWANA, 170).
++-define(wxLANGUAGE_SHONA, 171).
++-define(wxLANGUAGE_SINDHI, 172).
++-define(wxLANGUAGE_SINHALESE, 173).
++-define(wxLANGUAGE_SISWATI, 174).
++-define(wxLANGUAGE_SLOVAK, 175).
++-define(wxLANGUAGE_SLOVENIAN, 176).
++-define(wxLANGUAGE_SOMALI, 177).
++-define(wxLANGUAGE_SPANISH, 178).
++-define(wxLANGUAGE_SPANISH_ARGENTINA, 179).
++-define(wxLANGUAGE_SPANISH_BOLIVIA, 180).
++-define(wxLANGUAGE_SPANISH_CHILE, 181).
++-define(wxLANGUAGE_SPANISH_COLOMBIA, 182).
++-define(wxLANGUAGE_SPANISH_COSTA_RICA, 183).
++-define(wxLANGUAGE_SPANISH_DOMINICAN_REPUBLIC, 184).
++-define(wxLANGUAGE_SPANISH_ECUADOR, 185).
++-define(wxLANGUAGE_SPANISH_EL_SALVADOR, 186).
++-define(wxLANGUAGE_SPANISH_GUATEMALA, 187).
++-define(wxLANGUAGE_SPANISH_HONDURAS, 188).
++-define(wxLANGUAGE_SPANISH_MEXICAN, 189).
++-define(wxLANGUAGE_SPANISH_MODERN, 190).
++-define(wxLANGUAGE_SPANISH_NICARAGUA, 191).
++-define(wxLANGUAGE_SPANISH_PANAMA, 192).
++-define(wxLANGUAGE_SPANISH_PARAGUAY, 193).
++-define(wxLANGUAGE_SPANISH_PERU, 194).
++-define(wxLANGUAGE_SPANISH_PUERTO_RICO, 195).
++-define(wxLANGUAGE_SPANISH_URUGUAY, 196).
++-define(wxLANGUAGE_SPANISH_US, 197).
++-define(wxLANGUAGE_SPANISH_VENEZUELA, 198).
++-define(wxLANGUAGE_SUNDANESE, 199).
++-define(wxLANGUAGE_SWAHILI, 200).
++-define(wxLANGUAGE_SWEDISH, 201).
++-define(wxLANGUAGE_SWEDISH_FINLAND, 202).
++-define(wxLANGUAGE_TAGALOG, 203).
++-define(wxLANGUAGE_TAJIK, 204).
++-define(wxLANGUAGE_TAMIL, 205).
++-define(wxLANGUAGE_TATAR, 206).
++-define(wxLANGUAGE_TELUGU, 207).
++-define(wxLANGUAGE_THAI, 208).
++-define(wxLANGUAGE_TIBETAN, 209).
++-define(wxLANGUAGE_TIGRINYA, 210).
++-define(wxLANGUAGE_TONGA, 211).
++-define(wxLANGUAGE_TSONGA, 212).
++-define(wxLANGUAGE_TURKISH, 213).
++-define(wxLANGUAGE_TURKMEN, 214).
++-define(wxLANGUAGE_TWI, 215).
++-define(wxLANGUAGE_UIGHUR, 216).
++-define(wxLANGUAGE_UKRAINIAN, 217).
++-define(wxLANGUAGE_URDU, 218).
++-define(wxLANGUAGE_URDU_INDIA, 219).
++-define(wxLANGUAGE_URDU_PAKISTAN, 220).
++-define(wxLANGUAGE_UZBEK, 221).
++-define(wxLANGUAGE_UZBEK_CYRILLIC, 222).
++-define(wxLANGUAGE_UZBEK_LATIN, 223).
++-define(wxLANGUAGE_VIETNAMESE, 225).
++-define(wxLANGUAGE_VOLAPUK, 226).
++-define(wxLANGUAGE_WELSH, 227).
++-define(wxLANGUAGE_WOLOF, 228).
++-define(wxLANGUAGE_XHOSA, 229).
++-define(wxLANGUAGE_YIDDISH, 230).
++-define(wxLANGUAGE_YORUBA, 231).
++-define(wxLANGUAGE_ZHUANG, 232).
++-define(wxLANGUAGE_ZULU, 233).
+ -define(wxLANGUAGE_USER_DEFINED, 230).
+--define(wxLANGUAGE_VALENCIAN, 536870911).
+--define(wxLANGUAGE_SAMI, 536870912).
++-define(wxLANGUAGE_VALENCIAN, 224).
++-define(wxLANGUAGE_SAMI, 160).
+ % From "intl.h": wxLayoutDirection
+ -define(wxLayout_Default, 0).
+ -define(wxLayout_LeftToRight, 1).
+@@ -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).


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2018-04-21  3:14 Göktürk Yüksek
  0 siblings, 0 replies; 12+ messages in thread
From: Göktürk Yüksek @ 2018-04-21  3:14 UTC (permalink / raw
  To: gentoo-commits

commit:     76340e6f028622381968af8a81e0b6d7bce2e963
Author:     Nick Sarnie <commendsarnex <AT> gmail <DOT> com>
AuthorDate: Tue Apr 17 03:29:54 2018 +0000
Commit:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Sat Apr 21 02:36:20 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76340e6f

dev-lang/erlang: Version bump to 20.3.2

This change includes a major update to the ebuild. I, with guidance from gokturk, have fixed many mistakes and
cleaned up the ebuild. The build system is difficult to work with, and requires some special autoconf work to get the
correct configure scripts generated. In addition, please note that the erlang.org and github releases for the same version
are different, the biggest factor being that the erlang.org release includes precompiled binaries, while the github
release does not.

Please also note that I have dropped the "wxwidgets" USE flag, as upstream unconditionally links against it

Signed-off-by: Nick Sarnie <commendsarnex <AT> gmail.com>

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 dev-lang/erlang/Manifest                           |   3 +
 dev-lang/erlang/erlang-20.3.2.ebuild               | 226 +++++++++++++++++++++
 .../files/erlang-20.3.2-dont-ignore-LDFLAGS.patch  |  42 ++++
 3 files changed, 271 insertions(+)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 1fdf7568898..5194740d5de 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -1,3 +1,6 @@
+DIST erlang-20.3.2.tar.gz 53492641 BLAKE2B 2cdf78b6003801400d99949865a5b3e17d2209bf411bbe07dc12f749c84725710d12f85cb2559bc39ac04a7d6f7a9ae07b5f131a5524cf4ce3eb8559ca0259bc SHA512 060874cd4f72c1ecea178dd102f4b37a644485a810127092ad04fee76b52729ce199ee476335a2a40370bc718b7e03eb76869c3a48d457773856fd9f6d30a20b
+DIST erlang_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4
+DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25
 DIST otp_doc_html_19.1.tar.gz 34624316 BLAKE2B e3a5edfe1645d58e4cbd6537c775190716eed7613610ddfa112692fdbace2077b1ccdf7df5987973d2ae4ef529e4ec45d44a240265157816e2a15dabe9232b83 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8
 DIST otp_doc_html_19.3.tar.gz 35818689 BLAKE2B 30118276fbd817b803ef20700fe2e71a8457645d00f8949b6d3175d92cb5c84d306e4de9899e2f5e0c562d8040dc22db35e1a0f2e314cf1a783794573b3ece59 SHA512 a70d2c470fa1dc0594b20af73ba36ccb7702b4192960e6fc0296738175215a43450f9bf558637f7f5e40757f7a15dcf4f1ae8a88515e211cd3c0fae45c5e1858
 DIST otp_doc_html_20.2.tar.gz 33570484 BLAKE2B c47244a601ae780e5304aedbafbc84d514cb21852760c51384b197d8d37602d51448b7123f6205da9afd2c5d2158f518a122dd4d550ca2ff22d3425eb31b6cf7 SHA512 b481930066737cf0ae2496aa9bc0c865da46bd3985fe5ebcf51eb9383539a57ec364e1eed9d3916ba0953d837d0d5d37cfc129a995d4e2a9656846e75cda9397

diff --git a/dev-lang/erlang/erlang-20.3.2.ebuild b/dev-lang/erlang/erlang-20.3.2.ebuild
new file mode 100644
index 00000000000..d9828cad710
--- /dev/null
+++ b/dev-lang/erlang/erlang-20.3.2.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="http://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"
+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 )
+	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"
+	)
+
+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() {
+	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
+}

diff --git a/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch
new file mode 100644
index 00000000000..32dd89e0d6c
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch
@@ -0,0 +1,42 @@
+From 69043168302ec7c0bcfaa8b1fb56bfae500bd139 Mon Sep 17 00:00:00 2001
+From: Nick Sarnie <commendsarnex@gmail.com>
+Date: Sun, 8 Apr 2018 16:11:55 -0400
+Subject: [PATCH] Don't ignore LDFLAGS
+
+Bug: https://bugs.gentoo.org/263129
+
+Signed-off-by: Nick Sarnie <commendsarnex@gmail.com>
+---
+ lib/megaco/src/flex/Makefile.in | 2 +-
+ lib/odbc/c_src/Makefile.in      | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
+index c37ad4d702..400024ca0c 100644
+--- a/lib/megaco/src/flex/Makefile.in
++++ b/lib/megaco/src/flex/Makefile.in
+@@ -66,7 +66,7 @@ endif
+ CC      = $(DED_CC)
+ CFLAGS_MT = $(CFLAGS) $(DED_THR_DEFS)
+ LD      = $(DED_LD)
+-LDFLAGS = $(DED_LDFLAGS)
++LDFLAGS += $(DED_LDFLAGS)
+ LEX     = @LEX@
+ LEXLIB  = @LEXLIB@
+ PERL    = @PERL@
+diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
+index 784e73c47e..51c023f710 100644
+--- 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)
+ LD = @LD@
+-LDFLAGS =  $(ODBC_LIB) $(EI_LDFLAGS)
++LDFLAGS += $(ODBC_LIB) $(EI_LDFLAGS)
+ LIBS = @LIBS@ @THR_LIBS@ $(EI_LIB)
+ INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE)
+ TARGET_FLAGS =  @TARGET_FLAGS@
+-- 
+2.17.0
+


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2018-09-30 10:53 Michał Górny
  0 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2018-09-30 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     52b809031961e32051870ace639b4efd87234160
Author:     Ștefan Talpalaru <stefantalpalaru <AT> yahoo <DOT> com>
AuthorDate: Fri Aug 17 19:45:30 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Sep 30 10:53:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52b80903

dev-lang/erlang: version bump to 21.1

I removed some deprecated configure options, properly (re-)added the
"wxwidgets" USE flag - without automagic dependencies, added the "pgo"
flag and made some USE flags enabled by default to match upstream's
defaults.

Most of the ebuild was refactored, after code reviews, with the more
significant change being the replacement of two shell functions copied
from an upstream build script with a call to a patched version of that
script.

When the "pgo" USE flag is enabled, distcc and ccache are disabled, to
avoid a build failure due to a version mismatch in .gcda files that
cannot be explained by different GCC versions.

Closes: https://bugs.gentoo.org/653700
Closes: https://bugs.gentoo.org/658656
Signed-off-by: Ștefan Talpalaru <stefantalpalaru <AT> yahoo.com>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/9357

 dev-lang/erlang/Manifest                           |   3 +
 dev-lang/erlang/erlang-21.1.ebuild                 | 161 +++++++++++++++++++++
 dev-lang/erlang/files/erlang-custom-autoconf.patch |  14 ++
 dev-lang/erlang/metadata.xml                       |  27 ++--
 4 files changed, 192 insertions(+), 13 deletions(-)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 9efbfa0c7fd..e3c0b5398af 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -3,10 +3,13 @@ DIST erlang-20.3.8.9.tar.gz 53514692 BLAKE2B 1afa37ff8cc462cb0cc719c49c2c10b2684
 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-21.1.tar.gz 53857079 BLAKE2B ae292f5e98d747a6afb5d82205dd33d55cb6e275e3ebc98a4dbc8378cfcb1ea64f83d5f2d2256fd7208c7fe553b47ff25edf2858287f5316cae50788f2175337 SHA512 9e118e902c33b8dd71266efb4cc4aeb0db0d8be8adb64ac85595a6507dc847b84e5444a9b5c5cbf46b560c885db9f4cd934c74de4aa2e1574785295ea0865348
 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_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f
 DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25
 DIST erlang_doc_man_21.0.tar.gz 1311959 BLAKE2B 70b049c6d7b8bbbb3bf77f7588ccf0eb937d5fe511968d47e1325dd01b48e986ae82804ffc88b750f0f7e2fe0482c0506ad060a6a84892eea61264aa2b003dd9 SHA512 611ac0b7cb2c0bc0bb6cd194dffe4f9d2c95bf38da033aa8c43d386a9bedf6f7d6fa8a95d340dbb57da2698602599c8e0501cbbdd735d6e5d35110aa9087dc79
+DIST erlang_doc_man_21.1.tar.gz 1317726 BLAKE2B 5e5c2b77a41da6ab9ae1264ba5824a9f3bda6d3b7a824b372e01356888db437ed9e45bf987d678aca3fd8d0f0e6dce25080c7a2aaa4e061936f1e6ac4717e843 SHA512 94c6191ba9f42bffeb398e865026fbc79f3b233389c7d471f0c680799aa3669e97ab5305cd53f26d6525aed33d738ebfc4eb79a8f1a0b29dc4b79a2a37a29a4f
 DIST otp_doc_html_19.1.tar.gz 34624316 BLAKE2B e3a5edfe1645d58e4cbd6537c775190716eed7613610ddfa112692fdbace2077b1ccdf7df5987973d2ae4ef529e4ec45d44a240265157816e2a15dabe9232b83 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8
 DIST otp_doc_html_19.3.tar.gz 35818689 BLAKE2B 30118276fbd817b803ef20700fe2e71a8457645d00f8949b6d3175d92cb5c84d306e4de9899e2f5e0c562d8040dc22db35e1a0f2e314cf1a783794573b3ece59 SHA512 a70d2c470fa1dc0594b20af73ba36ccb7702b4192960e6fc0296738175215a43450f9bf558637f7f5e40757f7a15dcf4f1ae8a88515e211cd3c0fae45c5e1858
 DIST otp_doc_html_20.2.tar.gz 33570484 BLAKE2B c47244a601ae780e5304aedbafbc84d514cb21852760c51384b197d8d37602d51448b7123f6205da9afd2c5d2158f518a122dd4d550ca2ff22d3425eb31b6cf7 SHA512 b481930066737cf0ae2496aa9bc0c865da46bd3985fe5ebcf51eb9383539a57ec364e1eed9d3916ba0953d837d0d5d37cfc129a995d4e2a9656846e75cda9397

diff --git a/dev-lang/erlang/erlang-21.1.ebuild b/dev-lang/erlang/erlang-21.1.ebuild
new file mode 100644
index 00000000000..4b6b149c124
--- /dev/null
+++ b/dev-lang/erlang/erlang-21.1.ebuild
@@ -0,0 +1,161 @@
+# 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 eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 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="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk +wxwidgets"
+
+RDEPEND="
+	sys-libs/ncurses:0
+	sys-libs/zlib
+	emacs? ( virtual/emacs )
+	java? ( >=virtual/jdk-1.8:* )
+	odbc? ( dev-db/unixODBC )
+	sctp? ( net-misc/lksctp-tools )
+	ssl? (
+		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	systemd? ( sys-apps/systemd )
+	tk? ( dev-lang/tk:0 )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+"
+
+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"
+	"${FILESDIR}/${PN}-custom-autoconf.patch"
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+	default
+
+	./otp_build autoconf
+	find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed"
+	eautoreconf
+}
+
+src_configure() {
+	use wxwidgets && setup-wxwidgets
+
+	local myconf=(
+		--disable-builtin-zlib
+		$(use_enable hipe)
+		$(use_enable kpoll kernel-poll)
+		$(use_with java javac)
+		$(use_with odbc)
+		$(use_enable sctp)
+		$(use_with ssl)
+		$(use_with ssl ssl-rpath "no")
+		$(use_enable ssl dynamic-ssl-lib)
+		$(use_enable systemd)
+		$(use_enable pgo)
+		$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
+		--enable-threads
+	)
+	econf "${myconf[@]}"
+}
+
+src_compile() {
+	if use pgo; then
+		# disable distcc and ccache
+		export DISTCC_HOSTS=""
+		export CCACHE_DISABLE=1
+	fi
+
+	emake
+
+	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="${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}
+	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
+
+	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 epmd
+	use systemd && 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/erlang-custom-autoconf.patch b/dev-lang/erlang/files/erlang-custom-autoconf.patch
new file mode 100644
index 00000000000..5ae7b43ba28
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-custom-autoconf.patch
@@ -0,0 +1,14 @@
+diff -ur otp-OTP-21.0.5.orig/otp_build otp-OTP-21.0.5/otp_build
+--- otp-OTP-21.0.5.orig/otp_build	2018-08-10 19:02:51.000000000 +0200
++++ otp-OTP-21.0.5/otp_build	2018-08-15 23:44:59.417191209 +0200
+@@ -1343,7 +1343,9 @@
+ 		do_lazy_configure "$@";
+ 		do_boot;;
+ 	autoconf)
+-		do_autoconf;;
++		create_lib_configure_in
++		distribute_config_helpers
++		;;
+ 	configure)
+ 		shift;
+ 		do_configure "$@";;

diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml
index 9da736baffe..2f3f0770a55 100644
--- a/dev-lang/erlang/metadata.xml
+++ b/dev-lang/erlang/metadata.xml
@@ -1,17 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
- <!-- maintainer-needed -->
- <use>
-    <flag name="hipe">HIgh Performance Erlang extension</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 
-Computer Science Laboratory. Open-source Erlang is being 
-released to help encourage the spread of Erlang outside 
-Ericsson.
-</longdescription>
+	<!--maintainer-needed-->
+	<use>
+		<flag name="compat-ethread">Enable compatibility with pre-pentium 4 CPUs in the ethread library.</flag>
+		<flag name="dirty-schedulers">Enable dirty schedulers</flag>
+		<flag name="hipe">HIgh Performance Erlang extension</flag>
+		<flag name="kpoll">Enable kernel polling support</flag>
+		<flag name="pgo">Build erts with profile-guided optimizations</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>


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2019-05-26  8:26 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-05-26  8:26 UTC (permalink / raw
  To: gentoo-commits

commit:     ac0ba596486e18bea03c0a59cc95b0c036443ebb
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun May 26 08:20:45 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun May 26 08:25:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac0ba596

dev-lang/erlang: fix lto support, bug #681778

re:replace/4 used libpcre2 with a stack overflow check.
lto was smart enough to inline the check too much to
make it useless.

The changes uninlines stack prober and fixes re:replace/4.

Reported-by: Fabio Coatti
Closes: https://bugs.gentoo.org/681778
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-lang/erlang/erlang-21.3-r1.ebuild       | 161 ++++++++++++++++++++++++++++
 dev-lang/erlang/files/erlang-21.3-lto.patch | 140 ++++++++++++++++++++++++
 2 files changed, 301 insertions(+)

diff --git a/dev-lang/erlang/erlang-21.3-r1.ebuild b/dev-lang/erlang/erlang-21.3-r1.ebuild
new file mode 100644
index 00000000000..75e06e5602b
--- /dev/null
+++ b/dev-lang/erlang/erlang-21.3-r1.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER="3.0"
+
+inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 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="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk wxwidgets"
+
+RDEPEND="
+	sys-libs/ncurses:0
+	sys-libs/zlib
+	emacs? ( virtual/emacs )
+	java? ( >=virtual/jdk-1.8:* )
+	odbc? ( dev-db/unixODBC )
+	sctp? ( net-misc/lksctp-tools )
+	ssl? (
+		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	systemd? ( sys-apps/systemd )
+	tk? ( dev-lang/tk:0 )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+"
+
+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"
+	"${FILESDIR}/${PN}-custom-autoconf.patch"
+	"${FILESDIR}/${PN}-21.3-lto.patch"
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+	default
+
+	./otp_build autoconf
+	find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed"
+	eautoreconf
+}
+
+src_configure() {
+	use wxwidgets && setup-wxwidgets
+
+	local myconf=(
+		--disable-builtin-zlib
+		$(use_enable hipe)
+		$(use_enable kpoll kernel-poll)
+		$(use_with java javac)
+		$(use_with odbc)
+		$(use_enable sctp)
+		$(use_with ssl ssl "${EPREFIX}"/usr)
+		$(use_enable ssl dynamic-ssl-lib)
+		$(use_enable systemd)
+		$(use_enable pgo)
+		$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
+		--enable-threads
+	)
+	econf "${myconf[@]}"
+}
+
+src_compile() {
+	if use pgo; then
+		# disable distcc and ccache
+		export DISTCC_HOSTS=""
+		export CCACHE_DISABLE=1
+	fi
+
+	emake
+
+	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
+		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
+		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
+
+	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 epmd
+	use systemd && 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/erlang-21.3-lto.patch b/dev-lang/erlang/files/erlang-21.3-lto.patch
new file mode 100644
index 00000000000..c41e89f42c6
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-21.3-lto.patch
@@ -0,0 +1,140 @@
+https://github.com/erlang/otp/pull/2194
+https://bugs.gentoo.org/681778
+
+From ed751968d8dc4c0b58210247e94409a8a52cc501 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 28 Mar 2019 08:38:56 +0000
+Subject: [PATCH] stdlib: fix re:replace on LTO builds
+
+Fabio Coatti reported elixir build failure in https://bugs.gentoo.org/681778.
+The minimal reproducer looks like that (from otp git tree):
+
+    $ ./configure CFLAGS='-O2 -flto' LDFLAGS='-O2 -flto=8'
+    $ make
+    $ ERL_TOP=$PWD \
+      PATH=$ERL_TOP/bin:$PATH \
+        \
+        bin/erl \
+        \
+        -noshell -eval 're:replace("a","b","c",[{return,list}]).' \
+        -s erlang halt
+
+    {"init terminating in do_boot",{badarg,[{re,replace,["a","b","c",[{return,list}]],
+        [{file,"re.erl"},{line,362}]},
+         {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,680}]},
+         {init,start_it,1,[]},
+         {init,start_em,1,[]},
+         {init,do_boot,3,[]}]}}
+    init terminating in do_boot ({badarg,[{re,replace,[[_],[_],[_],[_]],[{_},{_}]},
+        {erl_eval,do_apply,6,[{_},{_}]},{init,start_it,1,[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})
+    Crash dump is being written to: erl_crash.dump...done
+
+The failure happens in libpcre2 where stack overflow is mis-identified
+at function entry of
+
+    erts_pcre_compile2()
+        compile_regex()
+          if (PUBL(stack_guard) != NULL && PUBL(stack_guard)())
+          {
+              *errorcodeptr= ERR85;
+              return FALSE;
+          }
+
+The stack "overflow" detection happens in
+
+    thr_wrapper()
+        ethr_set_stacklimit__()
+
+because the stack usage code relies on the fact that ethr_set_stacklimit__()
+and similar functions don't get inlined into callers for stack growth
+measurement.
+
+Before the change inlining avoidance was achieved by putting functions
+into standalone translation units. LTO makes this technique inefficient.
+
+The change marks functions explicitly as __attribute__((__noinline__)) on gcc.
+
+Reported-by: Fabio Coatti
+Bug: https://bugs.gentoo.org/681778
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ erts/emulator/beam/global.h            |  9 +++++----
+ erts/emulator/beam/sys.h               | 10 ++++++++++
+ erts/include/internal/ethr_internal.h  |  2 +-
+ erts/include/internal/ethread_inline.h |  3 +++
+ 4 files changed, 19 insertions(+), 5 deletions(-)
+
+diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h
+index f9bbe4167f9..4c8d3d3dbe6 100644
+--- a/erts/emulator/beam/global.h
++++ b/erts/emulator/beam/global.h
+@@ -1216,10 +1216,11 @@ Uint64 erts_timestamp_millis(void);
+ 
+ Export* erts_find_function(Eterm, Eterm, unsigned int, ErtsCodeIndex);
+ 
+-void *erts_calc_stacklimit(char *prev_c, UWord stacksize);
+-int erts_check_below_limit(char *ptr, char *limit);
+-int erts_check_above_limit(char *ptr, char *limit);
+-void *erts_ptr_id(void *ptr);
++/* ERTS_NOINLINE prevents link-time optimization across modules */
++void *erts_calc_stacklimit(char *prev_c, UWord stacksize) ERTS_NOINLINE;
++int erts_check_below_limit(char *ptr, char *limit) ERTS_NOINLINE;
++int erts_check_above_limit(char *ptr, char *limit) ERTS_NOINLINE;
++void *erts_ptr_id(void *ptr) ERTS_NOINLINE;
+ 
+ Eterm store_external_or_ref_in_proc_(Process *, Eterm);
+ Eterm store_external_or_ref_(Uint **, ErlOffHeap*, Eterm);
+diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h
+index a6312293cc8..24b6738e082 100644
+--- a/erts/emulator/beam/sys.h
++++ b/erts/emulator/beam/sys.h
+@@ -63,6 +63,16 @@
+ #  endif
+ #endif
+ 
++#ifndef ERTS_NOINLINE
++#  if ERTS_AT_LEAST_GCC_VSN__(3,1,1)
++#    define ERTS_NOINLINE __attribute__((__noinline__))
++#  elif defined(__WIN32__)
++#    define ERTS_NOINLINE __declspec(noinline)
++#  else
++#    define ERTS_NOINLINE
++#  endif
++#endif
++
+ #if defined(DEBUG) || defined(ERTS_ENABLE_LOCK_CHECK)
+ #  undef ERTS_CAN_INLINE
+ #  define ERTS_CAN_INLINE 0
+diff --git a/erts/include/internal/ethr_internal.h b/erts/include/internal/ethr_internal.h
+index ac27ff2ed09..17ec84c52b6 100644
+--- a/erts/include/internal/ethr_internal.h
++++ b/erts/include/internal/ethr_internal.h
+@@ -90,7 +90,7 @@ int ethr_init_common__(ethr_init_data *id);
+ int ethr_late_init_common__(ethr_late_init_data *lid);
+ void ethr_run_exit_handlers__(void);
+ void ethr_ts_event_destructor__(void *vtsep);
+-void ethr_set_stacklimit__(char *prev_c, size_t stacksize);
++void ethr_set_stacklimit__(char *prev_c, size_t stacksize) ETHR_NOINLINE;
+ 
+ #if defined(ETHR_X86_RUNTIME_CONF__)
+ void ethr_x86_cpuid__(int *eax, int *ebx, int *ecx, int *edx);
+diff --git a/erts/include/internal/ethread_inline.h b/erts/include/internal/ethread_inline.h
+index 8e6bcfc4a8c..f25ba4ae721 100644
+--- a/erts/include/internal/ethread_inline.h
++++ b/erts/include/internal/ethread_inline.h
+@@ -62,12 +62,15 @@
+ #  define ETHR_INLINE __inline__
+ #  if ETHR_AT_LEAST_GCC_VSN__(3, 1, 1)
+ #    define ETHR_FORCE_INLINE __inline__ __attribute__((__always_inline__))
++#    define ETHR_NOINLINE __attribute__((__noinline__))
+ #  else
+ #    define ETHR_FORCE_INLINE __inline__
++#    define ETHR_NOINLINE
+ #  endif
+ #elif defined(__WIN32__)
+ #  define ETHR_INLINE __forceinline
+ #  define ETHR_FORCE_INLINE __forceinline
++#  define ETHR_NOINLINE __declspec(noinline)
+ #endif
+ 
+ #endif /* #ifndef ETHREAD_INLINE_H__ */


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2019-05-26 15:36 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-05-26 15:36 UTC (permalink / raw
  To: gentoo-commits

commit:     a88ef569b6a663414a4129c926fa696e0e5453d2
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun May 26 15:35:45 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun May 26 15:36:01 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a88ef569

dev-lang/erlang: fix USE=pgo loop, bug #686786

It does not completely recover PGO support but
at least stops ./configure from looping indefinitely.

Reported-by: Dennis Schridde
Bug: https://bugs.gentoo.org/686786
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-lang/erlang/erlang-21.3-r1.ebuild            |  1 +
 dev-lang/erlang/files/erlang-21.3-pgo-loop.patch | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/dev-lang/erlang/erlang-21.3-r1.ebuild b/dev-lang/erlang/erlang-21.3-r1.ebuild
index 75e06e5602b..ed159555d82 100644
--- a/dev-lang/erlang/erlang-21.3-r1.ebuild
+++ b/dev-lang/erlang/erlang-21.3-r1.ebuild
@@ -49,6 +49,7 @@ PATCHES=(
 	"${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch"
 	"${FILESDIR}/${PN}-custom-autoconf.patch"
 	"${FILESDIR}/${PN}-21.3-lto.patch"
+	"${FILESDIR}/${PN}-21.3-pgo-loop.patch"
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch b/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch
new file mode 100644
index 00000000000..82add992a44
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-21.3-pgo-loop.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/686786
+
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -682,7 +682,7 @@ elif test "X$PROFILE_INSTR_GENERATE" = "Xtrue" -a "X$PROFILE_INSTR_USE" = "Xtrue
+   PROFILE_COMPILER=clang
+   AC_MSG_RESULT([yes, using -fprofile-instr-generate])
+ else
+-  if $enable_pgo = yes; then
++  if test $enable_pgo = yes; then
+     AC_MSG_ERROR(cannot use PGO with this compiler)
+   else
+     AC_MSG_RESULT([no])


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2019-06-28  7:37 Michał Górny
  0 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2019-06-28  7:37 UTC (permalink / raw
  To: gentoo-commits

commit:     80361f8e4bac09ee90d24c9a8f271baf593cf1aa
Author:     iamdenchik <bazukajo <AT> gmail <DOT> com>
AuthorDate: Fri Apr 26 10:47:25 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 28 07:37:45 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80361f8e

dev-lang/erlang: Move command_args to conf.d

Signed-off-by: Denis Pershin <bazukajo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/11830
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-lang/erlang/erlang-22.0.2-r1.ebuild | 148 ++++++++++++++++++++++++++++++++
 dev-lang/erlang/files/epmd.confd        |   2 +
 dev-lang/erlang/files/epmd.init-r1      |  24 ++++++
 3 files changed, 174 insertions(+)

diff --git a/dev-lang/erlang/erlang-22.0.2-r1.ebuild b/dev-lang/erlang/erlang-22.0.2-r1.ebuild
new file mode 100644
index 00000000000..2c99593513a
--- /dev/null
+++ b/dev-lang/erlang/erlang-22.0.2-r1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER="3.0"
+
+inherit eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 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="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
+
+RDEPEND="
+	sys-libs/ncurses:0
+	sys-libs/zlib
+	emacs? ( virtual/emacs )
+	java? ( >=virtual/jdk-1.8:* )
+	odbc? ( dev-db/unixODBC )
+	sctp? ( net-misc/lksctp-tools )
+	ssl? (
+		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	systemd? ( sys-apps/systemd )
+	tk? ( dev-lang/tk:0 )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+	"${FILESDIR}/18.2.1-wx3.0.patch"
+	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+	"${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch"
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+	default
+
+	./otp_build autoconf
+}
+
+src_configure() {
+	use wxwidgets && setup-wxwidgets
+
+	local myconf=(
+		--disable-builtin-zlib
+		$(use_enable hipe)
+		$(use_enable kpoll kernel-poll)
+		$(use_with java javac)
+		$(use_enable sctp)
+		$(use_with ssl ssl "${EPREFIX}"/usr)
+		$(use_enable ssl dynamic-ssl-lib)
+		$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
+	)
+	econf "${myconf[@]}"
+}
+
+src_compile() {
+	emake
+
+	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
+		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
+		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
+
+	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-r1 epmd
+	newconfd "${FILESDIR}"/epmd.confd epmd
+	use systemd && 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/epmd.confd b/dev-lang/erlang/files/epmd.confd
new file mode 100644
index 00000000000..aa4dc3eb5ae
--- /dev/null
+++ b/dev-lang/erlang/files/epmd.confd
@@ -0,0 +1,2 @@
+#arguments for run erlang
+command_args="--daemon -relaxed_command_check -address 127.0.0.1"

diff --git a/dev-lang/erlang/files/epmd.init-r1 b/dev-lang/erlang/files/epmd.init-r1
new file mode 100644
index 00000000000..bdd441b997a
--- /dev/null
+++ b/dev-lang/erlang/files/epmd.init-r1
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Foundation
+# Distributed under the terms of the Erlang Public License 1.1
+
+pidfile="/var/run/epmd.pid"
+
+depend() {
+	need loopback
+	before sshd
+}
+
+start() {
+	ebegin "Starting Erlang Port Mapper Daemon"
+	start-stop-daemon --start --quiet \
+		--pidfile "${pidfile}" \
+		--exec /usr/bin/epmd -- $command_args
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping Erlang Port Mapper Daemon"
+	/usr/bin/epmd -kill >/dev/null
+	eend $?
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2019-11-22 10:31 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-11-22 10:31 UTC (permalink / raw
  To: gentoo-commits

commit:     f9f670213bb8bdf93f68fdc3d5a7c6d72aa53786
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Fri Nov 22 09:04:00 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Nov 22 10:31:50 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9f67021

dev-lang/erlang: drop old versions

Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-lang/erlang/Manifest                |   6 --
 dev-lang/erlang/erlang-22.0.2-r2.ebuild | 148 -------------------------------
 dev-lang/erlang/erlang-22.0.7.ebuild    | 149 -------------------------------
 dev-lang/erlang/erlang-22.1.3.ebuild    | 150 --------------------------------
 dev-lang/erlang/erlang-22.1.6.ebuild    | 150 --------------------------------
 dev-lang/erlang/files/epmd.confd        |   2 -
 dev-lang/erlang/files/epmd.init-r1      |  24 -----
 7 files changed, 629 deletions(-)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 415aea5ca8d..cb973810c4e 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -1,15 +1,9 @@
 DIST erlang-21.1.1.tar.gz 53854332 BLAKE2B 32ab508b5a305eb92eac9f49bd513374c573966e7565d98aa6ba986ce42eb955a46130b9f33dbb415f48de5c179b308a8b06b345a844afcb2700f7e3f257f27e SHA512 dc11aace126aad5411b0d583579fe95a7263be328612fdc9f9c02d917aef7ea7a128b1e54ddcf7a52232980d2c81fc8e90ae5a8806ee5ae6ea97f00a9cf3faab
-DIST erlang-22.0.2.tar.gz 54805264 BLAKE2B d30fd8a7a4ada892f4b8e14c82ab7e20f77caa78573774d0b591a1abcc26c63ae5e0a65ae5c30f0f5cc8a6e4c5e13d167929eb049cbb172fcf2899d61f5ec8dc SHA512 6dbc3705a8b9ba5c8b6694e256c226c882521d87c3af4deb9212c33fff83b510191ea547888d15ced17dd66857fb1d7ba72d9fbd54a5c63091aa86680b960436
-DIST erlang-22.0.7.tar.gz 54814307 BLAKE2B 0f44c225bd4d762a529b5c154a086636a3677d0ff44df619ce4cc17eb168b5fdc0d33e1a82c85e9f3daafa1313fede22d702021323252380c76dacde91a3f204 SHA512 cf84cc20b97ed46f9ab3c7f1d77bcf6254ac3ebbb5c1e4e5202f4d5ba3d9c3bf5542567b047edaa68c204bc67ca667b1d96eb8153ac660e628c78fe271b6a8d9
 DIST erlang-22.1.1.tar.gz 54951145 BLAKE2B 917813f750eacd3dc7da25f1fa9e1f9c55e6cf1b88ba4e5576caae8554bbac667c87830935c7ddd58723f61e54f3c99ae4ef08660344035dea460e92a40832cc SHA512 ee1a3bb355ffd083c3355caf60189799d322cff2a01314ba5df141ccdc4de45dbfe3967e661e3dfbcf14fc04dc1f855d7a3660f9b2daa2451a83422eda7cba39
-DIST erlang-22.1.3.tar.gz 54957002 BLAKE2B 4ae843b871dec2c365b55380484fd434eac7d97189b94568985154fb524bb99bf4240925b64cccb7ac7dfc9168e731a29db69d90278162f7dda51077ee6441fc SHA512 72e71d7a78a4881d85ebb13a4443385efbf0233f5221c6322a0a28be363f511037aa657ae021f642eafb3983192d3a23c4bf8b6bc3545aa1cc2b27285e9974c7
 DIST erlang-22.1.4.tar.gz 54957524 BLAKE2B 8960dd63eb7ae18544d8b6809760543b276ec230d5a9051d1888269770f6c44b379b6ba85ce9106f7d37b76c41b7683a545ba80569e33195e3e9211f6ced4ee3 SHA512 271a188d46a79cd1c43c3b8059b77c0802af624ff88c6916e0b84994040750d9792f0416937ed98e874256562f27d858916239d79f93b545c98b9703e5018f7b
-DIST erlang-22.1.6.tar.gz 54961413 BLAKE2B e1881d35bd54cf0c0ade6a1cff1d78d29f0e1540f02c6ca26e97fbc09bd2c72ccd7ab3147193dcffad6e4944c96c2b0caaf22cce5cc6c7e6ee561063c043f70d SHA512 9a64036faa9e380d4ceaff5eef287839784840fc7923b14bf58ac53302aabc9407b195b19460c780cd9b6f75abeaa2245759f85bb1f16a6e977fa6f95d9081ee
 DIST erlang-22.1.7.tar.gz 54969082 BLAKE2B 4168b93e146de3dd22ec0d6088d2a2b62dc1a3d96d3c2859f65ef721a32f24ef74fb6baf3467da7b2c5b13a3b8d62602d3e94ddd359f091f548f958d9b8a77ea SHA512 72660ea481ac647a091b713a4a9240d1d008336152a41fd5f9f191c6050d42a67ddc0ff8bc51addc2e1d6f9a244516883df5025f005ae575fa101d941ac0bd05
 DIST erlang-22.1.8.tar.gz 54967877 BLAKE2B cb022e3c5f577605872e7689639fced6c1f6cb7600314f5939107605f0767ca080c65c2f9e0695a04bf53a9e0727553d854a9df57f09ce5f4a958ebd035756e7 SHA512 4260fab3f6cd9338ca167371cd982bcf9557729e93d58c3911e485529ed8ee97089e1de3466745d21206c94276f9865ac4fddcb2803afe915494b43feda46dda
 DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f
-DIST erlang_doc_html_22.0.tar.gz 33737075 BLAKE2B f49aba36e9b84e5bc4422052e33aab5cb407dfcf2086ddb8a2370003dc63842acc79a67d9d453ee9e59d7b69416b23527e2d9f564b2d8a58d4c46bc3a93881c4 SHA512 89229a97fb5c78246ce9fa6a2d23446c6c3c2de15617911739e133b7e58714a91b1360af64bf61659d96808a816d84e4c410f8c8efe1e544930f88d73242b6e7
 DIST erlang_doc_html_22.1.tar.gz 33824830 BLAKE2B 2d50802fff81eba8bcf5f630da49d68d7cb2098175012e12f13941e69949a109c9f601c3cfaa2700b669415cd0c6c15961d8e4dd94b9b228cee17b661fe5400a SHA512 cc24927a4ff98b04d8f93fbc46bb36ffb34570521e4f31154b778dc17cf1cff60869239c26c327d7a9360c06528f9b380a302b39fa47285e50dfd4656b508202
 DIST erlang_doc_man_21.1.tar.gz 1317726 BLAKE2B 5e5c2b77a41da6ab9ae1264ba5824a9f3bda6d3b7a824b372e01356888db437ed9e45bf987d678aca3fd8d0f0e6dce25080c7a2aaa4e061936f1e6ac4717e843 SHA512 94c6191ba9f42bffeb398e865026fbc79f3b233389c7d471f0c680799aa3669e97ab5305cd53f26d6525aed33d738ebfc4eb79a8f1a0b29dc4b79a2a37a29a4f
-DIST erlang_doc_man_22.0.tar.gz 1347830 BLAKE2B 52fd7adf46c9727dba70edc73150b2c7e9b96728ccb0af6d717ab9881bcb38fd98cd1d9d8ff9b28688889cf162230dc0f054377446a21d9114ad70e706aef863 SHA512 f980439d21aea6e1487afbd2e22a1a909cee40bd2464569219159bd38048d7d8d7adc9c5c639c04d5fe3160d090b51f2fd33b3ef479969731ce1861338278e41
 DIST erlang_doc_man_22.1.tar.gz 1355169 BLAKE2B eca02e36709587d59099dd87263b3ffcea55002cbcbf0a9980fface3cc30cb4ce0210fbdf80c8957da7a09a3b866ca81be22fd577f7f948562ef4e4ca516cbf5 SHA512 4f590f82293c97529c827c042bce673e6777c577e52e0e1876a8d6c1a0dc774c09637e85e3562f9a8af44372219d57174c002cc12a9646ae015c7bb1da34c750

diff --git a/dev-lang/erlang/erlang-22.0.2-r2.ebuild b/dev-lang/erlang/erlang-22.0.2-r2.ebuild
deleted file mode 100644
index 2591c715e3f..00000000000
--- a/dev-lang/erlang/erlang-22.0.2-r2.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WX_GTK_VER="3.0"
-
-inherit eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
-
-UPSTREAM_V="$(ver_cut 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
-
-RDEPEND="
-	sys-libs/ncurses:0
-	sys-libs/zlib
-	emacs? ( virtual/emacs )
-	java? ( >=virtual/jdk-1.8:* )
-	odbc? ( dev-db/unixODBC )
-	sctp? ( net-misc/lksctp-tools )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	systemd? ( sys-apps/systemd )
-	tk? ( dev-lang/tk:0 )
-	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-"
-DEPEND="${RDEPEND}
-	dev-lang/perl
-"
-
-S="${WORKDIR}/otp-OTP-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/18.2.1-wx3.0.patch"
-	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
-	"${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch"
-)
-
-SITEFILE=50"${PN}"-gentoo.el
-
-src_prepare() {
-	default
-
-	./otp_build autoconf
-}
-
-src_configure() {
-	use wxwidgets && setup-wxwidgets
-
-	local myconf=(
-		--disable-builtin-zlib
-		$(use_enable hipe)
-		$(use_enable kpoll kernel-poll)
-		$(use_with java javac)
-		$(use_enable sctp)
-		$(use_with ssl ssl "${EPREFIX}"/usr)
-		$(use_enable ssl dynamic-ssl-lib)
-		$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
-	)
-	econf "${myconf[@]}"
-}
-
-src_compile() {
-	emake
-
-	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
-		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
-		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
-
-	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-r1 epmd
-	newconfd "${FILESDIR}"/epmd.confd epmd
-	use systemd && 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-22.0.7.ebuild b/dev-lang/erlang/erlang-22.0.7.ebuild
deleted file mode 100644
index cf826170c80..00000000000
--- a/dev-lang/erlang/erlang-22.0.7.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WX_GTK_VER="3.0"
-
-inherit eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
-
-UPSTREAM_V="$(ver_cut 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
-
-RDEPEND="
-	sys-libs/ncurses:0
-	sys-libs/zlib
-	emacs? ( virtual/emacs )
-	java? ( >=virtual/jdk-1.8:* )
-	odbc? ( dev-db/unixODBC )
-	sctp? ( net-misc/lksctp-tools )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	systemd? ( sys-apps/systemd )
-	tk? ( dev-lang/tk:0 )
-	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-"
-DEPEND="${RDEPEND}
-	dev-lang/perl
-"
-
-S="${WORKDIR}/otp-OTP-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/18.2.1-wx3.0.patch"
-	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
-	"${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch"
-)
-
-SITEFILE=50"${PN}"-gentoo.el
-
-src_prepare() {
-	default
-
-	./otp_build autoconf
-}
-
-src_configure() {
-	use wxwidgets && setup-wxwidgets
-
-	local myconf=(
-		--disable-builtin-zlib
-		$(use_enable hipe)
-		$(use_enable kpoll kernel-poll)
-		$(use_with java javac)
-		$(use_enable sctp)
-		$(use_with ssl ssl "${EPREFIX}"/usr)
-		$(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 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
-		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
-		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
-
-	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-r1 epmd
-	newconfd "${FILESDIR}"/epmd.confd epmd
-	use systemd && 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-22.1.3.ebuild b/dev-lang/erlang/erlang-22.1.3.ebuild
deleted file mode 100644
index edcb9b79b60..00000000000
--- a/dev-lang/erlang/erlang-22.1.3.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-WX_GTK_VER="3.0"
-
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
-
-UPSTREAM_V="$(ver_cut 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
-
-RDEPEND="
-	acct-group/epmd
-	acct-user/epmd
-	sys-libs/ncurses:0
-	sys-libs/zlib
-	emacs? ( virtual/emacs )
-	java? ( >=virtual/jdk-1.8:* )
-	odbc? ( dev-db/unixODBC )
-	sctp? ( net-misc/lksctp-tools )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	systemd? ( sys-apps/systemd )
-	tk? ( dev-lang/tk:0 )
-	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-"
-DEPEND="${RDEPEND}
-	dev-lang/perl
-"
-
-S="${WORKDIR}/otp-OTP-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/18.2.1-wx3.0.patch"
-	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
-)
-
-SITEFILE=50"${PN}"-gentoo.el
-
-src_prepare() {
-	default
-
-	./otp_build autoconf || die
-}
-
-src_configure() {
-	use wxwidgets && setup-wxwidgets
-
-	local myconf=(
-		--disable-builtin-zlib
-		$(use_enable hipe)
-		$(use_enable kpoll kernel-poll)
-		$(use_with java javac)
-		$(use_enable sctp)
-		$(use_with ssl ssl "${EPREFIX}"/usr)
-		$(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 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
-		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
-		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
-
-	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-r2 epmd
-	newconfd "${FILESDIR}"/epmd.confd-r1 epmd
-	use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-lang/erlang/erlang-22.1.6.ebuild b/dev-lang/erlang/erlang-22.1.6.ebuild
deleted file mode 100644
index edcb9b79b60..00000000000
--- a/dev-lang/erlang/erlang-22.1.6.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-WX_GTK_VER="3.0"
-
-inherit elisp-common java-pkg-opt-2 systemd wxwidgets
-
-# NOTE: If you need symlinks for binaries please tell maintainers or
-# open up a bug to let it be created.
-
-UPSTREAM_V="$(ver_cut 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
-IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
-
-RDEPEND="
-	acct-group/epmd
-	acct-user/epmd
-	sys-libs/ncurses:0
-	sys-libs/zlib
-	emacs? ( virtual/emacs )
-	java? ( >=virtual/jdk-1.8:* )
-	odbc? ( dev-db/unixODBC )
-	sctp? ( net-misc/lksctp-tools )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	systemd? ( sys-apps/systemd )
-	tk? ( dev-lang/tk:0 )
-	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
-"
-DEPEND="${RDEPEND}
-	dev-lang/perl
-"
-
-S="${WORKDIR}/otp-OTP-${PV}"
-
-PATCHES=(
-	"${FILESDIR}/18.2.1-wx3.0.patch"
-	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
-)
-
-SITEFILE=50"${PN}"-gentoo.el
-
-src_prepare() {
-	default
-
-	./otp_build autoconf || die
-}
-
-src_configure() {
-	use wxwidgets && setup-wxwidgets
-
-	local myconf=(
-		--disable-builtin-zlib
-		$(use_enable hipe)
-		$(use_enable kpoll kernel-poll)
-		$(use_with java javac)
-		$(use_enable sctp)
-		$(use_with ssl ssl "${EPREFIX}"/usr)
-		$(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 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
-		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
-		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
-
-	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-r2 epmd
-	newconfd "${FILESDIR}"/epmd.confd-r1 epmd
-	use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
-}
-
-pkg_postinst() {
-	use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
-	use emacs && elisp-site-regen
-}

diff --git a/dev-lang/erlang/files/epmd.confd b/dev-lang/erlang/files/epmd.confd
deleted file mode 100644
index ea1deab6e27..00000000000
--- a/dev-lang/erlang/files/epmd.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-#arguments for run erlang
-command_args="-daemon -relaxed_command_check -address 127.0.0.1"

diff --git a/dev-lang/erlang/files/epmd.init-r1 b/dev-lang/erlang/files/epmd.init-r1
deleted file mode 100644
index eb387a72958..00000000000
--- a/dev-lang/erlang/files/epmd.init-r1
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the Erlang Public License 1.1
-
-pidfile="/var/run/epmd.pid"
-
-depend() {
-	need net.lo
-	before sshd
-}
-
-start() {
-	ebegin "Starting Erlang Port Mapper Daemon"
-	start-stop-daemon --start --quiet \
-		--pidfile "${pidfile}" \
-		--exec /usr/bin/epmd -- $command_args
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping Erlang Port Mapper Daemon"
-	/usr/bin/epmd -kill >/dev/null
-	eend $?
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2020-01-14 23:31 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2020-01-14 23:31 UTC (permalink / raw
  To: gentoo-commits

commit:     5b85d66b7137877e65ddeec94d4253b9b522c47e
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 14 23:28:02 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Tue Jan 14 23:31:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b85d66b

dev-lang/erlang: bump up to 22.2.2

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-lang/erlang/Manifest                         |   1 +
 dev-lang/erlang/erlang-22.2.2.ebuild             | 154 +++++++++++++++++++++++
 dev-lang/erlang/files/erlang-22.2.2-gcc-10.patch |  45 +++++++
 3 files changed, 200 insertions(+)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 12e0bb6a094..b3712e7f947 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -4,6 +4,7 @@ DIST erlang-22.1.4.tar.gz 54957524 BLAKE2B 8960dd63eb7ae18544d8b6809760543b276ec
 DIST erlang-22.1.7.tar.gz 54969082 BLAKE2B 4168b93e146de3dd22ec0d6088d2a2b62dc1a3d96d3c2859f65ef721a32f24ef74fb6baf3467da7b2c5b13a3b8d62602d3e94ddd359f091f548f958d9b8a77ea SHA512 72660ea481ac647a091b713a4a9240d1d008336152a41fd5f9f191c6050d42a67ddc0ff8bc51addc2e1d6f9a244516883df5025f005ae575fa101d941ac0bd05
 DIST erlang-22.1.8.tar.gz 54967877 BLAKE2B cb022e3c5f577605872e7689639fced6c1f6cb7600314f5939107605f0767ca080c65c2f9e0695a04bf53a9e0727553d854a9df57f09ce5f4a958ebd035756e7 SHA512 4260fab3f6cd9338ca167371cd982bcf9557729e93d58c3911e485529ed8ee97089e1de3466745d21206c94276f9865ac4fddcb2803afe915494b43feda46dda
 DIST erlang-22.2.1.tar.gz 55742915 BLAKE2B cfb49a07289f66ee8bcdc37452c88ec60c90b92febb7d41538166916989e80b612f13bae4ae2ba305aa12c790a74bcd9dc8412207413ba512537193811d177ad SHA512 4c0e5b963def01e02f8550414bee9e15a79681ac19547c4707d4cf3a67924e252dde7f8f94dfeca5eb3d34730acaffd193603711531bdf7c22d47d8880c5e5f4
+DIST erlang-22.2.2.tar.gz 55743605 BLAKE2B f316b78f33d81f05d22eb4eab52756a46c39df31ce93bf57ddbc6d663d0165f6cdcb4de2e4a70308024e7648a54267364ec19c94c425d643d03dc741112acaff SHA512 c38ecfcbc7ca66d45b5a2dad9a03d9c2a3a504d9ac85635de93975b03056a3d59edf462c296349f657534d935bcc1ea4321b771fb216f54f723d9db438437e42
 DIST erlang-22.2.tar.gz 55736930 BLAKE2B bcd67ea4ef5c358d4f0bcbec977e2c60a3b0f1ccccb2d38c35ba1908ed9d96727c83ab6cb6dc69ce90ffc6772e34de68014cc66ec8c3bfcda852844a4f6b1548 SHA512 a192da8ee02588c44e5c04bf2933c95672f596ca10f485c2c41d0c97563c90b5ea24fa02da61e007595f25a80557e6513372db3059bb7e394647a4c11f4cd41e
 DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f
 DIST erlang_doc_html_22.1.tar.gz 33824830 BLAKE2B 2d50802fff81eba8bcf5f630da49d68d7cb2098175012e12f13941e69949a109c9f601c3cfaa2700b669415cd0c6c15961d8e4dd94b9b228cee17b661fe5400a SHA512 cc24927a4ff98b04d8f93fbc46bb36ffb34570521e4f31154b778dc17cf1cff60869239c26c327d7a9360c06528f9b380a302b39fa47285e50dfd4656b508202

diff --git a/dev-lang/erlang/erlang-22.2.2.ebuild b/dev-lang/erlang/erlang-22.2.2.ebuild
new file mode 100644
index 00000000000..97a529061f4
--- /dev/null
+++ b/dev-lang/erlang/erlang-22.2.2.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+WX_GTK_VER="3.0"
+
+inherit elisp-common java-pkg-opt-2 systemd wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 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"
+# 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 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="doc emacs +hipe java +kpoll libressl 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? (
+		!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	systemd? ( sys-apps/systemd )
+	tk? ( dev-lang/tk:0 )
+	wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+	"${FILESDIR}/18.2.1-wx3.0.patch"
+	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+	"${FILESDIR}/${PN}-22.2.2-gcc-10.patch"
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+	default
+
+	./otp_build autoconf || die
+}
+
+src_configure() {
+	use wxwidgets && setup-wxwidgets
+
+	local myconf=(
+		--disable-builtin-zlib
+		$(use_enable hipe)
+		$(use_enable kpoll kernel-poll)
+		$(use_with java javac)
+		$(use_enable sctp)
+		$(use_with ssl ssl "${EPREFIX}"/usr)
+		$(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 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
+		local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
+		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
+
+	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-r2 epmd
+	newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+	use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
+}
+
+pkg_postinst() {
+	use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+	use emacs && elisp-site-regen
+}

diff --git a/dev-lang/erlang/files/erlang-22.2.2-gcc-10.patch b/dev-lang/erlang/files/erlang-22.2.2-gcc-10.patch
new file mode 100644
index 00000000000..9a7d5939419
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-22.2.2-gcc-10.patch
@@ -0,0 +1,45 @@
+https://github.com/erlang/otp/pull/2503
+
+From 9fad0c9b71808458e857cbd3871cf80f46a75af1 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Tue, 14 Jan 2020 23:15:01 +0000
+Subject: [PATCH] ei_portio.h: avoid ODR violation of
+ 'ei_default_socket_callbacks'
+
+Noticed as a build failure against fresh gcc-master:
+
+```
+LD otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call
+ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(eirecv.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here
+ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here
+ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send_reg.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here
+ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(epmd_port.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here
+ld: otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_portio.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: multiple definition of `ei_default_socket_callbacks'; otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_connect.o):otp/lib/erl_interface/src/misc/ei_portio.h:50: first defined here
+collect2: error: ld returned 1 exit status
+make[3]: *** [x86_64-unknown-linux-gnu/Makefile:669: otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call] Error 1
+```
+
+The failure looks legitimate: `ei_default_socket_callbacks` is a
+struct defined in 'ei_portio.h' and in 'ei_portio.c'.
+
+The change flips 'ei_portio.h' definition to declaration.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ lib/erl_interface/src/misc/ei_portio.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/erl_interface/src/misc/ei_portio.h
++++ b/lib/erl_interface/src/misc/ei_portio.h
+@@ -47,7 +47,7 @@ int ei_writev_fill_ctx_t__(ei_socket_callbacks *cbs, void *ctx, const struct iov
+ int ei_socket_callbacks_have_writev__(ei_socket_callbacks *cbs);
+ #endif
+ 
+-ei_socket_callbacks ei_default_socket_callbacks;
++extern ei_socket_callbacks ei_default_socket_callbacks;
+ 
+ #define EI_FD_AS_CTX__(FD)                                              \
+     ((void *) (long) (FD))
+-- 
+2.25.0
+


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2020-01-17  8:04 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2020-01-17  8:04 UTC (permalink / raw
  To: gentoo-commits

commit:     47b988b3b8b66dbaec48a57d17a7769b4b8425bf
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 17 08:04:11 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Jan 17 08:04:38 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47b988b3

dev-lang/erlang: fix lib/asn1 depend, bug #705500

The build failure is reproducible on a 4-core CPU when using
massive parallelism:

```
$ make -j21 -l4
...
 GEN    asn1ct_eval_ext.erl
{"init terminating in do_boot",
  {undef,[{asn1ct_func,start_link,[],[]},
          {prepare_templates,gen_asn1ct_eval,1,
           [{file,"prepare_templates.erl"},{line,58}]},
            {init,start_it,1,[]},{init,start_em,1,[]}]}}
init terminating in do_boot ()

Crash dump is being written to: erl_crash.dump...done
make[2]: *** [Makefile:139: asn1ct_eval_ext.erl] Error 1
```

Here `asn1ct_eval_ext.erl` attempts to load `asn1ct_func.beam`
via `prepare_templates.erl` before it's compiled into `.beam` file.

The change pulls in a dependency on `asn1ct_func.beam`.

Reported-by: WGH
Closes: https://bugs.gentoo.org/705500
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-lang/erlang/erlang-22.1.4.ebuild               |  3 ++-
 dev-lang/erlang/erlang-22.1.8-r1.ebuild            |  3 ++-
 dev-lang/erlang/erlang-22.2.1-r1.ebuild            |  3 ++-
 dev-lang/erlang/erlang-22.2.2.ebuild               |  1 +
 dev-lang/erlang/erlang-22.2.ebuild                 |  3 ++-
 dev-lang/erlang/files/erlang-22.1.4-asn1-dep.patch | 15 +++++++++++++++
 6 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/dev-lang/erlang/erlang-22.1.4.ebuild b/dev-lang/erlang/erlang-22.1.4.ebuild
index 83d78ce48e1..a6aec6a1a12 100644
--- a/dev-lang/erlang/erlang-22.1.4.ebuild
+++ b/dev-lang/erlang/erlang-22.1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -51,6 +51,7 @@ S="${WORKDIR}/otp-OTP-${PV}"
 PATCHES=(
 	"${FILESDIR}/18.2.1-wx3.0.patch"
 	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+	"${FILESDIR}/${PN}-22.1.4-asn1-dep.patch"
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/erlang-22.1.8-r1.ebuild b/dev-lang/erlang/erlang-22.1.8-r1.ebuild
index 3ffd63edd06..5d1d119a757 100644
--- a/dev-lang/erlang/erlang-22.1.8-r1.ebuild
+++ b/dev-lang/erlang/erlang-22.1.8-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -51,6 +51,7 @@ S="${WORKDIR}/otp-OTP-${PV}"
 PATCHES=(
 	"${FILESDIR}/18.2.1-wx3.0.patch"
 	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+	"${FILESDIR}/${PN}-22.1.4-asn1-dep.patch"
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/erlang-22.2.1-r1.ebuild b/dev-lang/erlang/erlang-22.2.1-r1.ebuild
index 3ffd63edd06..5d1d119a757 100644
--- a/dev-lang/erlang/erlang-22.2.1-r1.ebuild
+++ b/dev-lang/erlang/erlang-22.2.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -51,6 +51,7 @@ S="${WORKDIR}/otp-OTP-${PV}"
 PATCHES=(
 	"${FILESDIR}/18.2.1-wx3.0.patch"
 	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+	"${FILESDIR}/${PN}-22.1.4-asn1-dep.patch"
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/erlang-22.2.2.ebuild b/dev-lang/erlang/erlang-22.2.2.ebuild
index 97a529061f4..c52ed00f231 100644
--- a/dev-lang/erlang/erlang-22.2.2.ebuild
+++ b/dev-lang/erlang/erlang-22.2.2.ebuild
@@ -52,6 +52,7 @@ PATCHES=(
 	"${FILESDIR}/18.2.1-wx3.0.patch"
 	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
 	"${FILESDIR}/${PN}-22.2.2-gcc-10.patch"
+	"${FILESDIR}/${PN}-22.1.4-asn1-dep.patch"
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/erlang-22.2.ebuild b/dev-lang/erlang/erlang-22.2.ebuild
index 3ffd63edd06..5d1d119a757 100644
--- a/dev-lang/erlang/erlang-22.2.ebuild
+++ b/dev-lang/erlang/erlang-22.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -51,6 +51,7 @@ S="${WORKDIR}/otp-OTP-${PV}"
 PATCHES=(
 	"${FILESDIR}/18.2.1-wx3.0.patch"
 	"${FILESDIR}/${PN}-22.0-dont-ignore-LDFLAGS.patch"
+	"${FILESDIR}/${PN}-22.1.4-asn1-dep.patch"
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/files/erlang-22.1.4-asn1-dep.patch b/dev-lang/erlang/files/erlang-22.1.4-asn1-dep.patch
new file mode 100644
index 00000000000..84c9b81ad77
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-22.1.4-asn1-dep.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/705500
+https://github.com/erlang/otp/pull/2508
+
+--- a/lib/asn1/src/Makefile
++++ b/lib/asn1/src/Makefile
+@@ -190,7 +190,8 @@ asn1rtt_%.$(EMULATOR): asn1rtt_%.erl
+ 	$(V_ERLC) +debug_info $<
+ 
+ $(EVAL_CT_MODULES:%=%.erl): prepare_templates.$(EMULATOR) \
+-			    $(EBIN)/asn1ct_rtt.$(EMULATOR)
++			    $(EBIN)/asn1ct_rtt.$(EMULATOR) \
++			    $(EBIN)/asn1ct_func.$(EMULATOR)
+ 
+ #
+ # Dependencies


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2022-05-05 14:35 Matthew Smith
  0 siblings, 0 replies; 12+ messages in thread
From: Matthew Smith @ 2022-05-05 14:35 UTC (permalink / raw
  To: gentoo-commits

commit:     23330408d7ae93d2fe67c2e7c33cdca4fe613351
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Thu May  5 14:32:15 2022 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Thu May  5 14:34:53 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23330408

dev-lang/erlang: backport emacs-28 compatibility patch

Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 ...23.3.4.14.ebuild => erlang-23.3.4.14-r1.ebuild} |   1 +
 .../files/erlang-23.3.4.14-emacs28-compat.patch    | 137 +++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/dev-lang/erlang/erlang-23.3.4.14.ebuild b/dev-lang/erlang/erlang-23.3.4.14-r1.ebuild
similarity index 98%
rename from dev-lang/erlang/erlang-23.3.4.14.ebuild
rename to dev-lang/erlang/erlang-23.3.4.14-r1.ebuild
index 689ece693ee0..4ec3b42e084e 100644
--- a/dev-lang/erlang/erlang-23.3.4.14.ebuild
+++ b/dev-lang/erlang/erlang-23.3.4.14-r1.ebuild
@@ -47,6 +47,7 @@ S="${WORKDIR}/otp-OTP-${PV}"
 PATCHES=(
 	"${FILESDIR}"/18.2.1-wx3.0.patch
 	"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
+	"${FILESDIR}"/${PN}-23.3.4.14-emacs28-compat.patch
 )
 
 SITEFILE=50"${PN}"-gentoo.el

diff --git a/dev-lang/erlang/files/erlang-23.3.4.14-emacs28-compat.patch b/dev-lang/erlang/files/erlang-23.3.4.14-emacs28-compat.patch
new file mode 100644
index 000000000000..32844d8dd1a8
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-23.3.4.14-emacs28-compat.patch
@@ -0,0 +1,137 @@
+From 22a7522ef3f0f3c13618214e61f60cb01d80eef4 Mon Sep 17 00:00:00 2001
+From: Justin Davis <jrcd83@gmail.com>
+Date: Tue, 26 Oct 2021 13:28:16 -0400
+Subject: [PATCH] Fix emacs erlang-mode: xref switched to CL-Lib
+
+Fix for GitHub issue #5314.
+
+Xref is a package which is also bundled with emacs:
+http://elpa.gnu.org/packages/xref.html
+
+Xref switched its own internally defined classes from EIEIO to
+CL-lib (emacs-mirror/emacs@86da812afb2572c7fead2bb07570b976bffd7c55).
+erlang-mode subclasses xref-file-location in order to add a function
+arity slot to xrefs.
+
+If xref-file-location is a class, use defclass to subclass it. Otherwise
+use cl-defstruct. Avoids referencing make-instance, slot-value functions
+from EIEIO. Only references constructor, accessor, and predicate
+functions.  Updates comments that make references to classes.
+
+Testing:
+- cd into lib/tools/emacs.
+- Run the tests included with erlang-mode from the shell:
+  emacs -Q -batch -L . -l erlang.el -l erlang-test.el \
+        -f ert-run-tests-batch-and-exit
+- Copy xref.el from the xref package (>=1.3.1) into the
+  lib/tools/emacs directory.
+- Run the tests again. This will load xref.el automatically
+  and use the new interface.
+---
+ lib/tools/emacs/erlang.el | 48 +++++++++++++++++++++++++--------------
+ 1 file changed, 31 insertions(+), 17 deletions(-)
+
+diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el
+index 69a5fdaeb55..40fe32689e7 100644
+--- a/lib/tools/emacs/erlang.el
++++ b/lib/tools/emacs/erlang.el
+@@ -5120,8 +5120,8 @@ about Erlang modules."
+ ;;
+ ;; As mentioned this xref implementation is based on the etags xref
+ ;; implementation.  But in the cases where arity is considered the
+-;; etags information structures (class xref-etags-location) will be
+-;; translated to our own structures which include arity (class
++;; etags information structures (struct xref-etags-location) will be
++;; translated to our own structures which include arity (struct
+ ;; erlang-xref-location).  This translation is started in the function
+ ;; `erlang-refine-xrefs'.
+ 
+@@ -5129,6 +5129,11 @@ about Erlang modules."
+ ;; with xref items with xref-etags-location and some deal with xref
+ ;; items with erlang-xref-location.
+ 
++;; NOTE: Around Sept 2021, the xrefs package changed all of its defined types
++;; (i.e.  xref-location, xref-file-location) from EIEIO classes to CL-Lib
++;; structures. These are both supported. Older Emacsen with earlier versions of
++;; xref will continue to use defclass. Newer Emacsen will use cl-defstruct.
++
+ (defun erlang-etags--xref-backend () 'erlang-etags)
+ 
+ (defun erlang-soft-require (feature)
+@@ -5137,6 +5142,7 @@ about Erlang modules."
+ 
+ (when (and (erlang-soft-require 'xref)
+            (erlang-soft-require 'cl-generic)
++           (erlang-soft-require 'cl-lib)
+            (erlang-soft-require 'eieio)
+            (erlang-soft-require 'etags))
+   ;; The purpose of using eval here is to avoid compilation
+@@ -5165,10 +5171,20 @@ about Erlang modules."
+         (let ((erlang-replace-etags-tags-completion-table t))
+           (tags-completion-table)))
+ 
+-      (defclass erlang-xref-location (xref-file-location)
+-        ((arity :type fixnum :initarg :arity
+-                :reader erlang-xref-location-arity))
+-        :documentation "An erlang location is a file location plus arity.")
++      ;; Xref 1.3.1 bundled with Emacs 28+ switched from using EIEIO classes to
++      ;; using CL-Lib structs.
++      (if (find-class 'xref-file-location)
++          (progn
++            (defclass erlang-xref-location (xref-file-location)
++              ((arity :type fixnum :initarg :arity
++                      :reader erlang-xref-location-arity))
++              :documentation "An erlang location is a file location plus arity.")
++            ;; Make a constructor with the same name that a CL structure would have.
++            (defalias 'make-erlang-xref-location 'erlang-xref-location))
++        (cl-defstruct (erlang-xref-location
++                       (:include xref-file-location))
++          "An erlang location is a file location plus arity."
++          (arity 0 :type fixnum)))
+ 
+       ;; This method definition only calls the superclass which is
+       ;; the default behaviour if it was not defined.  It is only
+@@ -5331,8 +5347,7 @@ is non-nil then TAG is a regexp."
+       xrefs
+     (when (and xrefs
+                (fboundp 'xref-item-location)
+-               (fboundp 'xref-location-group)
+-               (fboundp 'slot-value))
++               (fboundp 'xref-location-group))
+       (let (files)
+         (cl-loop for xref in xrefs
+                  for loc = (xref-item-location xref)
+@@ -5357,7 +5372,8 @@ is non-nil then TAG is a regexp."
+            t))))
+ 
+ (defun erlang-xrefs-in-file (file kind tag is-regexp)
+-  (when (fboundp 'make-instance)
++  (when (and (fboundp 'make-erlang-xref-location)
++             (fboundp 'xref-make))
+     (with-current-buffer (find-file-noselect file)
+       (save-excursion
+         (goto-char (point-min))
+@@ -5369,17 +5385,15 @@ is non-nil then TAG is a regexp."
+                    for name = (match-string-no-properties 1)
+                    for arity = (save-excursion
+                                  (erlang-get-arity))
+-                   for loc = (make-instance 'erlang-xref-location
+-                                            :file file
+-                                            :line (line-number-at-pos)
+-                                            :column 0
+-                                            :arity arity)
++                   for loc = (make-erlang-xref-location
++                              :file file
++                              :line (line-number-at-pos)
++                              :column 0
++                              :arity arity)
+                    for sum = (erlang-xref-summary kind name arity)
+                    when (and arity
+                              (not (eq arity last-arity)))
+-                   collect (make-instance 'xref-item
+-                                          :summary sum
+-                                          :location loc)
++                   collect (xref-make sum loc)
+                    do (setq last-arity arity)))))))
+ 
+ (defun erlang-xref-summary (kind tag arity)


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2022-10-16 10:23 Matthew Smith
  0 siblings, 0 replies; 12+ messages in thread
From: Matthew Smith @ 2022-10-16 10:23 UTC (permalink / raw
  To: gentoo-commits

commit:     f18392f54074d8c81a69f29c0337baf9af3e55a5
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 16 10:10:08 2022 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Sun Oct 16 10:22:39 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f18392f5

dev-lang/erlang: add 25.1.1

Also, fix localhost clash.

Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/26360

 dev-lang/erlang/Manifest             |   3 +
 dev-lang/erlang/erlang-25.1.1.ebuild | 167 +++++++++++++++++++++++++++++++++++
 dev-lang/erlang/files/epmd.init-r3   |  23 +++++
 3 files changed, 193 insertions(+)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index bb1d13c01b33..cfc81cf5b1c8 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -1,6 +1,9 @@
 DIST erlang-24.3.4.2.tar.gz 59532491 BLAKE2B 28c48f1a3197a151010a775286cf0b775567301411b8480b32cfb39c68978de5586b63c245fe58bff8034ebc04fcc3b002dee7c953127ecf581ed6d716587ae4 SHA512 78bc2dc67fe60d3ea6049c361a017c054e12b0adeeae890b0a1ee5301744505593bd19f3731acebff8312b323a3bd21a1359507d122fc34f0eb85eefb3aac88c
 DIST erlang-25.0.4.tar.gz 59812650 BLAKE2B cebba32e859ec4ff0868de506771449a6d5d053d50d8f4a2cf84f9bc90da1e14ae320420b3c33f6febd5977fd1ccff98b55d3ee1a0c4b90e674e912883cb0f29 SHA512 8d9d12496d55181c0d866bbd97576551d1d78232fe34b845e8efbfbd4e95ce8426e73221d8126d12453959cd8adc5e07f121aaa93f3a5696074b43c69291d363
+DIST erlang-25.1.1.tar.gz 59974226 BLAKE2B f28662860533c8946429607b8123c241d3646c2c0ab2165346512c2a1b331dbaf46d978bce17b8b792a0487ad96411c2245d273381e304437724335a353093dd SHA512 7e34eca772d29132dc907181ee9829ea58a47e622a9a65c0d4f66e79cb2e8f22a9f9e2edefad67ee6c151ee09027ed3927be65228780cdbe606a0abe59209243
 DIST erlang_doc_html_24.3.tar.gz 36645792 BLAKE2B ef90b7d05ed43656ab1ffdbbd0833c9da08a867ad7a99ec0f7f1eb59697c1f9cd5ccd150b2e564af80b2098f063da0c76121d4444b5444e603581442ad1c7bc8 SHA512 b8d3832ffdbdede656b362d719474f7b9ff04a32ea7235e77d63755629cf9305c203cd6cd9ae089171b2cee694f9641d6ed5d0197e2acf893a31d25696096f1e
 DIST erlang_doc_html_25.0.tar.gz 37051192 BLAKE2B 2d79ccb3b850b199de0a7da83c6358b9f3cf63826aeddb54307640129c1f96689200895c3c3ec52f503362945e7c6083a7317cd4ea57dc7d6772844801843c74 SHA512 6ce8423705f86fb2cd403e9c51089d7b2569ba93498f9143b5dbac85eb10b403c4bc948f8a68e55c40116cdd9a93f050bb037f94fc3c8651175d9065d2c598be
+DIST erlang_doc_html_25.1.tar.gz 37197742 BLAKE2B 432e89471cfbf15ba35507f66958df559e38d5a4be1b4fe07e2abdaaacc1642dd9e55c2d67ce893fa108c38e25929cb58fb4de2474ec69273222b3ef0a7e0a5d SHA512 3e39f505030a3d0422b4a79f31a2af830eeff5076c3dddeafd336d0a91a4ac895a92a17cf5b4f6265d0a4b150c0548ecd0cc38174ce0488a5328e16307eaedc3
 DIST erlang_doc_man_24.3.tar.gz 1680242 BLAKE2B 3311eb6ed6dcaa2d611adf7a08269f67e3f31d106f6b6d04e5cc91efa8efc382ddb6b230f218fa543390bf4ec37f477e0c4979c82632ebfb6ccda8c5de1fbc41 SHA512 72876911a1ec82071225e7b71de0462254becd64892a5459239b9e44b20601f6b6990a12cd36a8320e81e5307bcf7b5e5057e42baec12403be4a0eda00cdf62c
 DIST erlang_doc_man_25.0.tar.gz 1711510 BLAKE2B 743efa8edbeeb99e37e227c1e5e3be1825a391007e1c220ba22163c528edda8941b1dca0951cc02aff016dda0d52f3a6ff4fdbbbe279ce067c7a1993997ce6b4 SHA512 c6b6490961228893253e11d5bb88cbd30ba2cb1c13819a85db6699b437f0327fb55962accb6b602a4ec5ffc423882205d05873b064fb3e4c52950a423706fb09
+DIST erlang_doc_man_25.1.tar.gz 1714586 BLAKE2B b37b03f60d662d02018515de5ca16b3891a32c5ebc1bd1cc72ac17aadd409c3c5084898f1605d4a8aa579ebce4b5a8f75a39fa90e5fc4d233b2f7e9b8121768d SHA512 4194779c8975234ad8f693bbe43c9eefd2d954ed7fec493493c4a6a9028b58fd55ce6479a113d863bd91ff4732b88c4b8cae3e3a16846add5c7af6616317f595

diff --git a/dev-lang/erlang/erlang-25.1.1.ebuild b/dev-lang/erlang/erlang-25.1.1.ebuild
new file mode 100644
index 000000000000..de9c4088ead3
--- /dev/null
+++ b/dev-lang/erlang/erlang-25.1.1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+WX_GTK_VER="3.0-gtk3"
+
+inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 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
+	https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+	doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+
+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? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
+	"${FILESDIR}"/${PN}-24.0.2-serial-configure.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
+}
+
+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_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 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
+		# 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
+
+	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/epmd.init-r3 b/dev-lang/erlang/files/epmd.init-r3
new file mode 100644
index 000000000000..7748a94c2ac7
--- /dev/null
+++ b/dev-lang/erlang/files/epmd.init-r3
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the Erlang Public License 1.1
+
+name="Erlang Port Mapper Daemon"
+
+command="/usr/bin/epmd"
+command_user="epmd"
+command_group="epmd"
+
+command_background=yes
+pidfile="/var/run/epmd.pid"
+
+depend() {
+	use net
+	before sshd
+}
+
+stop() {
+	ebegin "Stopping ${name}"
+	${command} -kill >/dev/null
+	eend $?
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
@ 2024-04-15 17:59 Matthew Smith
  0 siblings, 0 replies; 12+ messages in thread
From: Matthew Smith @ 2024-04-15 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     f896d0ab0d82517302d351d5ea9740b9475e1229
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 15 17:58:35 2024 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Mon Apr 15 17:58:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f896d0ab

dev-lang/erlang: add 26.2.4

Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 dev-lang/erlang/Manifest                           |   1 +
 dev-lang/erlang/erlang-26.2.4.ebuild               | 187 +++++++++++++++++++++
 .../files/erlang-26.2.4-test-errorinfo.patch       |  14 ++
 3 files changed, 202 insertions(+)

diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 4a8ed0797c9c..46bf6c6b7422 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -3,6 +3,7 @@ DIST erlang-26.0.tar.gz 61355457 BLAKE2B 4f5abc04b794d2b2b9e27e20be9197a7c811136
 DIST erlang-26.1.2.tar.gz 63932020 BLAKE2B 56c862270398b458106056ea0e86a167b40d769c5b2fd84c39a0ed0c074c00d301145a98ef6e5f4b755d1124005da382ade6d4f0648823cf0e7d662a9b6bdcf2 SHA512 6907bba4ee726582b6344995c73223f725ea628897b34fc807a2a0306536bb15ce55c7fd4da1cb596dc59c9695b3bb6bba59618ca2a7a9a999e183f671656710
 DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231845c5f40b17876b8f042c20ba89bced920ffdbb2a44b890b920d8a147b0a0cb4a2bce66a51e49b720ee794c06c9 SHA512 f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c
 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_doc_html_25.3.tar.gz 37134864 BLAKE2B 86af9f6eacccbdc8e66e1407a29bc70620052f5968f4378df751f89795f98898a057c2e187553e5b938b5a9cc55a223fedb9bc2936cb3ade5f444e05a810f7d0 SHA512 d469f6088a20a840687ceed66b3d4ef3bf9446a00ea490f6bb14e5ec8a0b642ac0ff14243010e45483e9d4d33742525916d05ec93e171fe9f5e0dfbac3733837
 DIST erlang_doc_html_26.0.tar.gz 37434137 BLAKE2B 0a1bd0f4966d90cc5aaa8852b280204d81271af0449a019399dfcbeab4b2427a91fa57e1dafe24c55ee1a7abf5f52c019ca7454f7c2ca8dbe604d60ef437a4e0 SHA512 c11cf064808bee3a9e8334ee597daadfff397bd700622c80affa8df127a53de3cb5685c3338fa6d28b5c7a5c171379e0289f557dc3fc6ab0459ada757219ce3e

diff --git a/dev-lang/erlang/erlang-26.2.4.ebuild b/dev-lang/erlang/erlang-26.2.4.ebuild
new file mode 100644
index 000000000000..233389fa0b29
--- /dev/null
+++ b/dev-lang/erlang/erlang-26.2.4.ebuild
@@ -0,0 +1,187 @@
+# 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/"
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
+	https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+	doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+
+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]
+	)
+"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-22.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-26.2.4-test-errorinfo.patch b/dev-lang/erlang/files/erlang-26.2.4-test-errorinfo.patch
new file mode 100644
index 000000000000..4119a6b39bd1
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-26.2.4-test-errorinfo.patch
@@ -0,0 +1,14 @@
+Skip the error_info test. This test tries to open fds until exhausted which
+seems to be quite unreliable/brittle.
+--- a/lib/kernel/test/os_SUITE.erl
++++ b/lib/kernel/test/os_SUITE.erl
+@@ -42,8 +42,7 @@ all() ->
+      env,
+      find_executable, unix_comment_in_command, deep_list_command,
+      large_output_command, background_command, message_leak,
+-     close_stdin, max_size_command, perf_counter_api,
+-     error_info].
++     close_stdin, max_size_command, perf_counter_api].
+ 
+ groups() ->
+     [].


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-04-15 17:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-05 14:35 [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/ Matthew Smith
  -- strict thread matches above, loose matches on Subject: below --
2024-04-15 17:59 Matthew Smith
2022-10-16 10:23 Matthew Smith
2020-01-17  8:04 Sergei Trofimovich
2020-01-14 23:31 Sergei Trofimovich
2019-11-22 10:31 Sergei Trofimovich
2019-06-28  7:37 Michał Górny
2019-05-26 15:36 Sergei Trofimovich
2019-05-26  8:26 Sergei Trofimovich
2018-09-30 10:53 Michał Górny
2018-04-21  3:14 Göktürk Yüksek
2015-10-25 11:51 Pacho Ramos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox