1 |
commit: 14c623bc53b2f37729069011df24f704158fa81c |
2 |
Author: Jeroen Roovers <jer <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Oct 22 10:21:26 2018 +0000 |
4 |
Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Oct 22 10:38:36 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14c623bc |
7 |
|
8 |
dev-lang/erlang: Versions 19.3.6.12 20.3.8.10 21.1.1 |
9 |
|
10 |
Package-Manager: Portage-2.3.51, Repoman-2.3.11 |
11 |
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org> |
12 |
|
13 |
dev-lang/erlang/Manifest | 5 + |
14 |
dev-lang/erlang/erlang-19.3.6.12.ebuild | 227 ++++++++++++++++++++++++++++++++ |
15 |
dev-lang/erlang/erlang-20.3.8.10.ebuild | 227 ++++++++++++++++++++++++++++++++ |
16 |
dev-lang/erlang/erlang-21.1.1.ebuild | 161 ++++++++++++++++++++++ |
17 |
4 files changed, 620 insertions(+) |
18 |
|
19 |
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest |
20 |
index e3c0b5398af..3ef7f5536c9 100644 |
21 |
--- a/dev-lang/erlang/Manifest |
22 |
+++ b/dev-lang/erlang/Manifest |
23 |
@@ -1,12 +1,17 @@ |
24 |
+DIST erlang-19.3.6.12.tar.gz 34004718 BLAKE2B 49f726a4c3f3bb4fcde1d3ff7cee93ef68a0ed0f5cbb00af8fb3585fb640302bf407351b61b0507c6aaefb4311f77dc0de450d2c43c6f8310f6af01ffd424a79 SHA512 9e117cbbc9cf53d908ae87f58f80f5ad4d3e69d5f1c94e3460a1d9c287dc7290d05fccb104ffc7779dd36b6b9377290ac4c5983a8ad3ea3ca518f66e0ab0db3f |
25 |
DIST erlang-20.3.2.tar.gz 53492641 BLAKE2B 2cdf78b6003801400d99949865a5b3e17d2209bf411bbe07dc12f749c84725710d12f85cb2559bc39ac04a7d6f7a9ae07b5f131a5524cf4ce3eb8559ca0259bc SHA512 060874cd4f72c1ecea178dd102f4b37a644485a810127092ad04fee76b52729ce199ee476335a2a40370bc718b7e03eb76869c3a48d457773856fd9f6d30a20b |
26 |
+DIST erlang-20.3.8.10.tar.gz 53511918 BLAKE2B 5f430bda415a5b59e9dec3222abe311264277ee91b2e7e9e69dba1016169492dc621df314c057e39f16b7bfe01686f405b9ccde362f84c5c2f0ffde68a923ffa SHA512 0d5ab27d17ff203d2c719fd5a03d843e3046037240e97ae9ad59d9f0690cf46cfb5fac2569590ce68f62169b1b2b2bc693e9a9b82f6ab0371693c5324bd3288b |
27 |
DIST erlang-20.3.8.9.tar.gz 53514692 BLAKE2B 1afa37ff8cc462cb0cc719c49c2c10b2684c7160b6912c574834021b2f521737dfa4cfedd0c82c843c1bb1e1977143fac7ae1ec94cfa9df4b2775deffd903a7b SHA512 6318760423f019a1611479da9b4187556a29e97f27bbc900cb36e0b2e0ef7e89ca65c053afbe4154cd9b5eaa3b59085a6d88c26d2990b09b7d2396b1dd5584a7 |
28 |
DIST erlang-20.3.8.tar.gz 53499006 BLAKE2B 0c38fb739a9c4f4b79533faea8c533f85c30d680081b5de96e70722a243d53b9317a26c7138a24a78cadd938777bd48a515484fffef2fdfd720819ab12bb8c0c SHA512 2ada142b47fdd0d1807a179e7cd3067e001f94682011436d33e503219a8a93495a187f8192fa2ebcdac48409e489b7b310d538779447981e6ba033a6dde12e1c |
29 |
DIST erlang-21.0.2.tar.gz 52835517 BLAKE2B bf7e2e166236a7c0a3e3411889f163dce0d938c1a854a6c264c137b601587c4cd4d62d58d9a87cf925406272d6e3d6547e4403927adc8e901716289ee2164162 SHA512 ff736a6df92ac7feec7b9ebb1b6523d511a533d48e536f36aee20fa21b5a1dc33791065d45f6900bbbaa48b4ba80b57a306b416801456a5ac33468786dfb00b7 |
30 |
DIST erlang-21.0.9.tar.gz 52842736 BLAKE2B 57de5e94450a70d32eb46bff691be4d3679daa56bee4e9aa2aad156b9447ea5bbe1287b806c304115c0ac4a677b8a04fb23286e269c7e0516f60cebd5ef2b3c7 SHA512 01bc5ce8d5c76823af1a17d389f326509c4ade5add0b0e66830e2c6aec2c7d93906cbbf9fb6b454178bddfa1c96355d632e4c557ab6da2bbdb8c6b0e05d87ee8 |
31 |
+DIST erlang-21.1.1.tar.gz 53854332 BLAKE2B 32ab508b5a305eb92eac9f49bd513374c573966e7565d98aa6ba986ce42eb955a46130b9f33dbb415f48de5c179b308a8b06b345a844afcb2700f7e3f257f27e SHA512 dc11aace126aad5411b0d583579fe95a7263be328612fdc9f9c02d917aef7ea7a128b1e54ddcf7a52232980d2c81fc8e90ae5a8806ee5ae6ea97f00a9cf3faab |
32 |
DIST erlang-21.1.tar.gz 53857079 BLAKE2B ae292f5e98d747a6afb5d82205dd33d55cb6e275e3ebc98a4dbc8378cfcb1ea64f83d5f2d2256fd7208c7fe553b47ff25edf2858287f5316cae50788f2175337 SHA512 9e118e902c33b8dd71266efb4cc4aeb0db0d8be8adb64ac85595a6507dc847b84e5444a9b5c5cbf46b560c885db9f4cd934c74de4aa2e1574785295ea0865348 |
33 |
+DIST erlang_doc_html_19.3.tar.gz 35818689 BLAKE2B 30118276fbd817b803ef20700fe2e71a8457645d00f8949b6d3175d92cb5c84d306e4de9899e2f5e0c562d8040dc22db35e1a0f2e314cf1a783794573b3ece59 SHA512 a70d2c470fa1dc0594b20af73ba36ccb7702b4192960e6fc0296738175215a43450f9bf558637f7f5e40757f7a15dcf4f1ae8a88515e211cd3c0fae45c5e1858 |
34 |
DIST erlang_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4 |
35 |
DIST erlang_doc_html_21.0.tar.gz 32501093 BLAKE2B 5c5bab831d4a86129cca41f8e82416d45a92e8ae29cd2223301633b46471783ee6bb8131d469cedcf0f655ea21879c475c61d0b9eefba9e12d78d0a803403a19 SHA512 8be300d9e502b7dcf8db4621d7c5c8981f47cbff851b30b33ef33871f737554eda73dacd179b64995fc45362c4dfd91e15ff659d2898f863465222176bfbff9f |
36 |
DIST erlang_doc_html_21.1.tar.gz 32692731 BLAKE2B a7fa8ebe1c876ab7eecd2dd46ffd4d288db6d308e0f131d53c26ee4b67a92cb6fcb89b6c880ef34df395c7ad61fcdc81eac32e0fcf7336be7d517263218146bc SHA512 0d659f55bfb01eecf140a310154724489ef56b6ccbe9ac30f6b053f598276721b80de7b5b3200707cf8a6e77b8854eae5453f655225f431fcc982550539f767f |
37 |
+DIST erlang_doc_man_19.3.tar.gz 1410781 BLAKE2B 78293aa498c2651be27d83f13e14007f25a1816b4dae499f463249f774256eddde3a4e31c435a30edd04fb6f41cee965c968b338de77330c3320f3df6087be92 SHA512 675a0d2d5972660a60de17c832e630f646f942d23815427eb0dec3a5ca1c44ed8fe35a9c30f8b608dedfd10f6fb1e47e958ea6e32e296b6f6809b1844b4da9a1 |
38 |
DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25 |
39 |
DIST erlang_doc_man_21.0.tar.gz 1311959 BLAKE2B 70b049c6d7b8bbbb3bf77f7588ccf0eb937d5fe511968d47e1325dd01b48e986ae82804ffc88b750f0f7e2fe0482c0506ad060a6a84892eea61264aa2b003dd9 SHA512 611ac0b7cb2c0bc0bb6cd194dffe4f9d2c95bf38da033aa8c43d386a9bedf6f7d6fa8a95d340dbb57da2698602599c8e0501cbbdd735d6e5d35110aa9087dc79 |
40 |
DIST erlang_doc_man_21.1.tar.gz 1317726 BLAKE2B 5e5c2b77a41da6ab9ae1264ba5824a9f3bda6d3b7a824b372e01356888db437ed9e45bf987d678aca3fd8d0f0e6dce25080c7a2aaa4e061936f1e6ac4717e843 SHA512 94c6191ba9f42bffeb398e865026fbc79f3b233389c7d471f0c680799aa3669e97ab5305cd53f26d6525aed33d738ebfc4eb79a8f1a0b29dc4b79a2a37a29a4f |
41 |
|
42 |
diff --git a/dev-lang/erlang/erlang-19.3.6.12.ebuild b/dev-lang/erlang/erlang-19.3.6.12.ebuild |
43 |
new file mode 100644 |
44 |
index 00000000000..0e30f8b86d2 |
45 |
--- /dev/null |
46 |
+++ b/dev-lang/erlang/erlang-19.3.6.12.ebuild |
47 |
@@ -0,0 +1,227 @@ |
48 |
+# Copyright 1999-2018 Gentoo Authors |
49 |
+# Distributed under the terms of the GNU General Public License v2 |
50 |
+ |
51 |
+EAPI=6 |
52 |
+WX_GTK_VER="3.0" |
53 |
+ |
54 |
+inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets |
55 |
+ |
56 |
+# NOTE: If you need symlinks for binaries please tell maintainers or |
57 |
+# open up a bug to let it be created. |
58 |
+ |
59 |
+UPSTREAM_V="$(get_version_component_range 1-2)" |
60 |
+ |
61 |
+DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" |
62 |
+HOMEPAGE="https://www.erlang.org/" |
63 |
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz |
64 |
+ http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz |
65 |
+ doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" |
66 |
+ |
67 |
+LICENSE="Apache-2.0" |
68 |
+SLOT="0" |
69 |
+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" |
70 |
+ |
71 |
+IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" |
72 |
+REQUIRED_USE="dirty-schedulers? ( smp )" #621610 |
73 |
+ |
74 |
+RDEPEND=" |
75 |
+ ssl? ( |
76 |
+ !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) |
77 |
+ libressl? ( dev-libs/libressl:0= ) |
78 |
+ ) |
79 |
+ emacs? ( virtual/emacs ) |
80 |
+ java? ( >=virtual/jdk-1.2:* ) |
81 |
+ odbc? ( dev-db/unixODBC ) |
82 |
+ systemd? ( sys-apps/systemd ) |
83 |
+" |
84 |
+DEPEND="${RDEPEND} |
85 |
+ dev-lang/perl |
86 |
+ sctp? ( net-misc/lksctp-tools ) |
87 |
+ sys-libs/zlib |
88 |
+ tk? ( dev-lang/tk ) |
89 |
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] |
90 |
+ virtual/glu ) |
91 |
+" |
92 |
+ |
93 |
+S="${WORKDIR}/otp-OTP-${PV}" |
94 |
+ |
95 |
+PATCHES=( |
96 |
+ "${FILESDIR}/18.2.1-wx3.0.patch" |
97 |
+ "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" |
98 |
+ "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" |
99 |
+ ) |
100 |
+ |
101 |
+SITEFILE=50"${PN}"-gentoo.el |
102 |
+ |
103 |
+# Taken from the upstream build script, build_otp |
104 |
+erlang_create_lib_configure_in() { |
105 |
+ local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel |
106 |
+ lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" |
107 |
+ local sdirs= |
108 |
+ for lib_app in ${bootstrap_apps}; do |
109 |
+ case "${lib_app}" in |
110 |
+ lib/*) |
111 |
+ if [[ -f "${lib_app}/configure.in" ]]; then |
112 |
+ mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die |
113 |
+ app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` |
114 |
+ sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die |
115 |
+ fi;; |
116 |
+ *) |
117 |
+ ;; |
118 |
+ esac |
119 |
+ done |
120 |
+ |
121 |
+ local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" |
122 |
+ |
123 |
+ sdirs= |
124 |
+ for lib_app in lib/*; do |
125 |
+ local is_bapp=false |
126 |
+ for bapp in ${bootstrap_apps}; do |
127 |
+ test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } |
128 |
+ done |
129 |
+ if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then |
130 |
+ mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die |
131 |
+ app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die |
132 |
+ sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" |
133 |
+ fi |
134 |
+ done |
135 |
+ |
136 |
+ local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" |
137 |
+ |
138 |
+ rm -f lib/configure.in || die |
139 |
+ sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" |
140 |
+ |
141 |
+} |
142 |
+ |
143 |
+# Taken from the upstream build script, build_otp |
144 |
+erlang_distribute_config_helpers() { |
145 |
+ local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" |
146 |
+ local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" |
147 |
+ |
148 |
+ local aclocal_master="./erts/aclocal.m4" |
149 |
+ local install_sh_master="./erts/autoconf/install-sh" |
150 |
+ local config_guess_master="./erts/autoconf/config.guess" |
151 |
+ local config_sub_master="./erts/autoconf/config.sub" |
152 |
+ |
153 |
+ for dir in ${aclocal_dirs}; do |
154 |
+ "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die |
155 |
+ done |
156 |
+ |
157 |
+ for dir in ${autoconf_aux_dirs}; do |
158 |
+ "${install_sh_master}" -d "${dir}" || die |
159 |
+ "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die |
160 |
+ "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die |
161 |
+ "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die |
162 |
+ done |
163 |
+} |
164 |
+ |
165 |
+src_prepare() { |
166 |
+ default |
167 |
+ |
168 |
+ # Determines which directories to recurse into with autoconf |
169 |
+ erlang_create_lib_configure_in |
170 |
+ |
171 |
+ # Move local autoconf files into the neccessary directories |
172 |
+ erlang_distribute_config_helpers |
173 |
+ |
174 |
+ java-pkg-opt-2_src_prepare |
175 |
+ |
176 |
+ eautoreconf |
177 |
+} |
178 |
+ |
179 |
+src_configure() { |
180 |
+ use wxwidgets && need-wxwidgets unicode |
181 |
+ |
182 |
+ econf \ |
183 |
+ --disable-builtin-zlib \ |
184 |
+ $(use_enable dirty-schedulers) \ |
185 |
+ $(use_enable hipe) \ |
186 |
+ $(use_enable kpoll kernel-poll) \ |
187 |
+ $(use_with java javac) \ |
188 |
+ $(use_with odbc) \ |
189 |
+ $(use_enable sctp) \ |
190 |
+ $(use_enable smp smp-support) \ |
191 |
+ $(use_with ssl) \ |
192 |
+ $(use_with ssl ssl-rpath "no") \ |
193 |
+ $(use_enable ssl dynamic-ssl-lib) \ |
194 |
+ $(use_enable systemd) \ |
195 |
+ --enable-threads |
196 |
+} |
197 |
+ |
198 |
+src_compile() { |
199 |
+ emake |
200 |
+ |
201 |
+ if use emacs ; then |
202 |
+ pushd lib/tools/emacs &>/dev/null || die |
203 |
+ elisp-compile *.el |
204 |
+ popd &>/dev/null || die |
205 |
+ fi |
206 |
+} |
207 |
+ |
208 |
+extract_version() { |
209 |
+ sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" |
210 |
+} |
211 |
+ |
212 |
+src_install() { |
213 |
+ local ERL_LIBDIR="/usr/$(get_libdir)/erlang" |
214 |
+ local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" |
215 |
+ local ERL_ERTS_VER="$(extract_version erts VSN)" |
216 |
+ local MY_MANPATH="/usr/share/${PN}/man" |
217 |
+ |
218 |
+ [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" |
219 |
+ [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" |
220 |
+ |
221 |
+ emake INSTALL_PREFIX="${D}" install |
222 |
+ |
223 |
+ if use doc ; then |
224 |
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) |
225 |
+ docompress -x /usr/share/doc/${PF} |
226 |
+ fi |
227 |
+ |
228 |
+ einstalldocs |
229 |
+ |
230 |
+ dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl |
231 |
+ dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc |
232 |
+ dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript |
233 |
+ dosym \ |
234 |
+ "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ |
235 |
+ /usr/bin/erl_call |
236 |
+ |
237 |
+ if use smp; then |
238 |
+ dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp |
239 |
+ else |
240 |
+ dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam |
241 |
+ fi |
242 |
+ |
243 |
+ ## Clean up the no longer needed files |
244 |
+ rm "${ED}/${ERL_LIBDIR}/Install" || die |
245 |
+ |
246 |
+ insinto "${MY_MANPATH}" |
247 |
+ |
248 |
+ doins -r "${WORKDIR}"/man/* |
249 |
+ |
250 |
+ # extend MANPATH, so the normal man command can find it |
251 |
+ # see bug 189639 |
252 |
+ echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die |
253 |
+ doenvd "${T}/90erlang" |
254 |
+ |
255 |
+ if use emacs ; then |
256 |
+ pushd "${S}" &>/dev/null || die |
257 |
+ elisp-install erlang lib/tools/emacs/*.{el,elc} |
258 |
+ sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ |
259 |
+ "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die |
260 |
+ elisp-site-file-install "${T}/${SITEFILE}" |
261 |
+ popd &>/dev/null || die |
262 |
+ fi |
263 |
+ |
264 |
+ newinitd "${FILESDIR}"/epmd.init epmd |
265 |
+ systemd_dounit "${FILESDIR}"/epmd.service |
266 |
+} |
267 |
+ |
268 |
+pkg_postinst() { |
269 |
+ use emacs && elisp-site-regen |
270 |
+} |
271 |
+ |
272 |
+pkg_postrm() { |
273 |
+ use emacs && elisp-site-regen |
274 |
+} |
275 |
|
276 |
diff --git a/dev-lang/erlang/erlang-20.3.8.10.ebuild b/dev-lang/erlang/erlang-20.3.8.10.ebuild |
277 |
new file mode 100644 |
278 |
index 00000000000..0e30f8b86d2 |
279 |
--- /dev/null |
280 |
+++ b/dev-lang/erlang/erlang-20.3.8.10.ebuild |
281 |
@@ -0,0 +1,227 @@ |
282 |
+# Copyright 1999-2018 Gentoo Authors |
283 |
+# Distributed under the terms of the GNU General Public License v2 |
284 |
+ |
285 |
+EAPI=6 |
286 |
+WX_GTK_VER="3.0" |
287 |
+ |
288 |
+inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets |
289 |
+ |
290 |
+# NOTE: If you need symlinks for binaries please tell maintainers or |
291 |
+# open up a bug to let it be created. |
292 |
+ |
293 |
+UPSTREAM_V="$(get_version_component_range 1-2)" |
294 |
+ |
295 |
+DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" |
296 |
+HOMEPAGE="https://www.erlang.org/" |
297 |
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz |
298 |
+ http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz |
299 |
+ doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" |
300 |
+ |
301 |
+LICENSE="Apache-2.0" |
302 |
+SLOT="0" |
303 |
+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" |
304 |
+ |
305 |
+IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" |
306 |
+REQUIRED_USE="dirty-schedulers? ( smp )" #621610 |
307 |
+ |
308 |
+RDEPEND=" |
309 |
+ ssl? ( |
310 |
+ !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) |
311 |
+ libressl? ( dev-libs/libressl:0= ) |
312 |
+ ) |
313 |
+ emacs? ( virtual/emacs ) |
314 |
+ java? ( >=virtual/jdk-1.2:* ) |
315 |
+ odbc? ( dev-db/unixODBC ) |
316 |
+ systemd? ( sys-apps/systemd ) |
317 |
+" |
318 |
+DEPEND="${RDEPEND} |
319 |
+ dev-lang/perl |
320 |
+ sctp? ( net-misc/lksctp-tools ) |
321 |
+ sys-libs/zlib |
322 |
+ tk? ( dev-lang/tk ) |
323 |
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] |
324 |
+ virtual/glu ) |
325 |
+" |
326 |
+ |
327 |
+S="${WORKDIR}/otp-OTP-${PV}" |
328 |
+ |
329 |
+PATCHES=( |
330 |
+ "${FILESDIR}/18.2.1-wx3.0.patch" |
331 |
+ "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" |
332 |
+ "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" |
333 |
+ ) |
334 |
+ |
335 |
+SITEFILE=50"${PN}"-gentoo.el |
336 |
+ |
337 |
+# Taken from the upstream build script, build_otp |
338 |
+erlang_create_lib_configure_in() { |
339 |
+ local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel |
340 |
+ lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" |
341 |
+ local sdirs= |
342 |
+ for lib_app in ${bootstrap_apps}; do |
343 |
+ case "${lib_app}" in |
344 |
+ lib/*) |
345 |
+ if [[ -f "${lib_app}/configure.in" ]]; then |
346 |
+ mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die |
347 |
+ app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` |
348 |
+ sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die |
349 |
+ fi;; |
350 |
+ *) |
351 |
+ ;; |
352 |
+ esac |
353 |
+ done |
354 |
+ |
355 |
+ local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" |
356 |
+ |
357 |
+ sdirs= |
358 |
+ for lib_app in lib/*; do |
359 |
+ local is_bapp=false |
360 |
+ for bapp in ${bootstrap_apps}; do |
361 |
+ test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } |
362 |
+ done |
363 |
+ if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then |
364 |
+ mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die |
365 |
+ app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die |
366 |
+ sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" |
367 |
+ fi |
368 |
+ done |
369 |
+ |
370 |
+ local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" |
371 |
+ |
372 |
+ rm -f lib/configure.in || die |
373 |
+ sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" |
374 |
+ |
375 |
+} |
376 |
+ |
377 |
+# Taken from the upstream build script, build_otp |
378 |
+erlang_distribute_config_helpers() { |
379 |
+ local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" |
380 |
+ local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" |
381 |
+ |
382 |
+ local aclocal_master="./erts/aclocal.m4" |
383 |
+ local install_sh_master="./erts/autoconf/install-sh" |
384 |
+ local config_guess_master="./erts/autoconf/config.guess" |
385 |
+ local config_sub_master="./erts/autoconf/config.sub" |
386 |
+ |
387 |
+ for dir in ${aclocal_dirs}; do |
388 |
+ "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die |
389 |
+ done |
390 |
+ |
391 |
+ for dir in ${autoconf_aux_dirs}; do |
392 |
+ "${install_sh_master}" -d "${dir}" || die |
393 |
+ "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die |
394 |
+ "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die |
395 |
+ "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die |
396 |
+ done |
397 |
+} |
398 |
+ |
399 |
+src_prepare() { |
400 |
+ default |
401 |
+ |
402 |
+ # Determines which directories to recurse into with autoconf |
403 |
+ erlang_create_lib_configure_in |
404 |
+ |
405 |
+ # Move local autoconf files into the neccessary directories |
406 |
+ erlang_distribute_config_helpers |
407 |
+ |
408 |
+ java-pkg-opt-2_src_prepare |
409 |
+ |
410 |
+ eautoreconf |
411 |
+} |
412 |
+ |
413 |
+src_configure() { |
414 |
+ use wxwidgets && need-wxwidgets unicode |
415 |
+ |
416 |
+ econf \ |
417 |
+ --disable-builtin-zlib \ |
418 |
+ $(use_enable dirty-schedulers) \ |
419 |
+ $(use_enable hipe) \ |
420 |
+ $(use_enable kpoll kernel-poll) \ |
421 |
+ $(use_with java javac) \ |
422 |
+ $(use_with odbc) \ |
423 |
+ $(use_enable sctp) \ |
424 |
+ $(use_enable smp smp-support) \ |
425 |
+ $(use_with ssl) \ |
426 |
+ $(use_with ssl ssl-rpath "no") \ |
427 |
+ $(use_enable ssl dynamic-ssl-lib) \ |
428 |
+ $(use_enable systemd) \ |
429 |
+ --enable-threads |
430 |
+} |
431 |
+ |
432 |
+src_compile() { |
433 |
+ emake |
434 |
+ |
435 |
+ if use emacs ; then |
436 |
+ pushd lib/tools/emacs &>/dev/null || die |
437 |
+ elisp-compile *.el |
438 |
+ popd &>/dev/null || die |
439 |
+ fi |
440 |
+} |
441 |
+ |
442 |
+extract_version() { |
443 |
+ sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" |
444 |
+} |
445 |
+ |
446 |
+src_install() { |
447 |
+ local ERL_LIBDIR="/usr/$(get_libdir)/erlang" |
448 |
+ local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" |
449 |
+ local ERL_ERTS_VER="$(extract_version erts VSN)" |
450 |
+ local MY_MANPATH="/usr/share/${PN}/man" |
451 |
+ |
452 |
+ [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" |
453 |
+ [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" |
454 |
+ |
455 |
+ emake INSTALL_PREFIX="${D}" install |
456 |
+ |
457 |
+ if use doc ; then |
458 |
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) |
459 |
+ docompress -x /usr/share/doc/${PF} |
460 |
+ fi |
461 |
+ |
462 |
+ einstalldocs |
463 |
+ |
464 |
+ dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl |
465 |
+ dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc |
466 |
+ dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript |
467 |
+ dosym \ |
468 |
+ "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ |
469 |
+ /usr/bin/erl_call |
470 |
+ |
471 |
+ if use smp; then |
472 |
+ dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp |
473 |
+ else |
474 |
+ dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam |
475 |
+ fi |
476 |
+ |
477 |
+ ## Clean up the no longer needed files |
478 |
+ rm "${ED}/${ERL_LIBDIR}/Install" || die |
479 |
+ |
480 |
+ insinto "${MY_MANPATH}" |
481 |
+ |
482 |
+ doins -r "${WORKDIR}"/man/* |
483 |
+ |
484 |
+ # extend MANPATH, so the normal man command can find it |
485 |
+ # see bug 189639 |
486 |
+ echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die |
487 |
+ doenvd "${T}/90erlang" |
488 |
+ |
489 |
+ if use emacs ; then |
490 |
+ pushd "${S}" &>/dev/null || die |
491 |
+ elisp-install erlang lib/tools/emacs/*.{el,elc} |
492 |
+ sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ |
493 |
+ "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die |
494 |
+ elisp-site-file-install "${T}/${SITEFILE}" |
495 |
+ popd &>/dev/null || die |
496 |
+ fi |
497 |
+ |
498 |
+ newinitd "${FILESDIR}"/epmd.init epmd |
499 |
+ systemd_dounit "${FILESDIR}"/epmd.service |
500 |
+} |
501 |
+ |
502 |
+pkg_postinst() { |
503 |
+ use emacs && elisp-site-regen |
504 |
+} |
505 |
+ |
506 |
+pkg_postrm() { |
507 |
+ use emacs && elisp-site-regen |
508 |
+} |
509 |
|
510 |
diff --git a/dev-lang/erlang/erlang-21.1.1.ebuild b/dev-lang/erlang/erlang-21.1.1.ebuild |
511 |
new file mode 100644 |
512 |
index 00000000000..28d0e2dc155 |
513 |
--- /dev/null |
514 |
+++ b/dev-lang/erlang/erlang-21.1.1.ebuild |
515 |
@@ -0,0 +1,161 @@ |
516 |
+# Copyright 1999-2018 Gentoo Authors |
517 |
+# Distributed under the terms of the GNU General Public License v2 |
518 |
+ |
519 |
+EAPI=6 |
520 |
+WX_GTK_VER="3.0" |
521 |
+ |
522 |
+inherit autotools eapi7-ver elisp-common java-pkg-opt-2 systemd wxwidgets |
523 |
+ |
524 |
+# NOTE: If you need symlinks for binaries please tell maintainers or |
525 |
+# open up a bug to let it be created. |
526 |
+ |
527 |
+UPSTREAM_V="$(ver_cut 1-2)" |
528 |
+ |
529 |
+DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" |
530 |
+HOMEPAGE="https://www.erlang.org/" |
531 |
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz |
532 |
+ http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz |
533 |
+ doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" |
534 |
+ |
535 |
+LICENSE="Apache-2.0" |
536 |
+SLOT="0" |
537 |
+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" |
538 |
+IUSE="doc emacs +hipe java +kpoll libressl odbc pgo sctp ssl systemd tk +wxwidgets" |
539 |
+ |
540 |
+RDEPEND=" |
541 |
+ sys-libs/ncurses:0 |
542 |
+ sys-libs/zlib |
543 |
+ emacs? ( virtual/emacs ) |
544 |
+ java? ( >=virtual/jdk-1.8:* ) |
545 |
+ odbc? ( dev-db/unixODBC ) |
546 |
+ sctp? ( net-misc/lksctp-tools ) |
547 |
+ ssl? ( |
548 |
+ !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) |
549 |
+ libressl? ( dev-libs/libressl:0= ) |
550 |
+ ) |
551 |
+ systemd? ( sys-apps/systemd ) |
552 |
+ tk? ( dev-lang/tk:0 ) |
553 |
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) |
554 |
+" |
555 |
+DEPEND="${RDEPEND} |
556 |
+ dev-lang/perl |
557 |
+" |
558 |
+ |
559 |
+S="${WORKDIR}/otp-OTP-${PV}" |
560 |
+ |
561 |
+PATCHES=( |
562 |
+ "${FILESDIR}/18.2.1-wx3.0.patch" |
563 |
+ "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" |
564 |
+ "${FILESDIR}/${PN}-add-epmd-pid-file-creation-for-openrc.patch" |
565 |
+ "${FILESDIR}/${PN}-custom-autoconf.patch" |
566 |
+) |
567 |
+ |
568 |
+SITEFILE=50"${PN}"-gentoo.el |
569 |
+ |
570 |
+src_prepare() { |
571 |
+ default |
572 |
+ |
573 |
+ ./otp_build autoconf |
574 |
+ find -name configure.in -execdir mv '{}' configure.ac \; || die "find failed" |
575 |
+ eautoreconf |
576 |
+} |
577 |
+ |
578 |
+src_configure() { |
579 |
+ use wxwidgets && setup-wxwidgets |
580 |
+ |
581 |
+ local myconf=( |
582 |
+ --disable-builtin-zlib |
583 |
+ $(use_enable hipe) |
584 |
+ $(use_enable kpoll kernel-poll) |
585 |
+ $(use_with java javac) |
586 |
+ $(use_with odbc) |
587 |
+ $(use_enable sctp) |
588 |
+ $(use_with ssl) |
589 |
+ $(use_with ssl ssl-rpath "no") |
590 |
+ $(use_enable ssl dynamic-ssl-lib) |
591 |
+ $(use_enable systemd) |
592 |
+ $(use_enable pgo) |
593 |
+ $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") |
594 |
+ --enable-threads |
595 |
+ ) |
596 |
+ econf "${myconf[@]}" |
597 |
+} |
598 |
+ |
599 |
+src_compile() { |
600 |
+ if use pgo; then |
601 |
+ # disable distcc and ccache |
602 |
+ export DISTCC_HOSTS="" |
603 |
+ export CCACHE_DISABLE=1 |
604 |
+ fi |
605 |
+ |
606 |
+ emake |
607 |
+ |
608 |
+ if use emacs ; then |
609 |
+ pushd lib/tools/emacs &>/dev/null || die |
610 |
+ elisp-compile *.el |
611 |
+ popd &>/dev/null || die |
612 |
+ fi |
613 |
+} |
614 |
+ |
615 |
+extract_version() { |
616 |
+ local path="$1" |
617 |
+ local var_name="$2" |
618 |
+ sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" |
619 |
+} |
620 |
+ |
621 |
+src_install() { |
622 |
+ local erl_libdir_rel="$(get_libdir)/erlang" |
623 |
+ local erl_libdir="/usr/${erl_libdir_rel}" |
624 |
+ local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" |
625 |
+ local erl_erts_ver="$(extract_version erts VSN)" |
626 |
+ local my_manpath="/usr/share/${PN}/man" |
627 |
+ |
628 |
+ [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" |
629 |
+ [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" |
630 |
+ |
631 |
+ emake INSTALL_PREFIX="${ED}" install |
632 |
+ |
633 |
+ if use doc ; then |
634 |
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) |
635 |
+ docompress -x /usr/share/doc/${PF} |
636 |
+ else |
637 |
+ local DOCS=("README.md") |
638 |
+ fi |
639 |
+ |
640 |
+ einstalldocs |
641 |
+ |
642 |
+ dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl |
643 |
+ dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc |
644 |
+ dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript |
645 |
+ dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call |
646 |
+ dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp |
647 |
+ |
648 |
+ ## Clean up the no longer needed files |
649 |
+ rm "${ED}/${erl_libdir}/Install" || die |
650 |
+ |
651 |
+ insinto "${my_manpath}" |
652 |
+ doins -r "${WORKDIR}"/man/* |
653 |
+ # extend MANPATH, so the normal man command can find it |
654 |
+ # see bug 189639 |
655 |
+ newenvd - "90erlang" <<-_EOF_ |
656 |
+ MANPATH="${my_manpath}" |
657 |
+ _EOF_ |
658 |
+ |
659 |
+ if use emacs ; then |
660 |
+ elisp-install erlang lib/tools/emacs/*.{el,elc} |
661 |
+ sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ |
662 |
+ "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die |
663 |
+ elisp-site-file-install "${T}/${SITEFILE}" |
664 |
+ fi |
665 |
+ |
666 |
+ newinitd "${FILESDIR}"/epmd.init epmd |
667 |
+ use systemd && systemd_dounit "${FILESDIR}"/epmd.service |
668 |
+} |
669 |
+ |
670 |
+pkg_postinst() { |
671 |
+ use emacs && elisp-site-regen |
672 |
+} |
673 |
+ |
674 |
+pkg_postrm() { |
675 |
+ use emacs && elisp-site-regen |
676 |
+} |