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> |