Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/erlang/, dev-lang/erlang/files/
Date: Sun, 30 Sep 2018 10:54:20
Message-Id: 1538304821.52b809031961e32051870ace639b4efd87234160.mgorny@gentoo
1 commit: 52b809031961e32051870ace639b4efd87234160
2 Author: Ștefan Talpalaru <stefantalpalaru <AT> yahoo <DOT> com>
3 AuthorDate: Fri Aug 17 19:45:30 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 30 10:53:41 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52b80903
7
8 dev-lang/erlang: version bump to 21.1
9
10 I removed some deprecated configure options, properly (re-)added the
11 "wxwidgets" USE flag - without automagic dependencies, added the "pgo"
12 flag and made some USE flags enabled by default to match upstream's
13 defaults.
14
15 Most of the ebuild was refactored, after code reviews, with the more
16 significant change being the replacement of two shell functions copied
17 from an upstream build script with a call to a patched version of that
18 script.
19
20 When the "pgo" USE flag is enabled, distcc and ccache are disabled, to
21 avoid a build failure due to a version mismatch in .gcda files that
22 cannot be explained by different GCC versions.
23
24 Closes: https://bugs.gentoo.org/653700
25 Closes: https://bugs.gentoo.org/658656
26 Signed-off-by: Ștefan Talpalaru <stefantalpalaru <AT> yahoo.com>
27 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
28 Closes: https://github.com/gentoo/gentoo/pull/9357
29
30 dev-lang/erlang/Manifest | 3 +
31 dev-lang/erlang/erlang-21.1.ebuild | 161 +++++++++++++++++++++
32 dev-lang/erlang/files/erlang-custom-autoconf.patch | 14 ++
33 dev-lang/erlang/metadata.xml | 27 ++--
34 4 files changed, 192 insertions(+), 13 deletions(-)
35
36 diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
37 index 9efbfa0c7fd..e3c0b5398af 100644
38 --- a/dev-lang/erlang/Manifest
39 +++ b/dev-lang/erlang/Manifest
40 @@ -3,10 +3,13 @@ DIST erlang-20.3.8.9.tar.gz 53514692 BLAKE2B 1afa37ff8cc462cb0cc719c49c2c10b2684
41 DIST erlang-20.3.8.tar.gz 53499006 BLAKE2B 0c38fb739a9c4f4b79533faea8c533f85c30d680081b5de96e70722a243d53b9317a26c7138a24a78cadd938777bd48a515484fffef2fdfd720819ab12bb8c0c SHA512 2ada142b47fdd0d1807a179e7cd3067e001f94682011436d33e503219a8a93495a187f8192fa2ebcdac48409e489b7b310d538779447981e6ba033a6dde12e1c
42 DIST erlang-21.0.2.tar.gz 52835517 BLAKE2B bf7e2e166236a7c0a3e3411889f163dce0d938c1a854a6c264c137b601587c4cd4d62d58d9a87cf925406272d6e3d6547e4403927adc8e901716289ee2164162 SHA512 ff736a6df92ac7feec7b9ebb1b6523d511a533d48e536f36aee20fa21b5a1dc33791065d45f6900bbbaa48b4ba80b57a306b416801456a5ac33468786dfb00b7
43 DIST erlang-21.0.9.tar.gz 52842736 BLAKE2B 57de5e94450a70d32eb46bff691be4d3679daa56bee4e9aa2aad156b9447ea5bbe1287b806c304115c0ac4a677b8a04fb23286e269c7e0516f60cebd5ef2b3c7 SHA512 01bc5ce8d5c76823af1a17d389f326509c4ade5add0b0e66830e2c6aec2c7d93906cbbf9fb6b454178bddfa1c96355d632e4c557ab6da2bbdb8c6b0e05d87ee8
44 +DIST erlang-21.1.tar.gz 53857079 BLAKE2B ae292f5e98d747a6afb5d82205dd33d55cb6e275e3ebc98a4dbc8378cfcb1ea64f83d5f2d2256fd7208c7fe553b47ff25edf2858287f5316cae50788f2175337 SHA512 9e118e902c33b8dd71266efb4cc4aeb0db0d8be8adb64ac85595a6507dc847b84e5444a9b5c5cbf46b560c885db9f4cd934c74de4aa2e1574785295ea0865348
45 DIST erlang_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4
46 DIST erlang_doc_html_21.0.tar.gz 32501093 BLAKE2B 5c5bab831d4a86129cca41f8e82416d45a92e8ae29cd2223301633b46471783ee6bb8131d469cedcf0f655ea21879c475c61d0b9eefba9e12d78d0a803403a19 SHA512 8be300d9e502b7dcf8db4621d7c5c8981f47cbff851b30b33ef33871f737554eda73dacd179b64995fc45362c4dfd91e15ff659d2898f863465222176bfbff9f
47 +DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f
48 DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25
49 DIST erlang_doc_man_21.0.tar.gz 1311959 BLAKE2B 70b049c6d7b8bbbb3bf77f7588ccf0eb937d5fe511968d47e1325dd01b48e986ae82804ffc88b750f0f7e2fe0482c0506ad060a6a84892eea61264aa2b003dd9 SHA512 611ac0b7cb2c0bc0bb6cd194dffe4f9d2c95bf38da033aa8c43d386a9bedf6f7d6fa8a95d340dbb57da2698602599c8e0501cbbdd735d6e5d35110aa9087dc79
50 +DIST erlang_doc_man_21.1.tar.gz 1317726 BLAKE2B 5e5c2b77a41da6ab9ae1264ba5824a9f3bda6d3b7a824b372e01356888db437ed9e45bf987d678aca3fd8d0f0e6dce25080c7a2aaa4e061936f1e6ac4717e843 SHA512 94c6191ba9f42bffeb398e865026fbc79f3b233389c7d471f0c680799aa3669e97ab5305cd53f26d6525aed33d738ebfc4eb79a8f1a0b29dc4b79a2a37a29a4f
51 DIST otp_doc_html_19.1.tar.gz 34624316 BLAKE2B e3a5edfe1645d58e4cbd6537c775190716eed7613610ddfa112692fdbace2077b1ccdf7df5987973d2ae4ef529e4ec45d44a240265157816e2a15dabe9232b83 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8
52 DIST otp_doc_html_19.3.tar.gz 35818689 BLAKE2B 30118276fbd817b803ef20700fe2e71a8457645d00f8949b6d3175d92cb5c84d306e4de9899e2f5e0c562d8040dc22db35e1a0f2e314cf1a783794573b3ece59 SHA512 a70d2c470fa1dc0594b20af73ba36ccb7702b4192960e6fc0296738175215a43450f9bf558637f7f5e40757f7a15dcf4f1ae8a88515e211cd3c0fae45c5e1858
53 DIST otp_doc_html_20.2.tar.gz 33570484 BLAKE2B c47244a601ae780e5304aedbafbc84d514cb21852760c51384b197d8d37602d51448b7123f6205da9afd2c5d2158f518a122dd4d550ca2ff22d3425eb31b6cf7 SHA512 b481930066737cf0ae2496aa9bc0c865da46bd3985fe5ebcf51eb9383539a57ec364e1eed9d3916ba0953d837d0d5d37cfc129a995d4e2a9656846e75cda9397
54
55 diff --git a/dev-lang/erlang/erlang-21.1.ebuild b/dev-lang/erlang/erlang-21.1.ebuild
56 new file mode 100644
57 index 00000000000..4b6b149c124
58 --- /dev/null
59 +++ b/dev-lang/erlang/erlang-21.1.ebuild
60 @@ -0,0 +1,161 @@
61 +# Copyright 1999-2018 Gentoo Foundation
62 +# Distributed under the terms of the GNU General Public License v2
63 +
64 +EAPI=6
65 +WX_GTK_VER="3.0"
66 +
67 +inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets
68 +
69 +# NOTE: If you need symlinks for binaries please tell maintainers or
70 +# open up a bug to let it be created.
71 +
72 +UPSTREAM_V="$(ver_cut 1-2)"
73 +
74 +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
75 +HOMEPAGE="https://www.erlang.org/"
76 +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
77 + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
78 + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
79 +
80 +LICENSE="Apache-2.0"
81 +SLOT="0"
82 +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"
83 +IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk +wxwidgets"
84 +
85 +RDEPEND="
86 + sys-libs/ncurses:0
87 + sys-libs/zlib
88 + emacs? ( virtual/emacs )
89 + java? ( >=virtual/jdk-1.8:* )
90 + odbc? ( dev-db/unixODBC )
91 + sctp? ( net-misc/lksctp-tools )
92 + ssl? (
93 + !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
94 + libressl? ( dev-libs/libressl:0= )
95 + )
96 + systemd? ( sys-apps/systemd )
97 + tk? ( dev-lang/tk:0 )
98 + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
99 +"
100 +DEPEND="${RDEPEND}
101 + dev-lang/perl
102 +"
103 +
104 +S="${WORKDIR}/otp-OTP-${PV}"
105 +
106 +PATCHES=(
107 + "${FILESDIR}/18.2.1-wx3.0.patch"
108 + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch"
109 + "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch"
110 + "${FILESDIR}/${PN}-custom-autoconf.patch"
111 +)
112 +
113 +SITEFILE=50"${PN}"-gentoo.el
114 +
115 +src_prepare() {
116 + default
117 +
118 + ./otp_build autoconf
119 + find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed"
120 + eautoreconf
121 +}
122 +
123 +src_configure() {
124 + use wxwidgets && setup-wxwidgets
125 +
126 + local myconf=(
127 + --disable-builtin-zlib
128 + $(use_enable hipe)
129 + $(use_enable kpoll kernel-poll)
130 + $(use_with java javac)
131 + $(use_with odbc)
132 + $(use_enable sctp)
133 + $(use_with ssl)
134 + $(use_with ssl ssl-rpath "no")
135 + $(use_enable ssl dynamic-ssl-lib)
136 + $(use_enable systemd)
137 + $(use_enable pgo)
138 + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
139 + --enable-threads
140 + )
141 + econf "${myconf[@]}"
142 +}
143 +
144 +src_compile() {
145 + if use pgo; then
146 + # disable distcc and ccache
147 + export DISTCC_HOSTS=""
148 + export CCACHE_DISABLE=1
149 + fi
150 +
151 + emake
152 +
153 + if use emacs ; then
154 + pushd lib/tools/emacs &>/dev/null || die
155 + elisp-compile *.el
156 + popd &>/dev/null || die
157 + fi
158 +}
159 +
160 +extract_version() {
161 + local path="$1"
162 + local var_name="$2"
163 + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
164 +}
165 +
166 +src_install() {
167 + local erl_libdir_rel="$(get_libdir)/erlang"
168 + local erl_libdir="/usr/${erl_libdir_rel}"
169 + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
170 + local erl_erts_ver="$(extract_version erts VSN)"
171 + local my_manpath="/usr/share/${PN}/man"
172 +
173 + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
174 + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
175 +
176 + emake INSTALL_PREFIX="${ED}" install
177 +
178 + if use doc ; then
179 + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* )
180 + docompress -x /usr/share/doc/${PF}
181 + else
182 + local DOCS=("README.md")
183 + fi
184 +
185 + einstalldocs
186 +
187 + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
188 + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
189 + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
190 + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
191 + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
192 +
193 + ## Clean up the no longer needed files
194 + rm "${ED}/${erl_libdir}/Install" || die
195 +
196 + insinto "${my_manpath}"
197 + doins -r "${WORKDIR}"/man/*
198 + # extend MANPATH, so the normal man command can find it
199 + # see bug 189639
200 + newenvd - "90erlang" <<-_EOF_
201 + MANPATH="${my_manpath}"
202 + _EOF_
203 +
204 + if use emacs ; then
205 + elisp-install erlang lib/tools/emacs/*.{el,elc}
206 + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
207 + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
208 + elisp-site-file-install "${T}/${SITEFILE}"
209 + fi
210 +
211 + newinitd "${FILESDIR}"/epmd.init epmd
212 + use systemd && systemd_dounit "${FILESDIR}"/epmd.service
213 +}
214 +
215 +pkg_postinst() {
216 + use emacs && elisp-site-regen
217 +}
218 +
219 +pkg_postrm() {
220 + use emacs && elisp-site-regen
221 +}
222
223 diff --git a/dev-lang/erlang/files/erlang-custom-autoconf.patch b/dev-lang/erlang/files/erlang-custom-autoconf.patch
224 new file mode 100644
225 index 00000000000..5ae7b43ba28
226 --- /dev/null
227 +++ b/dev-lang/erlang/files/erlang-custom-autoconf.patch
228 @@ -0,0 +1,14 @@
229 +diff -ur otp-OTP-21.0.5.orig/otp_build otp-OTP-21.0.5/otp_build
230 +--- otp-OTP-21.0.5.orig/otp_build 2018-08-10 19:02:51.000000000 +0200
231 ++++ otp-OTP-21.0.5/otp_build 2018-08-15 23:44:59.417191209 +0200
232 +@@ -1343,7 +1343,9 @@
233 + do_lazy_configure "$@";
234 + do_boot;;
235 + autoconf)
236 +- do_autoconf;;
237 ++ create_lib_configure_in
238 ++ distribute_config_helpers
239 ++ ;;
240 + configure)
241 + shift;
242 + do_configure "$@";;
243
244 diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml
245 index 9da736baffe..2f3f0770a55 100644
246 --- a/dev-lang/erlang/metadata.xml
247 +++ b/dev-lang/erlang/metadata.xml
248 @@ -1,17 +1,18 @@
249 <?xml version="1.0" encoding="UTF-8"?>
250 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
251 <pkgmetadata>
252 - <!-- maintainer-needed -->
253 - <use>
254 - <flag name="hipe">HIgh Performance Erlang extension</flag>
255 - <flag name="kpoll">Enable kernel polling support</flag>
256 - <flag name="compat-ethread">Enable compatibility with pre-pentium 4 CPUs in the ethread library.</flag>
257 - <flag name="dirty-schedulers">Enable dirty schedulers</flag>
258 - </use>
259 -<longdescription>
260 -Erlang is a programming language designed at the Ericsson
261 -Computer Science Laboratory. Open-source Erlang is being
262 -released to help encourage the spread of Erlang outside
263 -Ericsson.
264 -</longdescription>
265 + <!--maintainer-needed-->
266 + <use>
267 + <flag name="compat-ethread">Enable compatibility with pre-pentium 4 CPUs in the ethread library.</flag>
268 + <flag name="dirty-schedulers">Enable dirty schedulers</flag>
269 + <flag name="hipe">HIgh Performance Erlang extension</flag>
270 + <flag name="kpoll">Enable kernel polling support</flag>
271 + <flag name="pgo">Build erts with profile-guided optimizations</flag>
272 + </use>
273 + <longdescription>
274 + Erlang is a programming language designed at the Ericsson
275 + Computer Science Laboratory. Open-source Erlang is being
276 + released to help encourage the spread of Erlang outside
277 + Ericsson.
278 + </longdescription>
279 </pkgmetadata>